Skip to content

Recipes

Make a talking video from a script and a portrait

The Nodespell talking-video recipe turns a script and a portrait into a video of that person speaking. Voice Generator reads the script aloud as an audio take, and the Speak Creative Tool animates a still image, or lip-syncs an existing clip, to that audio. Because the voice is its own node, you can change the delivery without regenerating the face, and the other way round.

What you need

  • A script, written the way it should be spoken.
  • A portrait: a clear, front-facing image of the face, uploaded to Asset Manager or generated in Nodespell. For lip-sync, an existing video clip of the person instead.
  • Credits for two runs: Voice Generator and Speak.

Graph at a glance: Prompt (script) → Voice Generator → Speak ← Portrait Asset

Stage 1: Write the script in a Prompt node

Section titled “Stage 1: Write the script in a Prompt node”
  1. Open the Project in Graph mode.
  2. Press Tab and add a Prompt node.
  3. Double-click the Prompt node and type the script exactly as it should be spoken.

Keeping the script in its own node lets you reuse it and edit it in one place. See Prompts and saved text.

  1. Press Tab and add Voice Generator.
  2. Connect the Prompt output to the Voice Generator text input (shown as Text on ElevenLabs TTS V3).
  3. Select the Voice Generator node. In Parameters, choose a voice. With ElevenLabs TTS V3, for example, choose a Voice and adjust Stability, Style, and Speed. Lower stability sounds more varied; higher stability is steadier.
  4. Press Cmd/Ctrl+Shift+R to run it, or open Run options and choose a batch such as Generate 3 takes to hear several reads.
  5. Play each take, then select Use Take for the best read and choose Keep this take from More take actions.

You can also do this in Create: choose Voice Generator, type the script into the model’s text field, and select Generate. See Voice Generator.

  1. Press Tab and add an Asset node. Right-click it, choose Load Asset, and pick the portrait.
  2. Press Tab and add Speak.
  3. Connect the portrait to the Speak image input (shown as Source image in the Speak controls) and the Voice Generator output to the Speak audio input.
  4. Select the Speak node. Set Resolution, and adjust the video prompt if the model offers one (P-Video Avatar, for example, starts with “The person is talking.”).
  5. Run the Speak node. Voice Generator already has a take, so only Speak generates.

See Speak.

Speak groups several models that need different inputs. The model picker shows only models that fit the tool.

Starting point Example model Inputs it needs
A still portrait and your own audio P-Video Avatar, Omni Human An image and an audio track
A still portrait and a typed script, no separate voice step P-Video Avatar An image and a Voice script, with a built-in Voice and Voice Language
An existing video of the person Kling Lip Sync, Sync Lipsync 2 A video and an audio track

With P-Video Avatar you can skip Voice Generator entirely: leave Audio empty and type the script into Voice script. The node then needs either audio or a voice script before it can run.

  • Play the Speak take with sound and watch the lips on hard consonants such as “p”, “b”, and “m”.
  • Check the first and last second: the face should match the portrait and the clip should not cut off a word.
  • If the timing is wrong, change the voice take first; it is cheaper than regenerating video and the face can stay the same.
  • Lip-sync existing footage. Switch the Speak node to a lip-sync model such as Sync Lipsync 2 and connect a video instead of an image. Changing the model of a node that has run creates a branch, so the first version stays.
  • A consistent presenter. Build the portrait with the consistent character recipe so the same face can speak in several clips.
  • Longer scripts. Split the script into several Voice Generator nodes. ElevenLabs TTS V3 accepts previous and next text to keep the delivery consistent across pieces. Then join the Speak clips on the Timeline; see Add a soundtrack to a clip for the Timeline steps.
  • Add music under the speech. Place the talking clip and a Music Generator take on the Timeline and lower the music Gain.

No. Some Speak models, such as P-Video Avatar, accept a typed Voice script and a built-in voice. Use Voice Generator when you want more control over the voice or want to reuse the same audio.

Each Speak model needs specific inputs. P-Video Avatar needs a source image plus either audio or a voice script; lip-sync models need both a video and an audio track.

Can I change the voice without regenerating the face?

Section titled “Can I change the voice without regenerating the face?”

The face is regenerated whenever Speak runs, because the mouth must follow the new audio. You can change the voice take freely, but you need a new Speak run to sync to it.

It depends on the model. Check the voice and language options shown in Parameters for the model you picked, or its description in the model picker.