Building Live and Voice Agents with Google ADK 2.0
Google ADK 2.0
Stream audio and screen frames with ADK live agents, handle tools and sessions, test voice callbacks, and build a custom WebSocket bridge.
- Prerequisites
- Python async code and the Building Agents with Google ADK 2.0 course or equivalent ADK experience. Live runs need a Gemini Live API key; recorded replays do not.
- Duration
- about 3 hours of reading
- Cost
- Free, no sign-up
What you'll learn
- Stream audio, transcriptions and control events through run_live.
- Manage live sessions, media formats and tool responses.
- Sequence live task nodes and inspect typed handoffs.
- Test callback limits and clean up custom WebSocket connections.
Lessons
Module 1 · 3 lessonsStream media and manage live sessions
Send audio and JPEG frames, configure voice and manage live events and sessions.
Stream a voice conversation with run_liveRead
Open an ADK live connection, send text and microphone audio, inspect transcripts and audio events, and compare saved answers with and without the docs page.
Read live events and manage live sessionsRead
Fold ADK live events into captions, handle interruptions, inspect saved session history, and test reconnect behavior with and without a handle.
Send audio, images and video, and configure voiceRead
Send PCM audio and JPEG frames to an ADK live agent, choose its voice, use push-to-talk signals, and diagnose format and configuration failures.
Module 2 · 2 lessonsCall tools and run live workflows
Handle tool calls during a live conversation and run live agents inside workflows.
Call tools during a live conversationRead
Run docs lookup and background tools in an ADK live conversation, inspect function responses, and reproduce tool errors and model-specific limits.
Run live agents inside a workflowRead
Sequence a voice intake and docs-answer agent with ADK Workflow, inspect the typed handoff, and test live modes and incomplete transcripts.
Module 3 · 2 lessonsTest and serve live agents
Test voice callbacks and handle connection cleanup in a custom WebSocket server.
Guard and evaluate a voice agentRead
Test ADK live input, output and tool callbacks, inspect audio delivered before a block, and check what a recorded speech evaluation really scored.
Build a custom WebSocket server for a live agentRead
Bridge a WebSocket client to an ADK live agent with binary audio, JSON events, bounded concurrent sessions and cleanup when either direction stops.
