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.

  1. Install the library:

    pip install google-genai agno
    
  2. 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")

Toolkit Functions

FunctionDescription
generate_imageGenerate an image based on a text prompt
generate_videoGenerate a video based on a text prompt

Developer Resources