Maybe the "download" functions can have the form `get_*_image()` to emphasize that the returned object is an actual image. That also makes it easier to talk about these returning byte data in the documentation.