Audio Input (Local file)

Pass a local audio file to a Gemini agent with Audio(filepath=...).

Code

from pathlib import Path

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

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

# Please download a sample audio file to test this Agent and upload using:
audio_path = Path(__file__).parent.joinpath("sample.mp3")
if not audio_path.is_file():
    raise FileNotFoundError(f"Place a sample MP3 at {audio_path}")

agent.print_response(
    "Tell me about this audio",
    audio=[Audio(filepath=audio_path)],
    stream=True,
)

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

Prepare an audio file

Put a real MP3 named sample.mp3 in the same directory as the Python script, or update audio_path to your file.

Run Agent

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

python audio_input_local_file_upload.py