Nouns

<Transcription>

Live transcription of the call, delivered to your webhook while the document keeps executing.

Used inside<Start>, <Stop>.

Example

<Response>
  <Start>
    <Transcription statusCallbackUrl="https://app.example.com/transcripts"
                   partialResults="true" track="both_tracks"/>
  </Start>
  <Dial>+18005551234</Dial>
</Response>

Attributes

Attribute Default Behaviour
name unset Operator-friendly identifier for the session, echoed on every callback as Name.
languageCode en-US BCP-47 language tag passed to the transcription engine. The platform's built-in engine transcribes English only — a non-English tag with no cloud engine configured is refused with a transcription-error; configure deepgram, google, aws, or azure for other languages.
transcriptionEngine account default Selects the transcription engine (case-insensitive): deepgram, google, aws, or azure. An unrecognized value — including auto — refuses the session with a transcription-error naming the engine; when unset, the account default (or the platform's built-in engine) is used.
speechModel engine default Recognizer model hint, mapped per engine (for example the short/long aliases select the engine's latest short-form or long-form model).
partialResults false true also delivers interim transcripts to the status callback; the default delivers final transcripts only.
track both_tracks Which audio to transcribe: inbound_track, outbound_track, or both_tracks. Passed to the engine as a hint; engine support varies.
statusCallbackUrl unset URL receiving every lifecycle event — transcription-started, transcription-content, transcription-stopped, transcription-error — as form-encoded requests. Spelled exactly statusCallbackUrl: statusCallback is not accepted on <Transcription>.
statusCallbackMethod POST HTTP method for status callbacks.
hints unset Comma-separated phrases passed through to the engine to bias recognition.
profanityFilter true Mask profanities in the transcripts (passed through to the engine).
enableAutomaticPunctuation true Let the engine punctuate transcripts (supported by the deepgram and google engines).
enableProviderData false true attaches the engine's raw provider payload as TranscriptionProviderData on content events (deepgram engine only).
inboundTrackLabel unset Label echoed for the inbound track on the transcription-started event.
outboundTrackLabel unset Label echoed for the outbound track on the transcription-started event.
intelligenceService unset Accepted for compatibility; no such product exists on the platform, so setting it logs an unsupported-feature notification and has no effect.
conversationConfiguration unset Accepted for compatibility and silently ignored.
conversationId unset Accepted for compatibility and silently ignored.

Notes

  • Attribute names are checked exactly, including case. An attribute outside the accepted set — statusCallback and statusCallbackEvent included — refuses the whole transcription with a transcription-error naming the parameter.
  • Callback fields on every event: AccountSid, CallSid, TranscriptionSid, Timestamp, SequenceId, TranscriptionEvent. transcription-started adds the session settings (TranscriptionEngine, Track, LanguageCode, PartialResults, and Name when set). transcription-content adds LanguageCode, Track, TranscriptionData (JSON with the transcript, plus its confidence on final results), Final (true or false), and Stability on interim results. transcription-error adds TranscriptionErrorCode and TranscriptionError.
  • Unlike speech-mode <Gather> (listen once, then return), <Start><Transcription> runs long-lived and in parallel with the rest of the document.
  • One active transcription per call: a second <Start><Transcription> replaces the first. <Stop><Transcription/> ends it early; otherwise it ends at hangup.