An AI dialogue scene between two characters is made the way film editors have always cut conversations: one speaker per shot, shot and reverse shot, the lines laid on a timeline. On an 8frame board that means a portrait for each character, a text-to-speech voice for each, one lip-sync clip per line made from the portrait and that line's audio, and the Video Editor timeline to cut them together. The limit people expect to be different: the lip-sync tools on 8frame make one talking face from one still and one audio file. They do not animate two people talking to each other in one frame, and they do not re-sync the mouth on footage you already have.
The idea in one paragraph
Think of every line as its own small production. Character A's line becomes an audio file, then a clip of A saying it. Character B's reply becomes another audio file, then a clip of B. The scene exists only on the timeline, where you choose the order, the pauses, the reactions and the overlaps. This sounds like more work than one prompt, and it is. It is also the only way to control who says what, with which voice, at which moment, which is what makes a conversation believable.
The nodes and their prices
| Step | Node or model on 8frame | Price in credits | Input |
|---|---|---|---|
| Portrait per character | Nano Banana 2 or Seedream 5 Lite | 11 per image at 1K / 6 per image | Prompt, or a photo of a consenting person |
| Voice per line | ElevenLabs text to speech | 13 per started 1,000 characters | The line, up to 5,000 characters per generation |
| Talking clip, cheapest | Pruna Avatar | 3.375 per second at 720p, 6.075 at 1080p | Portrait plus audio, up to 35 s |
| Talking clip, alternative | OmniHuman v2 | 14.175 per second of audio, 4 to 35 s (71 for 5 s) | Image plus audio |
| Talking clip, short lines | Hailuo H3 Max Lip Sync | 34 / 54 / 108 / 216 per 5 s at 480p / 768p / 1080p / 2K, 5 s floor | Portrait plus audio, clipped at about 14.8 s |
| Reactions and cutaways | Kling v3 Standard | 86 for 5 s with sound, 57 silent | Portrait as start image |
| Assembly | Video Editor timeline | no generation | All clips, audio, captions |
For the three lip-sync tools we quote price and settings, not results.
The board, node by node
Two portraits that belong in one scene
Make both characters in the same light, the same location, the same lens feel. If A is lit from the left by a window, B, sitting across the table, is lit from the right by the same window. Generate both from one prompt pattern that only changes the person, and put the location photo in as a reference for both.
Frame them for the coverage you want: a medium close-up of each, facing slightly off camera in opposite directions (A looks right of frame, B looks left). Cut together, they will seem to look at each other. Two portraits that both stare into the lens cut together as two people talking to the viewer.
Seedream 5 Lite takes up to 14 reference images at 6 credits an image; Nano Banana 2 takes up to 10 at 11 credits for 1K. Pruna Avatar keeps the portrait's shape in its output, so if you want vertical clips, make vertical portraits.
If either character is based on a real person, you need that person's consent for the use of their likeness and, separately, for a voice that sounds like them. 8frame has no voice cloning tool; the voices here come from ElevenLabs' voices, not from anyone's recording.
A voice per character, a file per line
Split the script into lines and generate each line as its own audio file with ElevenLabs text to speech: 13 credits per started 1,000 characters, so a short line and a 900-character line cost the same. Eleven v3 and Multilingual v2 are the same price. Keep one voice per character for the whole scene, and note its name on a sticky note next to the portrait so the next line uses the same one.
One file per line is the key decision. It lets you redo one line without touching the others, and it gives the lip-sync node an audio file the length of one shot.
One lip-sync clip per line
Connect the portrait and the line's audio to a lip-sync node. The length of the output follows the audio:
- Pruna Avatar bills per second of output at 3.375 credits at 720p (17 for 5 s) and 6.075 at 1080p (31 for 5 s), up to 35 seconds. Longer audio is refused before it is charged.
- OmniHuman v2 bills 14.175 credits per second of audio, 4 to 35 seconds (71 for 5 s).
- Hailuo H3 Max Lip Sync has a 5-second floor and clips audio at about 14.8 seconds. It defaults to 768p (54 per 5 s).
Short lines suit any of the three. A monologue over 15 seconds rules out Hailuo H3 Max Lip Sync; over 35 seconds, split the audio.
Reactions and the listener's face
A conversation is half listening. For each line of A, make one silent clip of B listening, from B's portrait, on Kling v3 Standard (57 credits for 5 s silent). Prompt for small movement: a blink, a slight nod, a breath. Cutting to the listener in the middle of a long line is also how editors hide a weak take of the speaker.
Cutting on the timeline
Lay the scene out on the Video Editor timeline:
- Voice files on an audio layer in script order, with the pauses you want between them.
- Each speaker's lip-sync clip above its line.
- Listener clips over the middle of long lines.
- Room tone or music on its own layer, low.
- Captions from your pasted script; the editor times them at an estimated 160 words per minute, so nudge them to the real lines.
Do not assemble the scene with the Montage node. Montage joins picture only and the merged file has no sound, which would strip every line of dialogue.
Choosing the lip-sync tool per line
| Line | Tool | Why | Watch for |
|---|---|---|---|
| Most lines, under 35 s | Pruna Avatar | Lowest per-second rate; 720p or 1080p | Output keeps the portrait's shape |
| A line you want at 2K | Hailuo H3 Max Lip Sync | 2K tier at 216 per 5 s | Audio clipped at about 14.8 s |
| A line where you want to compare a second take | OmniHuman v2 | Different model on the same portrait and audio | Bills per second of audio |
Run the same portrait and line through two tools and keep the take that matches the character. Do not mix tools within one character's lines if the look differs; viewers notice a mouth that moves differently from shot to shot.
Where it breaks
- Two faces talking in one frame. The lip-sync tools animate one face per clip. A two-shot with both mouths moving is not a supported setup; use a two-shot only for moments without dialogue, or with the speaker's mouth hidden.
- Existing footage. 8frame cannot re-sync the mouth on a clip you already made or filmed. Plan dialogue as lip sync from a still from the start.
- Translation and dubbing. There is no translation, dubbing or voice cloning tool on 8frame. A second language means new voice files from your own translated lines, then new lip-sync clips.
- Drift between lines. Each clip starts from the same portrait, which keeps the face; the background may still move differently between clips. Keep backgrounds plain or soft.
- Long lines. A 40-second speech cannot go through Pruna Avatar or OmniHuman in one clip. Split it at a natural pause and cut to the listener.
For what lip sync can and cannot do in general, see what is lip sync AI; for presenter-style videos with one speaker, the best AI talking avatar generators.
FAQ
Can AI make two characters talk to each other in one video?
Yes, if you build it like an edit: one lip-sync clip per line from each character's portrait and voice file, cut as shot and reverse shot on the Video Editor timeline. The lip-sync tools on 8frame animate one face per clip, not two people in one frame.
Which lip-sync model should I use for dialogue?
Choose by line length and resolution. Pruna Avatar is 3.375 credits per second at 720p and runs up to 35 seconds; Hailuo H3 Max Lip Sync clips audio at about 14.8 seconds and offers 2K; OmniHuman v2 is 14.175 per second of audio (4 to 35 s). We quote price and settings, not results: test two on the same line.
How do I give each character a different voice?
Pick one ElevenLabs voice per character and keep it for every line. Text to speech is 13 credits per started 1,000 characters. 8frame has no voice cloning, so a voice that sounds like a real person is not something to make here.
Can I add dialogue to a clip I already generated?
Not with matching mouth movement: 8frame has no tool that re-syncs the mouth on existing footage. You can add a voice-over on the timeline, or make the talking shot again as a lip-sync clip from a still.
Why does my dialogue scene have no sound after merging?
The Montage node joins picture only; its merged file has no audio. Assemble dialogue on the Video Editor timeline, where voice, picture and music sit on their own layers.
Sources
- 8frame prices, defaults and limits: the 8frame app, checked 2026-11-09
Try it without signing up: the 8frame canvas opens on a real board. The canvas is free and unlimited; generation is paid from $19/month.