Skip to main content
Two config fields steer the transcript as it is written: Both act on the transcription itself, before any LLM pass. They are a different lever from llm_instruction, which reshapes the transcript after it has been written.

Contextual prompting

stt_prompt describes what the audio is about. It gives the decoder situational context, which helps it resolve ambiguous audio toward words that make sense in that setting:
Describe the situation rather than instructing the model. stt_prompt is prepended to the base transcription prompt, which always applies, so you are adding context rather than replacing behaviour. The field is also accepted as prompt. Send one or the other; sending both is rejected with 400.

Keyterms prompting

keyterms_prompt lists the exact strings you expect to appear: names, drug names, product SKUs, internal jargon. It biases the decoder toward those spellings.
This is the same parameter name as the Streaming and Pre-recorded APIs. The legacy names keyterms and word_boost are also accepted; send only one of the three, or the request is rejected with 400. Keep the list to terms that are genuinely hard to transcribe. Common words do not need boosting and dilute the list.

Using both together

The two fields do different jobs and work well in combination. stt_prompt tells the model what kind of audio this is; keyterms_prompt pins the exact spellings it should expect.
Add llm_instruction on top when you also want the transcript reshaped. The three fields compose: stt_prompt and keyterms_prompt decide what the transcript says, llm_instruction decides what llm_response looks like. See Transcript rewriting.

Limits

Exceeding a limit is rejected with 400: DictationConfig in the Python SDK validates both client-side at the same values, so an over-long prompt raises before the request goes out. It also strips whitespace from each keyterm and drops empty ones.