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

# SpeechRequest

Text-to-speech request input

## Fields

| Field | Type | Required | Description | Example |
| - | - | - | - | - |
| `Input` | `string` | :heavy\_check\_mark: | Text to synthesize | Hello world |
| `InputReferences` | \[][components.SpeechInputReference](../../models/components/speechinputreference.mdx) | :heavy\_minus\_sign: | Reference content for stateless voice cloning or voice design. Audio mode: one to three `input_audio` parts, each optionally paired with a `text` part carrying its transcript (a single clip accepts its transcript before or after it; with multiple clips each transcript immediately follows its clip); only routed to endpoints that support voice cloning (and multiple references when more than one part is sent). Image mode: exactly one `image_url` part; only routed to endpoints that support image references. The two modes cannot be mixed. An empty array is treated as no reference. | \[<br />\{<br />"input\_audio": \{<br />"data": "data:audio/wav;base64,UklGRuQXDABXQVZF..."<br />},<br />"type": "input\_audio"<br />},<br />\{<br />"text": "I used to rule the world.",<br />"type": "text"<br />}<br />] |
| `Model` | `string` | :heavy\_check\_mark: | TTS model identifier | mistralai/voxtral-mini-tts-2603 |
| `Provider` | [\*components.SpeechRequestProvider](../../models/components/speechrequestprovider.mdx) | :heavy\_minus\_sign: | Provider-specific passthrough configuration | |
| `ResponseFormat` | [\*components.SpeechRequestResponseFormat](../../models/components/speechrequestresponseformat.mdx) | :heavy\_minus\_sign: | Audio output format | pcm |
| `SessionID` | `*string` | :heavy\_minus\_sign: | A unique identifier for grouping related requests (e.g., a conversation or agent workflow). Used for observability grouping in Broadcast and private logging; never sent to the provider. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 256 characters. | session-1234 |
| `Speed` | `*float64` | :heavy\_minus\_sign: | Playback speed multiplier. Only used by models that support it (e.g. OpenAI TTS). Ignored by other providers. | 1 |
| `Trace` | [\*components.TraceConfig](../../models/components/traceconfig.mdx) | :heavy\_minus\_sign: | Metadata for observability and tracing. Known keys (trace\_id, trace\_name, span\_name, generation\_name, parent\_span\_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. | \{<br />"trace\_id": "trace-abc123",<br />"trace\_name": "my-app-trace"<br />} |
| `User` | `*string` | :heavy\_minus\_sign: | A unique identifier representing your end-user. Forwarded to Broadcast and private logging as the end-user id; never sent to the provider. | user-1234 |
| `Voice` | `*string` | :heavy\_minus\_sign: | Voice identifier (provider-specific). | en\_paul\_neutral |
