Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions api-reference/server/services/s2s/grok.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,13 @@ description: "Real-time speech-to-speech service implementation using xAI's Grok
>
Complete Grok Realtime conversation example
</Card>
<Card
title="Async Tool Example"
icon="play"
href="https://github.com/pipecat-ai/pipecat/blob/main/examples/realtime/realtime-grok-async-tool.py"
>
Grok with async function calling (cancel_on_interruption=False)
</Card>
<Card
title="Grok Voice Documentation"
icon="book"
Expand Down Expand Up @@ -255,6 +262,7 @@ await task.queue_frame(
- **Available voices**: Ara (default), Rex, Sal, Eve, and Leo.
- **G.711 support**: PCMU and PCMA formats are supported at a fixed 8000 Hz rate, useful for telephony integrations.
- **System instruction precedence**: The `system_instruction` from service settings takes precedence over an initial system message in the LLM context. A warning is logged when both are set.
- **Async tool support**: Functions registered with `cancel_on_interruption=False` are supported. The final tool result is delivered via the formal tool-result channel once the async function completes. Streamed intermediate results (`is_final=False`) are not supported.

## Event Handlers

Expand Down
8 changes: 8 additions & 0 deletions api-reference/server/services/s2s/ultravox.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,13 @@ description: "Real-time speech-to-speech service implementation using Ultravox's
>
Complete Ultravox Realtime conversation example
</Card>
<Card
title="Async Tool Example"
icon="play"
href="https://github.com/pipecat-ai/pipecat/blob/main/examples/realtime/realtime-ultravox-async-tool.py"
>
Ultravox with async function calling (cancel_on_interruption=False)
</Card>
<Card
title="Ultravox Documentation"
icon="book"
Expand Down Expand Up @@ -247,3 +254,4 @@ await task.queue_frame(
- **Output medium**: The service supports both `"voice"` and `"text"` output modes, switchable at runtime using `LLMUpdateSettingsFrame`.
- **Call duration limits**: When using `AgentInputParams` or `OneShotInputParams`, you can set a maximum call duration between 10 seconds and 1 hour.
- **Tools with agents**: When using `AgentInputParams`, tools are configured on the agent itself. Use `one_shot_selected_tools` only with `OneShotInputParams`.
- **Async tool support**: Functions registered with `cancel_on_interruption=False` are supported. When an async function is invoked, Ultravox ships a placeholder `client_tool_result` immediately to unfreeze the conversation (since Ultravox's API freezes between tool invocation and result). The actual result is injected as user-side text once the tool completes. Streamed intermediate results (`is_final=False`) are not supported.
Loading