Dub Sequence
lab_dubDub a sequence into another language: either a ready audio track (en_audio_url — e.g. the one lab_dub_tts just produced) OR a cloned voice reading a line of text (voice_id + dub_text), then a controlled visual lipsync runs over the sequence's own footage (ROI-crop + composite for a long static talking-head shot, or the full-frame veed_v2 path for multi-shot sequences and shots where the mouth is partly hidden). ASYNCHRONOUS: returns a job_id immediately: poll lab_job_status until it completes. Needs a cloned voice first — lab_voice_clone makes one, lab_list_voices shows what a project already has.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| seq_id | Yes | Sequence id (from lab_create_sequence/lab_list_sequences) — positive integer as string | |
| backend | No | Lipsync engine. Omit to use the backend default (replicate — ROI-crop, best for one long static talking-head shot). veed_v2 renders the full frame instead and is the pick for multi-shot sequences or a partly hidden mouth. 'inhouse' shares replicate's ROI-crop path. | |
| dub_text | No | The line(s) this cloned voice should read, in the target `language`. Required together with voice_id. | |
| get_cost | No | `true` reports the price and your balance WITHOUT starting a dub and without spending quota. The number is computed by the same function that later charges you, from THIS sequence: a sound rate per video clip, plus the chosen lipsync engine's own rate over the sequence's running time, plus a surcharge for the cloned-voice reading. `preisbasis` in the answer breaks it into those parts, so you can see which switch moves which share — turning the lipsync pass off removes its whole item. Not drawn from the lab_list_models catalog (that covers image and video models only; the lipsync engine is chosen with `backend` here, and dub has no catalog entry). | |
| language | Yes | Target language for the dub, e.g. 'de', 'fr', 'es' — drives the cloned voice's TTS. Required: there is no silent default here. | |
| voice_id | No | A cloned voice's id (lab_cloned_voices.id, from lab_voice_clone or lab_list_voices) — positive integer as string. Required together with dub_text, and mutually exclusive with en_audio_url. | |
| einwilligung | No | Consent of the person whose mouth this dub re-syncs. Only valid together with eigene_person:true and einwilligung_notiz when there is no likeness_ref — a dub always alters a real person's mouth in existing footage, so a likeness_ref or the own-person form is mandatory, checked before anything is spent. This is a caller attestation, not a registry check like likeness_ref — logged, not verified against likeness.thefilmradar.com, and it covers only YOUR OWN person. Do not set it to be rid of the error — set it because the consent exists. | |
| en_audio_url | No | URL of a READY dub track to lay under the sequence — typically the audio_url lab_dub_tts just returned. Mutually exclusive with voice_id+dub_text: a dub has exactly one audio source, and picking one silently would throw away the other after it was paid for. | |
| likeness_ref | No | A Likeness Register consent id (likeness.thefilmradar.com) for the person whose mouth this dub re-syncs. Checked live against the register before anything is spent; a revoked or unknown id refuses the call. REQUIRED for every person other than yourself — a plain confirmation no longer stands in for it (DSFA E3, 2026-11-06). Mutually exclusive with eigene_person+einwilligung+einwilligung_notiz — one form of consent is required, not both. | |
| eigene_person | No | Set true ONLY if the person whose mouth this dub re-syncs is you, the user ("the person shown and speaking is me"). It is the only way to dub without a likeness_ref and must come with einwilligung:true and einwilligung_notiz. For anyone else, a valid likeness_ref is mandatory: without one the call is refused with dub_fremde_person_braucht_kennung (403) before anything is spent. A declaration, not a proof — logged, not verified. Do not set it for somebody else. Unrelated to nur_eigene_daten, which concerns the third-country data flow. | |
| enable_lipsync | No | Whether to run the visual lipsync pass at all. Omit to use the backend default (on). Off only swaps the audio track and skips the mouth-sync render entirely. | |
| nur_eigene_daten | No | Only for a model that sends inputs to China or a US recipient without a documented basis, when the step carries images, clips, voices or faces. Means: this material shows or contains no real person other than the human using this account. Set it ONLY after the human has said exactly that for THIS step; never assume it, never reuse it for the next step. Not needed when the human has declared this material in the FilmLab app: the backend reads that declaration, also for material derived from it; only the app can store one. An LK reference, a licensed likeness or another person's agreement does not replace it. Without it the backend refuses with drittland_dritte_gesperrt before any charge; then use a non-gated model or text only. | |
| einwilligung_notiz | No | Free text: who consented, when, and for what — required together with einwilligung. Goes on record with the generated clip. |