> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://onepin.ai/docs/guides/translate/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://onepin.ai/_mcp/server. # Translate into other languages > Add a Translator node, pick target languages, assign a voice per language (or let auto-route pick), and get per-language audio from one Onepin run. One script, many languages: a [Translator](/docs/workflow/translator) node turns each line into your target languages, and the [Generator](/docs/workflow/generator) voices each one. One run delivers per-language audio — the pattern behind dubbing, localized courses, and multi-region ads. ## 1. Set the target languages Edit the workflow's Translator node (read → modify → write back): ```python definition = client.workflows.get(workflow_id=wf).data.model_dump()["definition"] for node in definition["graph"]["nodes"]: if node["type"] == "operator_translator": node["config"] = {"target_languages": ["ko-kr", "ja-jp", "es-es"]} client.workflows.patch_workflow(wf, definition=definition) ``` Up to 30 targets per Translator (BCP-47 codes). No Translator in your workflow yet? Add one between Script and Generator on the canvas, or clone a template that has one. ## 2. Give each language a voice Every target language needs an entry in the Generator's `voice_map`. Two ways: ```python for node in definition["graph"]["nodes"]: if node["type"] == "operator_generator": node["config"]["voice_map"].update({ "ko-kr": [], # auto-route picks the best model "ja-jp": [{"voice_id": "...", "provider": "...", "model": "..."}], # your pick "es-es": [], }) ``` * **Empty list** — [auto-route](/docs/guides/auto-route) picks the best model for that language from Onepin's benchmarks. * **Explicit assignment** — you pick the voice and model; see [Browse voices](/docs/guides/browse-voices). A target language with no `voice_map` entry fails at run start with a clear error — coverage is checked before anything is billed. ## 3. Run and collect Run as usual — the export ZIP has one folder per language: ``` sink_preview_1/ ├── en-us/…_line_000.mp3 ├── ko-kr/…_line_000.mp3 ├── ja-jp/…_line_000.mp3 └── manifest.csv ← maps every file to its line and language ``` Validators score every language's lines the same way — a Korean line that fails the accuracy bar is retried just like an English one. ## Related * [Auto-route](/docs/guides/auto-route) — how Onepin picks a model per language * [Translator](/docs/workflow/translator) — the node's config * [Run a workflow](/docs/guides/run-a-workflow) — start, watch, download > Onepin is a voice workflow platform that orchestrates, validates, and ships production-ready audio across 33 TTS models.