mcpField
S
scenario-seedance-storyboard

scenario-seedance-storyboard

github.com/scenario-labs创意与媒体1.2k409 次安装1 天前更新
代码仓库

关于 scenario-seedance-storyboard

这是一个介绍如何依据分镜规划并生成 Seedance 视频的 Scenario 技能。它通过角色参考图、姿势衔接的分镜边界和审核步骤,引导镜头间动作保持连续。

主要功能

  1. 01规划带时间码的镜头脚本
  2. 02制作角色参考图和分镜面板
  3. 03衔接镜头边界姿势
  4. 04单次运行与逐镜头串联流程
  5. 05审核分镜面板和视频

适用场景

  1. 01规划多镜头舞蹈片段
  2. 02保持不同镜头中的角色形象
  3. 03根据审核通过的分镜生成视频

MCP 相关

通过 `model_run`、`model_schema_get`、`search` 和资源工具等 Scenario MCP 工具查找 Seedance 模型、生成分镜与视频并检查输出。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/scenario-labs/skills --skill scenario-seedance-storyboard

安装后在 Claude Code 中输入/scenario-seedance-storyboard确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
references/
board-craft.md
chained-lane.md
video-prompt.md

详细介绍

Scenario Seedance 分镜

概述

逐镜头编写提示词,生成的动作还是会崩坏:四肢突然位移,脚步滑动,每次切镜都会让表演重置。因此,与其反复打磨提示词,不如先做分镜。这样生成的是衔接处动作连续的画面,而不是彼此独立、具有剪辑感的镜头:如果想让观众感受到切镜,请使用 scenario-video-editing 自行剪辑生成的视频。编写带时间码的镜头脚本,绘制角色设定表和每个镜头对应的编号分镜格,并遵守一条规则:每个镜头结束时的姿势必须与下一个镜头开始时的姿势一致。固定边界后,动作就无从重置,所有镜头便能呈现为一段连续表演。

连接方式和核心循环:scenario 技能;Seedance 参数规范、条件控制陷阱和音轨:scenario-seedance 技能;静帧中的身份一致性和可复用角色设定表:scenario-consistency 和 scenario-identity-library 技能;将分镜板或漫画页本身作为交付成果:scenario-storyboards 技能;拆分和重新拼接镜头:scenario-video-editing 和 scenario-video-assembly 技能。如果你可用的技能中缺少此处提到的同系列技能,请让用户安装(npx skills add scenario-labs/skills --skill <name>);在无人值守的情况下,根据工具架构继续操作,并标明缺失项。

快速参考

步骤内容方法
1. 脚本先确认带时间码的清单、演员和场景每个镜头包含:编号、景别、角度、镜头或运镜、动作动词、入场和出场姿势
2. 参考图为每位必须保持可辨识的表演者各准备一张图片,包含多个角度;临时演员使用通用形象且不命名通过 recommend 调用图像模型;真实表演者的一张清晰静帧也可以
3. 简报每个分镜格写一行,描述镜头覆盖范围而非画面内容先确定整体基调,保持轴线,逐步扩大景别,安排节奏点
4. 分镜格每个分镜格调用一次 model_run以参考图作为依据,在空白纸面上绘制简洁的铅笔线稿,每格都采用最终交付比例
5. 检查每个分镜格检查两轮,然后修复其中一格查看产物和差异,参照 board-craft
6. 组装将获批的分镜格组装成分镜板使用 model_scenario-compose-image 并指定明确坐标
7. 审批向用户展示脚本、参考图和分镜板按分镜格编号重拍;无人值守时,记录并继续
8. 关键帧制作两到三张照片级真实感关键帧使用相同的参考图和交付比例;它们将确定最终画面的风格
9. 视频一次脚本化运行,或串联多次运行使用 Seedance model_run,并选择下方两种路线之一
10. 检查确保交付内容干净且保留其轨迹每隔半秒采样一次,而不只是检查切镜处,并将每次切镜与对应分镜格核对
像镜头清单一样为每个分镜标注:编号、景别、角度、镜头或运镜,然后列出三个动作动词。将它们编排成覆盖镜头,而不是十二张独立图片:以交代空间关系的全景镜头开场,始终留在轴线同一侧,确保画面方向不会翻转,逐步推进景别,并用一个插入镜头或反应镜头点缀。相邻镜头通过设计衔接:镜头 3 的结尾就是镜头 4 的开头。

分镜画得简洁些:在空白纸上用浅色细线勾勒,场景只用两三笔快速画出,不要绘制完整环境。分镜如果画成一幅有竞争力的画面,就会被当成画面处理;其中的标记也会作为物体呈现在成片中,任何提示词条款都无法消除这些标记。轻描的线条则不会传递这些标记,因此编号、说明文字和箭头都可以留在供人审阅的分镜上。关键在于提示词的措辞,而不是画法:要说明这些标记是导演的规划指引,而非禁止出现的内容;再将关键帧作为概念艺术图提供,让外观有摄影图像作为来源。这两点都写在 video-prompt.md 中。

分镜逐张生成,因此某一张出错只会损失这一张;开始生成视频前,还要通过两轮检查:一轮由 AI 评估瑕疵,另一轮将分镜与底图进行差异比对。不能只看整组分镜的结论:平均结果会掩盖单张分镜的缺陷。

边做边归档:每个片段建立一个集合,在首次生成前创建,并存放底图、分镜、修复版本、故事板和视频(board-craft)。

在首次生成视频前暂停并征求批准,同时展示关键帧、脚本、底图和故事板,并邀请对方按分镜编号要求重拍;若流程无人值守,则记录所作假设并继续。

两种流程

一次脚本生成。 当片段时长符合单次任务的时长上限时(在编写时,2.5 的上限为 30 秒),将底图、故事板和关键帧作为 referenceImages 传入,并按照 video-prompt.md 中的七部分结构编写提示词。一次生成即可包含内部剪切:底图保持身份一致,姿势链保持连续性。指定 aspectRatio;这里默认值为 adaptive,因此竖屏故事板会生成竖屏视频。参考模式会将第一帧锚定到参考世界的基础状态(参见 scenario-seedance),因此必须以精确姿势开场的片段应使用串接流程。

逐镜头串接生成。 超出时长上限、每个镜头需要单独控制,或片段必须以精确姿势开场时:将每个边界姿势渲染为静帧,然后生成镜头 N 时,将静帧 N-1 设为 image,将静帧 N 设为 lastFrameImage,这样相邻镜头的两端就会共享双方一致认可的帧。此流程不使用 referenceImages,因此静帧是每个镜头唯一的身份参考;N 个镜头需要 N+1 张静帧和 N 次生成。每次生成还有时长下限(在编写时,2.5 的下限为 4 个整秒),因此 N 个镜头的总时长不能少于 N 乘以下限;如果剪切次数超过这个限制,就需要减少镜头数量或增加秒数。相关规范和修复流程见 references/chained-lane.md。

示例:一次运行中完成 12 个镜头的舞蹈

  1. 编写脚本:24 秒内安排 12 个镜头,注明每个镜头的边缘姿势,并确保每个镜头的结束姿势与下一个镜头的入场姿势匹配。 先展示给用户;这是出错代价最低的环节。若无人值守,则写下来并继续。
  2. 为每个角色生成一张底图,然后生成 12 格分镜,接着基于相同的底图生成两三张照片级写实关键帧。使用 upload_asset 上传任何本地文件(参见 scenario 技能)。继续之前,先向用户展示分镜板和关键帧。
  3. 使用 target="models"、query="seedance"、public=true 进行 search。搜索结果按相关性排序,而非生成时间排序,因此要逐一查看,找出最新且未弃用的模型,而不是直接选第一个:在撰写本文时,该模型是 model_bytedance-seedance-2-5(每次会话都要重新发现),它支持最多的参考素材,且最能保持角色身份一致。然后调用 model_schema_get 查看能力限制。
  4. 调用 model_run,设置 dry_run=true,并使用 parameters={"prompt": "<the timecoded script>", "referenceImages": ["asset_dancer", "asset_board", "asset_key1", "asset_key2"], "duration": 24, "resolution": "1080p", "aspectRatio": "16:9"}; 任何更改后都要重新估算。
  5. 使用 wait=false 重新运行,然后调用 jobs_wait;若超时,使用 pending_job_ids 再次调用。超时不代表失败,绝不能因此再次调用 model_run。
  6. 逐个检查剪辑点:两侧的姿势必须一致,并与分镜格匹配。然后以每秒两帧的速度检查整个片段,因为分镜板上的标记可能在镜头中途短暂显现,因此每个镜头只采样一帧会导致误判为干净。asset_display 对视频返回的是链接,而不是帧,因此要在本地提取帧,或使用 model_scenario-video-to-image-seq(这是一个固定 ID:Scenario 唯一确定性的帧提取工具,因此重新发现它只会得到同一个结果)。预期剪辑点会少于脚本中的数量:大多数镜头衔接会渲染为镜头运动,因此要在交付成片中按脚本设定的 12 个时间点剪辑。

常见错误

  • 用形容词描述舞蹈编排(“跳得很有活力”):带时间码的动词和边缘姿势能在生成后保留下来;情绪词则不能。
  • 只写姿势,不写位置:在双角色场景中,即使镜像的边界姿势也会像肢体错误一样严重破坏剪辑衔接。
  • 在一次运行中编写角色离开画面后又返回,或在镜头外发生状态变化的脚本:角色一旦离开画面,就会在这次运行的剩余部分中消失;而且任何边界检查都无法捕捉镜头外发生的情况。要将离场、返场和状态变化安排在串联边界仍然可见的位置(chained-lane)。
  • 期待脚本运行从提示词描述的姿势开始:参考模式会将第一帧锚定在基础状态;精确开场是串联流程要处理的事。
  • 默认交付静音:通过点明声源来要求场景内音效,并且不要提及任何乐器、流派或“无音乐”之类的排除要求,因为这些会触发音频拒绝。generateAudio: false 是后备选项,不是默认值。
  • 脚本超出提示词的 max_length,或时间码超出时长上限:编写脚本前先通过 model_schema_get 查看这两项限制,因为步骤 1 早于模型发现;超限会返回 400 错误,而不是自动删减。然后将脚本的运行时长作为 duration 发送:其默认值为 Auto (-1),而架构仅在提供参考片段时才定义该值,因此不带 duration 发送带时间码的脚本会导致运行时长不明确。
  • 比例设置错误:每格分镜都必须采用交付视频的比例,因为重新构图会移动串联流程依赖的姿势;此外,合成后的分镜板必须满足 0.4 到 2.5 的纵横比,否则 Seedance 会拒绝将其作为参考素材,运行也会失败。

评论

支持 Markdown