learnVoice & sound
Two AI characters talking in one shot: how to make the right one speak
Give each line of AI dialogue to the reference token the engine reads, keep the listener's mouth shut, and know when two single shots cost the same as one two-shot.
by reeldouble · November 5, 2026 · 6 min read
The wrong mouth moves
Write a scene where Mara asks a question and Jonah answers, render it, and there is a fair chance Jonah mouths Mara's line, or both of them talk at once, or Mara answers herself in Jonah's voice. Search for a fix and you find two kinds of advice. Lip-sync tools tell you to mark the right face as the speaker after the render. Comparison pages say Veo is the best engine for dialogue, and one Reddit thread we read reports that Veo gets the speaker wrong once several characters are in frame, and splits the scene into separate clips.
What none of them shows is the prompt. Every engine we sell takes references and gives each one a name in the prompt. The fix starts there: every line of dialogue is attached to the name of the reference that speaks it.
Each engine's name for a character
| engine | how the prompt names character 1 and 2 | characters per shot | voiced 720p |
|---|---|---|---|
| Kling O3 Pro | @Element1, @Element2 | 5 | 30 credits a second |
| Seedance 2.5 | @Image1, @Image2 | 30 | 70 a second, voice included |
| Seedance 2.0 | @Image1, @Image2 | 9 | 45 a second, voice included |
| Seedance 2.0 Fast | @Image1, @Image2 | 9 | 50 a second, voice included |
| Veo 3.1 Fast | image 1, image 2 | 3 | 30 a second, every reference shot 8 s |
Two speakers fit on every engine. Veo's three references are the tightest: two characters leave one slot for a second angle of one of them or for a location plate.
In our studio you tag saved characters by name and the token is written for whichever engine you pick, so Mara becomes @Element1 on Kling and @Image1 on Seedance. Our page on element versus image syntax explains why the two differ.
How we write a two-voice line
Three rules, in this order.
One line per character per shot. A shot carries at most one line from each speaker. Two lines from Mara with one from Jonah in between is three turns, and the more turns there are, the more chances the engine swaps the speakers. If the scene needs a back-and-forth, cut it into shots.
The speaker's token comes before the words. We write the line as the token, the verb "says", then the line in quotes. On Kling:
@Element1 turns to @Element2 and says: "You told me the train left at six." @Element2 keeps his eyes on the map, mouth closed, then looks up and says: "I said it might."
On Veo the same shot reads:
The woman from image 1 turns to the man from image 2 and says: "You told me the train left at six." The man from image 2 keeps his eyes on the map, mouth closed, then looks up and says: "I said it might."
Give the listener something to do. "Mouth closed" alone is weak. A listener with an action (reading a map, pouring a drink, looking out of the window) has a reason not to talk, and the engine has something to draw other than a moving mouth. When a render gives the line to the wrong face, this is the first thing we change.
How much dialogue fits in a shot
People talk at around 150 words a minute in normal conversation, about two and a half words a second. An 8-second shot holds about 20 words with room for a reaction. That is one line each, short.
| shot length | words of dialogue that fit | two-speaker split |
|---|---|---|
| 4 s | about 8 | one line only |
| 8 s | about 18 to 20 | two short lines |
| 12 s | about 28 | two lines plus a reaction |
| 15 s | about 35 | two lines, a pause, a reaction |
Longer lines get rushed or cut off. Our script length per shot page has the full budget.
A second voice costs nothing extra
The voiced rate is per second of video, whoever is talking. An 8-second voiced shot with two speakers bills exactly what the same shot with one speaker bills:
| engine | 8 s voiced at 720p, one speaker | two speakers |
|---|---|---|
| Kling O3 Pro | 240 | 240 |
| Veo 3.1 Fast, with references | 240 | 240 |
| Seedance 2.0 | 360 | 360 |
| Seedance 2.0 Fast | 400 | 400 |
| Seedance 2.5 | 560 | 560 |
Two-shot or shot-reverse-shot
The classic fix for wrong-speaker renders is the one film editors use anyway: shoot each speaker alone and cut between them. Mara's line in her own close-up, Jonah's in his. Only one mouth is in frame, so only one mouth can move.
What that costs depends on how each engine bills a shot:
| engine | one 8 s two-shot | two 4 s singles | difference |
|---|---|---|---|
| Kling O3 Pro, voiced | 240 | 240 | none |
| Seedance 2.0 | 360 | 360 | none |
| Seedance 2.5 | 560 | 560 | none |
| Veo 3.1 Fast, with references | 240 | 480 | double |
Kling and Seedance bill by the second, so cutting one 8-second shot into two 4-second singles costs the same. Veo bills every shot with references at 8 seconds, so two singles cost twice the two-shot. On Kling and Seedance, shot-reverse-shot is free insurance against the wrong mouth. On Veo, write the two-shot carefully and keep the singles for when it fails.
We use a two-shot when the reaction is the point, a look, a laugh, someone getting caught out. We use singles when the lines carry the scene.
When the voices sound alike
Two characters with similar voices make even a correct render confusing. On Kling O3 Pro a character can carry a cloned voice: 50 credits once to clone your own voice, and the voices in our bank are free. Give the two leads voices that differ in pitch and pace. On Seedance and Veo the voice comes from the prompt, so we put a short voice note in each character block, written once and copied exactly: "low, slow, slightly hoarse" against "quick, bright, clipped". Our voice emotion guide covers the delivery side.
When a render still gets it wrong
Change one thing per retake, in this order:
- Give the listener a stronger action and move "mouth closed" next to it.
- Cut the shot to one line per character.
- Split it into two singles (free on Kling and Seedance).
- Move the shot to another engine.
The order matters because each step costs a full render. On Kling O3 Pro an 8-second voiced retake is 240 credits.
In the studio the quote under the render button updates as you switch engines, so you can see whether a two-shot or two singles is cheaper before you render either.
FAQ
How do I make the right AI character speak in a two-person scene?
Attach every line to the speaking character's reference token, such as @Element1 on Kling or @Image1 on Seedance, and give the listener an action like reading or pouring a drink. ReelDouble writes the correct token for each engine when you tag a saved character.
Why does the wrong character lip sync in my AI video?
The engine has two faces and one line, and nothing in the prompt says whose mouth moves. Name the speaker's reference before the line, keep to one line per character per shot, and write what the listener is doing instead of talking.
Does a second speaker cost more in AI video?
No. Voiced video is billed per second, whoever speaks. On ReelDouble an 8-second voiced shot at 720p is 240 credits on Kling O3 Pro or Veo 3.1 Fast whether one or two characters talk.
Is it better to render two characters together or separately?
Separately is safer, since only one mouth is in frame. On ReelDouble two 4-second singles cost the same as one 8-second two-shot on Kling O3 Pro and Seedance, but double on Veo 3.1 Fast, where every reference shot is 8 seconds.
How many words of dialogue fit in an 8-second AI video shot?
About 18 to 20 words at a normal speaking pace, which is two short lines with a beat for a reaction. Longer lines come out rushed or get cut off at the end of the shot.


