Skip to main content
Speech-to-Text is excellent on everyday language. Keyword boosting extends that strength to the vocabulary that is specific to your product: player names, brands, products, and channel names. Terms like Mbappé or Vinícius come out exactly the way you expect. You pass a dictionary of the terms you care about in json_config, and the model gives them priority while decoding, in real time, with no retraining.

The idea

Add a keywords object with the terms and a boost weight:
boost is applied in log-probability space, so its effect is exponential: a small value already shifts decoding noticeably. Use the range -6 to 6, with 3 as a strong default. See Transcription Settings for the full parameter reference.

Build a good dictionary

Keywords are matched one token at a time, which means two things.
  1. Use single tokens, with no spaces. Split multi-word names, so "Ferran Torres" becomes "Ferran" and "Torres".
  2. Match case and accents. "Mbappé" and "Mbappe" are different keys, so include the variants you expect.
You can boost up to 500 keywords. Each variant of a word (lowercase, uppercase, accented, etc.) is its own key and counts toward that limit, so budget accordingly when expanding terms into variants. A small helper that does both:

Full example

Tuning

Boosting is fully compatible with streaming, and it earns its keep most at low delay_in_frames, where the model has less look-ahead and leans more on the dictionary.

Transcription Settings

The keywords parameter reference and the rest of json_config.

Speech-to-Text WebSocket

STT message types, VAD details, and flushing.