audio_output_agent.py
"""
Openai Audio Output Agent
=========================
Cookbook example for `openai/chat/audio_output_agent.py`.
"""
from agno.agent import Agent, RunOutput # noqa
from agno.models.openai import OpenAIChat
from agno.utils.audio import write_audio_to_file
from agno.db.in_memory import InMemoryDb
# ---------------------------------------------------------------------------
# Create Agent
# ---------------------------------------------------------------------------
# Provide the agent with the audio file and audio configuration and get result as text + audio
agent = Agent(
model=OpenAIChat(
id="gpt-audio",
modalities=["text", "audio"],
audio={"voice": "sage", "format": "wav"},
),
db=InMemoryDb(),
add_history_to_context=True,
markdown=True,
)
run_output: RunOutput = agent.run("Tell me a 5 second scary story")
# Save the response audio to a file
if run_output.response_audio:
write_audio_to_file(
audio=run_output.response_audio.content, filename="tmp/scary_story.wav"
)
run_output: RunOutput = agent.run("What would be in a sequal of this story?")
# Save the response audio to a file
if run_output.response_audio:
write_audio_to_file(
audio=run_output.response_audio.content,
filename="tmp/scary_story_sequal.wav",
)
# ---------------------------------------------------------------------------
# Run Agent
# ---------------------------------------------------------------------------
if __name__ == "__main__":
pass
Run the Example
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 agno openai
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 the example
Save the code above as
audio_output_agent.py, then run:python audio_output_agent.py