#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)

strong yewBOT
#
AI-generated Answer for heavenly_kitten_99827

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

  1. 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)

  1. 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)

  2. 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.
safe zealot
#

These parameters don’t work with the v3 API I’ve found.