Skip to main content
A Speech-to-Speech request translates spoken audio into another language. It is configured through the setup message: some fields select the pipeline (models, voice, formats), and the translation target is passed through json_config. In the Python SDK json_config is a dict; the SDK serializes it to a JSON string on the wire for you. These options apply to the WebSocket API across all three SDK entry points (s2s_realtime, s2s_stream, and the buffered s2s). For the STT-only and TTS-only knobs, see Transcription Settings and Voice Settings.

Setup fields

json_config options

The transcribed text is translated into target_language before the output audio is generated, and the text messages you receive back carry the translated text. The voice_id you choose must be a voice in this same language.

Passing json_config

The same json_config payload is sent regardless of which SDK entry point you use; only the call shape differs:

Next steps

S2S WebSocket guide

Real-time, pull-based, and buffered S2S with the Python SDK.

S2S WebSocket reference

Complete wire-level schema: every message type, every field, every error code.

Voices

Pick the voice used for the synthesized output.

Voice settings

TTS-side options for the synthesis stage.