You mentioned you're using google's directions API, what is this doing differently than the walking directions in maps? Doesn't that include bike paths, passages etc?
Google uses different algorithms for walking & biking. For example, you can walk in either direction on a one-way street, but you can only bike in one direction.
The bike directions prioritize streets with bike lanes and low traffic bike boulevards. With walking, really any street with a side walk will do.