Documentation Index
Fetch the complete documentation index at: https://docs.agno.com/llms.txt
Use this file to discover all available pages before exploring further.
Code
cookbook/90_models/google/gemini_interactions/structured_output.py
from agno.agent import Agent
from agno.models.google import GeminiInteractions
from pydantic import BaseModel, Field
class MovieReview(BaseModel):
title: str = Field(description="The movie title")
year: int = Field(description="Release year")
genre: str = Field(description="Primary genre")
rating: float = Field(description="Rating out of 10")
summary: str = Field(description="Brief review summary")
agent = Agent(
model=GeminiInteractions(id="gemini-3-flash-preview"),
output_schema=MovieReview,
markdown=True,
)
if __name__ == "__main__":
response = agent.run("Write a review of The Matrix (1999)")
if response.content:
review = response.content
if isinstance(review, MovieReview):
print(f"Title: {review.title}")
print(f"Year: {review.year}")
print(f"Genre: {review.genre}")
print(f"Rating: {review.rating}/10")
print(f"Summary: {review.summary}")
else:
print(f"Raw response: {review}")
Usage
Set up your virtual environment
uv venv --python 3.12
source .venv/bin/activate
Set your API key
export GOOGLE_API_KEY=xxx
Install dependencies
uv pip install -U "google-genai>=2.0" agno
Run Agent
python cookbook/90_models/google/gemini_interactions/structured_output.py