Seedance Video Generator

Scenario Seedance Video

by scenario-labs · MIT license · ★ 854 on GitHub

Scenario Seedance Video cover

Use when generating or editing video with Seedance models on Scenario via MCP: text-to-video, image-to-video from a first frame, first and last frame anchors, reference-to-video with identity, product, or world references, prompt-based…

---
name: scenario-seedance
description: "Use when generating or editing video with Seedance models on Scenario via MCP: text-to-video, image-to-video from a first frame, first and last frame anchors, reference-to-video with identity, product, or world references, prompt-based editing, extending a clip, audio-conditioned motion or a reference voice, shot sound without music, or deciding between first-frame and reference conditioning. Keywords: Seedance 2.5 and 2.0, ByteDance, T2V, I2V, V2V, multimodal references, native audio, video extension."
license: MIT
---

# Scenario Seedance Video

## 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.

## Quick reference

Mode follows from the inputs (names from the live schema):

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.

Manual install (npx, ZIP)
Claude Codenpx skills add scenario-labs/skills --skill scenario-seedance -g -a claude-code
Claude Code (degit)npx degit scenario-labs/skills/skills/scenario-seedance#main ~/.claude/skills/scenario-seedance
Claude.ai / desktopZip the folder and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md10.2 KB
Read SKILL.md here
scenario-labs/main1 file shown
SKILL.md
Show the full text67 lines

Scenario Seedance Video

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.

Quick reference

Mode follows from the inputs (names from the live schema):

Mode Inputs Behavior
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, or a speaker's voice) 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.

A reference track the prompt does not claim is easily ignored, a generated voice line most of all, so bind it to a role in words: "@audio1 is her own voice; she speaks it to camera, lips in sync" for speech, "the camera move and each action land on the beats of @audio1" for music.

duration defaults to Auto, which on 2.5 at authoring time priced a text-to-video job as the full 30 second cap (the same 480p prompt quoted about four times its 8 second price). Set the seconds the shot needs on every run; with referenceVideos, Auto follows the longest reference clip instead.

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.

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.

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.

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.

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.
  • Leaving duration on Auto: on 2.5 a text-to-video job priced as the 30 second cap, not the shot's length.
  • Passing a voice track beside a character reference without saying whose voice it is: the model may animate the face and ignore the track.
  • 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.
1---
2name: scenario-seedance
3description: "Use when generating or editing video with Seedance models on Scenario via MCP: text-to-video, image-to-video from a first frame, first and last frame anchors, reference-to-video with identity, product, or world references, prompt-based editing, extending a clip, audio-conditioned motion or a reference voice, shot sound without music, or deciding between first-frame and reference conditioning. Keywords: Seedance 2.5 and 2.0, ByteDance, T2V, I2V, V2V, multimodal references, native audio, video extension."
4license: MIT
5---
6 
7# Scenario Seedance Video
8 
9## Overview
10 
11Seedance, 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.
12 
13Connection 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.
14 
15## Quick reference
16 
17Mode follows from the inputs (names from the live schema):
18 
19| Mode | Inputs | Behavior |
20| ------------ | --------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
21| Text | `prompt` | `aspectRatio` honored (21:9 through 9:16) |
22| First frame | `image` (+ `prompt`) | opens on that frame; `aspectRatio` ignored, size follows `resolution` and may land only near the ratio |
23| First + last | `image` + `lastFrameImage` | `lastFrameImage` is only valid alongside `image` |
24| Reference | `referenceImages` | carries identity and world, not the opening state |
25| Edit | `referenceVideos` + edit prompt | requires `duration: -1`; output follows the source |
26| 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` |
27 
28`image` and the reference arrays are mutually exclusive. `referenceVideos` (motion conditioning) and `referenceAudio` (timing and energy, or a speaker's voice) 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.
29 
30A reference track the prompt does not claim is easily ignored, a generated voice line most of all, so bind it to a role in words: "@audio1 is her own voice; she speaks it to camera, lips in sync" for speech, "the camera move and each action land on the beats of @audio1" for music.
31 
32`duration` defaults to Auto, which on 2.5 at authoring time priced a text-to-video job as the full 30 second cap (the same 480p prompt quoted about four times its 8 second price). Set the seconds the shot needs on every run; with `referenceVideos`, Auto follows the longest reference clip instead.
33 
34Caps 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.
35 
36## The conditioning rule
37 
38In 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.
39 
40## Sound from the shot, music from elsewhere
41 
42`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.
43 
44So 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.
45 
46The 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.
47 
48## Worked example: a product shot from references
49 
501. `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).
512. `model_schema_get` with that id: fields, caps, and defaults before anything else.
523. `upload_asset` the product stills (see the `scenario` skill) to get asset ids.
534. `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.
545. 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`.
556. `asset_display` the output and watch it with sound before the music goes on.
56 
57## Common mistakes
58 
59- Prompting an opening state in reference mode: it will not appear; pass it as `image`.
60- A bare string where the schema says array: one reference still goes as `["asset_x"]`.
61- Combining `image` with `referenceImages` or `referenceVideos`: mutually exclusive inputs.
62- Leaving `duration` on Auto: on 2.5 a text-to-video job priced as the 30 second cap, not the shot's length.
63- Passing a voice track beside a character reference without saying whose voice it is: the model may animate the face and ignore the track.
64- 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.
65- Letting shots score themselves and then cutting them together: the music restarts at every cut.
66- Rendering captions, prices, logos, or UI: reserve clean space and composite text in post.
67 
View all files on GitHub →

Details

License
MIT
Stars on the repo
★ 854
Checked
Source
scenario-labs/skills ↗
Creator
scenario-labs · 10 listings
View creator

Similar skills

See all →

More from scenario-labs

SkillScenario Asset Platformscenario-labs/skills · by scenario-labsUse when connecting an AI agent to Scenario (scenario.com) through MCP, or when a task involves generating images, video, 3D, audio, sprites, textures, or game assets. Also when picking a Scenario model, running a LoRA, refining a generation prompt, uploading reference images, waiting on generation jobs, checking credits or quota, hitting Scenario auth, scope, or Forbidden errors, or setting up mcp.scenario.com in Claude Code, Cursor, VSCode, or another agent.★ 854 GitHub starsSkill3D Asset Generatorscenario-labs/skills · by scenario-labsUse when generating or handling 3D assets through the Scenario MCP server, including text-to-3D or image-to-3D meshes, GPT-6 Astra 3D or Claude Opus 5.5 3D, GLB, FBX, OBJ, STL, or VOX files, PBR-textured or game-ready models, voxel models, multi-view reconstruction, retexture, remesh, UV unwrap, auto-rigging a biped or quadruped, or retargeting an animation, previewing a mesh in the inline 3D viewer, or downloading a model for import into Unity, Unreal, Godot, or Blender.★ 854 GitHub starsSkillGame Asset Generatorscenario-labs/skills · by scenario-labsUse when creating game art through Scenario MCP: sprites, sprite sheets, icons, props, loot, tilesets and autotile terrain transitions, seamless tiles, isometric buildings, top-down maps, pixel art, UI buttons and panels, parallax background layers or depth planes for side-scrollers, and character or concept art; or when assets need transparent backgrounds, background removal, style-consistent variation batches, upscaling, pixel-grid cleanup, or PNG export for Unity, Godot, or Unreal.★ 854 GitHub starsSkillGPT Image Generatorscenario-labs/skills · by scenario-labsUse when generating or editing images with OpenAI's GPT Image models on Scenario via MCP: text-to-image, edits from reference images, inpainting with an alpha mask, in-image text for logos and infographics, transparent cutouts, pixel sizing up to 4K, quality tiers up to xhigh and max, input fidelity for product or face detail, or choosing between Flare, Sunburst, GPT Image 2 and 1.5. Keywords: GPT Image 2.5, GPT Image 2, OpenAI, DALL-E, gpt-image, ChatGPT image, txt2img, img2img, background.★ 854 GitHub starsSkillIdeogram Image Creatorscenario-labs/skills · by scenario-labsUse when generating or editing images with Ideogram models on Scenario via MCP: posters, logos, menus, packaging, or signage with exact in-image text, editing an image in place while keeping its exact size, transparent PNG generation, background removal that keeps hair and glass edges, editable text layers for localization, or one consistent character from a reference. Keywords: Ideogram 4.5, Precise Edit, V4, V3, typography, aspect ratio, layerize, character reference, inpainting.★ 854 GitHub starsSkillSide-Scroller Asset Kitscenario-labs/skills · by scenario-labsUse when making the art for a side-scroller or 2D platformer: side-view pixel-art sprite sheets for a hero and ground enemies (run, walk, idle, attack, hurt cycles, air spin, jump and fall poses) and per-level layers (parallax background and midground, seamless wall texture, platform strip, props). Also use when a magenta key eats part of a sprite, a walk loop will not close, a slash trail keys into a solid block, generated textures do not tile, or poses on one sheet will not split.★ 854 GitHub stars