# Seedance 20

> This skill should be used when creating, improving, or troubleshooting Seedance 2.0 video on any surface — Dreamina, Jimeng, CapCut, Doubao, Volcengine/Ark, BytePlus, Runway's Seedance route, fal, or third-party provider/router surfaces such as EvoLink, OpenRouter, Kie.ai, PiAPI, LaoZhang, Runware, ModelsLab, AI/ML API, MuAPI, SeeGen, and Segmind — including text/image/video/reference-to-video prompts, first/last frame, dialogue, lip-sync and audio, IP-safe rewrites, API, pricing and model-ID questions, and zh/ja/ko/es/ru prompt work. Not for non-Seedance models (Sora, Veo, Kling, Runway's own Gen models) or image-only prompting.

- Skill: `leoyeai/seedance-20` (Agent Skill, multi-file: 6 files)
- Install (CLI): `npx skillmds@latest add leoyeai/seedance-20`
- Raw SKILL.md: https://api.skillmd.com/api/skills/leoyeai/seedance-20/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: LeoYeAI (https://skillmd.com/u/leoyeai)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/leoyeai/seedance-20

---


# seedance-20

> **Packaged for OpenClaw + Hermes Agent** from upstream [Emily2040/seedance-2.0](https://github.com/Emily2040/seedance-2.0) (v6.6.0, MIT).  
> Original author: [Iamemily2050 (@iamemily2050)](https://github.com/Emily2040). Packaged by [MyClaw.ai](https://myclaw.ai).

Seedance 2.0 operating loop for agent-directed video work. Routes every request through the right skill, protects IP, holds directorial voice across multi-clip stories, and keeps prompts compact and source-dated.

---

## Platform Install Paths

| Agent | Path |
|---|---|
| **OpenClaw** | `~/.openclaw/workspace/skills/seedance-20/` (already here) |
| **Hermes Agent** | `~/.hermes/skills/seedance-20/` — run `hermes skills install github:Emily2040/seedance-2.0` or copy this folder |
| Claude Code / claude.ai | `.claude/skills/seedance-20/` |
| Codex | `.agents/skills/seedance-20/` |
| Cursor / Windsurf | `.cursor/skills/seedance-20/` / `.windsurf/skills/seedance-20/` |
| Trae (ByteDance) | `.trae/skills/seedance-20/` |
| Qwen Code | `.qwen/skills/seedance-20/` |

---

## Soul

Three principles govern everything below:

1. **Hear the intent behind the words.** Users describe outcomes ("make it feel like home"), not parameters. Every gate translates feeling into craft; none may hand the translation back to the user.
2. **Keep the story alive.** Hold subject, mode, look, references, decided constraints, and what failed — across the whole conversation. Never ask a user to repeat a decision.
3. **Evolve with the user.** Speak plainly to a beginner and in director language to a professional. The register adapts; the standards never do.

---

## Fast Lane

Most requests are one short clip. Skip the full gate loop when: **standalone clip + non-expert + no IP/safety flag + no platform-fact question**.

1. → `[skill:seedance-interview-short]` or write the brief directly if the idea is clear → `[skill:seedance-prompt-short]`
2. Apply craft inline: one visible beat, one motivated camera move, one motivated light, sound intent, one directorial intention.
3. Treat as one clip. Raise "should this be a series?" only after the first draft, or when user says *continue / extend / next part / longer*.
4. Keep the prompt compact (≈40–110 words) unless the active surface requires otherwise.

Leave the fast lane the instant a gate triggers: IP/likeness/brand/safety → safety gate; platform fact → source gate; film/client/delivery → professional gate; long story or continuation → Sequence Gate.

---

## Operating Loop

1. **Intake** — identify goal, production phase, target surface, mode, duration, aspect ratio, references, audio needs, deliverables, safety/IP risks. If a safety/IP/evasion risk surfaces, jump to step 9 immediately.
2. **Source gate** — before platform claims load `[ref:api-status]` and `[ref:source-registry]`. For Runway/Volcengine/fal/provider-router or China-facing surfaces also load `[ref:platform-surface-matrix]`.
3. **Professional gate** — for film, ad, campaign, client, delivery, localization, color, sound, subtitle, post, QC, or multi-shot work load `[ref:pro-filmmaking-standards]` before drafting.
4. **Sequence Gate** — classify as `standalone_clip` or `sequence_project`. Long stories, connected clips, continuation/extend/next-part, dense action/dialogue → `sequence_project`. Load `[skill:seedance-sequence]`, `[ref:sequence-project-state]`, `[ref:continuation-handoff]`, `[ref:prompt-compiler]`; for continuation/repair/re-anchor also load `[skill:seedance-continuation]`.
5. **Mode gate** — choose T2V / I2V / V2V / R2V / FLF2V / edit / extend / troubleshoot before writing prose. Mode availability is surface-specific: edit/extend exist on Dreamina and Ark; fal has no dedicated extend (use R2V with previous clip as video reference; I2V from last frame as fallback).
6. **Capability check** — load `[ref:capability-map]` to design into model strengths, `[ref:allocation-model]` to allocate fidelity budget.
7. **Reference map** — assign every asset one primary role: identity / first frame / last frame / product / environment / motion / camera / timing / audio / style. State what must NOT transfer.
8. **Multilingual gate** — if zh/ru/ja/ko/es or code-mixed wording, load `[ref:multilingual-community-examples]` and preserve reference tags exactly (`@图片1`, `@视频1`, `@Audio1` etc.). Route to `[skill:seedance-examples-zh]`, `[skill:seedance-examples-ja]`, or `[skill:seedance-examples-ko]` as appropriate.
9. **Safety gate** — IP, likeness, voice, brand, real-person, graphic, or evasion-like wording → `[skill:seedance-copyright]` or `[skill:seedance-filter]`.
10. **Direction** — name ONE intention; make camera, lens, light, blocking, performance, and sound serve it. Load `[ref:directing-engine]` when scenes need distinct treatment or a single directorial voice must hold across many clips.
11. **Prompt build** — route to the matching skill (see Skill Map below).
12. **Quality pass** — anti-slop + directing coherence: one visible beat, one primary camera move, physical motivated light, sound intent, continuity anchors, constraints, source-date caveats.
13. **Repair loop** — triage with `[ref:retake-protocol]` (keep / fix in post / edit / re-roll / rewrite; one variable per retake; attempt budget). If output fails → `[skill:seedance-troubleshoot]`.

---

## Sequence Invariants

- Every sequence prompt carries `project_id` + `clip_id` lineage.
- Accepted observed state overrides planned state.
- Rejected footage is excluded from canon; cannot be a continuation source.
- Future prompts remain provisional until the preceding accepted take is reviewed.
- Exact reference tags (`@Image1`, `@Video1`, `@图片1` …) survive every clip unchanged.
- Completed beats cannot replay; reserved future beats cannot leak early.
- Final Seedance prompts stay natural language unless user explicitly asks for structured output.

---

## Skill Map

### Core workflow
| Skill | Use when |
|---|---|
| `[skill:seedance-interview]` | Idea is vague or undeveloped |
| `[skill:seedance-interview-short]` | Fast brief, not a long interview |
| `[skill:seedance-sequence]` | Long story / connected clips / campaign |
| `[skill:seedance-continuation]` | Continue / extend / repair tail / re-anchor accepted footage |
| `[skill:seedance-prompt]` | Complete prompt from a clear concept |
| `[skill:seedance-prompt-short]` | Compressed prompt for stronger Seedance performance |

### Domain skills
| Skill | Use when |
|---|---|
| `[skill:seedance-camera]` | Camera, lens feel, shot scale, movement |
| `[skill:seedance-motion]` | Body movement, choreography, physical action |
| `[skill:seedance-lighting]` | Mood, time of day, light transition |
| `[skill:seedance-characters]` | Character identity, multi-character blocking, consistency |
| `[skill:seedance-style]` | Visual style without unsafe IP borrowing |
| `[skill:seedance-vfx]` | Particles, destruction, energy, weather, magic |
| `[skill:seedance-audio]` | Dialogue, lip-sync, music, ambience, audio reference |
| `[skill:seedance-pipeline]` | API, ComfyUI, web workflow, post-production |
| `[skill:seedance-recipes]` | Genre templates / repeatable production recipes |
| `[skill:seedance-troubleshoot]` | Output is poor, unstable, blurry, off-prompt, or blocked |

### Safety & quality
| Skill | Use when |
|---|---|
| `[skill:seedance-copyright]` | Protected IP, celebrity, brand, logo, real person, song |
| `[skill:seedance-antislop]` | Prompt is generic, bloated, or full of empty quality boosters |
| `[skill:seedance-filter]` | Benign prompt is blocked/degraded — repairs false positives |

### Multilingual vocab
| Skill | Use when |
|---|---|
| `[skill:seedance-vocab-en]` | English wording is slop-heavy or tripping filters |
| `[skill:seedance-vocab-zh]` | Chinese prompt compression or Mandarin cinematic vocab |
| `[skill:seedance-vocab-ja]` | Japanese cinematic vocab |
| `[skill:seedance-vocab-ko]` | Korean cinematic vocab |
| `[skill:seedance-vocab-es]` | Spanish cinematic vocab |
| `[skill:seedance-vocab-ru]` | Russian cinematic vocab |
| `[skill:seedance-examples-zh]` | Chinese working examples or safe rewrites |
| `[skill:seedance-examples-ja]` | Japanese working examples, textless localization |
| `[skill:seedance-examples-ko]` | Korean working examples, textless localization |

---

## Quick Reference Map

| Situation | Load |
|---|---|
| Vague idea | `[skill:seedance-interview]` or `[skill:seedance-interview-short]` |
| Long story / connected clips / campaign | `[skill:seedance-sequence]` + `[ref:sequence-project-state]` + `[ref:prompt-compiler]` |
| Continue / extend / next part / re-anchor | `[skill:seedance-continuation]` + `[ref:continuation-handoff]` + `[ref:continuity-qc]` |
| First multi-clip project, end-to-end walkthrough | `[ref:sequence-worked-trace]` |
| Dense storyboard or multi-shot | `[ref:dense-storyboard-mode]` + `[ref:multishot-grammar]` |
| Single production prompt | `[skill:seedance-prompt]` + `[ref:quick-ref]` |
| Planning shot/mode/budget | `[ref:capability-map]` |
| Fidelity allocation: identity vs motion vs scene | `[ref:allocation-model]` |
| Directing a scene — one intention, coherent setup | `[ref:directing-engine]` |
| 33 worked genre examples | `[ref:directing-engine-genre-library]` |
| Camera / lens / blocking | `[skill:seedance-camera]` + `[ref:cinematography-shot-language]` |
| Image reference / first frame | `[ref:i2v-guide]` + `[ref:reference-workflow]` |
| First AND last frame | `[ref:first-last-frame-guide]` |
| API / Runway / Volcengine / fal / provider | `[skill:seedance-pipeline]` + `[ref:api-workflow]` + `[ref:model-name-map]` |
| Color / ACES / aspect ratio / subtitles / audio / QC | `[ref:color-pipeline-aces]` `[ref:aspect-ratio-delivery]` `[ref:subtitles-localization]` `[ref:audio-post-delivery]` `[ref:delivery-qc]` |
| Bad take — keep / fix / re-roll / rewrite | `[ref:retake-protocol]` |
| Why a rule works | `[ref:model-mechanics]` |
| Chinese prompts | `[skill:seedance-vocab-zh]` + `[skill:seedance-examples-zh]` + `[ref:vocab/zh]` |
| Platform status / API facts | `[ref:api-status]` (check last_verified date before claiming anything) |

---

## Sub-skills location

All sub-skills live in `skills/*/SKILL.md` relative to this root.  
All references live in `references/*.md` relative to this root.  
Load by relative path — do not hardcode absolute paths.

---

*MIT © 2026 Iamemily2050 (@iamemily2050) · Packaged by MyClaw.ai · v6.6.0*

