Usage
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
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
You are viewing v1 docs. For the latest documentation, visit docs.agno.com
Learn how to use Anthropic’s Files API with Agno.
Upload a file
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)
Initialize the Claude model
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"},
)
)
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)],
)
Was this page helpful?