> ## Documentation Index
> Fetch the complete documentation index at: https://visionagents.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# AWS Bedrock

[AWS Bedrock](https://aws.amazon.com/bedrock/) provides realtime speech-to-speech using Amazon Nova models with automatic session management. The plugin handles Nova's 8-minute connection limit transparently, reconnecting during silence to ensure uninterrupted conversations.

<Info>
  Vision Agents requires a [Stream](https://getstream.io/try-for-free/) account
  for real-time transport. Most providers offer free tiers to get started.
</Info>

## Installation

```sh theme={null}
uv add "vision-agents[aws]"
```

## Quick Start

```python theme={null}
from vision_agents.core import Agent, User
from vision_agents.plugins import aws, getstream

agent = Agent(
    edge=getstream.Edge(),
    agent_user=User(name="Assistant", id="agent"),
    instructions="You are a helpful assistant.",
    llm=aws.Realtime(),
)
```

<Warning>
  AWS credentials are resolved via the standard AWS SDK chain (environment
  variables, AWS profiles, or IAM roles).
</Warning>

## Parameters

| Name                      | Type    | Default                      | Description                                                                                         |
| ------------------------- | ------- | ---------------------------- | --------------------------------------------------------------------------------------------------- |
| `model`                   | `str`   | `"amazon.nova-2-sonic-v1:0"` | Nova model ID                                                                                       |
| `region_name`             | `str`   | `"us-east-1"`                | AWS region                                                                                          |
| `voice_id`                | `str`   | `"matthew"`                  | Voice ([available voices](https://docs.aws.amazon.com/nova/latest/userguide/available-voices.html)) |
| `reconnect_after_minutes` | `float` | `5.0`                        | Reconnect during silence after N minutes                                                            |
| `aws_profile`             | `str`   | `None`                       | AWS profile name from `~/.aws/credentials` or `~/.aws/config`                                       |

## Automatic Reconnection

AWS Bedrock has an 8-minute connection limit. The plugin handles this automatically:

* After 5 minutes of silence (configurable via `reconnect_after_minutes`), reconnects during a moment of silence
* After 7 minutes, forces reconnect regardless of audio activity

This ensures uninterrupted conversations without manual intervention.

## Voice Activity Detection

The plugin uses Silero VAD to track audio activity for optimal reconnection timing.

## Function Calling

```python theme={null}
@agent.llm.register_function(description="Get weather for a location")
async def get_weather(location: str) -> dict:
    return {"city": location, "temperature": 72, "condition": "Sunny"}
```

See the [Function Calling guide](/guides/mcp-tool-calling) for details.

## Next Steps

<CardGroup cols={2}>
  <Card title="Build a Voice Agent" icon="microphone" href="/introduction/voice-agents">
    Get started with voice
  </Card>

  <Card title="Build a Video Agent" icon="video" href="/introduction/video-agents">
    Add video processing
  </Card>
</CardGroup>
