Seedance 2.0 密集 2D 分镜金典提示词实战:从 dense_multishot 结构到图层语法与 lint 校验
AI 技能AI 评测提示工程人工智能媒体生成【免费下载链接】seedance-2.0Comprehensive production pipeline for quad-modal AI filmmaking with Seedance 2.0项目地址https://gitcode.com/gh_mirrors/se/seedance-2.0点击查看免费下载导读本文以仓库金典示例 examples/golden-prompts/dense-2d-storyboard.md 为主体完整拆解 Seedance 2.0 项目中一次生成内多个 2D 动画分镜的提示词工程方法从源需求Source Brief到内部规格Internal Prompt Specification再到编译后的自然语言提示词、lint 结果与控制关键句Control-Critical Sentences。读完本文你将掌握 dense_multishot 结构的镜头块写法、2D 动画图层词汇layers / holds / smears与写实镜头词汇的边界以及如何用仓库自带的prompt_lint.py对自己的金典提示词做结构与格式校验。一、金典提示词文档的骨架五种固定章节在 Seedance 2.0 仓库中examples/golden-prompts/目录存放的是金典提示词golden prompts——经过整理、可复用、经过程序化校验的标准提示词样例。dense-2d-storyboard.md是其中专门针对密集 2D 分镜的一例它的结构由五部分构成Source Brief源需求记录用户最初的简短需求。Internal Prompt Specification内部提示词规格记录工程侧选择的介质与镜头结构分类。Compiled Natural-Language Prompt编译后的自然语言提示词最终会发送给生成模型的那一段纯散文提示词。Lint ResultLint 结果指向实际运行校验的命令声明本文档不自证通过。Control-Critical Sentences控制关键句逐句解释哪些句子对维持介质契约与结构契约起决定性作用。这五种章节不是随意的排版而是由仓库的校验脚本硬性约束的。查看 scripts/prompt_lint.py 的源码可以看到REQUIRED_GOLDEN_SECTIONS常量正是这五个 H2 标题任何位于golden-prompts路径下的 Markdown 文档若缺失其中一节或顺序不符、或重复出现都会被 lint_markdown() 判定为结构错误并输出错误信息。REQUIRED_GOLDEN_SECTIONS [ ## Source Brief, ## Internal Prompt Specification, ## Compiled Natural-Language Prompt, ## Lint Result, ## Control-Critical Sentences, ]这意味着如果你想在仓库中新增自己的金典提示词这五节一个都不能少且顺序必须固定。二、Source Brief 与 Internal Prompt Specification先决定介质与镜头结构原文文档的第一节极其精简只有一句Create a short 2D animation board with three cuts.创建一个包含三个镜头的简短 2D 动画分镜板。第二节则把这一句口语化需求翻译成工程侧的规格Medium: 2d_animation. Shot structure: dense_multishot. Use animation layout vocabulary and avoid live-action lens behavior.介质2d_animation。镜头结构dense_multishot。使用动画布局词汇避免写实镜头行为。这里出现了两个关键词分别对应仓库中的两份参考资料2.1 dense_multishot一次生成内的多个硬切dense-storyboard-mode.md 是 dense 分镜模式的总规则文档它的分类器Classifier明确指出Choosedense_multishotonly when the user explicitly wants cuts inside one generation and the active surface/profile supports that structure. Choosephased_single_takewhen the action should remain continuous. Do not combine single continuous take with hard shot labels.也就是说dense_multishot的启用条件是用户明确要求在一次生成内部出现多个镜头切换并且当前使用的生成表面surface支持这种结构而如果动作应该保持连续则应当选择phased_single_take并且绝不允许把单一连续长镜头与硬镜头标签混用。Dense Multishot 的规则原文如下Use shot labels.使用镜头标签Give each shot one action and one endpoint.每个镜头只给一个动作和一个终点状态Keep continuity locks visible across shot boundaries.让连续性锚点在镜头边界之间保持可见Do not overload a short generation with too many locations, large actions, or character changes.不要在短生成内塞入过多地点、大动作或角色变化Later generation prompts remain provisional until the previous accepted clip is reviewed.后续生成提示词保持临时状态直到前一个被接受的片段完成评审其中每个镜头只有一个动作、一个终点是 dense 分镜的核心纪律。与之配套的 event-density.md 还给出了一条来自官方排查文档的密度警告Density Warning视频时长过长但提示词剧情内容较少会导致模型自行发挥。视频时长过短但提示词内容包含多个分镜会导致视频内容/人物台词乱说。太长而内容少模型会自行发挥太短而分镜多内容和台词会乱。官方给出的补救办法是拆分——把四个镜头拆成两个视频。2.2 与 phased_single_take 的对比同一主题的对照组仓库中恰好存在一份与本文档形成完美对照的金典提示词 examples/golden-prompts/phased-single-take.md它处理的是信使注意到信号灯的连续长镜头Beginning: the courier stands in the wet rooftop doorway... Then: a red signal light reflects across the puddle... Finally: she grips the case tighter...它的内部规格是phased_single_take使用 Beginning / Then / Finally 三阶段写法没有镜头标签、没有硬切。而 dense 版则使用 Shot 1 / Shot 2 / Shot 3。两者同讲一个信使与手提箱的故事但结构契约完全相反——这正是理解 dense_multishot 的最好对照实验。prompt-compiler.md 的Shot Blocks on Seedance 2.0一节进一步说明了编译规则当 clip contract 的镜头结构为dense_multishot时按事件顺序编译编号镜头块镜头1 / Shot 1然后镜头2 / Shot 2每个块遵循官方块序镜头运动或切型 → 主体动作与表情 → 位置或空间变化 → 音频切必须在块内用文字写出块内禁止写绝对秒数因为 Seedance 2.0 以镜头顺序为键精确时间范围的支持不稳定0–3 s这类写法会被拒绝时值应以行为描述如hold until the hand stops来表达。而phased_single_take和compact_single_take则编译为没有镜头标签的单段落。2.3 2d_animation 介质用动画布局词汇而非摄影机词汇原文规格中的 Use animation layout vocabulary and avoid live-action lens behavior 对应仓库中的 2d-anime-grammar.md。这份参考文档的核心规则是Name the medium first and keep every sentence inside the animation process... Never use lens, bokeh, depth-of-field, focal-length, or camera-body vocabulary in a 2D prompt — it summons photoreal rendering.先命名介质然后让每一句话都停留在动画流程之内在 2D 提示词里绝不使用镜头、散景、景深、焦距或机身词汇否则会召唤出照片级写实渲染。它给出了 2D 专用的语法词汇表图层语法Layer grammarcel over painted background赛璐璐主体叠在绘制背景上、background scroll / multiplane depth背景滚动/多层景深视差、held background with animated subject背景保持不动、主体动画。运动语法Motion grammarburst animation vs held frames爆发性全动画与静止帧交替、animated on twos二拍动画、impact frames冲击帧、speed lines and smears速度线与拖影、follow-through跟随动作。2D 中的摄影机本质是美术稿上的 rostrum翻拍台只能做 pan横移、push-in推近、tilt俯仰避免 dolly、handheld shake、lens-breathing 等写实词。光与色光是被画出来的drawn, not rendered如 hard two-tone cel shadow、rim light as a clean shape along the jaw。风格安全只描述技法、年代与配色绝不指名工作室、IP 或在世艺术家此类需求应路由到 skills/seedance-copyright/SKILL.md 与 skills/seedance-style/SKILL.md。这份词汇表正是理解 dense-2d-storyboard 编译提示词每一句话的词典。三、Compiled Natural-Language Prompt逐镜头解析图层语法原文文档第三节给出了最终编译的自然语言提示词全文如下保留原文Shot 1: hand-drawn cel animation, foreground rain layer slides downward while the background street holds still; the courier silhouette enters frame and stops under the sign. Shot 2: close character layout, two-frame blink hold, scarf smear as wind pulls left-to-right, ending with her gaze locked on the case. Shot 3: top-down animation layout, puddle reflection layer ripples once and settles around the case. No photographic lens or sensor language.这一整段是 dense_multishot 2D 动画词汇的教科书级示范。我们逐镜头拆解它背后的规则3.1 Shot 1介质声明 图层相对运动hand-drawn cel animation——按 2d-anime-grammar.md 的规则先声明介质并且是手绘赛璐璐动画。foreground rain layer slides downward while the background street holds still——这是典型的图层语法雨是前景图层向下滑街道是背景图层保持静止。注意这里没有写下雨这种实拍描述而是把雨当作可独立运动的动画图层来写。the courier silhouette enters frame and stops under the sign——一个动作入场加一个终点在招牌下停住完全符合 dense multishot 的每镜头一个动作一个终点规则。3.2 Shot 2人物特写 动画时序词汇close character layout——不是close-up特写镜头而是人物特写布局把取景也翻译成动画布局语言。two-frame blink hold——两帧眨眼 静止帧直接使用了 2D 动画的时序词汇on twos / hold而不是眨眼 0.2 秒这种秒数写法。这完美呼应了 multishot-grammar 中不要写绝对秒数把时值写成行为的纪律。scarf smear as wind pulls left-to-right——**拖影smear**是 2D 动画运动词汇用于表达高速运动中的形状拉伸。ending with her gaze locked on the case——再次以终点状态收尾且这个终点目光锁在手提箱上为下一镜头承接。3.3 Shot 3俯视布局 反射图层top-down animation layout——俯视布局还是布局语言而非机位语言。puddle reflection layer ripples once and settles around the case——水洼反射又是一个独立图层波动一次后在手提箱周围稳定下来。这是典型的图层独立运动 分镜终点settles 完成态双重示范。3.4 收尾句介质契约的兜底No photographic lens or sensor language.这一句是全文的介质契约保险明确禁止照片式镜头与传感器语言。在原文的 Control-Critical Sentences 中这句被标注为why this remains为什么这句必须保留它保护了 2D 介质契约。结合 2d-anime-grammar.md 的失败修复表可以看到如果输出漂移向照片写实或 3D-CG第一修复动作就是删除 lens 与景深词、以 hand-drawn 2D cel animation 开头、点名绘制背景。四、Lint Result不自证通过的结构纪律原文第四节只有一句话Runpython scripts/prompt_lint.py --strictfor the computed result; this document does not self-certify a pass.运行python scripts/prompt_lint.py --strict获取计算结果本文档不自证通过。这是仓库的一个刻意设计金典提示词文档绝不在文档内声称lint 通过。查看 scripts/prompt_lint.py 的源码strict 模式下有一项专门检查if strict and contains_self_declared_pass(text): errors.append( f{rel}: self-declared lint: pass is not computed evidence; run this linter for the result )也就是说如果某份文档在正文中写了 lint: pass 之类自证通过的话strict 模式会直接报错自我声明的lint: pass不是计算出的证据请运行 linter 获取结果。这与 docs/REPO_AUDIT_2026-09-25.md 等审计文档所体现的证据纪律一脉相承。4.1 如何实际运行 lint在仓库根目录执行python scripts/prompt_lint.py --strict该命令会扫描examples/目录下所有 Markdown 文件见 scan()对位于golden-prompts路径下的文档执行五节结构检查并对其 Compiled Natural-Language Prompt 正文做结构化格式反模式检查。核心逻辑检查五节是否齐全、是否重复、顺序是否正确提取## Compiled Natural-Language Prompt的正文调用 structured_prompt_reason() 判断它是否为纯自然语言散文而不是 JSON、YAML 或序列化载荷strict 模式下额外要求编译提示词必须是裸散文不允许用代码围栏包裹且文档不得自证通过。无错误时输出Prompt structure lint passed. Boundary: checks documented prompt format and anti-patterns; it does not assess semantic creativity or generation quality.需要注意 linter 的边界声明BOUNDARY它只检查文档化的提示词格式与反模式不评估语义创意也不预测生成质量。脚本的模块 docstring 也明确写道This linter deliberately does not score semantic creativity or predict generation quality.4.2 为什么要求裸自然语言散文脚本会对编译提示词做 JSON/YAML 结构检测json_structure_reason、yaml_structure_reason、bare_structure_reason 等函数并识别请以 JSON 返回这类序列化指令支持英/西/中三种语言的序列化 cue 正则见 ENGLISH_SERIALIZER_CUE 等。这与 prompt-compiler.md 的核心原则一致JSON or YAML can organize planning, but the final prompt sent to Seedance stays readable prose unless the user explicitly asks for structured output.JSON/YAML 可以用于组织规划但最终发送给 Seedance 的提示词必须是可读的散文。因此 dense-2d-storyboard 的编译提示词是一整段连续英文散文而不是{shot_1: ...}之类的结构化载荷。五、Control-Critical Sentences为什么这些句子必须保留原文第五节列出两条控制关键句每一条都带 why this remains 的理由why this remains:foreground rain layerandbackground street holdsuse animation-layer grammar.第一条保留理由前景雨图层与背景街道保持使用了动画图层语法。这正是 2d-anime-grammar.md 中held background, animated subject背景保持、主体动画与图层相对运动的直接体现。删掉这些词这段提示词就会滑向实拍雨景描述。why this remains:No photographic lens or sensor languageprotects the 2D medium contract.第二条保留理由禁止照片式镜头或传感器语言保护了 2D 介质契约。这两条句子就是整个提示词的契约锚点——一条锁定动画图层语法一条锁定介质边界。在 lint_markdown() 中控制关键句章节还受到校验该节必须包含 why this remains 字样否则报错 missing control-critical explanation。六、纵深负载评分、连续性锚点与金典提示词的可复用方法原文档之外仓库还提供了将这一金典提示词落地的配套工具与规则。这里做必要的延伸这些内容均来自仓库原文未做主观发挥6.1 分镜负载评分判断三个镜头是否超载multishot-grammar.md 提供了一套作者启发式authored heuristic非官方限制的负载评分法每个分镜节拍beat计基准点然后叠加负载分——镜头内的一次摄影机移动 0.5、一句台词每 8 个英文单词或 12 个汉字1、镜头内每多一个人物 1、必须落地的身体/道具接触 1、地点或场景切换 2、必须对位动作的音效 0.5反应镜头或插入镜头无新动作、无台词、无摄影机移动只算半个节拍。总负载 L 与可用秒数 D来自 surface 参数2.0 为 4–15 秒计算出每个负载点的秒数 S D ÷节拍数 LS 值读数阶梯位置3.0 及以上从容Safe2.0–3.0紧张台词与接触有风险Stretch低于 2.0进入官方密度警告区Ambitious建议拆成两次生成这个评分逻辑与本文档的案例直接相关一个 2D 三镜头分镜若全是无台词、无接触、锁定布局的镜头负载极低S 值容易落在 Safe 区间而一旦加入台词、物理接触或多地点就需要考虑拆分。这与 event-density.md 的官方四镜头拆成两个视频建议互为印证。6.2 连续性锚点镜头边界之间的可见锁Dense Storyboard 模式要求 Keep continuity locks visible across shot boundaries。本文档的案例中手提箱the case就是贯穿三个镜头的连续性锚点Shot 2 以她的目光锁在手提箱上收尾Shot 3 以水洼反射围绕手提箱稳定下来承接。这与 references/continuity-qc.md 等文档强调的跨镜头重复具体锚点做法一致。同时dense-storyboard-mode.md 的 Endpoint Discipline 也规定Every dense storyboard beat must end in a completed visual state. If the endpoint is not visible, the next clip cannot inherit it safely.每个分镜节拍必须以完成的视觉状态收尾如果终点不可见下一个片段就无法安全继承。这正是本文档三个镜头都以静止/锁定/稳定收尾的原因。6.3 如何据此编写你自己的 dense 2D storyboard 金典提示词综合原文档与仓库配套规则可以归纳出编写同类金典提示词的五步流程写 Source Brief用一句话说明需求必须包含2D 动画与几个镜头两个要素例如原文的 a short 2D animation board with three cuts。写 Internal Prompt Specification声明Medium: 2d_animation、Shot structure: dense_multishot并写下两条介质纪律使用动画布局词汇、避免写实镜头行为。写 Compiled Natural-Language Prompt按镜头块组织每个镜头遵循动作 终点结构全部使用 2D 图层/运动词汇layer、hold、smear、impact frame、cel shadow、line boil、background pan、compositing禁止绝对秒数与写实摄影词汇收尾加一条介质契约句。写 Lint Result只写 Runpython scripts/prompt_lint.py --strictfor the computed result; this document does not self-certify a pass.绝不自行宣称通过。写 Control-Critical Sentences逐条列出维持结构/介质契约的关键句并附 why this remains 理由。写完后在仓库根目录运行python scripts/prompt_lint.py --strict脚本会按 REQUIRED_GOLDEN_SECTIONS 与严格模式规则给出通过与否的客观结果全部通过时输出 Prompt structure lint passed.。七、边界与注意事项本文档是教学样例不是已渲染结果与 examples-by-mode.md 中所有示例一样dense-2d-storyboard 属于原始教学示例original teaching examples应避免受保护角色、名人、Logo 与被抄写的社区提示词生成前应先复核动作可行性与引用素材。负载评分与密度阈值是启发式multishot-grammar 与 event-density 中反复声明 S 值阈值是作者启发式等待渲染校准不是官方限制官方材料给出的规则是以镜头顺序为键、密度过高则拆分。后续镜头提示词保持临时dense storyboard 模式规定后续生成提示词在被接受的前一个片段评审完成之前都只是临时的provisional不应提前写死。sequence 边界多镜头语法描述的是一次生成内部的切换跨多个生成片段的规划属于 sequence-state 范畴不要把未来片段的提示词粘进当前的多镜头提示词见 multishot-grammar.md 的 Sequence Boundary 一节。总结dense-2d-storyboard 金典提示词浓缩了 Seedance 2.0 项目中三类核心纪律结构纪律dense_multishot 的五节文档骨架、每镜头一个动作一个终点、介质纪律2D 动画图层词汇 vs 写实镜头词汇的严格隔离、证据纪律lint 结果不自证通过必须由scripts/prompt_lint.py计算得出。配合 dense-storyboard-mode.md、2d-anime-grammar.md、multishot-grammar.md 与 event-density.md 四份参考文档以及 scripts/prompt_lint.py 的源码实现这套方法既可以用于理解已有金典提示词也可以用来编写并校验你自己的 dense 2D 分镜提示词。赞分享AI 技能AI 评测提示工程人工智能媒体生成【免费下载链接】seedance-2.0Comprehensive production pipeline for quad-modal AI filmmaking with Seedance 2.0项目地址https://gitcode.com/gh_mirrors/se/seedance-2.0点击查看免费下载相关推荐长任务三种姿势claude-plugins-community 中 --wait、fire-and-forget、后台运行完整指南长任务三种姿势claude plugins community 中 wait、fire and forget、后台运行完整指南 在 Claude Code 社AI 技能AI 评测提示工程人工智能媒体生成Anime.js 快速上手指南3 步装好这个 JavaScript 动画引擎Anime.js 快速上手指南3 步装好这个 JavaScript 动画引擎 Anime.js 是一个 JavaScript 动画引擎用一套 animate前端seedance-2.0 类型配方模板实战基于 seedance-recipes 的七大内容品类提示词工程指南seedance 2.0 类型配方模板实战基于 seedance recipes 的七大内容品类提示词工程指南 本指南以 seedance 2.0 仓库中 sAI 技能AI 评测提示工程人工智能媒体生成上一篇CANN/asc-devkit GM到L1对齐搬运下一篇终极指南Gemma-4视觉语言模型在Apple Silicon芯片上的性能基准测试对比创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联
返回资讯列表 →