image_generation.py
Run the Example
1
Set up your virtual environment
2
Install dependencies
3
Export your OpenRouter API key
4
Run the example
Save the code above as
image_generation.py, then run:Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
Generate an image through OpenRouter, decode the returned bytes, and display the result with Pillow.
from io import BytesIO
from agno.agent import Agent, RunOutput # noqa
from agno.models.openrouter import OpenRouter
from PIL import Image
# Request both image and text modalities so OpenRouter returns generated images
agent = Agent(
model=OpenRouter(
id="google/gemini-2.5-flash-image",
modalities=["image", "text"],
)
)
run_response = agent.run("Make me an image of a cat in a tree.")
if run_response and isinstance(run_response, RunOutput) and run_response.images:
for image_response in run_response.images:
image_bytes = image_response.content
if image_bytes:
image = Image.open(BytesIO(image_bytes))
image.show()
# Save the image to a file
# image.save("generated_image.png")
else:
print("No images found in run response")
Set up your virtual environment
uv venv --python 3.12
source .venv/bin/activate
uv venv --python 3.12
.venv\Scripts\activate
Install dependencies
uv pip install -U agno openai pillow
Export your OpenRouter API key
export OPENROUTER_API_KEY="your_openrouter_api_key_here"
$Env:OPENROUTER_API_KEY="your_openrouter_api_key_here"
Run the example
image_generation.py, then run:python image_generation.py