Skip to main content
AWS Bedrock provides realtime speech-to-speech using Amazon Nova Sonic models with automatic session management. The plugin handles Nova’s 8-minute connection limit transparently.
Vision Agents uses Stream Video for real-time WebRTC transport by default. External WebRTC transports are supported as well. Most AI providers offer free tiers to get started.
The AWS plugin requires Python 3.12+. Nova Sonic is audio-only — video parameters such as fps have no effect. For video agents, use Gemini Realtime or a custom pipeline.

Installation

The quick start uses getstream.Edge(), so both extras are required.

Environment Variables

You also need Bedrock model access enabled for Nova Sonic in your chosen region, and IAM permission for bidirectional streaming (bedrock:InvokeModelWithBidirectionalStream).

Quick Start

AWS credentials are resolved via the standard AWS SDK chain (environment variables, AWS profiles via aws_profile, or IAM roles). The aws.Realtime constructor does not accept explicit access key parameters.

Parameters

Nova Behavior

  • instructions are required before the model accepts user input.
  • Text-only prompts may not produce audio — use audio input for reliable responses.
  • Function calling may require at least one audio content block before text tool calls work reliably.

Automatic Reconnection

AWS Bedrock has an 8-minute connection limit. The plugin handles this automatically:
  • After 5 minutes of connection age (configurable via reconnect_after_minutes) and more than 3 seconds since last audio activity, reconnects during a quiet moment
  • After 7 minutes of connection age, forces reconnect regardless of audio activity
Last audio activity includes incoming user speech (detected by Silero VAD) and outgoing agent audio.

Voice Activity Detection

The plugin uses Silero VAD to track incoming user speech for reconnection timing. Agent audio output updates activity separately. Silero warmup is handled automatically by the Agent lifecycle.

Function Calling

Register tools on the LLM before the agent connects:
See the Function Calling guide for details.

Next Steps

Build a Voice Agent

Get started with voice

Function Calling

Tools and MCP integration