input, set when you create or update the agent, or inline via session.update. For how both work under the hood, see Prompting and keyterms in the Streaming docs.
Contextual prompt
input.transcription_prompt tells the speech-to-text model what the call is about so it resolves jargon, product names, and homophones in what the caller says. Describe the domain and scenario in plain language.
This is not the same as
system_prompt. system_prompt shapes what the agent says; transcription_prompt shapes how the caller’s speech is transcribed. Give it context (“this is a pharmacy support call”), not instructions (“use formal punctuation”); behavioral commands are ignored.Key terms
input.keyterms is an explicit list of rare or domain-specific words to boost, like a person’s name, a product, or an acronym. It works as a word boost, biasing the speech recognition model toward each term. Reach for it when you have specific strings to nail, and use the prompt above for the surrounding context.
Add:
- Brand, product, and feature names that aren’t in everyday English (
"AssemblyAI","Lemur","Ozempic"). - Proper nouns specific to this caller: their full name, their account holder’s name, the agent’s name if it’s unusual.
- Domain jargon the model might otherwise transcribe as a common-word homophone (
"hemochromatosis","polysomnography"). - Acronyms you want spelled in full (
"PCI DSS","FedRAMP").
- Common English words. Each entry boosts that string, and adding common words at the same weight as your rare terms dilutes the boost.
- Whole sentences or phrases. The boost is per-term, not per-phrase.
- Punctuation, formatting, or instructions. The list is transcription hints, not prompt context.
keyterms array; it takes effect on the next user utterance. Refresh it when the conversation enters a new domain, for example when a support call moves from billing to technical.