Skip to main content
Agno agents can transcribe audio files using different tools and models. You can use native capabilities of OpenAI or fully multimodal Gemini models.

Using OpenAI Transcription (Cloud)

The following agent uses OpenAITools with the gpt-4o-transcribe model for audio transcription. OpenAITools defaults to whisper-1 if no transcription_model is set.
speech_to_text.py
from pathlib import Path

from agno.agent import Agent
from agno.tools.openai import OpenAITools
from agno.utils.media import download_file

url = "https://agno-public.s3.amazonaws.com/demo_data/sample_conversation.wav"

local_audio_path = Path("tmp/sample_conversation.wav")
print(f"Downloading file to local path: {local_audio_path}")
download_file(url, local_audio_path)

transcription_agent = Agent(
    tools=[OpenAITools(transcription_model="gpt-4o-transcribe")],
    markdown=True,
)
transcription_agent.print_response(
    f"Transcribe the audio file for this file: {local_audio_path}"
)

Usage

1

Set up your virtual environment

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

Install dependencies

uv pip install -U openai agno
3

Export your OpenAI API key

  export OPENAI_API_KEY="your_openai_api_key_here"
  $Env:OPENAI_API_KEY="your_openai_api_key_here"
4

Run Agent

python speech_to_text.py