Request
The audio and config parts of a transcribe request.
The request body is multipart/form-data with two parts, audio and config.
audio part
The audio can be either a WAV file or raw PCM.
- WAV (
audio/wav): sample rate and channel count are read from the header. - Raw PCM (
audio/pcm): int16 little-endian, no header. RequiressampleRateandchannelsin the config.
The declared content type alone decides the format; the bytes are never inspected. Any other content type, including application/octet-stream, is refused with 400.
Stereo is down-mixed to mono, and any sample rate is resampled for you. No client-side conversion is needed.
This is more forgiving than the Real-time API, which requires you to send 16 kHz mono int16 PCM binary frames yourself.
config part
A JSON object with the following fields:
language(required): the spoken language. Supported:fr,en,pt,de,es,it.sampleRate(required for raw PCM): source rate in Hz. Ignored for WAV.channels(required for raw PCM): channel count. Ignored for WAV.context(optional): contextual biasing to apply when transcribing the audio. A request carries one audio file with no session around it, so this one field does both jobs the Real-time API splits acrosssessionContextandturnContext: the facts that ground the recording, and the values you expect to hear in it. It contains:facts(optional): objects withname,value, and an optionaldescription.hints(optional): objects withtypeset tovalues, avalueslist, and an optionalnameanddescription.
Example config:
{
"language": "fr",
"context": {
"facts": [
{ "name": "customerName", "value": "Jean Dupont" }
],
"hints": [
{
"type": "values",
"name": "carModel",
"values": ["208", "2008", "3008", "5008"]
}
]
}
}Example config (raw PCM):
{
"language": "fr",
"sampleRate": 8000,
"channels": 2
}See the Transcribe a file quickstart for complete curl and Python clients.