WSS
wss://api.modellix.ai/api/v1/live/openai/gpt-live-transcribe
For authentication, handshake errors, and close codes shared by all Live models, see the Live Overview.
Quick Start
Prepare a short mono, 16-bit PCM WAV file at 24 kHz and setMODELLIX_API_KEY. Save the following code as transcribe.py and run python transcribe.py speech.wav. The script commits the whole file as one turn.
Python
Client Messages
session.update
Sendsession.update after session.created. You can send it again during a session to change the transcription configuration. The following fields belong inside session.
string
required
Allowed value:
transcription.object
Use
{"type": "audio/pcm", "rate": 24000}.string
required
Use
gpt-live-transcribe. The URL selects the model, and Modellix replaces this value with the upstream model identifier.string
Describes the recording or its setting. An overly long prompt is rejected.
string[]
Hints for names and specialist terms. Each entry must be one line, with no
<, >, carriage return, or line feed.string[]
Language hints: ISO 639-1 codes such as
en and fr, selected ISO 639-3 codes such as eng, yue, and cmn, or regional zh locales such as zh-cn, zh-tw, and zh-hk. Use this plural field, not language, and do not send both.string
Allowed values:
minimal, low, medium, high, xhigh. Lower values give earlier partial text; higher values usually improve accuracy.null
Omit it or set
null. This model does not support server_vad or semantic_vad, so your application detects the end of speech.Audio Input
event
Appends base64-encoded 24 kHz PCM16 mono audio in the
audio field. Chunks of 9,600 bytes hold 200 ms of audio.event
Ends the current audio turn and starts its final transcription. An empty buffer or less than 100 ms of audio is rejected with an
error event and is not billed.Server Messages
Server events are forwarded unchanged. Completion events from different turns can arrive out of order, so match them byitem_id.
event
The first event on a connection. Wait for it before sending
session.update.event
The turn was committed.
item_id identifies it.event
Newly available text in
delta, with item_id and content_index. Later deltas can correct earlier text, so your UI needs a way to revise partial output.event
The final text in
transcript, with item_id and content_index. usage reports type: "duration" and seconds.event
Transcription failed for the item in
item_id.event
An upstream error.
error.message describes it.Billing
Each completed turn produces one request record, based onusage.seconds from its completed event. Seconds are charged from the per-minute price without rounding up to a whole minute. Unit prices and invoices follow the console.
- Silence counts. Silence in a committed turn is part of the reported audio seconds.
- Uncommitted audio. If you disconnect before committing, Modellix commits the buffered audio once and waits up to 2 seconds for the result. If no usage arrives in that time, there is no charge for that audio.
- Disconnect after commit. A committed turn is billed if its result arrives within the same 2-second window. To keep the transcript as well, wait for
completedbefore closing.
Sessions and Limits
- This model does not return detected languages, word-level timestamps, speaker labels, or confidence scores.
- WebSocket only. WebRTC and other upstream HTTP endpoints are not available through Modellix.
- Modellix closes any connection at its maximum connection duration with code
4408.