mcpField
S
scenario-seedance

scenario-seedance

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

关于 scenario-seedance

这是通过 Scenario 使用 ByteDance Seedance 视频模型的技能,说明如何选择条件输入、设置生成模式,并处理音频、草稿、成本和审核问题。

主要功能

  1. 01文本、图像、参考、编辑与延长模式
  2. 02参考条件与提示词标签用法
  3. 03音频与草稿模式工作流
  4. 04模型规范、时长与成本检查
  5. 05审核拦截处理

适用场景

  1. 01根据文本或参考素材生成镜头
  2. 02通过视频参考延续或编辑片段
  3. 03先预览再完成选定镜头
  4. 04规划多个镜头的音频

MCP 相关

作为 Scenario 技能,它指导使用 search、model_schema_get、model_run 和资源操作等 MCP 工具运行 Seedance 模型。

安装

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

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

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

详细介绍

Scenario Seedance 视频

概览

Scenario 上的 Seedance(字节跳动的视频系列)将以下所有模式整合到一个模型中,并根据你的输入推断使用哪种模式,因此,你传入的条件比提示词措辞影响更大。使用 search 进行探索,并将 model_schema_get 视为约定:各个成员并行发布,结构一致,但每个数值都不同。

有关连接和核心流程,请参阅此仓库中的 scenario 技能;有关与模型无关的视频工作,请参阅 scenario-video 技能;有关基于分镜在剪辑间保持编排一致性,请参阅 scenario-seedance-storyboard 技能。如果你可用的技能中缺少此处提到的某个同系列技能,请让用户安装(npx skills add scenario-labs/skills --skill <name>);若需无人值守地继续,请根据工具架构操作,并指出这一缺失。

快速参考

模式取决于输入(名称来自实时架构):

模式输入行为
文本prompt遵循 aspectRatio(21:9 至 9:16)
首帧image(+ prompt)从该帧开始;忽略 aspectRatio,尺寸遵循 resolution,比例可能只能接近目标值
首帧 + 尾帧image + lastFrameImagelastFrameImage 仅在同时提供 image 时有效
参考referenceImages保留身份和世界设定,而非开场状态
编辑referenceVideos + 编辑提示词需要 duration: -1;输出遵循源视频
延长referenceVideos + 延长提示词根据措辞推断:“extend @video1”、需要保留的内容(角色、服装、光线)、延续的动作,以及不中断的要求;画面几何遵循源视频;duration 是追加的片段时长,输出仅包含该尾段(创作时,一段 10 秒的源视频设置 duration 为 15,返回了 15 秒的新片段;Auto 按源视频时长计价),因此请将源视频与尾段拼接,并通过 asset_get 查看交付时长
image 和参考数组不能同时使用。referenceVideos(动作条件)和 referenceAudio(节奏与能量,或说话者的声音)可与 referenceImages 组合使用;在 2.0 系列中,参考音频还需要一张图像或一个视频作为参考,而 2.5 可以单独使用参考音频。即使只有一个素材,参考参数也必须是数组。提示词标签按数组顺序绑定:@image1 对应 referenceImages[0],@video1 和 @audio1 也同理;提示词要说明每个标签控制什么、不控制什么(“@image1 定义瓶子和标签,不包括布景”),视频和音频标签也一样。如果将 3D 预演视频作为 @video1,视频里每个会动的肢体都会被带入,因此分步或带骨骼的行走动作会显得僵硬或滑步。使用无腿的胶囊体替身(scenario-blender-blockout 会构建这类替身),并用一句话说明它们仅标记位置、高度和速度,让模型自行生成步态。没有种子、遮罩或摄像机参数:摄像机运动写在提示词中,每个镜头只设一个主要运动和一个动作。多个动作按带时间码的节拍编写(“0-2s ... 2-4s ...”),每个节拍一个动作,最后一个节拍在 duration 结束前收尾,并将镜头描述为一个连续长镜头。

如果提示词没有明确说明某条参考音轨的用途,模型很容易忽略它,生成的语音尤其如此,因此要用文字明确绑定其角色:语音可写“@audio1 是她自己的声音;她对着镜头说出这段话,口型与声音同步”,音乐可写“摄像机运动和每个动作都与 @audio1 的节拍同步”。

duration 默认为 Auto;在编写本文时,2.5 会按完整的 30 秒上限为文生视频任务计价(同样的 480p 提示词报价约为 8 秒任务的四倍)。每次运行都应设置镜头所需的秒数;使用 referenceVideos 时,Auto 则会采用最长参考视频片段的时长。

各成员的上限各不相同,请通过 model_schema_get 查看。在编写本文时,2.5 支持 30 张参考图像、10 个视频、10 段音频、4 到 30 秒,最高 1080p;2.0、Fast 和 Mini 分别支持 9、3、3 和 4 到 15 秒,只有 2.0 支持 4k,Mini 不支持 lastFrameImage。不同成员之间的价格差异远大于上限差异:一个 4 秒 480p 任务的价格在整个系列中相差六倍,因此批量运行前,应先对两个成员使用同一任务执行 dry_run。

草稿模式。 在 Seedance 2.5 上设置 draft: true 可生成低成本的 480p 预览(忽略 resolution)。model_bytedance-seedance-2-5-draft-complete(编写本文时可用;输入为 draftVideo)可在 7 天内将其转为相同的 1080p 视频。只对最终选定的镜头执行完成操作:以 1080p 重新运行提示词会生成不同的视频。请参阅 scenario-seedance-drafts 技能。

条件控制规则

在参考模式下,第一帧会锚定到参考世界的基础状态,提示词措辞无法覆盖这一状态。如果镜头必须以特定状态开场,请将其渲染为静帧并作为 image 传入;如果只需要身份、世界和色彩风格,则使用 referenceImages。在生成前逐个镜头做出这个决定,比调整提示词更重要。

镜头内的声音,别处的音乐

generateAudio(默认值为 true)是控制整条音轨的开关:它既为镜头配乐,也生成声音。写在某个镜头里的配乐不会延续到剪辑点之后,因为每个镜头都会自行生成调性和节奏,而下一个镜头会重新开始。

因此,要把两条轨道分开处理。保留 generateAudio: true,生成画面本身产生的声音:脚步声、撞击声、室内环境音、对白,让每种声音都与画面同步,并且只描述这些声音(“仅限画内音:鞋跟踩在瓷砖上的声音、室内环境音”)。绝不要描述要排除的内容:“no music”会被音频过滤器读取;被 OutputAudioSensitiveContentDetected 拦截的音轨通常都与这类排除性描述有关。因此,在切换提供方之前,先在同一模型上重试,并正面描述所需声音:过滤器读取的是措辞,而非提供方(参见 scenario-moderation skill)。对白要加引号,长度要与片段时长相称,并注明说话者以及两三个词的表达方式。用音乐模型为整段序列配一次乐(参见 scenario-audio skill),再把这条音轨铺到剪辑完成的视频上(参见 scenario-video-assembly skill;如果先有歌曲,则参见 scenario-seedance-music-video skill):重新配乐只需运行一次音频模型,不必重新处理每个镜头。

提示词是唯一可调的手段,所以要听听生成结果:如果混入了音乐,就将该镜头的 generateAudio 设为 false 后重试,并用音效模型或视频转音频模型添加声音。

成片被拦截时

如果某一行状态为 failed,且错误中包含 OutputVideoSensitiveContentDetected(通常还包含 PolicyViolation,有时会表述为可能涉及版权),说明提供方正在筛查渲染完成的视频。过滤器适用于整个模型系列,所以 Seedance 的同系列模型也会拒绝相同的输入;原样重试只会再次生成同样的结果。按 scenario-moderation skill 中的说明处理:先切换到其他提供方,提示词保持不变,只需按照替代模型的 schema,将 @image 标签移到它专用的参考字段中。对于 recommend,文生视频使用 txt2video,首帧和参考图任务使用 img2video,编辑和延长任务使用 video2video。编写时的两项观察决定后续做法。屏幕上的角色如果被识别为现有知识产权,无论怎样措辞都会被拦截:某家工作室的知名角色生成失败,而同一工作室不太知名的角色在提示词不变的情况下却通过了。武器和伤害相关词汇(“axe”“blade”“eliminated”)即使在卡通场景中也会触发过滤;此时才应采用该 skill 中唯一适当的改写方式。如果切换提供方并进行改写后仍被拦截,例如涉及团队自有角色时,请告知用户可通过 [email protected] 联系支持团队,并提供失败任务 ID。无人值守时,只能在任务授权的预算范围内切换提供方;否则就停止操作,并报告拦截情况及失败任务 ID。

操作示例:使用参考图生成产品镜头

  1. 使用 target="models"、query="seedance"、public=true 运行 search。优先选择最新的、未弃用的结果,例如 model_bytedance-seedance-2-5(编写时仍可用;每次会话都要重新发现)。
  2. 使用该 ID 运行 model_schema_get:先查看字段、限制和默认值,再进行其他操作。
  3. 使用 upload_asset 上传产品静帧(参见 scenario skill),获取资源 ID。
  4. 使用该 model_id 运行 model_run,设置 dry_run=true,并使用以下确切的 parameters={"prompt": "@image1 defines the bottle and label. Slow dolly-in as condensation beads. Diegetic sound only: droplets on glass, soft room tone. No text, no captions.", "referenceImages": ["asset_a", "asset_b"], "duration": 8, "resolution": "720p", "generateAudio": true} 估算费用;更改时长、分辨率或参考图后,都要重新估算。
  5. 再次运行 model_run 并设置 wait=false,然后使用返回的任务 ID 调用 jobs_wait;超时时使用 pending_job_ids 再次调用,切勿第二次运行 model_run。
  6. 使用 asset_display 显示输出,并在添加音乐前播放视频和声音。

常见错误

  • 在参考模式下提示开场状态:它不会出现;请将其作为 image 传入。
  • 在架构要求数组时传入裸字符串:即使只有一个参考项,也要使用 ["asset_x"]。
  • 同时使用 image 与 referenceImages 或 referenceVideos:这些输入互斥。
  • 将 duration 留在 Auto:对于 2.5,文生视频任务会按 30 秒上限计价,而非按镜头时长计价。
  • 在角色参考旁传入一段语音轨,却不说明声音属于谁:模型可能会让角色面部动起来,并忽略语音轨。
  • 将某个成员的上限或价格套用到另一个成员:30 个参考项、30 秒和 1080p,对某个成员成立,对另一个则不成立。
  • 让各个镜头自行评分,然后再将它们剪在一起:音乐会在每次剪切时重新开始。
  • 在启用音频的提示词中写“不要音乐”:此排除要求会触发音频过滤器;请正面描述声音,或关闭 generateAudio。
  • 渲染字幕、价格、徽标或 UI:预留干净空间,并在后期合成文字。
  • 在 Seedance 或 Seedance 同系列模型上重试被输出审核拦截的内容:过滤器适用于整个系列,因此请先切换提供商(scenario-moderation 技能)。

评论

支持 Markdown