GeminiTools
are a set of tools that allow an Agent to interact with Google AI API services for generating images and videos.
Prerequisites
Before using GeminiTools
, make sure to have the google-genai
library installed and the credentials configured.
-
Install the library:
pip install google-genai agno
-
Set your credentials:
- For Gemini API:
export GOOGLE_API_KEY="your-google-genai-api-key"
- For Vertex AI:
export GOOGLE_CLOUD_PROJECT="your-google-cloud-project-id"
export GOOGLE_CLOUD_LOCATION="your-google-cloud-location"
export GOOGLE_GENAI_USE_VERTEXAI=true
Initialization
Import GeminiTools
and add it to your Agent’s tool list.
from agno.agent import Agent
from agno.tools.models.gemini import GeminiTools
agent = Agent(
tools=[GeminiTools()],
show_tool_calls=True,
)
Usage Examples
GeminiTools can be used for a variety of tasks. Here are some examples:
Image Generation
image_generation_agent.py
from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno.tools.models.gemini import GeminiTools
from agno.utils.media import save_base64_data
agent = Agent(
model=OpenAIChat(id="gpt-4o"),
tools=[GeminiTools()],
show_tool_calls=True,
)
agent.print_response(
"Create an artistic portrait of a cyberpunk samurai in a rainy city",
)
response = agent.run_response
if response.images:
save_base64_data(response.images[0].content, "tmp/cyberpunk_samurai.png")
Video Generation
Video generation requires Vertex AI.
video_generation_agent.py
from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno.tools.models.gemini import GeminiTools
from agno.utils.media import save_base64_data
agent = Agent(
model=OpenAIChat(id="gpt-4o"),
tools=[GeminiTools(vertexai=True)],
show_tool_calls=True,
debug_mode=True,
)
agent.print_response(
"Generate a 5-second video of a kitten playing a piano",
)
response = agent.run_response
if response.videos:
for video in response.videos:
save_base64_data(video.content, f"tmp/kitten_piano_{video.id}.mp4")
Function | Description |
---|
generate_image | Generate an image based on a text prompt |
generate_video | Generate a video based on a text prompt |
Developer Resources