把一段剧本变成十几格画风统一、主角长得一样的漫画,通常会卡在两件事上:一是角色每换一个镜头就"换脸",二是逐格手动生成太慢。这套流程的思路是:用即梦批量出静态漫画格并锁住角色,用可灵把其中关键格做成动态分镜,中间靠一份分镜表和一个提示词模板把重复劳动交给脚本。
这套流程能做出什么
做完之后手上会有一批这样的文件:
```text
project/
├─ characters.csv # 角色设定卡
├─ shots.csv # 分镜表
├─ prompts/ # 脚本批量生成的提示词
│ ├─ S01_A.txt
│ └─ S02_A.txt
└─ renders/
├─ raw/ # 平台导出原图
├─ picked/ # 初筛保留
└─ final/ # 修图定稿
```
配合固定的角色参考图,输出的漫画格里主角的脸型、发型、服装配色基本能对上;关键格再用可灵转成 3~5 秒短片,做成"动态漫画"式的开场或转场。
前置条件清单
- 可灵、即梦的账号,并且开通了所需的生成额度(额度与会员规则以官方页面当前版本为准)。
- 一份剧本或分镜文字,哪怕只是"主角进便利店、看见货架上的旧照片、愣住"这种三句话。
- 一张角色参考图:正面、光线均匀、无遮挡、背景干净、分辨率尽量高。这张图决定了后面所有格的相似度,值得先花时间挑。
- 本地建好上面的目录结构。
- 可选:Python 3 环境,用来把分镜表转成提示词清单。
- 一个图片查看器和一个能拼图的排版工具。
步骤一:先做角色设定卡,再动手
角色一致性出问题,九成是因为设定只存在于脑子里。把每个角色的固定描述写死成文本,后续所有提示词都从这行字复制,一个字都不改。
```csv
角色ID,姓名,固定描述,参考图
A,林小满,22岁亚洲女性,及肩黑直发,齐刘海,圆脸,浅灰色卫衣,深蓝牛仔裤,左眉尾有小疤,refs/A_front.png
B,店长,50岁亚洲男性,寸头灰白,方脸,深绿围裙,白衬衫,戴细框眼镜,refs/B_front.png
```
写固定描述的三个原则:
1. 只写不会变的东西。发型、脸型、常驻服装、标志性特征。表情和动作放到分镜表里。
2. 用具体名词代替形容词。"温柔的眼神"不如写"眼睛略下垂、眼尾平"。
3. 控制长度。一般 20~40 字足够,太长会互相压制,模型抓不住重点。
有了设定卡,再去生成角色的三视图或半身特写,挑出最满意的一张,作为参考图上传播。参考图 + 固定描述这一对组合,是后面所有一致性的地基。
步骤二:写分镜表,一个镜头一行
分镜表是批量生成的核心。每个镜头只描述"变量",不变的部分由脚本自动拼接。
```csv
镜号,角色ID,场景,动作,表情,镜头,时长秒
S01,A,便利店冷柜前,伸手拿饮料,平静,中景,3
S02,A,便利店冷柜前,转头看向货架,疑惑,近景,3
S03,A,便利店货架前,后退半步,惊讶,特写,3
S04,B,收银台后,抬头看过来,平淡,中景,3
```
原则是:一行只改一个变量。S01 到 S02 只改了动作和表情,场景和镜头尺寸接近,这样出图时角色的五官漂移最小。如果一行同时换场景、换服装、换镜头、换情绪,模型很容易把主角画成另一个人。
步骤三:用脚本把分镜表拼成提示词
把固定描述、风格词、镜头词合成一条完整提示词,避免每次手打时漏掉或改写。
```python
build_prompts.py
import csv
from pathlib import Path
STYLE = "赛璐璐上色,干净线条,日式漫画风格,柔和自然光,浅景深"
NEG = "多余手指,变形的手,文字,水印,多个人物" # 平台支持负向词时使用
def load_chars(path):
with open(path, encoding="utf-8-sig", newline="") as f:
return {r["角色ID"]: r for r in csv.DictReader(f)}
def build(char, row):
parts = [
char["固定描述"],
f'场景:{row["场景"]}',
f'动作:{row["动作"]}',
f'表情:{row["表情"]}',
f'镜头:{row["镜头"]}',
STYLE,
]
return ",".join(p for p in parts if p)
def main():
chars = load_chars("characters.csv")
out = Path("prompts")
out.mkdir(exist_ok=True)
with open("shots.csv", encoding="utf-8-sig", newline="") as f:
for row in csv.DictReader(f):
char = chars.get(row["角色ID"])
if not char:
print("跳过未定义角色:", row["镜号"], row["角色ID"])
continue
name = f'{row["镜号"]}_{row["角色ID"]}'
prompt = build(char, row)
(out / f"{name}.txt").write_text(prompt, encoding="utf-8")
print(name, "->", prompt)
if __name__ == "__main__":
main()
```
运行:
```bash
python build_prompts.py
```
prompts/ 目录里就会出现一条条可以直接复制到即梦的提示词。STYLE 这段风格词是全局共用的,改一次全体生效,画风就不会一格一个样。
步骤四:在即梦里批量出图并锁定角色
这一步是操作密集区,按固定顺序走:
1. 打开即梦的图片生成,选择文生图或图生图(以官方页面当前版本为准)。
2. 上传角色参考图。多数版本提供"参考图""主体参考""风格参考"这类入口,名字不同,作用是把上传图的特征带进结果。把角色参考图放在"主体/人物参考",把风格参考图单独放另一个入口,两者混用容易让画风盖过脸。
3. 粘贴 prompts/S01_A.txt 的内容,宽高比固定成同一个值(比如竖版 3:4),不要这一格竖、下一格横。
4. 如果平台支持固定随机种子,把第一个满意的种子记下来,后续同场景的格子沿用。
5. 生成 4 张,保留 1 张。命名成 S01_A_v2.png 放进 renders/raw/。
一个实用技巧:先出一格"基准格"——主角正面、中景、表情平静。这一格定稿后再去生成其它格,把基准格一起作为参考图上传。等于用一张已经过关的图当"标准件",比只靠设定卡文字稳。
如果某一格脸崩了,不要整张重生成。用平台的局部重绘/消除笔,把脸框出来重画,往往两三次就能修好,而且不会连带把构图和背景改掉。
步骤五:用可灵把关键格变成动态分镜
不是每一格都要动。挑 3~5 个情绪转折的格子即可,成本和时间都省。
1. 在可灵里选图生视频,把定稿的漫画格作为首帧上传。
2. 写运动提示词,只描述"动什么",不要重新描述画面内容。例如:"轻微呼吸起伏,眨眼,头发被风吹动,镜头缓慢推近",而不是再抄一遍角色描述——重复描述会让模型重画角色。
3. 如果平台提供首尾帧功能,可以用同一角色的两格定稿当首帧和尾帧,中间动作交给模型插值,角色不容易中途换脸。
4. 时长按需要在平台允许的档位里选,导出后放进 renders/final/clips/。
台词、拟声词、气泡一律后期加。让图像模型写字,出来的一定是扭曲的笔画,返工成本比加字高得多。
步骤六:归档与排版
批量生成的副作用是文件爆炸。用脚本按镜号整理,比手动拖拽靠谱:
```bash
mkdir -p renders/raw renders/picked renders/final
for f in renders/raw/*.png; do
base=$(basename "$f" .png)
shot=$(echo "$base" | cut -d_ -f1)
mkdir -p "renders/raw/$shot"
mv "$f" "renders/raw/$shot/"
done
```
排版阶段把 picked/ 里的图按分镜表顺序拖进拼图工具,统一加边框、加气泡。边框粗细、留白比例、气泡字号也要统一,这是让整页看起来"是一部作品"而不是"一堆 AI 图"的关键。
常见坑与排错
角色换脸。 先查三处:参考图是不是正面无遮挡;固定描述有没有被改动;这一格是不是同时改了场景和服装。逐个排除,通常能定位到原因。
参考图被"吃掉"。 有些入口对参考图的权重有强弱设置,人物参考权重调低时,模型更听文字。把权重调高,同时把固定描述写得更具体。
画面里出现两个人。 提示词里写了"和店长"这类多主体描述,模型容易串脸。拆成两格分别生成,后期拼在一页。
画风漂移。 检查是不是某一格手改了风格词,或者换了宽高比。把这几个字段全部固定下来。
手部畸形。 尽量用中景和近景,避开手部特写;必须出镜时用局部重绘修,或者用袖子、杯子等道具挡一下。
额度消耗过快。 先在小尺寸下试提示词,构图和角色对了再出大图。批量之前先用两三格验证模板,别一上来跑完整个分镜表。
合规问题。 用真人照片做参考图需要本人授权;涉及商用要看清平台的生成内容使用条款,以官方页面当前版本为准。
下一步建议
跑通一条 4 格的小片段后,可以往三个方向延伸:
一是建立自己的角色资产库。把每个角色的参考图、定稿基准格、验证过的提示词版本存成一个角色包,下次开新故事直接复用。
二是把动态漫画做完整。关键格转视频,配上环境音和配音,用剪辑软件串成 30 秒左右的短片。
三是沉淀风格模板。把 STYLE 那段风格词迭代几轮,记下哪几种组合稳定、哪种容易崩,形成自己的模板文件。这套东西的价值不在于某一次生成,而在于下次能照着同样的流程,把新剧本稳定地变成成品。
