Skip to main content

How to Keep a Character Consistent Across Shots in Seedance

Seedance keeps a character consistent when the character comes from a reference rather than from the prompt. Build the character once, save it under Assets, attach it to every clip, say what each attachment is for, and use the prompt for action and camera. Re-describing the face in every prompt is exactly what makes it drift, because each generation reads the description afresh.

Written byJarvisFounderPublished

Why characters drift

Every Seedance generation starts from scratch. A prompt that says "a woman in her thirties with short dark hair and a green jacket" is a fresh brief each time, and three clips give you three different women who happen to match the description. A reference image is not a description: it is the same pixels in every request, so the model has one face to hold on to. That is the whole technique. The steps below are about making the reference unambiguous and keeping the prompt out of its way.

Step 1: Build the character once

  • Start from one clear image of one person, fully in frame, face unobstructed, in the outfit they will wear in the series. The model animates what it can see; it will not invent the back of a jacket it has never been shown.
  • Save it under Assets. The saved character is what you attach to every clip, and it is also the compliant path when the source is a real person: a recognizable real face is refused as an input, while a character created under Assets is a generated likeness.
  • Add views only when the story needs them. If the character turns away from the camera, give a profile or back view as a separate image. BytePlus recommends separate single-view images over one sheet that packs several angles together once a scene has more than five subjects.

Step 2: Attach the same character to every clip, with one job each

Attach the saved character to every shot of the series, not only the first. Attachments are numbered in the order you pick them, and the prompt should say what each one is for. A reference that is "the character only" and another that is "the product only" or "the location only" do not compete for the same job. Put the tag next to the action it belongs to rather than listing every tag at the end.

Template: one recurring character
@image1 is {Lena} only. Keep her face, hair, outfit and proportions identical to @image1.
Scene: {a rooftop garden at dusk}.
Action: {Lena} {waters the plants, then looks up at a sound behind her}.
Camera: {medium shot, slow push-in}.
Do not change her hairstyle or clothing.

Seedance 2.5 takes up to 30 reference images per request and Seedance 2.0 up to 9. More slots are a ceiling, not a target: BytePlus notes that one to eight subjects generally give better results, and that stability can drop beyond that.

Step 3: Prompt for action and camera, not for the face

  • Let the reference carry identity. Describe what the image cannot show: what the character does, how they feel, where the camera is.
  • Never contradict the reference. A prompt that says "blonde" about a dark-haired reference gives the model two answers, and it may split the difference.
  • Say what must not change. "Keep her hairstyle and clothing identical" is a short line that closes the most common gap, especially in wide shots where the face is small.

Step 4: Keep continuity between shots, and keep the voice

  • One beat per clip. A shot that tries to carry three story beats tends to return three half-finished ones. Generate beats separately and cut them together.
  • Match the cut. When two shots have to join seamlessly, use the final frame of one clip as the first frame of the next in image to video, with the character still attached.
  • Lock the voice with an audio reference. BytePlus lists audio reference for voice, tone and timbre. Attach a short sample as @audio1 and say it is the character's voice. Seedance 2.5 accepts up to 10 audio references, Seedance 2.0 up to 3.

Two or more recurring characters

Give every character its own reference and its own line in the prompt, and never put two characters in one reference image. Name who speaks before each line of dialogue.

Template: two characters and a voice
@image1 is {Lena} only. @image2 is {Omar} only.
Keep each face, hairstyle and outfit identical to their own reference.
@audio1 is {Lena}'s voice reference. Use it for her voice only.
Scene: {a train platform at night, light rain}.
Action: {Omar} {holds out an umbrella}; {Lena} {hesitates, then takes it}.
Camera: {two-shot at eye level, then a close-up on Lena}.
{LENA}: "{You came back.}"

When the character still drifts

Common causes of character drift
What you seeLikely causeFix
A different face in a later clipThe reference was not attached to that clipAttach the saved character to every shot
The face shifts within a clipThe prompt re-describes the faceRemove appearance words; keep action and camera
Two characters swap featuresBoth are in one image, or tags are listed at the endOne character per image; put each tag next to its action
The outfit changesThe outfit is not in the reference, or the prompt contradicts itUse a reference in the series outfit; say it must not change
The character is refused as a real faceA photorealistic face was uploaded directlyCreate the character under Assets and reference it
A reference suddenly fails every timeThe saved asset was deletedSelect the character again instead of retrying

On Seedance 2.5, check a new character or a multi-character shot as a 480P draft first. The 1080P final reuses the draft's references and seed, so catching drift at 480P is cheaper than finding it in a 1080P clip. See Seedance 2.5 draft mode.

Which model for a series

Seedance 2.5 suits series work that needs long takes (up to 30 seconds) or many references at once. Seedance 2.0 is cheaper per second and handles most single-character shots within its 9-image limit. The trade-offs are laid out in Seedance 2.5 vs 2.0, and ready-made shot prompts are in Seedance prompt examples.

Running a series through the API

On the Open API, pass the same character image URL in image_urls for every request of the series and refer to it as @image1 in each prompt; references are addressed by their position in the array. Send each body to the quote endpoint first if you are batching, since quote and charge use one formula. Endpoints and limits are in the Seedance API docs.

Frequently asked questions

Can Seedance keep the same character across separate videos?

Yes, as long as every video uses the same reference. Each generation is independent, so consistency does not carry over on its own; the saved character is what ties the clips together.

How many images of one character should I attach?

One clear image is enough to start. Add a second view, such as a profile or a back view, when the character turns away from the camera. BytePlus supports both single-view and multi-view references for up to five subjects, and recommends separate single-view images once a scene has more than five.

Can I use a photo of myself as the character?

Not directly: every Seedance model refuses a recognizable real face in the input. Create a character from the photo under Assets first and reference the character. It is a generated likeness rather than the photograph, which is why it passes, and it stays the same across the whole series.

Do reference images cost extra?

No. Reference images do not change the quote. Reference videos are different: their seconds are billed together with the output. Seedance 2.5 accepts up to 30 reference images per request and Seedance 2.0 up to 9.

Sources

Consistent Character AI Video with Seedance | AiuniVid