Image Support
irouter supports image input for both Call and Chat objects. Images can be provided as URLs or local file paths.
Make sure to use an LLM that supports image processing, like gpt-4o-mini.
For a full overview of which LLMs support image input, check the OpenRouter Model Overview.

Image URL
irouter can work directly with image URLs. Just pass the URL and instruction as a list of strings.
from irouter import Call
c = Call("gpt-4o-mini", system="You analyze images.")
image_url = "https://www.petlandflorida.com/wp-content/uploads/2022/04/shutterstock_1290320698-1-scaled.jpg"
c([image_url, "What is in the image?"])
# 'The image features a cute corgi puppy sitting down. The puppy has a fluffy coat with a mix of orange and white colors...'
Local Image
Local images can be passed as a path to the Call or Chat object.
c(["../assets/puppy.jpg", "What is in the image?"])
# 'The image shows a cute puppy, specifically a Corgi. The puppy has a light brown and white coat...'
Chat with Images
The only difference of Chat and Call is that Chat also tracks conversation history and token usage.