ISO 639-1 code → the language query-param value the service accepts.
The streaming-TTS endpoint takes the full lowercase English name, not a
code: ?language=es is refused with Bad connection parameters: language: language 'es' not in supported set ['english', 'french', 'german', 'italian', 'portuguese', 'spanish']. That refusal arrives in-band after
the socket opens, so an unmapped code doesn't fail the session — it leaves
the agent connected, "ready", and permanently mute. Every other language
knob in the ecosystem (AssemblyAI STT's language_codes, Cartesia) is a
code, so the codes are the SDK's contract and this map is the translation.
Keys are the six languages the voice catalog covers.
ISO 639-1 code → the
languagequery-param value the service accepts.The streaming-TTS endpoint takes the full lowercase English name, not a code:
?language=esis refused withBad connection parameters: language: language 'es' not in supported set ['english', 'french', 'german', 'italian', 'portuguese', 'spanish']. That refusal arrives in-band after the socket opens, so an unmapped code doesn't fail the session — it leaves the agent connected, "ready", and permanently mute. Every other language knob in the ecosystem (AssemblyAI STT'slanguage_codes, Cartesia) is a code, so the codes are the SDK's contract and this map is the translation.Keys are the six languages the voice catalog covers.