With Anthropic’s Files API, you can upload files and later reference them in other API calls. This is handy when a file is referenced multiple times in the same flow.

Usage

1

Upload a file

Initialize the Anthropic client and use client.beta.files.upload:

from anthropic import Anthropic

file_path = Path("path/to/your/file.pdf")

client = Anthropic()
uploaded_file = client.beta.files.upload(file=file_path)
2

Initialize the Claude model

When initializing the Claude model, pass the necessary beta header:

from agno.agent import Agent
from agno.models.anthropic import Claude

agent = Agent(
    model=Claude(
        id="claude-opus-4-20250514",
        default_headers={"anthropic-beta": "files-api-2025-04-14"},
    )
)
3

Reference the file

You can now reference the uploaded file when interacting with your Agno agent:

agent.print_response(
    "Summarize the contents of the attached file.",
    files=[File(external=uploaded_file)],
)

Notice there are some storage limits attached to this feature. You can read more about that on Anthropic’s docs.

Working example

cookbook/models/anthropic/pdf_input_file_upload.py
from pathlib import Path

from agno.agent import Agent
from agno.media import File
from agno.models.anthropic import Claude
from agno.utils.media import download_file
from anthropic import Anthropic

pdf_path = Path(__file__).parent.joinpath("ThaiRecipes.pdf")

# Download the file using the download_file function
download_file(
    "https://agno-public.s3.amazonaws.com/recipes/ThaiRecipes.pdf", str(pdf_path)
)

# Initialize Anthropic client
client = Anthropic()

# Upload the file to Anthropic
uploaded_file = client.beta.files.upload(
    file=Path(pdf_path),
)

if uploaded_file is not None:
    agent = Agent(
        model=Claude(
            id="claude-opus-4-20250514",
            default_headers={"anthropic-beta": "files-api-2025-04-14"},
        ),
        markdown=True,
    )

    agent.print_response(
        "Summarize the contents of the attached file.",
        files=[File(external=uploaded_file)],
    )