Skip to main content

Code

cookbook/11_models/google/gemini/gcs_file_input.py
"""GCS file input with Gemini.

Pass files directly from Google Cloud Storage (gs://) without downloading.
Supports files up to 2GB. Requires Vertex AI authentication.
"""

from agno.agent import Agent
from agno.media import File
from agno.models.google import Gemini

agent = Agent(
    model=Gemini(
        id="gemini-2.0-flash",
        vertexai=True,
    ),
    markdown=True,
)

agent.print_response(
    "Summarize this document and extract key insights.",
    files=[
        File(
            url="gs://cloud-samples-data/generative-ai/pdf/2312.11805v3.pdf",
            mime_type="application/pdf",
        )
    ],
)

Usage

1

Set up your virtual environment

uv venv --python 3.12
source .venv/bin/activate
2

Set up Vertex AI

gcloud auth application-default login
export GOOGLE_CLOUD_PROJECT="your-project-id"
export GOOGLE_CLOUD_LOCATION="us-central1"
3

Install dependencies

pip install -U google-genai agno
4

Run Agent

python cookbook/11_models/google/gemini/gcs_file_input.py