ES

emily2040/seedance-2.0

Developer tools
8K stars Quality 76 Trend 60MIT

Comprehensive production pipeline for quad-modal AI filmmaking with Seedance 2.0

Overview

An agent that directs Seedance 2.0 like a filmmaker — reading each scene before it writes the prompt. Text, image, video, and reference to video with native audio, IP-safe rewrites, source-dated platform facts, and native reader paths for English, 中文, 日本語, and 한국어. Platform context: ByteDance Seedance 2.0 · Dreamina · Jimeng · Doubao · Volcengine Ark · BytePlus ModelArk · Runway Seedance 2 · fal · provider/router surfaces tracked in platform-surface-matrix.md Updated: · · plus native quickstarts in six languages, a security policy, and an expanded agent-install matrix Most tools ask the model for a "cinematic look." A director asks what the scene is doing — then makes the camera, lens, light, blocking, performance, and sound all serve one intention, in a single recognizable voice, across an entire story. The encodes that judgment.

README

Turn an idea into a directed video prompt. Seedance 2.0 Skill OS is an agent skill for planning shots, binding references and continuing from an accepted clip. Your video provider handles generation and its costs.

Watch the clips · Try a first prompt · Install · Choose a workflow · Evidence status

v6.7.0 · MIT · Changelog · Emily / Iamemily2050

Languages: English (this page) · 中文 · 日本語 · 한국어 · Español · Русский

Five-minute quickstarts: English · 中文 · 日本語 · 한국어 · Español · Русский

Seen, not told

Seven scenes, seven prompts, five languages. Each is a complete fifteen-second story: the situation legible by shot two, a reversal, and a hold on whoever lost, cut like short drama in four or five shots. Each clip is generated on Seedance 2.0 from the exact prompt beneath it: text to video, no reference assets, one take, no post work. Above each prompt sits the kind of brief people usually type, so the difference is visible before it is explained. Every prompt went through the moderation pre-screen before publication, because a classifier refuses words, not intent, and every prompt is directed for the model: one action per shot while everyone else keeps living, reactions written as a feeling plus one physical anchor, prop work written as a hand, and a lock line closing every shot that restates the light, the people and where they stand, because the model keeps nothing across a cut that the prompt does not repeat. Each prompt was rendered from a shot table that is published beside it, so the geometry can be checked on paper before a take is paid for. Where a clip has not been rendered yet, its slate stands in its place.

Clip 01: By appointment only

English · 15 s · 16:9 · storyboard · slate: not rendered yet · ladder: Stretch: 4.5 beats (one insert at half), load 3, S = 2.0

What people usually type: rich woman disguised as poor gets humiliated at luxury store, plot twist, satisfying, cinematic, 4k

What you know by shot two: Shot one is a soaked woman in work clothes stopped inside a boutique door by a voice that says appointment only; shot three is a phone call that says the new owner is standing in the shop.

Clip 02: Hold the line

English · 15 s · 16:9 · storyboard · slate: not rendered yet · ladder: Stretch: 4 beats, load 3, S = 2.1

What people usually type: epic storm at sea, fisherman fights giant wave, slow motion, dramatic music, 8k

What you know by shot two: Shot two tells the audience what the rope is worth: an off-screen voice says it is only a boat, and his answer says whose boat.

Clip 03: 这杯茶

中文 · 15 s · 16:9 · storyboard · slate: not rendered yet · ladder: Stretch at the boundary: 5 beats (two inserts at half), load 3 with the recalibrated person row, S = 1.9

What people usually type: 豪门寿宴反转名场面,女主打脸全场,短剧爆点,电影感,高级感

What you know by shot two: Shot one is a birthday toast, seen over the old man’s shoulder toward the door, that goes quiet when the door opens on a woman nobody invited; shot two is his face from the door’s side, recognising her. Her walk up the table is shot three; the line in shot five says whose daughter she is.

Clip 04: 超时二十分钟

中文 · 15 s · 16:9 · storyboard · slate: not rendered yet · ladder: Stretch at the boundary: 5 beats, load 3, S = 1.9

What people usually type: 外卖员被差评感人反转,正能量短剧,泪目,电影感

What you know by shot two: Shot one is a soaked delivery rider at a door and a man in the doorway with his phone out; shot two is the threat of a bad review. Shot three shows who is under the helmet.

Clip 05: 사직서

한국어 · 15 s · 16:9 · storyboard · slate: not rendered yet · ladder: Stretch: 4 beats (two at half), load 3, S = 2.1

What people usually type: 사이다 사직서 장면, 직장인 드라마, 시네마틱, 4K, 감동

What you know by shot two: Shot one is a CEO signing at night and an employee walking in; shot two is her envelope landing on the page he is signing. Her line says he stole her report and was promoted for it.

Clip 06: 最後の一球

日本語 · 15 s · 16:9 · storyboard · slate: not rendered yet · ladder: Stretch: 4 beats (two at half), load 3, S = 2.1

What people usually type: 高校野球決勝ラストボール神作画、感動、エモい、有名アニメスタジオ風、4K

What you know by shot two: Shot one is a pitcher on the mound in the rain with the crowd behind him; the sign, the wind-up and the swing say final pitch without a caption.

Clip 07: Ещё один раунд

Русский · 15 s · 16:9 · storyboard · slate: not rendered yet · ladder: Stretch: 4 beats (two at half), load 3.5, S = 2.0

What people usually type: тренер и боксёр перед решающим раундом, драма, кинематографично, эпично, 4k

What you know by shot two: Shot one is a corner between rounds and a fighter who has stopped looking up; shot two is the trainer’s line, and shot three shows who is watching from the stands.

How the clips are made, the settings, the internal read behind each prompt and the render record are in the front-page clip brief. A rendered clip proves that one take; it is not a promise about the next one.

Start Here

After installation, tell your agent what happens and what must stay fixed:

Use seedance-20. A person finishes a paper fan at a workbench. Keep it quiet, with one static shot and no music. Give me the prompt only.

One possible draft:

Locked tabletop shot. Two hands
finish the last fold of a paper
fan and let go. The fan settles
on the wood. Hold still for one
beat. Warm desk-lamp light;
dry paper rustle and room tone.
No music.

Why these choices: one visible action, a clear endpoint, a fixed camera and an explicit sound choice. Duration and aspect ratio belong in your provider’s controls when that surface owns them. This is an unrendered teaching example; it does not establish successful folding, motion or audio generation.

For another treatment, choose calm observation, a playful gag or a step-by-step demonstration. Tell the agent which one you want to keep. A draft can be revised without submitting a paid generation request.

AI-generated teaching concept, not Seedance output. The still illustrates material, framing and light; it does not prove the action or sound will render. Image provenance and prompts.

More examples: performance and dialogue, product and process, reference and continuity.

Choose a workflow

What you have What to provide next
A rough idea The action, feeling and delivery format; ask for a few distinct choices.
A prompt to improve The draft and constraints you want preserved.
Image, video or audio references Actual files and the role each should control.
An accepted clip to continue Its observed ending and the next action.
A result that missed The failed requirement and your remaining revision budget.

Start with the quickstart, reference workflow, continuation guide or retake protocol.

Install

Get a local copy, then run the installer from that folder. This example selects Codex user scope; other clients are in the table below.

git clone https://github.com/Emily2040/seedance-2.0.git
cd seedance-2.0
python scripts/install_codex_skill.py --client codex --scope user

Download ZIP also works: extract it and run the installer inside that folder. Restart your client, then select seedance-20. Review the security policy before configuring optional provider tools. Prompt preparation does not authorize paid generation.

Treat the table below as common local targets to verify in your own client, not a universal support guarantee.

Platform Typical install target (verify in your client)
Claude Code ~/.claude/skills/seedance-20/ (personal) or .claude/skills/seedance-20/ (project) — both via scripts/install_codex_skill.py --dest
Codex project .agents/skills/seedance-20/ or user ~/.agents/skills/seedance-20/; no-option installer keeps its historical path
Google Antigravity .agents/skills/seedance-20/ (workspace) or ~/.gemini/config/skills/seedance-20/ (global across Antigravity products)
OpenClaw workspace skills/seedance-20/ or ~/.openclaw/skills/seedance-20/ via openclaw skills install (ClawHub-compatible; skills already carry openclaw: metadata)
Hermes Agent ~/.hermes/skills/seedance-20/ (primary); a project skills/seedance-20/ directory is discovered only after its parent is added to skills.external_dirs in ~/.hermes/config.yaml
Gemini CLI-style workspace .gemini/skills/seedance-20/
GitHub Copilot workspace .github/skills/seedance-20/
Cursor workspace .cursor/skills/seedance-20/
Windsurf workspace .windsurf/skills/seedance-20/
Trae (ByteDance) .trae/skills/seedance-20/
Qwen Code (Alibaba) .qwen/skills/seedance-20/ or ~/.qwen/skills/seedance-20/
OpenCode .opencode/skills/seedance-20/ (also reads .claude/skills/ and .agents/skills/)
Amp (Sourcegraph) .agents/skills/seedance-20/ or ~/.config/agents/skills/seedance-20/
Goose (Block) .agents/skills/seedance-20/ (also .goose/skills/seedance-20/)
Junie (JetBrains) .junie/skills/seedance-20/ or ~/.junie/skills/seedance-20/

Several of these clients share the .agents/skills/ convention — Codex, Google Antigravity, OpenCode, Amp, and Goose all read it — so one install under .agents/skills/seedance-20/ can serve them together, and .claude/skills/ is read by many as a compatibility path. Install once as the seedance-20 root skill; its sub-skills and references resolve by relative path.

Evidence status

  • Repository checks cover routing, state, packaging, source integrity and declared document structure. Passing them is not a rendered-quality verdict.
  • Live model scores and rendered-pilot results remain pending. The comparison protocol and 48-attempt pilot plan describe how to collect evidence without inventing results.
  • Six languages have full pages, quickstarts and vocabulary. Independent review is pending for all of them, and the coverage contract currently flags every language for review after recent edits. Availability is not parity.
  • Provider capabilities are surface-specific and dated. Check the surface matrix before choosing controls.

What it routes

Describe the situation; the root skill loads what that situation needs.

The diagram is the contract: every request passes the gates, the root routes it, and the validators hold the line. The complete map of 28 sub-skills and every reference is in the reference index; the runtime authority is the load map in SKILL.md.

Longer than one generation

Do not ask the skill to extend the original prompt. A continuation is based on accepted generated footage, because Seedance may not end where the plan expected.

  1. Describe the complete idea and how it ends.
  2. The skill divides it into connected clips.
  3. Generate Clip 01.
  4. Return the generated clip or its final frame.
  5. The skill records what actually happened.
  6. It writes Clip 02 from the real ending.
  7. Repeat until the planned final outcome is reached.

The project state is the source of truth, the clip contract is the current task, and the prompt is compiled for that task only.

Model line and platform facts

This is a Seedance 2.0 skill. ByteDance’s official Seedance 2.5 model page confirms a separate newer line, and Dreamina’s official product page says it is live on Dreamina. Neither primary page gives an exact launch date, and API or other-surface availability was unconfirmed in the 2026-08-01 review. The 2026-09-07 source review adds that Runway’s API catalog now lists seedance2_5 separately, which does not establish account entitlement. Every platform number in this repository is a 2.0 number. Establish which line a surface runs before quoting one.

Before any factual claim about API availability, upload limits, pricing, regions or model names, load api-status.md and check its last_verified date. Treat every endpoint, model ID, price, account requirement, face or reference policy, and output-rights claim as provider-specific and recheck it live before implementation.

Validation

The validation toolchain supports CPython 3.11 through 3.13. CI exercises both endpoints on Ubuntu and Windows; intermediate CPython 3.12 releases remain inside the supported range. Python 3.10 and 3.14 are outside this lock’s supported range.

Install the two hash-pinned toolchains once, then run the release suite. The offline source-metadata check runs with --enforce-freshness here so an old checked-in registry stamp blocks a release; per-pull-request CI omits that flag because metadata age depends on the calendar, not on the change under test.

python -m pip install --require-hashes --requirement requirements-validation.lock
python -I -S -B scripts/build_masthead_outlines.py --install-build-deps
python -I -S -B scripts/build_masthead_outlines.py --check
python scripts/validate_repo.py --release

validate_repo.py resolves the repository from its own file location and does not call Git, so this also works from a Download ZIP extraction, from a nested caller directory, and from a path containing spaces. python -I -S -B scripts/build_hero.py --check proves the committed masthead SVGs still match their generator; it runs in CI. What each check proves, and what it cannot, is in the validation guide. Schema checks are not lineage proofs. The source-registry check does not fetch URLs and does not prove that any upstream claim is still true. The architecture stress gate is a structural gate, not a creativity judge.

Git checkout-only hygiene

After the archive-safe checks, a maintainer working in a Git checkout should also run:

git diff --check

This whitespace check requires Git metadata. Do not run it in a Download ZIP extraction.

Checked-in source metadata age

Whether references/source-registry.md is stale depends on today’s date, not on the change being tested, so it is not asked per pull request. The release checklist asks it with --enforce-freshness, which blocks a release when the checked-in stamp is older than 30 days, and source-freshness-review.yml asks it every Monday on the default branch, keeping one tracking issue open while the registry drifts. The job never edits the registry: re-stamping last_verified without re-reading the sources would record a verification that never happened.

Model-in-the-loop evaluation lives outside offline CI. python scripts/eval_run.py --limit 1 prints an offline plan without network, credential read or ledger write. A live run needs --live, an explicit --max-calls ceiling and a provider key from the environment, and only a complete run may replace evals/eval-run-ledger.md. The validation guide documents the frozen source manifest, blind discovery scoring and ledger publication rules.

Design Standard

The front page follows an editorial design system rather than default AI styling: warm ink and paper themes, an outlined serif wordmark with monospace specification labels, a single amber accent and hairline rules. No gradients, no glow, no badges, and no camera costume: no viewfinder marks, timecode, record dots or aspect badges. Tokens and rules live in the frontend design system; the manual acceptance pass is in README design acceptance.

The masthead pair is generated from one geometry by scripts/build_hero.py, so the dark and light variants cannot drift apart, and python -I -S -B scripts/build_hero.py --check proves the committed SVGs still match the generator. The outlined display type has its own sealed build toolchain: run python -I -S -B scripts/build_masthead_outlines.py --install-build-deps once, then --check; the full trust chain is in the masthead build guide.

The clip gallery follows one rule: a clip on this page is Seedance 2.0 output rendered from the prompt printed beneath it, captioned with surface, date and settings, or its slate says it is not rendered yet. Slates are generated from data/front-page-clips.json by scripts/build_clip_posters.py, whose --check keeps them in step with the data.

The masthead is served through a prefers-color-scheme picture element; the operating diagram assets/skill-map.svg carries its own background so it reads on both themes. The page must stay readable on GitHub mobile, in dark mode and at narrow widths. SVG assets carry and, use internal CSS only, and load no external fonts, scripts or resources.

Changelog

See CHANGELOG.md for release history and open issues to contribute.

License

MIT. Maintained by Emily / Iamemily2050.

View the full README on GitHub

Recommended Tools

Try a different keyword or remove a filter.

Install

npx skillfish add emily2040/seedance-2.0
New to MCP? Start with the mcpskill.org guide →