Dubbing and batch jobs
The native API behind VoiceStudio's timed, multi-speaker dubbing.
Dubbing is a pipeline of jobs, not one request. Transcription, translation, voice assignment, timing, generation, quality checks and export are separate stages, so a client can review or retry any of them.
The flow
POST /dub/uploadwith video or audio.- Follow
/tasks/stream/{task_id}until preparation is ready. - Transcribe with
/dub/transcribe-stream/{job_id}, or the synchronous/dub/transcribe/{job_id}. - Translate and edit the segments.
- Assign profiles, then
POST /dub/generate/{job_id}. - Review QC, previews, stems and subtitles, or download the result.
Upload returns a job_id for the media and a task_id for preparation progress.
Keep both: they track different things.
What is preserved
- Segment start and end times
- Multiple speakers, each with their own voice
- Imported or generated SRT and VTT subtitles
- Audio-only and video jobs
- Preview, QC, stems and final export
For a folder of videos, use /batch/enqueue and /batch/jobs, with per-job
status, cancel and download routes.
Local workflow
These routes belong to the desktop API. The unreleased Cloud contract stages source media as an Artifact and runs versioned asynchronous stages, and it doesn't promise these paths or payloads.
Each stage has its own request body. Use the API reference as the source of truth when building a client.