# seedance-2-5-video-director: a prompt skill that never calls the model

> seedance-2-5-video-director is a Codex Skill that turns ideas, reference images and old prompts into Seedance 2.5 director plans, scripts, conflict diagnoses and copy-ready prompts. It produces text only, spends nothing, and keeps most of its capability claims in a dated snapshot.

**liyue-aigc/seedance-2-5-video-director** — Seedance 2.5 视频导演 Skill：提示词、脚本、诊断、人物锁定、续写、编辑、转场与首次使用指导

- Repository: https://github.com/liyue-aigc/seedance-2-5-video-director
- Stars: 402 · Forks: 55
- Language: Python
- License: MIT
- Published: 2026-09-18 · Updated: 2026-09-18 · Language: en
- Canonical page: https://hysenlabs.com/projects/liyue-aigc-seedance-2-5-video-director

## It produces text and never spends credits

The opening line is a disclaimer, and it defines the whole project. This is not a ByteDance, Dreamina or Jimeng official project, and the repository never calls a paid generation interface and never consumes credits automatically. The capability section is blunter still: the Skill only produces planning, scripts, diagnostics and prompt text. It does not submit generation tasks, does not consume credits, and does not promise a result.

What you get instead is text that a human pastes into Dreamina or Jimeng. Given a text idea, a character reference image, a video, audio, a storyboard or an old prompt, it returns an executable video script, a director plan, a diagnosis, or a prompt ready to copy. The features list runs to a dozen entries covering durations, continuation, editing, marked regions, transitions, storyboards, character locking, several speakers, audio work and obstacle physics.

The randomness caveat belongs in the same breath. The generation model is not deterministic, and a prompt can only reduce identity drift, physics errors and shot conflicts, never guarantee the same result twice. Judge this Skill on the text it produces, because that is the only thing it produces.

## The one-line installer and the manual paths target different directories

The recommended install is one line, and it is deliberately not npm:

```bash
npx skills add liyue-aigc/seedance-2-5-video-director -g -y
```

It fetches the Skill from GitHub and installs it into the current user's Agent Skills directory; -g means a global install and -y skips the interactive confirmation. The command borrows npm's bundled npx to launch the installer, but this repository is not an npm package to add as a project dependency, which is why `npm install` is never used.

The fallback for a machine without Node.js is a sentence to paste into Codex, which assumes a $skill-installer helper exists there. The manual clone is hard-wired to Codex's own directory on both platforms:

```powershell
$skillRoot = Join-Path $env:USERPROFILE '.codex\skills'
New-Item -ItemType Directory -Force -Path $skillRoot | Out-Null
git clone https://github.com/liyue-aigc/seedance-2-5-video-director.git (Join-Path $skillRoot 'seedance-2-5-video-director')
```

```bash
mkdir -p "${CODEX_HOME:-$HOME/.codex}/skills"
git clone https://github.com/liyue-aigc/seedance-2-5-video-director.git \
  "${CODEX_HOME:-$HOME/.codex}/skills/seedance-2-5-video-director"
```

So the one-line path targets whatever Agent Skills directory your agent reads, while both manual paths write into `.codex/skills`. Follow the manual instructions on a different agent and the Skill lands in a directory that agent never opens. There is also no uninstall command anywhere in the documentation.

## Updating is two commands, chosen by how you installed

Which update command you need depends entirely on the route you took. One-line installs use:

```bash
npx skills update seedance-2-5-video-director -g -y
```

Manual clones are told to pull inside the installed directory instead:

```bash
git -C "${CODEX_HOME:-$HOME/.codex}/skills/seedance-2-5-video-director" pull
```

with the Windows form pointed at `$env:USERPROFILE\.codex\skills`. Neither command upgrades the other kind of install, and nothing in the Skill's own output reports its version, so a stale copy is invisible from the conversation side.

There is also no changelog to diff. The project has exactly one release, v1.0.0, tagged as the first public release on 2026-08-18, and the last commit is dated 2026-08-26. Between a one-line install and a manual pull you are choosing between an installer that knows what it installed and a git command that does not, and the documentation offers no way to check which version a given directory holds.

## A character reference image means the whole visible person

The character reference rule is the most opinionated thing in the documentation, and it is the opposite of what uploading a portrait suggests. An ordinary character reference image stands for the entire visible character, not just the face.

Keep identity, facial features, face shape, skin tone and the sense of age. Keep hairstyle, hair color, height, body type and body proportions. Keep visible clothing, shoes, accessories, and the way they are worn. Do not, by default, inherit the reference image's background, pose, composition, cropping, text or lighting. The scope narrows only when the user explicitly asks to reference just the face, or allows a change of clothes.

The quick-start example leans on that default in both directions. It attaches an image as a complete character reference for a contestant, asks the Skill to keep the original clothing, and separately asks it not to inherit the image background. Both clauses restate what the default already does, which says how much drift the rule exists to prevent. Leave the clothing instruction out and you get the documented scope, not a wider one.

## Durations and edit modes come from a dated snapshot

The capability list is specific about lengths: ordinary video from 4 to 30 seconds, plus a precise 30-second timeline, and Long Video from 30 to 180 seconds. It also names continuation placed before or after an existing video, Smart Edit, editing of a marked region, editing of an uploaded video, Clay Renderer rough and refined white-model render instructions, transitions that join two video segments, and multi-panel storyboard animation.

The boundary section then qualifies all of it. Platform upload limits follow the current Dreamina or Jimeng interface, and the capability summary in the repository is stamped with the date it was taken. Those duration numbers are therefore a capture of one interface at one moment rather than a promise, and the Skill never submits a generation task of its own, so nothing checks your finished prompt against a live limit.

If you plan at the 30-second or the 180-second edge, check the current platform interface and references/capabilities-and-limits.md before trusting the prompt you just wrote. Character locking, multiple characters, dialogue voice timbre, BGM removal and audio to picture sync are listed in the same breath as the durations, and they inherit the same caveat.

## The validator checks the repository's shape, not its output

The project ships one script, and it validates the Skill rather than anything the Skill writes:

```bash
python scripts/validate_skill.py
```

It checks the Skill's frontmatter metadata and name, the required files and their Markdown relative links, the install guide's trigger rules and learning content, the invocation name in `agents/openai.yaml`, the format and unique IDs of the test cases plus coverage of the main patterns, and leftover TODO or placeholder text. GitHub Actions runs the same validator on every push and pull request, through .github/workflows/validate.yml.

`tests/cases.json` is described as a behavior contract test set, and it deliberately never calls a video generation service. It records input scenarios and expected output constraints, which makes it usable for manual regression or for handing to an independent agent as a forward test. What it cannot do is prove a prompt works. Every check above is about the shape of the repository, so a green build says the Skill is well formed, and the quality of a director plan is still judged by whoever pastes it into Dreamina.

## Diagnosis is a separate request from rewriting

Three prompt shapes are documented, and the third is the most useful. The full form asks for a complete director plan and the final prompt for a 20-second 16:9 clip, with the story given as beats and the sound spelled out as Mandarin commentary, live cheers, mechanism sounds and tense background music, with no subtitles. The second asks for the final prompt only and no explanation, for a 15-second 9:16 street chase in a handheld action style with stable character and spatial direction.

The third says diagnose only, do not rewrite, and hands the Skill an existing prompt to check for conflicts across timing, camera movement, character, physics and sound. Keeping diagnosis and rewriting apart is a deliberate constraint, because the rewrite mode is documented as following the original structure. Ask for both at once and the diagnosis gets overwritten by the rewrite, which is the opposite of what a reviewer usually wants.

After installation the Skill shows a learning guide once, at the point where the installer reports a fresh install. Ordinary new conversations go straight to the task and do not repeat that tutorial, and the guide can be requested by name at any time.

## Four of the six reference files are never linked

The tree holds six files under references/, and the top-level documentation links two of them. SKILL.md, references/prompt-blueprints.md and references/first-use-onboarding.md are pointed at directly. capabilities-and-limits.md, multimodal-patterns.md, official-examples.md and realistic-direction-patterns.md are not linked anywhere in the visible file.

Two of the unlinked ones carry the most weight. The capability summary is where the capture date and the boundary conditions live, and official-examples.md is where the platform's own examples are recorded, which is also the clearest answer to what this Skill treats as a well-formed prompt. A reader who never opens the repository finds neither, and neither is discoverable from the install flow either.

The rest of the layout is tidy. One SKILL.md contract at the root, one agents/openai.yaml whose invocation name the validator checks, one validator script, one test case file, one workflow file, a NOTICE.md that separates platform names and trademarks from the MIT-licensed code, and a LICENSE covering the code and the original Skill content.

## Conclusion

Use seedance-2-5-video-director when you already have access to Dreamina or Jimeng and want prompt structure, character continuity rules and conflict diagnosis on top of your own account and credits. Skip it if you expected a generator: the Skill produces text only, its duration and edit limits come from a dated snapshot, and the one-line installer writes to a different directory than the manual fallback. Before the first run, confirm which skills directory the install actually used, and re-read the capability summary if you are working near the 30 or 180 second edges.

## FAQ

### How long can Seedance 2.5 videos be?

According to the capability summary this Skill works from, ordinary video runs 4 to 30 seconds with a precise 30-second timeline, and Long Video runs 30 to 180 seconds. That summary is stamped with the date it was taken, and platform upload limits follow the current Dreamina or Jimeng interface.

### How do I install seedance-2-5-video-director?

With Node.js present, run npx skills add liyue-aigc/seedance-2-5-video-director -g -y, which installs into the current user's Agent Skills directory. Without Node.js, the fallback is a $skill-installer request in Codex, or a manual git clone into the Codex skills directory.

### Does seedance-2-5-video-director call the Seedance API or spend credits?

No. The repository states that it never calls a paid generation interface and does not consume credits automatically. It only produces planning, scripts, diagnostics and prompt text, and it makes no promise about generation results.

### How do I update the Skill after installing it?

One-line installs run npx skills update seedance-2-5-video-director -g -y. Manual clones are told to git pull inside the installed directory, with separate forms given for Windows and for macOS and Linux. Neither command upgrades the other kind of install.

### What does a character reference image mean in seedance-2-5-video-director?

A reference image stands for the whole visible character by default: identity, facial features, face shape, skin tone, age, hairstyle, hair color, height, body type, proportions, visible clothing, shoes and accessories. Background, pose, composition, cropping, text and lighting are not inherited unless the user narrows the scope.

## Sources

- [Issues](https://github.com/liyue-aigc/seedance-2-5-video-director/issues)
- [License: MIT](https://github.com/liyue-aigc/seedance-2-5-video-director/blob/main/LICENSE)
- [liyue-aigc/seedance-2-5-video-director on GitHub](https://github.com/liyue-aigc/seedance-2-5-video-director)
- [README](https://github.com/liyue-aigc/seedance-2-5-video-director/blob/main/README.md)
- [Releases](https://github.com/liyue-aigc/seedance-2-5-video-director/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/liyue-aigc-seedance-2-5-video-director
