Skip to main content
Partial transcripts provide a low-latency streaming transcription as words are spoken, offering immediate insights before the final, high-accuracy transcript is ready. To enable partial transcripts, add the receive_partial_transcripts property to the messages_config object:
With this configuration, you will receive both partial transcripts as they are generated and the final, most accurate version of each utterance. To reduce the total response time and create a more fluid user experience, partial transcripts use a faster, smaller model than the one used for final transcripts, trading a small amount of accuracy for a large gain in latency.
Partial transcripts accuracy deteriorates when multiple languages and/or code switching are enabled. For best results, limit the number of languages.
When receive_partial_transcripts is true, the real-time API will send transcript messages for both intermediate and final results. To distinguish between them, the message payload includes the is_final boolean field.
  • "is_final": false: The message contains a partial transcript, which is subject to change.
  • "is_final": true: The message contains the final, most accurate transcript for an utterance. This transcript will not change.
In the same utterance, the partial and final transcripts share the same data.id. Treat that shared data.id as one utterance whose transcript changes over time. A newer partial replaces the previous provisional text for that utterance. When is_final is true, the final text replaces the provisional text. The resulting transcript contains one entry for that utterance—do not append each update as a separate line.