Agent with External URL Input

Pass a public HTTPS file URL directly to a Gemini agent with File(url=...).

Code

"""External URL input with Gemini.

Pass files from public HTTPS URLs directly without downloading.
Requires Gemini 3.x models. File limits vary by model and media type.
"""

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

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

agent.print_response(
    "Summarize this document.",
    files=[
        File(
            url="https://agno-public.s3.amazonaws.com/recipes/ThaiRecipes.pdf",
            mime_type="application/pdf",
        )
    ],
)

The URL input limit is 100 MB per request, with stricter limits for some file types and models. This PDF example is subject to the 50 MB PDF limit.

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 agno

Run Agent

Save the code above as external_url_input.py, then run:

python external_url_input.py