scenario-seedance

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Scenario Seedance Video

Scenario Seedance 视频

Overview

概述

Seedance, ByteDance's video family on Scenario, folds every mode below into one model that infers which from your inputs, so the conditioning you pass decides more than prompt wording. Discover it with
search
and treat
model_schema_get
as the contract: members ship side by side, agreeing on the shape and disagreeing on every number.
Connection and the core loop: see the
scenario
skill in this repo; model-agnostic video work: the
scenario-video
skill; choreography held across cuts from a storyboard: the
scenario-seedance-storyboard
skill. If a sibling skill named here is missing from your available skills, ask the user to install it (
npx skills add scenario-labs/skills --skill <name>
); unattended, proceed from tool schemas and flag the gap.
Seedance是ByteDance在Scenario平台上推出的视频生成模型系列,它将以下所有模式整合到单个模型中,模型会根据你的输入自动推断使用哪种模式,因此你传入的条件控制比提示词措辞的影响更大。你可以使用
search
发现该模型,并将
model_schema_get
视为约定:系列中的不同模型并行发布,参数结构一致,但具体参数数值各有不同。
连接方式与核心流程:参见本仓库中的
scenario
skill;与模型无关的视频处理工作:参见
scenario-video
skill;基于分镜跨镜头保持编排一致性:参见
scenario-seedance-storyboard
skill。如果你的可用skill列表中缺少此处提到的同类skill,请让用户安装(命令:
npx skills add scenario-labs/skills --skill <name>
);若处于无人值守模式,可基于工具schema继续操作并标记缺失项。

Quick reference

快速参考

Mode follows from the inputs (names from the live schema):
ModeInputsBehavior
Text
prompt
aspectRatio
honored (21:9 through 9:16)
First frame
image
(+
prompt
)
opens on that frame;
aspectRatio
ignored, size follows
resolution
and may land only near the ratio
First + last
image
+
lastFrameImage
lastFrameImage
is only valid alongside
image
Reference
referenceImages
carries identity and world, not the opening state
Edit
referenceVideos
+ edit prompt
requires
duration: -1
; output follows the source
Extend
referenceVideos
+ extend prompt
inferred from wording: "extend @video1", what holds (character, wardrobe, light), the action that continues, no cut; geometry follows the source;
duration
is the footage appended and the output holds only that tail (a 10 s source with
duration
15 returned 15 s of new footage at authoring time; Auto priced as the source length), so concatenate source and tail and read the delivered length off
asset_get
image
and the reference arrays are mutually exclusive.
referenceVideos
(motion conditioning) and
referenceAudio
(timing and energy conditioning) combine with
referenceImages
; on the 2.0 line reference audio also requires one image or video reference, where 2.5 takes it alone. Reference parameters are arrays even for one asset. Prompt tags bind by array order:
@image1
is
referenceImages[0]
, likewise
@video1
and
@audio1
, and the prompt says what each tag governs and what it leaves alone ("@image1 defines the bottle and label, nothing of the set"), for video and audio tags as much as for images. No seed, mask, or camera parameter exists: camera moves live in the prompt, one dominant move and one action per shot. Several actions go as timecoded beats ("0-2s ... 2-4s ..."), one per beat, the last ending inside
duration
, the shot named as one continuous take.
Caps are per member, so read them off
model_schema_get
. At authoring time 2.5 took 30 reference images, 10 videos, 10 audio, 4 to 30 seconds, up to 1080p; the 2.0, Fast, and Mini hits took 9, 3, 3, and 4 to 15, with 4k on 2.0 alone and no
lastFrameImage
on Mini. Price moves further than the caps do, six times across the family for one 4 second 480p job, so
dry_run
the same job on two members before a batch.
模式由输入决定(名称来自实时schema):
模式输入行为说明
文本
prompt
aspectRatio
生效(支持21:9到9:16)
首帧
image
(+
prompt
)
以该帧作为开头;
aspectRatio
将被忽略,尺寸由
resolution
决定,比例可能仅接近目标值
首尾帧
image
+
lastFrameImage
lastFrameImage
仅在与
image
同时传入时有效
参考
referenceImages
保留身份与世界观特征,但不以此作为开头状态
编辑
referenceVideos
+ 编辑提示词
需要设置
duration: -1
;输出将遵循源视频的参数
延长
referenceVideos
+ 延长提示词
由措辞自动推断,例如"extend @video1";保留角色、服装、光线等元素,动作延续,无剪辑;几何参数遵循源视频;
duration
指追加的素材时长,输出仅包含新增的尾部片段(例如一段10秒的源视频,设置
duration
为15,创作时会返回15秒的新素材;自动定价按源视频长度计算),因此需要将源视频与尾部片段拼接,最终交付的时长可通过
asset_get
查询
image
与各类参考数组是互斥的。
referenceVideos
(动作条件控制)和
referenceAudio
(时序与动态条件控制)可与
referenceImages
组合使用;在2.0系列中,参考音频还需要同时传入一张图片或一段视频参考,而2.5系列支持单独使用参考音频。即使只有一个资源,参考参数也必须以数组形式传入。提示词标签按数组顺序绑定:
@image1
对应
referenceImages[0]
,
@video1
和
@audio1
同理。你需要在提示词中说明每个标签控制的内容和不控制的内容(例如"@image1 defines the bottle and label, nothing of the set"),视频和音频标签的使用规则与图片标签一致。不支持seed、mask或相机参数:相机运动需要写在提示词中,每个镜头仅包含一个主要运镜和一个核心动作。多个动作可按时间码分段编写(例如"0-2s ... 2-4s ..."),每段一个动作,最后一段需在
duration
范围内结束,整个镜头视为一个连续长镜头。
不同模型的上限各不相同,因此请通过
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的任务,全系列的价格差可达6倍,因此在批量处理前,请先对两个不同模型使用
dry_run
测试同一任务。

The conditioning rule

条件控制规则

In reference mode, frame one anchors to the base state of the reference world, and no prompt wording overrides it. If the shot must open in a specific state, render a still of it and pass it as
image
; use
referenceImages
when only identity, world, and palette matter. Deciding this per shot before generating is worth more than any prompt tuning.
在参考模式下,视频第一帧会锚定参考世界观的基础状态,任何提示词措辞都无法覆盖这一点。如果镜头必须以特定状态开头,请先生成该状态的静态图片并作为
image
传入;当仅需保留身份、世界观和调色风格时,使用
referenceImages
即可。在生成前为每个镜头确定好使用哪种模式,比任何提示词调优都更有效。

Sound from the shot, music from elsewhere

镜头音效取自生成内容,音乐需单独添加

generateAudio
(default true) is one switch over the whole track: it scores the shot as well as sounding it. A score written inside a shot survives no cut, since each shot invents its own key and tempo and the next one restarts them.
So run the lanes apart. Keep
generateAudio: true
for what the picture makes, footsteps, impacts, room tone, dialogue, each landing on frame, and exclude the score in the prompt ("diegetic sound only, no music, no score"). Spoken lines go in quotes, sized to the clip's seconds, with the speaker named and the delivery in two or three words. Score the sequence once with a music model (see the
scenario-audio
skill) and lay that track over the assembled cut (see the
scenario-video-assembly
skill, or
scenario-seedance-music-video
when the song comes first): re-scoring then costs one audio run, not every shot again.
The prompt is the only lever, so listen to what comes back: when music leaks in anyway, re-run that shot with
generateAudio: false
and add sound from a sound-effects or video-to-audio model.
generateAudio
(默认值为true)是控制整个音轨的开关:它会同时生成镜头的音效和配乐。单个镜头内生成的配乐无法跨剪辑保留,因为每个镜头都会生成自己的调式和节奏,下一个镜头会重新生成。
因此请将音轨分开处理。保持
generateAudio: true
以生成画面对应的音效,如脚步声、撞击声、环境音、对话等,每个音效都与画面对齐,并在提示词中排除配乐(例如"diegetic sound only, no music, no score")。台词需放在引号中,时长与片段秒数匹配,同时注明说话人和语气(用两三个词描述即可)。你可以使用音乐模型为整个序列一次性生成配乐(参见
scenario-audio
skill),再将音轨叠加到剪辑好的成片上(参见
scenario-video-assembly
skill;如果是先有歌曲再做视频,可使用
scenario-seedance-music-video
skill):这样重新配乐仅需一次音频生成任务,无需为每个镜头重新生成。
提示词是唯一的控制手段,因此请仔细听生成的音频:如果还是混入了音乐,请将该镜头的
generateAudio
设为
false
重新运行,再通过音效模型或视频转音频模型添加音效。

Worked example: a product shot from references

实操示例:基于参考图生成产品镜头

  1. search
    with
    target="models"
    ,
    query="seedance"
    ,
    public=true
    . Prefer the newest non-deprecated hit, e.g.
    model_bytedance-seedance-2-5
    (a live hit at authoring time: re-discover each session).
  2. model_schema_get
    with that id: fields, caps, and defaults before anything else.
  3. upload_asset
    the product stills (see the
    scenario
    skill) to get asset ids.
  4. model_run
    with that
    model_id
    ,
    dry_run=true
    , and the exact
    parameters={"prompt": "@image1 defines the bottle and label. Slow dolly-in as condensation beads. Diegetic sound only, no music. No text, no captions.", "referenceImages": ["asset_a", "asset_b"], "duration": 8, "resolution": "720p", "generateAudio": true}
    for the cost estimate; re-estimate after any change to duration, resolution, or references.
  5. Repeat
    model_run
    with
    wait=false
    , then
    jobs_wait
    with the returned job id, re-called with
    pending_job_ids
    on timeout, never a second
    model_run
    .
  6. asset_display
    the output and watch it with sound before the music goes on.
  1. 使用
    search
    方法,设置
    target="models"
    、
    query="seedance"
    、
    public=true
    。优先选择最新的未弃用版本,例如
    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, no music. No text, no captions.", "referenceImages": ["asset_a", "asset_b"], "duration": 8, "resolution": "720p", "generateAudio": true}
    若修改了duration、分辨率或参考资源,需重新估算。
  5. 再次调用
    model_run
    ,设置
    wait=false
    ,然后使用返回的任务ID调用
    jobs_wait
    ;如果超时,使用
    pending_job_ids
    重新调用,切勿重复提交
    model_run
    任务。
  6. 调用
    asset_display
    查看输出结果,在添加音乐前先试听生成的音效。

Common mistakes

常见错误

  • Prompting an opening state in reference mode: it will not appear; pass it as
    image
    .
  • A bare string where the schema says array: one reference still goes as
    ["asset_x"]
    .
  • Combining
    image
    with
    referenceImages
    or
    referenceVideos
    : mutually exclusive inputs.
  • Carrying one member's caps or price to another: 30 references, 30 seconds, and 1080p are each true of one and false of the next.
  • Letting shots score themselves and then cutting them together: the music restarts at every cut.
  • Rendering captions, prices, logos, or UI: reserve clean space and composite text in post.
  • 在参考模式下通过提示词指定开头状态:不会生效;请将其作为
    image
    传入。
  • 该用数组的地方用了纯字符串:即使只有一张参考图,也要写成
    ["asset_x"]
    的形式。
  • 将
    image
    与
    referenceImages
    或
    referenceVideos
    同时传入:这些输入是互斥的。
  • 套用某一个模型的上限或价格到其他模型:30个参考资源、30秒时长、1080p分辨率这些参数仅适用于特定模型,其他模型可能不支持。
  • 让每个镜头自行生成配乐后再剪辑到一起:每次剪辑处音乐都会重新开始。
  • 生成字幕、价格、logo或UI元素:请预留干净的画面空间,在后期合成文字。