Generator
Family: Operator · type: operator_generator
The Generator is the TTS engine. It assigns a voice and model per language and synthesizes the audio — this is where speech is made, and it’s required in every runnable workflow (Export needs the audio only the Generator produces).
Config
The voice_map maps each language to one or more voice assignments:
Workflows that translate into several languages have one voice_map entry per language. Leave a language’s list empty ("ko-kr": []) and auto-route picks the best model for it from Onepin’s continuous benchmarks.
Three identifiers to get right:
voice_idis the provider’s voice ID (provider_voice_idon a voice object), not the Onepin voice UUID you see invoices list.modelis the catalog model ID — the Model ID shown on Voices & Models, which is whatGET /providers/{provider}/modelsreturns (e.g.eleven_multilingual_v2,sonic-preview). There is no separate provider-side name to pass here.- An imported voice needs
catalog_voice_idas well. A voice withsource: "provider_imported"(BYOK) carries a provider wire id that is unique per workspace, not globally, so the assignment must also carry the Onepin catalog UUID (catalog_voice_id). Without it the definition is rejected with rulevoice_imported_needs_catalog_id.
Shape the delivery
Each voice assignment takes optional canonical_controls — provider-agnostic knobs mapped to the model’s native controls at synthesis time:
A control the chosen model doesn’t support is dropped with a warning, not an error.
Get valid voice + model pairs
Pull the provider catalog to see which models a provider offers and which voices each model supports:
Inspect this node
Related
- Browse voices — find a voice and its
provider_voice_id - Voices & Models — the model catalog
- Validators — check the audio before it ships

