#How can I use the v3 API to pronounce single words, or very short words, in different languages? I
1 messages · Page 1 of 1 (latest)
Short answer
- Set language_code in your v3 TTS request to force the reading language (e.g., fr, es, ja, zh). This removes ambiguity for single‑word prompts. (elevenlabs.io)
- For Japanese, optionally enable apply_language_text_normalization: true to improve character reading; note this adds latency and is currently only supported for Japanese. (elevenlabs.io)
- If you need a specific per‑word reading, attach a pronunciation dictionary via pronunciation_dictionary_locators. On v3 and for non‑English words, use Alias rules (replacement spellings). SSML phoneme tags work only with English models (Flash v2, Turbo v2, English v1), not v3. (elevenlabs.io)
- Pick a voice trained in your target language to get the desired accent; the accent comes from the voice, not the language_code. (help.elevenlabs.io)
Minimal v3 examples
- Force French for an ambiguous single word
- Model: eleven_v3
- Key params: language_code: "fr"
Python (from API reference; substituting model and parameters):
client.text_to_speech.convert(
voice_id="YOUR_VOICE_ID",
text="papa",
model_id="eleven_v3",
output_format="mp3_44100_128",
language_code="fr"
)
This uses the v3 model with language forcing; v3 is supported for Text to Speech over the API. (elevenlabs.io)
-
Disambiguate Japanese vs Chinese readings
client.text_to_speech.convert(
voice_id="YOUR_VOICE_ID",
text="今日",
model_id="eleven_v3",
language_code="ja",
apply_language_text_normalization=True
)
Sets Japanese explicitly and enables language-specific normalization. (elevenlabs.io) -
Override a single word via a pronunciation dictionary (v3/non‑English → use Alias)
- Create or upload a dictionary (PLS) and get its id/version_id, then attach it per request:
client.text_to_speech.convert(
voice_id="YOUR_VOICE_ID",
text="papa",
model_id="eleven_v3",
language_code="fr",
pronunciation_dictionary_locators=[{
"id": "DICT_ID",
"version_id": "VERSION_ID"
}]
)
Attach dictionaries per request (up to 3). For non‑English or when using v3, prefer Alias rules (replacement spellings) rather than phoneme tags; phoneme SSML works only with English v1/Turbo v2/Flash v2. (elevenlabs.io)
Notes
- language_code uses ISO 639‑1 (e.g., fr, es, ja, zh). If the model doesn’t support the code you pass, the API will error. (elevenlabs.io)
- Avoid mixing multiple languages in the same short prompt; if you must, split requests and set language_code per call. (help.elevenlabs.io)
References
- Create speech (v1/text‑to‑speech) – language_code, normalization, dictionaries. (elevenlabs.io)
- Eleven v3 API usage.
These parameters don’t work with the v3 API I’ve found.