news 2026/9/29 5:54:10

seedance-characters:面向 Seedance 2.0 的角色一致性与多人场面调度技能全解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
seedance-characters:面向 Seedance 2.0 的角色一致性与多人场面调度技能全解析
  • AI 技能
  • AI 评测
  • 提示工程
  • 人工智能
  • 媒体生成

【免费下载链接】seedance-2.0

Comprehensive production pipeline for quad-modal AI filmmaking with Seedance 2.0

项目地址:https://gitcode.com/gh_mirrors/se/seedance-2.0
点击查看免费下载

在 Seedance 2.0 的四模态(图像、视频、音频、文本)AI 电影制作管线中,角色一致性(character consistency)、身份锁定(identity lock)、多人场面调度(multi-character blocking)、服装连续性(wardrobe continuity)、手部安全(hand safety)、表情控制(expression control)与肖像敏感引导(likeness-sensitive guidance),是决定成片能否跨越多个 clip 存活的核心工程问题。本指南以开源仓库seedance-2.0中的 skills/seedance-characters/SKILL.md 为主干,结合 references/shot-list-continuity.md、references/continuity-qc.md、references/reference-workflow.md 与 references/sequence-project-state.md 等仓库文档及真实示例,讲解如何为每个角色建立稳定契约、用三层动作层级稳定多人镜头、守住手脸细节与肖像边界,并在序列状态中继承身份与服装。读完本文,你将得到一套可直接落地的角色提示词(prompt)写法、多人场面调度规则和序列连续性校验清单。

为什么角色一致性被当成"信任"问题:技能的设计意图

seedance-characters的元信息(YAML front matter)声明了它的调用时机:当用户请求角色一致性、角色标签、身份锁定、多角色场面调度、服装连续性、手部安全、表情控制或肖像敏感引导时,应当使用本技能。它归属于seedance-20技能族,当前版本6.7.0,属于user-invocable: true的通用技能,即用户可直接显式调用。

技能在Intent(意图)一节给出了一个非常关键的设计立场:

用户在保护某人——他们创造的角色、他们打造的产品、或者他们爱的人。身份即信任:当一张脸漂移时,用户感到的是背叛,而不是渲染瑕疵。要把每个反复出现的角色当作有记忆、有契约的常驻演员,而不是每个 clip 都重新选角的路人。

这条意图决定了本技能所有规则的方向:在添加风格(style)之前,先消除歧义(remove ambiguity)。提示词必须先锁定"这个角色是谁、穿什么、站在哪里、做什么、表情如何、什么必须保持不变",再谈光影、色调与氛围。仓库中的 references/directing-engine.md 也将本技能列为"回答 what phrase"的查表层,而导演引擎负责"为什么在这里、对这个故事这样做"的决策层,两者职责互补。

Character Contract:为每个角色建立稳定契约

技能给出的第一条实操规则是角色契约(Character Contract):为每个角色分配一个稳定标签,然后让该标签贯穿始终地绑定角色的身份锚点、位置、动作与表情。标签可以是:

  • Character A、Character B这类编号标签;
  • @Image1 subject这类引用标签(绑定上传素材中的主体);
  • 用户提供的原始角色名。

关键约束:当一个场景中出现超过一个角色后,禁止使用含混代词(they、她/他等让模型自行决定主体的词)。标签、角色、外观、服装、位置、动作与情绪节拍必须保持一致。

技能提供的字段表是构建任何角色描述的最小骨架,逐字段展开如下:

字段提示词中的用法仓库依据与深化
Tag(标签)Character A或@Image1 subject标签必须原样保留,禁止翻译、重编号或改写为方括号形式,详见下文"参考标签语法"
Identity anchor(身份锚点)年龄段、剪影、发型、服装或经授权的参考角色对应 references/sequence-project-state.md 中 canonical identity(角色身份 ID、服装、发型)
Position(位置)前景/背景、左/右、坐/站对应 shot-list-continuity 中 location、left/right geography 连续性锚点
Action(动作)一个分配好的动词与终点对应三层动作层级中的"一个聚焦响应",动作必须有明确端点
Expression(表情)可观察行为:眨眼、瞥视、微笑、握紧、停顿对应 directing-engine 中"Seedance 渲染的是可观察行为,而不是内心状态"
Constraint(约束)明确写出什么必须保持不变对应 continuity-qc 中的 hard-fail 清单

参考标签语法:@标签的绑定规则

角色契约中的@Image1 subject依赖 Seedance 2.0 的引用绑定机制。references/reference-workflow.md 明确:平台通过直接在提示词中输入@提及(mention)来绑定上传素材,标签按类型与上传顺序分配:

  • 图片:@Image1–@Image9(中文界面为@图片1–@图片9);
  • 视频:@Video1–@Video3(中文界面为@视频1–@视频3);
  • 音频:@Audio1–@Audio3(中文界面为@音频1–@音频3)。

两个容易踩坑的规则:

  1. 每个标签必须带上它负责的职责,而不是孤立出现:例如写@Image1 as the first frame(作为首帧)、follow @Video1 for camera movement(跟随镜头运动)、@Audio1 for background music(背景音乐)。没有职责声明的标签等于没有绑定意图。
  2. 标签必须保持字面原样:不要把@Image1翻译成其他语言、重编号,也不要改写成[Image1]方括号形式——平台的@解析器不识别方括号形式,一个写错的标签会静默地绑定失败(silently fails to bind)。

对角色技能而言,最常用的角色分工是:@Image1负责canonical identity(规范身份)——角色身份、产品身份、服装、几何、持久道具与地点;已接受的成片视频只负责瞬时开场状态(pose、action phase、screen position、camera phase 等),绝不能反过来覆盖不可变的身份锁。这一"规范引用管身份、已接受成片管瞬态"的分离原则,在 references/sequence-project-state.md 中被定义为 Canonical State 的核心规则。

Multi-Character Blocking:多角色场面调度

当画面中出现多个角色时,技能要求为每个角色单独分配动作,而不是写一个模糊的群体描述。技能原话:

不要写"他们激烈地争吵"(they argue dramatically)——那等于把"谁移动"的决定权交给模型。

正确写法是:Character A lowers the envelope; Character B remains in the doorway(A 放下信封;B 留在门口)。如果发生身体接触(contact),必须描述接触点与终点(contact point and endpoint)。对于人群场面(crowd scene),要识别出英雄主体(hero subject),并保持背景运动简单。

这与 references/shot-list-continuity.md 的连续性账本(Continuity Ledger)互为表里:账本中的 Character 锚点要求记录 tag、wardrobe、hair、silhouette、prop、emotional state,而 screen direction、eyeline 则决定每个角色在画面左右与视线方向的稳定。多角色调度的本质,就是把"角色关系"翻译成可渲染的空间事实:谁在画面中的高度、谁看向谁、谁占据空间、谁被挤到边缘——这些在 references/directing-engine.md 中被称为 power(权力)的可视化表达。

Three-Tier Action Hierarchy:三层动作层级

这是本技能最具实战价值、也最值得展开的部分。它被标记为"field-observed from Chinese production practice"(来自中国制作一线的观察经验),是多人场景已知的最强稳定器(the strongest known stabilizer)。规则是:给画面中每个可见的人都分配一个恰好来自某一层的动作:

  1. 持续微动作(Persistent micro-motion)——呼吸、眨眼、轻微的肩膀移动、发丝飘动、目光漂移。要求连续、无间隙。这是所有非焦点角色的默认层级。它的作用是在 AI 视频中维持"人还活着"的逼真感,却不给模型制造需要精确同步的复杂任务。
  2. 一个聚焦响应(One focused response)——只有一个人获得一个小反应,且必须带明确的时间窗口(explicit time window)。技能原文示例:Character B's lip corner lifts and she holds a half-second glance(B 的嘴角抬起,并保持半秒的注视)。这个时间窗让模型知道动作何时开始、何时结束,避免动作"无限延续"。
  3. 大动作——默认禁止(Large actions - prohibited by default)。在多人镜头中,除非某人是本镜头唯一的节拍(single beat),否则必须显式排除站立、行走、转身、姿态变化、拾取物品等大动作。原因很实际:多人在场时,角色与道具的物理交互(举起杯子、传递物品)是脆弱的(fragile)——保持接触简单,或者把它移出画面(move it off-screen)。

从源码级证据看,这条层级并不是孤立的提示词技巧:references/directing-engine.md 的 Step 4(Directing the Performance)第 6 条"Ensemble discipline"明确要求:当画面中超过一个人物时,只给其中一个人聚焦节拍,其余所有人保持持续微动作,并显式路由到本技能(route through seedance-characters for the three-tier action hierarchy)以保证脸和手稳定。这证实了三层动作层级是导演引擎在多人场景下强制引用的底层机制。

Hand and Face Stability:手部与面部稳定

技能明确指出:手和脸在复杂编排(complex choreography)下最容易退化(degrade)。这是因为多指形态与面部微表情都是高自由度几何,生成模型在运动任务叠加时最容易"漂"。技能给出的缓解策略:

  • 保持手可见但简单(keep hands visible but simple);
  • 避免快速的手指动作(avoid rapid finger actions);
  • 对话过程中避免摸脸(avoid face-touching during dialogue);
  • 需要口型同步(lip-sync)或肖像保留时锁住相机(lock the camera);
  • 当面部精度脆弱时,用道具来表达情绪(use props to show emotion)。

这与 references/directing-engine.md 的 Fragility Check(脆弱性检查)完全同源:Will the chosen complexity hold faces, hands, logos, and text?——如果答案是否定的,就简化运动,让光或环境来承载变化。同时,references/shot-list-continuity.md 的 Shot List Fields 中把face drift、hand complexity列为每镜必查的Risks(风险)字段,说明手脸稳定在分镜阶段就要预防性登记,而不是等到生成失败再补救。

Likeness Rule:肖像敏感规则

技能对真人肖像(real-person likeness)给出了一条红线:

不要从上传素材推断授权(do not infer consent from an uploaded asset)。肖像、面部与声音工作流都是依赖授权(authorization-dependent)与平台相关的(surface-specific)。如果授权不明确,改写为一个原创角色原型(original character archetype),同时保留场景功能(scene function)。

这条规则与 references/reference-workflow.md 的资产角色映射(Asset Role Map)呼应:音频资产的"好角色"是节奏、速度、情绪、氛围、台词节奏、音乐质感,而默认避开"假定声音、歌曲或肖像授权"。在多模态引用模板中也有对应的排除写法:do not copy protected voice, song, or performance identity(不要复制受保护的嗓音、歌曲或表演身份)。对运动迁移(motion transfer),文档进一步要求:真人捐赠者(donor)素材只可迁移通用运动,绝不迁移肖像。这些规则共同构成一条"授权不明时降级为原创原型"的安全路径,属于典型的负责任的 AI 内容生产实践。

Sequence State:序列状态中的身份继承

当角色处于多 clip 序列中时,技能要求继承以下全部状态:

继承服装、发型、画面地理(screen geography)、视线(eyeline)、姿态、情绪状态、当前 clip 范围、连续性锁(continuity locks)、精确引用标签(exact reference tags)与保留的未来节拍(reserved future beats)。

并给出了两条铁律:

  1. 规范身份引用控制身份;已接受成片控制瞬态开场状态。(Canonical identity references control identity; accepted footage controls transient opening state.)
  2. 不要让运动或连续性来源覆盖不可变的角色锁。(Do not let a motion or continuity source overwrite immutable character locks.)

这两条在仓库中得到了多层印证:

  • references/sequence-project-state.md 的 Canonical State 一节用完全相同的措辞区分 canonical references 与 accepted previous footage;
  • references/reference-workflow.md 的规则第 10 条重申:序列中要把 canonical references 与 accepted continuity sources 分开,规范引用管不可变设计,已接受成片管瞬态开场状态;
  • references/continuity-qc.md 的Hard-Fail Without Explanation(无条件硬失败)清单把canonical identity、wardrobe、prop ownership、exact reference tag、parent clip lineage列为"不得静默改变"的项目——一旦违反,无需解释直接判失败;
  • 属于Warn Unless Declared(除非声明否则告警)清单的 pose、frame position、screen direction、motion vector、camera phase、lighting phase、emotional state 等,只有在 transition、allowed changes、accepted deviation、intentional axis reset、intentional next shot 等明确声明下才允许变化。

在具体操作层面,角色的视觉状态字段在 references/sequence-project-state.md 的 Visual State 一节有完整清单:canonical identity ID、wardrobe、hair、position in world、position in frame、pose、action phase、emotional state、gaze、eyeline、travel direction、speed、body orientation。连续性账本(references/shot-list-continuity.md)则要求跨镜记录 tag、wardrobe、hair、silhouette、prop、emotional state。这些字段正是"继承"二字的落地载体——每次生成后都必须依据观察结果更新,而不是沿用计划值。

实战示例:机场到达序列中的角色契约落地

仓库中 examples/sequence-airport-arrival/ 完整演示了角色契约与序列状态的实际落地。以clip-01-contract.json为例,其continuity_locks明确锁定了:

"continuity_locks": [ "traveler identity", "charcoal coat", "left-to-right travel", "creased paper airline tag", "black sedan" ]

这把角色契约的 Tag + Identity anchor + Position + Constraint 全部实例化:@Image 1绑定旅行者身份与服装(charcoal coat),屏幕方向锁定 left-to-right,服装细节锁定 creased paper airline tag,产品/道具锁定 black sedan。allowed_changes则声明了允许的瞬态变化:crowd parts around traveler(人群散开)、rain reflections shift(雨滴反光变化)——这正是连续性 QC 中"除非声明否则告警"清单的合规用法。

对应生成的 examples/sequence-airport-arrival/clip-01-prompt.md 展示了角色提示词如何把内部记录翻译为可见载体(prompt carriers):

The original traveler from @Image 1, wearing the same charcoal coat and pulling a small black suitcase, exits into the curbside crowd and moves left-to-right toward a black sedan with its rear passenger door already open. She sees the open rear door but keeps the same measured walking tempo. At the last curb seam, her thumb hooks beneath the creased airline tag, then releases it without looking down...

注意其中的细节:身份来自@Image 1(canonical identity reference),动作被分配为"看到门但保持匀速"的聚焦响应,手部动作(拇指勾住折叠的行李牌又松开)简单且单一,结尾明确This clip only covers the terminal exit...do not show her entering the car——这正是技能 Output Contract 中"当前 prompt 只覆盖当前 clip"的执行,也是 references/continuity-qc.md Boundary Check 的"current prompt covers only current clip"检查项。而clip-01-contract.json中的status: "accepted_with_deviation"与observed_end_state(旅行者停在距车门两步处,仍向左移动)则演示了序列状态中的"已观察真实结果优先于计划"(对应 continuation 技能的 Canon Rule:计划说到达车门,成片停在两步外,下一个 clip 就从两步外开始,绝不回放也不假设已上车)。

Output Contract:技能的标准输出结构

seedance-characters的输出契约要求返回五类产物,这是任何调用该技能的 Agent 都应遵循的交付格式:

  1. 角色卡片(character card)——每个角色的身份锚点、外观、服装等完整档案;
  2. 标签映射(tag map)——Character A/Character B/@Image1 subject等标签与角色、职责的对应关系;
  3. 动作分配(action assignments)——每个角色的动作动词、时间窗与终点,符合三层动作层级;
  4. 连续性约束(continuity constraints)——哪些字段必须保持不变(对应 hard-fail 清单);
  5. 安全/授权说明(safety or authorization note)——任何肖像、声音、版权相关的授权状态提示。

在更广的序列语境下,skills/seedance-sequence/SKILL.md 的输出契约与之衔接:每个 clip 卡片必须包含clip_id、scene_id、sequence_index、parent_clip_id、narrative_job、felt_intent、directors_read_lane、already_happened、this_clip_only、reserved_for_later、continuity_locks、allowed_changes等字段。角色层面的标签与约束,正是通过continuity_locks与allowed_changes进入序列契约的。

可执行的检查清单

综合本技能与 references/continuity-qc.md,在实际生成前可对照以下清单自检:

  1. 标签唯一且原样:每个角色有稳定标签;@Image1未被改写、翻译或方括号化;标签均带职责声明。
  2. 无含混代词:超过一个角色出现后,prompt 中不存在让模型自行决定的 they/she/he。
  3. 动作分层合规:每个可见人物恰有一个层级动作;焦点之外全是持续微动作;多人镜头默认排除大动作;接触动作有接触点与终点。
  4. 手脸风险预检:手可见但简单、无快速手指动作、对话中不摸脸;口型同步或肖像镜头已锁相机;必要时用道具替代面部表情。
  5. 肖像授权明确:真人肖像/声音工作流有授权依据;授权不明时已改写为原创角色原型并保留场景功能。
  6. 连续性锁完整:canonical identity、wardrobe、prop ownership、exact reference tag、parent clip lineage 未静默变更;pose、screen direction、emotional state 等变化均已声明在 allowed changes 或 accepted deviation 中。
  7. 当前 clip 边界清晰:prompt 只覆盖当前 clip,reserved_for_later的节拍未提前出现在生成文本中。
  8. 瞬态状态来自成片:下一个 clip 的开场状态来自已接受成片的observed_end_state,而非计划值。

结语

seedance-characters的整套方法论可以浓缩为一句话:先消除歧义,再添加风格;先锁定身份,再调度场面。它把"角色一致性"从玄学式的"提示词里多写几句描述"提升为可工程化的契约系统——稳定标签、三层动作层级、手脸安全策略、肖像边界与序列状态继承,配合 references/shot-list-continuity.md、references/continuity-qc.md、references/reference-workflow.md 与 references/sequence-project-state.md 等仓库参考,构成了从单镜角色描述到多镜身份存活、再到跨会话状态延续的完整链条。读者可进一步阅读 references/directing-engine.md 了解角色表现力如何与导演意图对齐,参考 examples/sequence-airport-arrival/ 与 examples/sequence-mixed-lane/ 的实测数据,以及 skills/seedance-continuation/SKILL.md 了解角色锁在续集生成中的继承机制。

  • AI 技能
  • AI 评测
  • 提示工程
  • 人工智能
  • 媒体生成

【免费下载链接】seedance-2.0

Comprehensive production pipeline for quad-modal AI filmmaking with Seedance 2.0

项目地址:https://gitcode.com/gh_mirrors/se/seedance-2.0
点击查看免费下载

相关推荐

上一篇:如何快速解决Coordino问答系统常见问题:完整指南 🚀
下一篇:Obsidian效率工具:Claudian插件的10个隐藏功能探索

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/29 5:54:00

NTFS权限深度解析:从ACL到所有者,彻底解决Windows权限问题

1. 这事儿得从“删不掉的文件”说起你是不是也遇到过这种情况:明明自己是管理员,删一个文件夹却弹出“你需要来自Administrators的权限才能对此文件夹进行更改”,点“继续”没用,右键改安全权限改不动,属性里“安全”标…

作者头像 李华
网站建设 2026/9/29 5:53:34

JupyterLab 从 Notebook 迁移、安装配置到避坑实战指南

这两年我从 Jupyter Notebook 切到 JupyterLab 之后,最直接的感受就是:我不用再同时开着五六个浏览器标签页来回找了。很多人第一次听说 JupyterLab,都觉得它只是换了层皮的 Notebook,实际上它是 Jupyter 生态里的新一代交互界面&…

作者头像 李华
网站建设 2026/9/29 5:53:00

scrcpy 安卓投屏教程:3 条命令把手游搬上电脑大屏

scrcpy 安卓投屏教程:3 条命令把手游搬上电脑大屏 【免费下载链接】scrcpy Display and control your Android device 项目地址: https://gitcode.com/GitHub_Trending/sc/scrcpy 小屏打团手指发酸,想把手游投屏到电脑、用键鼠或手柄来打&#xf…

作者头像 李华
网站建设 2026/9/29 5:51:05

从信息洪流到结构化认知:AI日报自动化生产系统搭建实战

1. 一份AI日报的诞生:从信息洪流到结构化认知每天早上七点半,我习惯性地打开自己搭建的AI日报工作流,看着过去24小时里散落在全球各个角落的AI动态被自动抓取、清洗、归类、摘要,最终汇聚成一份不到三千字的结构化文档。这个过程从…

作者头像 李华