from io import BytesIO
from agno.agent import Agent, RunOutput # noqa
from agno.models.google import Gemini
from PIL import Image
# No system message should be provided
agent = Agent(
model=Gemini(
id="gemini-2.0-flash-exp-image-generation",
response_modalities=["Text", "Image"],
)
)
# Print the response in the terminal
response = agent.run("Make me an image of a cat in a tree.", stream=True)
for chunk in response:
if hasattr(chunk, "images") and chunk.images: # type: ignore
images = chunk.images # type: ignore
if images and isinstance(images, list):
for image_response in 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")
Create a virtual environment
Terminal
and create a python virtual environment.python3 -m venv .venv
source .venv/bin/activate
Set your API key
export GOOGLE_API_KEY=xxx
Install libraries
pip install -U google-genai pillow agno
Run Agent
python cookbook/models/google/gemini/image_generation_stream.py