Morphic Dub

Morphic Dub dubs a video into another language, with every speaker re-voiced in their own voice and their close-ups lip-synced, and returns the video itself.

Morphic Dub is Morphic's own dubbing model. It takes one video with speech, translates what is said into another language and returns the same video, the same length, with every speaker re-voiced in their own voice and their close-ups lip-synced to the new speech. The original music and sound effects stay under the new voices. It is the default dubbing model on paid plans, and it is slow: a run takes up to about 13 minutes per minute of video.

Here's a quick tutorial on how to use Morphic Dub on Morphic:

How to access Morphic Dub on Morphic

  1. Open a new or existing file in a project on Morphic
  2. Switch the mode to 'Audio' in the prompt bar at the bottom, then pick 'Dubbing'
  3. Click the model selector and select 'Morphic Dub'. Paid plans start on it
  4. Add the video under 'References', set the language under 'Dub into' in the settings, and click the blue button in the prompt bar

Or open it as a tool: click 'Tools' above the prompt bar and pick 'Morphic Dub', first in the library. It sets the prompt bar to Dubbing on Morphic Dub and asks for a video; once you attach one, the settings open so you can pick the language. See Explore tools.

You can also ask Copilot for a dub, or call it from the MCP server and the Direct API. The worked example below runs the same dub on each.

What the operation is for

OperationUse it to
DubbingTake a finished video into another language, keeping each speaker's voice and syncing their lips on screen

Morphic Dub has one operation and no prompt: the video, the target language and the settings are the whole request. For an audio file, a video longer than 10 minutes or a dub on the Free plan, Morphic routes to ElevenLabs Dubbing, which returns an audio file; see Dubbing.

Specifications

SpecificationDetails
InputOne video with speech, up to 10 minutes long
OutputThe same video, the same length, dubbed; speakers' close-ups lip-synced
VoicesEach speaker keeps their own voice, one voice per person across the whole clip; or assign a catalog voice per speaker, see Options
Your own textOptional: your own SRT transcript, your own SRT translation, or both, with assigned voices
Target languageOne per dub; no fixed list. A regional variant such as 'Arabic (Egypt)' is dubbed in its main language
Source languageDetected, or set it when the audio is noisy or mixes languages
Music and soundThe original music and sound effects stay under the new voices, at their original timing and level
Names and termsNames, places and brands to keep as spoken, each up to 5 words
TurnaroundUp to about 13 minutes per minute of video; short clips take longer than that ratio, see below
PlansPaid plans

Worked example: a Hindi dub with the names kept

The same request on each surface: dub a short interview clip into Hindi and keep the names Arjun and Meera as they are.

In chat

  1. Open Copilot and attach the clip with the paperclip
  2. Send "Dub this video into Hindi, keep the names Arjun and Meera"
  3. Copilot runs Morphic Dub and tells you the expected wait. The dubbed video lands in the chat and in your project when it is done

On the Canvas

  1. Open a file in your project and switch the prompt bar to 'Audio', then 'Dubbing'
  2. Pick 'Morphic Dub' in the model selector
  3. Under 'References', add the clip from your Canvas, your Assets or an upload
  4. Open the 'Dubbing settings' panel, set 'Dub into' to 'Hindi', leave 'Spoken language' on 'Detect automatically', and type Arjun, Meera under 'Keep as spoken'
  5. Click the blue button. It shows the estimated credits, worked out from the clip's length

While the dub runs, a card in its place on the Canvas shows 'Creating...' and the time left.

Over MCP

Ask your assistant for the same thing, or have it call dub_media:

{
  "media_asset_id": "01928f4e-…",
  "target_language": "hi",
  "keyterms": ["Arjun", "Meera"],
  "model_name": "Morphic Dub",
  "project_id": "01928f4e-…"
}

media_asset_id is the clip's id from list_assets or from a finished generation. Omit model_name on a paid plan and a video goes to Morphic Dub anyway.

Over the Direct API

Morphic Dub's model id is mdl_h2z5a7af7y50. The call returns a generation to poll; the first poll is worth waiting for, since a dub takes about 13 times the clip's length.

curl -s https://mcp.morphic.com/v1/direct/tools/dub_media \
  -H "Authorization: Bearer $MORPHIC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input": {"media_asset_id": "https://cdn.example.com/interview.mp4", "target_language": "hi", "keyterms": ["Arjun", "Meera"], "model_id": "mdl_h2z5a7af7y50", "project_id": "01928f4e-…"}}'

The response carries result.generation_id and result.estimated_credits, the estimate charged at start, with credits_settle_on_output_duration: true. Poll with a long wait:

sleep 660   # a 50 s clip: about 13 times its length
curl -s "https://mcp.morphic.com/v1/direct/generations/$GENERATION_ID?wait=45" \
  -H "Authorization: Bearer $MORPHIC_API_KEY"

When the generation is succeeded, its assets hold the dubbed video and billing.credits_charged is the settled amount. The full guide, with Node.js and Python versions, a quote before you spend and webhooks, is Dubbing over the Direct API.

Options

By default everyone keeps their own voice and Morphic transcribes and translates the speech itself. Three options change that. The voice options run on Morphic Dub only, and on Morphic Dub any text of your own needs assigned voices, since the original voices are dubbed in one pass that takes no cast and no text: a transcript or translation with the original voices is not supported yet. ElevenLabs Dubbing reads the transcript and translation options too, in the original voices and with the spoken language set; see The Dubbing settings panel.

Keep the original voices

The default, voice_mode: "original": every speaker is re-voiced in a clone of their own voice, one voice per person across the whole clip. Nothing to set.

  • Chat: "Dub this into Spanish" does it
  • API: leave voice_mode out, or send "voice_mode": "original"

Assign a voice to each speaker

voice_mode: "assigned" speaks each person in a voice from Morphic's voice catalog instead of their own. Name a speaker by a face image, a clip of them speaking, or a short description such as "the narrator", and pair each with a catalog voice. Speakers you do not name get a fitting catalog voice picked for them, so you can cast one lead and leave the rest. The catalog is the one the Dubbing settings panel's voice picker shows in Studio, and list_voices with Morphic Dub as the model over MCP and the Direct API; an organization's own voices cannot be assigned to a speaker.

  • Chat: attach a frame of the speaker, then "Dub this into Spanish. Give @Image 1 the voice @Alice; pick fitting voices for the others"
  • API:
{
  "media_asset_id": "01928f4e-…",
  "target_language": "es",
  "voice_mode": "assigned",
  "voices": [
    { "speaker_asset_id": "01928f4e-…", "voice_id": "0192b1c0-…" },
    { "speaker_description": "the narrator", "voice_id": "0192b1c1-…" }
  ],
  "model_id": "mdl_h2z5a7af7y50",
  "project_id": "01928f4e-…"
}

Each voices entry names its speaker by exactly one of speaker_asset_id (an image of their face or an audio clip of them) or speaker_description (a few words, none of ;, = or "), with the voice_id from list_voices. Up to 20 speakers, each named once. Over MCP the model field is model_name: "Morphic Dub".

Bring your own transcript

Give Morphic a timed SRT of the speech in the spoken language and it dubs from your lines instead of transcribing. Use it when names, jargon or crosstalk make the automatic transcript unreliable. It needs assigned voices.

  • Chat: attach the SRT with the paperclip, then "Dub this into Spanish with assigned voices, using @transcript.srt as the transcript"
  • API: "source_transcript_asset_id": "https://cdn.example.com/interview.en.srt" beside "voice_mode": "assigned"

Bring your own translation

Give Morphic a timed SRT of the lines in the target language and it speaks your translation instead of making one. Use it when the script has been translated and approved already. It needs assigned voices, and the file is in the target language, not the spoken one.

  • Chat: attach the SRT, then "Dub this into Spanish with assigned voices; speak the lines in @interview.es.srt"
  • API: "translation_asset_id": "https://cdn.example.com/interview.es.srt" beside "voice_mode": "assigned"

You can send both: the transcript in the spoken language and the translation in the target language, as two different files.

How long it takes

A dub takes up to about 13 minutes per minute of video, so plan around the wait rather than watching it: a 2-minute clip can take 25 minutes. Short clips take longer than that ratio suggests, because the fixed stages, which find the speakers and separate the speech from the rest of the sound, cost the same whatever the length: a 50-second clip took 17 minutes. A dub longer than that does not scale up as fast.

Prompting tips

  • Name the language in words or as a code; one language per dub. For several markets, ask for each in the same request and they run side by side
  • List every name, place and brand that must stay as spoken. Without the list, names can come out translated literally
  • Set the spoken language yourself when the clip is noisy or switches languages; otherwise leave it on detect
  • To test a clip, trim a 20-second sample and dub that first. The whole file is charged, and a short clip finishes in minutes, not hours
  • Lock the edit before you dub: the dub follows the cut, so a change afterwards means dubbing again

Credits

Morphic Dub is charged on the length of the source video, per language: about 676 to 825 credits per minute depending on your plan, with the estimate shown on the blue button before you run it. The estimate is charged when the dub starts and settled to what the run actually spent when it finishes. The settled amount can be below or above the estimate, but never more than three times it. A dub that fails is refunded. See Plans & Credits for the rates.


If you have any trouble or have any questions, feel free to reach out. We're happy to help. Write to us at support@morphic.com.

On this page