Command · Dub
dub.create
AI voice-over in another language with the user's own voice provider (ElevenLabs, OpenAI or Gemini; BYOK): each caption cue is spoken and fitted to its slot (sped up at most 15 %, pitch kept; else moved and flagged), on a new "Dub" audio track with the Dialogue role, the original dialogue ducked under it, as one undo step.
- v1
- Capability EditProject
- Tool
dub_create
Request
{
"command": "dub.create",
"params": {
"estimate": true,
"language": "th"
}
}Parameters
captionTrackinteger (1..)- The caption track to speak (usually a translated one); only needed when the sequence has several.
cloneVoiceboolean- Clone the speaker's own voice (ElevenLabs instant cloning) instead of a stock voice. Opt-in; needs rightsConfirmed and speaker; never for a speaker with redacted speech. The clone is deleted after the run.
ducknumber (-60.0..0.0)- How far the original dialogue goes down under the new lines, dB (default -18; 0 = not at all).
estimateboolean- Only plan and price the run; nothing is sent or changed (default false).
languagestring- The language spoken (ISO 639-1); dub default: the caption track's.
maxCostnumber (0.0..1000.0)- The run's hard cap in USD: refused before anything is sent when it could cost more, stopped before a line that could pass it. Required for a run.
maxStretchnumber (0.0..0.5)- How much faster a line may be played to fit (0.15 = 15 %, the default; pitch kept).
modelstring- Voice model (registry id): eleven_v3 / eleven_v4 (Thai and 70+ languages), eleven_flash_v2_5, gpt-4o-mini-tts, gemini-3.8-flash-tts. Default: the host's, else eleven_v3.
namestring- The new audio track's name.
rightsConfirmedboolean- The user confirmed: "I have the speaker's permission" to clone their voice.
sequenceinteger (1..)- Sequence id; only needed when the project has several.
speakerinteger (1..)- The project speaker whose voice is cloned.
stylestring- Delivery instructions ("warm, unhurried"), where the model takes them.
voicestring- The model's voice (an ElevenLabs voice id, an OpenAI voice such as "marin", a Gemini voice such as "Kore"); default: the model's first.
Discussion
AI voice-over in another language with the user's own voice provider (ElevenLabs, OpenAI or Gemini; BYOK): each caption cue is spoken and fitted to its slot (sped up at most 15 %, pitch kept; else moved and flagged), on a new "Dub" audio track with the Dialogue role, the original dialogue ducked under it, as one undo step. Bleeped words are never spoken. The audio is marked AI-generated. Paid: "estimate" prices it; a run needs "maxCost" and the app's approval (standalone CLI/MCP and the assistant only estimate or open the Dub dialog).
Run it with wabcut-cli cmd <project> --json, from an MCP client as dub_create, or from an extension. See Edit commands for requests, references and results.