generated_voice_id you can audition and then save as a separate voice. The source voice is never modified.
Localization is asynchronous: creating a preview returns a generation_job_id, and the preview audio becomes available once the job reaches ready.
When to localize
Text to speech already accepts alanguage_code for any saved voice, so a single voice can read lines in several languages. Localize when a language deserves its own speaker identity:
- The target language is part of your product’s catalog and needs a stable, auditionable voice rather than a per-request language switch.
- You want native-language reference audio behind the voice, so pronunciation and delivery stay consistent across every request in that language.
- You want separate
voice_idvalues, names, and metadata per language for routing, analytics, or voice pickers.
What you provide
All 51 languages accepted by the Voice contract can be localization targets. Run one request per target language; each one produces its own preview.
Step 1: Start a localization job
POST /v1/voice-previews/localize returns 202 as soon as the job is admitted. The response carries the generation_job_id used for every later poll.
Step 2: Poll until the preview is ready
GET /v1/voice-previews/localize/{generation_job_id} reports the job’s current state. Poll every two seconds or slower; the job runs two synthesis passes, so it typically takes longer than a single text-to-speech request.
generated_voice_id, text, and language_code are null until the job is ready. error is null unless the job failed.
text is the script Breeze wrote for the target language. Show it next to the preview so listeners know what they are hearing.
Step 3: Audition the preview
Download the completed preview withGET /v1/voice-previews/{generated_voice_id}/stream. Request mp3 for browser playback or omit output_format for the default.
Step 4: Save the preview as a voice
Save withPOST /v1/voice-previews/{generated_voice_id}/save, exactly as you would for a designed or cloned preview. Pass the target language as language_code so later cross-language synthesis can tell the voice’s reference language from the requested speech language.
voice_id and consumes a voice slot. The source voice keeps its own reference audio, settings, and metadata. Set gender, age, tone, accent, and tags in the same call, or update them later with PATCH /v1/voices/{voice_id}; see Voice Metadata. Accent codes are language specific, so an accent saved for the source language is not carried over.
Credits
Localization costs 100 credits per generation, the same fixed price as a voice clone generation, regardless of the preview script’s length or language. Failed jobs release their reservation, and saving a completed preview does not incur another generation charge. Each localization job counts toward your plan’s concurrent generation limit while it runs. See Pricing for metering and Rate limits for concurrency and retry guidance.Error handling
Creating the job can fail before anything is generated:VALIDATION_ERROR(422) — the language code is not a supported target, or the name exceeds the voice-name limit.RESOURCE_NOT_FOUND(404) — thevoice_iddoes not exist or is not available to your account.BILLING_INSUFFICIENT_CREDITS(402) — the account balance or the API key’s credit budget cannot cover the generation.GENERATION_CONCURRENCY_EXCEEDED(429) — your plan’s concurrent generation limit was reached. Retry after theRetry-Afterinterval.GENERATION_CAPACITY_EXCEEDED(503) — capacity is temporarily exhausted. Retry shortly.
status becomes failed and error.code identifies the cause; VOICE_LOCALIZE_FAILED means synthesis did not complete and the request can be retried. Treat any terminal status other than ready as the end of the job: start a new localization request instead of polling a finished job. The full code list is in Errors.
Localize from the terminal
breeze voice localize runs the same flow in one command, waits for the job, and plays the preview in interactive terminals:
breeze voice preview save. See CLI voices.
Continue building
Create localize preview
Queue a localization job and read the returned
generation_job_id.Get localize preview
Poll the job until it turns
ready and hands back a generated_voice_id.Save voice preview
Persist the localized preview as a reusable voice; saving consumes a voice slot.
Multilingual audio
Look up the 51 supported language codes and the accent rules per language.
Voices
See how localized, cloned, designed, and public voices fit together.
Text to speech
Generate lines with the saved localized
voice_id.Voice Clone
Create the source voice from a consented audio sample.
CLI voices
Localize, audition, and save voices from the terminal.
Pricing
Estimate localization cost and shared generation concurrency.

