# 如何让 AI 视频的每个镜头都是同一个角色：脸、服装和声音

Published 2026-11-12 by Sumi Studio 团队.

Source: https://sumistudio.ai/zh/blog/consistent-character-ai-video

你生成了一个很满意的第一个镜头。到了第二个镜头，鼻子有点不一样，夹克换了颜色，等她终于开口，听起来又像换了一个人。这是 AI 视频里最常见的问题之一，故事的镜头越多，问题越明显。

这篇指南讲的是观众要相信“这是同一个人”时必须保持不变的三样东西：脸、服装和声音。大多数教程只讲到脸，而很多 AI 短片恰恰是在声音上露了馅，所以这里专门用一部分来讲声音。

每一步都在 [Sumi Studio](https://sumistudio.ai/zh) 画布上完成，大部分步骤都附有可以直接复制的提示词。

## 怎么读这篇指南

如果你是第一次尝试，先做个小测试：一个角色、两个镜头、一句台词。用它走一遍第 2、3、4 部分，就能看明白整个流程。

如果你在筹备一部完整的短片或一个系列，请按顺序读完。第 5 部分列出了最容易破坏一致性的镜头，能帮你省下大量重新生成。

画布上各部分的作用如下：

| 画布上的部分 | 作用 |
| --- | --- |
| 图片节点 | 生成角色和角色设定图，需要时也用来生成镜头的首帧 |
| 语音节点 | 把文字转成语音，也是复刻或设计角色音色的地方 |
| 元素 | 保存角色的图片、描述和音色，任何节点都能用 @ 调用 |
| 视频节点 | 根据参考和提示词生成视频片段 |
| 你 | 确认角色的外观和声音，判断每个镜头是否合格 |

## 第 1 部分：为什么角色总在变

每次生成都是从零开始。模型不记得你上一段生成的视频，它手里只有你在这一次请求里给它的东西：提示词，以及你附上的参考图或音频。

所以当参考只有文字时，模型每次对“一位三十多岁、黑色短发的女性”的理解都会略有不同。十个镜头下来，小差异层层累积，到最后就成了另一个人。

解决办法是在每个镜头里都给模型同一份视觉参考和同一份声音参考，并且每次都用同样的方式写描述。放到画布上，就是一个角色只保存一次，然后连到每个镜头。

## 第 2 部分：锁定脸和服装

### 2.1 在画布上创建角色

新建一个画布，按住 Tab 调出节点轮盘，选择「图片」添加一个图片节点。

在节点下方的提示词框里描述角色，画风要和成片想要的一致。把所有必须固定的东西都写清楚：脸型、发型、肤色、体型，以及从头到脚的每一件衣服，一直写到鞋子。要求生成纯色背景上的全身图，这样场景里就没有东西分散对角色的注意力。

小细节要写明位置。“左眉上方有一道小疤”或“右手戴着一枚银戒指”会一直留在原处；只写“一道疤”“一枚戒指”，它们就会在镜头之间跑来跑去。

如果结果不对，就重新生成这个节点。每个节点都会保留历史记录，后面的结果更差时，可以回到之前的版本。

### 2.2 做成角色设定图

只有一张图还不够。模型需要从多个角度看到角色，否则它会自己编造后脑勺、侧脸和鞋子的样子。

点击角色节点侧边的加号，拖出一个新的图片节点，角色图就会作为参考图进入新节点。把下面的提示词粘贴到新节点里。它适用于任何角色，可以原样复用。

**角色设定图提示词（图片节点）**

```
Create a character reference sheet of the character in the reference image. Keep the character's design exactly as shown: same face, hairstyle, hair color, eye color, skin tone, body proportions, outfit, accessories and colors. Do not redesign, restyle or add anything.

Layout: one single horizontal row of four full-body views on the left, side by side, never stacked on top of each other. The large face close-up sits on the right side of the sheet. Every full-body view has the same height and runs from the top of the head to the bottom of the feet, with empty gray space above the head and below the feet.

1. Full-body front view: facing the camera, standing straight, arms slightly away from the body, showing the face, full outfit and accessories.
2. Full-body side view: exact 90 degree profile, standing straight, showing the nose, jawline, hair shape and outfit from the side.
3. Full-body 3/4 view: body and face turned diagonally, about 45 degrees from the camera, standing straight.
4. Full-body back view: standing straight, showing the hairstyle, the back of the outfit, the back of the legs and both feet.
5. Large face close-up: head and shoulders, facing the camera, neutral expression, sharp and detailed.

The character has the same face in every view, with the full head visible in all poses. All four full-body views show the complete body including knees, calves, ankles and feet, nothing cropped, same scale, same standing pose and same neutral expression. Plain medium gray studio background, soft even studio lighting, no props, no text, no labels, no extra characters.
```

在节点的参数里，如果模型支持，就把画幅比例设为 21:9，否则设为 16:9。宽画面能避免四个全身视图被裁掉。

继续之前先检查设定图。每个视图都应该是同一张脸、同样的发型、同样的衣服。如果某个视图不对，现在就重新生成，因为设定图上的错误会被复制到每一个用到它的镜头里。

![画布上的角色设定图：由一张角色图生成的四个全身视图（正面、侧面、3/4 侧面和背面）和一张大尺寸面部特写。](https://sumistudio.ai/brand/blog-character-ai-character-sheet.jpg?v=2026-10-21.1)

### 2.3 把角色保存为元素

Sumi Studio 靠元素来记住角色。元素包含名称、简短的引用名、参考图和音色。在任意节点的提示词里输入 @ 加引用名，这些图片就会自动作为参考附加到这次生成里。

最快的方法是直接在画布上操作：

1. 右键点击角色设定图节点，选择「创建元素」。「新建元素」窗口会打开，设定图已经作为参考图添加好了。
2. 把分类设为「角色」，填写名称和引用名，例如 `@mara`。
3. 在描述里用几个短语写下固定的细节。每次生成时，描述都会和名称一起发送，所以只写永远不会变的东西：“黑色短波波头，左眉上方有一道小疤，橄榄绿飞行员夹克，白色运动鞋”。
4. 点击「创建」。

你也可以在「资产」的[元素](https://sumistudio.ai/zh/assets/elements)页面里创建：点击「新建元素」，再用「添加参考图」上传设定图。面部特写也可以作为单独的一张图片加进去。

如果你用的是 Kling O3 或更新的版本，还可以添加一段角色视频（MP4 或 MOV，3 到 8 秒，1920×1080 或 1080×1920）。Kling 会把它当作视频主体，其他模型只使用图片。

![右键点击角色设定图节点并选择「创建元素」，会打开「新建元素」窗口，设定图已经作为参考图添加好了。](https://sumistudio.ai/brand/blog-character-create-element-canvas.jpg?v=2026-10-21.1)

### 2.4 一套服装对应一个元素

如果角色在故事里换了衣服，就为第二套服装再建一个元素，例如 `@mara` 和 `@mara-night`。在画布上，把角色设定图连到一个新的图片节点，要求生成穿着新服装的同一个角色，再为新造型做一张设定图，保存为第二个元素。两个元素里的面部特写保持一致。

把两套服装放进同一个元素，等于对同一个问题给了模型两个答案，结果会是两者的混合。

继续之前，检查这几项：

- [ ] 设定图上每个视图的脸和衣服都一样
- [ ] 小细节都写明了位置（左或右、上或下）
- [ ] 元素描述只列出永远不变的东西
- [ ] 每套服装都有自己的元素

![同一角色的第二套服装：第一张角色设定图接入新的图片节点，新造型有自己的设定图和自己的元素。](https://sumistudio.ai/brand/blog-character-character-outfit-change.jpg?v=2026-10-21.1)

## 第 3 部分：锁定声音

一个角色即使在每个镜头里都长得分毫不差，声音一变，观众还是会觉得不对。会生成对白的视频模型，如果你不给它一个可参照的声音，每次都会自己挑一个。

在 Sumi Studio 里，音色是元素的一部分。你可以先在画布上做好音色，再把它绑定到元素上。

### 3.1 在画布上复刻音色

点击左侧菜单里的加号，进入「音频」，选择「语音」。这样会添加一个语音节点（在画布上显示为「文生音频」）。在节点下方的栏里，点击模型旁边当前的音色名称，打开「选择音色」，里面有音色库、你自己的音色、收藏和各个元素的音色。

点击「复刻新音色」。你可以朗读一小段文字 10 到 20 秒，或者上传一段录音。

复刻界面会显示该语音模型对录音的要求。以 Qwen Audio 3.1 TTS Plus 为例，录音需要至少 5 秒的连续说话，停顿不超过 2 秒，不能有音乐、歌声或噪音，格式为 WAV、MP3 或 M4A，文件不超过 10 MB、时长不超过 60 秒。只复刻你自己的声音，或你有权使用的声音。

### 3.2 或者根据描述设计音色

如果角色的声音不像你认识的任何人，就根据描述来设计。用同样的方式从语音节点打开「选择音色」，点击「设计新音色」，然后填写表单：

1. 音色名称：用角色的名字，例如 Mara，方便以后查找。
2. 模型：选择语音模型。音色费用只收一次，在你第一次用这个音色生成语音时收取。
3. 预览文本：模型朗读的一段台词，让你听到这个音色的效果。必填，最多 500 个字符，按长度计费。写一段角色真的会说的话，用你想要的语气。
4. 声音描述：从年龄、语气和语速来描述声音。避免“酷”“好听”这类含糊的词，模型可能有很多种理解。
5. 语言和性别：都按角色来设置。
6. 点击「生成音色」。

**预览文本**

```
I told you I'd come back, and here I am. It's been a long time since I walked these streets at night. The rain hasn't changed, the neon signs haven't changed, and you still leave the back door open. Don't look so surprised. I'm not here to make trouble. I just need one answer, and then I'll be gone before the sun comes up. So sit down, pour yourself a drink, and tell me the truth this time. Who sold us out that night? Take your time. I've waited three years, I can wait a little longer.
```

**声音描述**

```
A woman in her early 30s, low and slightly husky voice, calm and measured pace, speaks quietly but clearly, a little dry and sarcastic.
```

新音色会出现在「选择音色」的「我的音色」里。

![从语音节点打开的「设计新音色」表单：音色名称、模型、预览文本、声音描述、语言和性别。](https://sumistudio.ai/brand/blog-character-design-ai-voice.jpg?v=2026-10-21.1)

### 3.3 把音色绑定到角色

回到「元素」里的这个元素。有两个地方可以设置声音：

- 在「音色」下，从「我的复刻音色」里选择你复刻或设计的音色。
- 在「角色参考音色」下，选择或上传一段 2 到 10 秒的片段。当你 @ 这个角色时，Seedance、Wan 和 Hailuo 会使用这段片段。

好的参考片段里只有一个人在清楚地说话，没有音乐和背景噪音，语气是你最常用的那种。如果角色大多数时候很冷静，就不要用她大喊大叫的片段。

Kling 只使用在 Kling 上复刻的音色。如果想让角色在 Kling 视频里保持同一个声音，请在「音色」下选择用 Kling 复刻的音色。

还有一点：画布上的节点拿到元素的音色时，会保存一份副本。之后如果你在元素里更换了音色，已经做好的节点仍然使用旧音色。所以先把音色定下来，再搭建镜头。

![元素的音色设置：「音色」下是复刻或设计的音色，「角色参考音色」下是一段 2 到 10 秒的片段。](https://sumistudio.ai/brand/blog-character-element-character-voice.jpg?v=2026-10-21.1)

## 第 4 部分：在每个镜头里使用角色

### 4.1 始终用 @ 调用角色

按住 Tab，为每个镜头添加一个视频节点。在节点下方的提示词框里输入 @ 并选择你的角色，设定图和音色就是这样附加上去的。只用文字描述角色却忘了 @ 的那个镜头，就是脸会走样的那个镜头。

新的视频节点默认是「文生视频」模式，不会使用角色的参考。生成前先切换：点击提示词下方的设置栏（显示的内容类似“文生视频 · 16:9 · 480P · 8s”）打开「参数」，在「生成方式」里选择「全能参考」。在这个模式下，模型会同时使用角色的图片和音色。

### 4.2 提示词写镜头，外观交给元素

镜头提示词应该描述发生了什么：动作、运镜、地点、光线和对白。不需要再描述一遍脸，每个镜头都换个说法重写一遍，反而可能把模型从参考上拉偏。

背景写得简短，但要具体。不写的话，很多模型会给你一个空荡荡的场景。

**镜头提示词（视频节点，全能参考）**

```
8-second shot.
@mara walks toward the camera along a narrow street at night, wet pavement with neon reflections, a few closed shops in the background.
Medium shot, eye level, slow push-in.
She stops, looks up and says quietly: "I told you I'd come back."
Calm, low voice. Only the sound of rain and her footsteps. No music, no subtitles.
```

点击生成之前，节点会显示这个镜头需要多少积分。

[用上面的提示词在「全能参考」模式下生成的镜头：@mara 的脸、服装和声音都没有变。](https://sumistudio.ai/brand/blog-character-voice-shot.mp4?v=2026-10-21.1)

### 4.3 最重要的镜头，从首帧开始

对于特写或关键时刻，先用图片做出首帧。添加一个图片节点，@ 角色并描述这个镜头的构图。首帧满意之后，点击它侧边的加号，拖到一个视频节点上，从设置栏打开「参数」，把「生成方式」设为「图生视频」；如果你还做了尾帧，就设为「首尾帧」。

这样视频模型就有了一个固定的起点，正确的脸已经在画面里，这通常是保持角色一致最可靠的方法。而且试错成本更低，因为重新生成一张图比重新生成一段视频便宜。

一些在视频播放过程中容易消失的小东西，比如帽子、纹身或眼镜，应该在首帧里就能看到。如果只写在文字里，它们常常会在中途消失。

下面是 Mara 穿夜间服装的例子。

**图片节点（首帧）**

```
@mara-night in a close-up, standing under a flickering streetlight in a narrow alley at night, light rain falling, wet brick wall behind her slightly out of focus. Warm orange streetlight from the left, cool blue neon glow from the right. Her coat collar is turned up and she looks just past the camera with a calm, tired expression. Her face sits on the right third of the frame. Eye level, 50mm lens, shallow depth of field. Photorealistic cinematic, natural skin texture, 35mm film look. No text, no watermark.
```

**视频节点（图生视频，连接上面的首帧）**

```
5-second shot.
Use the reference image as the first frame and keep its composition, lighting and framing exactly the same. @mara-night stays under the streetlight in the rain. She slowly lifts her eyes to the camera, lets out a short breath and the corner of her mouth tightens. She does not speak.
Close-up, eye level, very slow push-in.
Rain falls steadily, the streetlight flickers once, a car's headlights sweep across the brick wall behind her.
Only the sound of rain and a car passing in the distance. No music, no subtitles.
```

[用「图生视频」从确认好的首帧生成的特写：雨中路灯下的 @mara-night。](https://sumistudio.ai/brand/blog-character-first-frame.mp4?v=2026-10-21.1)

### 4.4 所有镜头都从同一份参考出发

不需要为每个镜头重新上传角色设定图。从设定图节点拖出连线，连到每个需要它的视频节点。前一个节点里的内容会传进下一个节点，所以一份参考可以供给任意多个镜头。

如果某个镜头出了问题，只重新生成那个节点，画布上的其他内容保持原样。如果想在工作时把项目里所有的图片和视频片段都摆在眼前，可以在画布上放一个堆栈节点。

镜头都准备好后，打开「智能剪辑」。你在画布上生成的所有内容都已经在里面，可以直接放上时间线。

继续之前，检查这几项：

- [ ] 每个出现角色的镜头提示词里都有 @handle
- [ ] 镜头提示词描述动作、运镜和地点，不写脸
- [ ] 关键镜头从确认好的首帧开始
- [ ] 帽子、眼镜和纹身在首帧里看得见

## 第 5 部分：容易破坏一致性的镜头

有些镜头对视频模型来说难得多。写故事时就提前绕开它们，重新生成的次数会少很多。

| 出了什么问题 | 怎么避免 |
| --- | --- |
| 角色转身再转回来时，脸变了 | 让脸一直留在画面里，或者在转身处切镜，下一个镜头从新的首帧开始 |
| 两个角色融成一个，或者互换了特征 | 给每个角色单独建元素，写明谁在左、谁在右，并且不让他们的走位交叉 |
| 远景里的脸不对 | 远景里脸只占很少的像素。远景用来交代地点和动作，脸放在中景和特写里展示 |
| 正上方俯拍时脸丢了 | 用仍然能看到脸的高机位，或者把俯拍留给不需要辨认身份的时刻 |
| 服装在一段视频里变了 | 一套服装对应一个元素，并确保首帧里能看到完整的服装 |
| 某个镜头里声音听起来不一样 | 检查这个镜头有没有写 @handle，以及做好节点之后有没有改过音色 |
| 角色不说话时嘴却在动 | 在提示词里为这个角色写上“不说话” |
| 一段视频里发生的事太多 | 每段视频只放一两个动作。一长串连续动作最容易让脸和手出错 |
| 光线让脸变了样 | 同一场戏里保持光线一致：方向相同、冷暖相同。光线变化太大，同一张脸也可能被看成另一个人 |

## 常见错误

- 角色设定图还没确认就开始做视频（2.2）
- 小细节没写位置，结果在镜头之间跑来跑去（2.1）
- 一个元素里放了两套服装（2.4）
- 元素没有设置音色，模型每个镜头都挑一个新声音（第 3 部分）
- 镜头搭好之后又改了元素的音色（3.3）
- 某个镜头忘了写 @handle（4.1）
- 每个镜头提示词里都重新描述一遍脸（4.2）
- 关键特写直接用文字生成（4.3）
- 在最需要看清脸的地方用远景和转身镜头（第 5 部分）

先设置好你的第一个角色，在搭建整部片子之前，从一个两镜头的小测试开始。想进一步了解画布、元素和各个模型，请看 [Sumi Studio 学院](https://sumistudio.ai/zh/academy)。
