video-gen: adopt Seedance 2.0 as preferred premium default
Seedance 2.0 is now routed as the top-ranked video generator whenever a premium gateway is available. Touches the tool layer, scoring engine, cinematic pipeline, and both skill layers so discovery works from every entry point. - tools/video/seedance_video: BETA stability, quality_score=0.95, add reference_to_video operation plus 9 img + 3 vid + 3 audio ceilings, fix pre-existing upload_image_fal import - tools/base_tool: surface optional quality_score / success_rate / latency fields in get_info so the scorer can read them - lib/scoring: fix reliability enum-vs-string bug that was pinning every available tool to 0.0, switch to overlap coefficient so rich best_for descriptions aren't penalized, add premium-cinematic feature bonus - pipeline_defs/cinematic + cinematic asset-director: add pixabay_music and freesound_music, restore pixabay-first music default - cinematic compose-director: mandatory Remotion preflight at stage entry - New Layer 3 .agents/skills/seedance-2-0/SKILL.md (8-part prompt structure, multi-shot, lip-sync, reference-to-video, provider landscape) - New Layer 2 skills/creative/prompting/seedance-prompting.md - Update ai-video-gen, video-gen-prompting, AGENT_GUIDE, INDEX to flag Seedance 2.0 as the preferred premium default and make the skill discoverable from every routing path
This commit is contained in:
@@ -0,0 +1,138 @@
|
||||
# Seedance 2.0 — Prompting Guide
|
||||
|
||||
> Layer 3 authority: `.agents/skills/seedance-2-0/SKILL.md`
|
||||
> For universal vocabulary, see: `skills/creative/video-gen-prompting.md`
|
||||
|
||||
## When to pick Seedance 2.0
|
||||
|
||||
Seedance 2.0 (ByteDance Seed team, released Feb 2026) is OpenMontage's **preferred premium default for cinematic, trailer, teaser, hype-edit, and motion-led clip work** whenever a paid gateway is configured (`FAL_KEY` via `seedance_video`, or HeyGen Video Agent / Avatar Shots). It is the only model in the fleet that delivers all of:
|
||||
|
||||
- single-pass native synchronized audio (speech + SFX + ambience together, not post-sync),
|
||||
- multi-shot generation inside a single prompt,
|
||||
- director-level camera control,
|
||||
- lip-sync from quoted dialogue,
|
||||
- reference-conditioned generation with up to 9 images + 3 video clips + 3 audio clips,
|
||||
- consistent character identity across shots.
|
||||
|
||||
Elo 1269 on Artificial Analysis as of release — ahead of Veo 3, Sora 2, Runway Gen-4.5.
|
||||
|
||||
Switch off Seedance 2.0 only when there is a real reason: strict budget (use the `fast` variant or LTX), explicit user preference (VEO/Sora/Kling), or a stylistic fit another model does better (VEO for photoreal landscape, Kling for anime).
|
||||
|
||||
## Seedance 2.0 8-Component Prompt Structure
|
||||
|
||||
Seedance is unusually literal about camera language, multi-shot cuts, and quoted dialogue. Use this structure — include what matters, omit what doesn't:
|
||||
|
||||
1. **Shot / framing** — wide establishing, medium, close-up, Dutch angle, etc.
|
||||
2. **Camera movement** — static, slow push-in, aerial, handheld, arc, dolly zoom
|
||||
3. **Subject description** — the physical detail that must persist across shots (identity anchor)
|
||||
4. **Action beats** — one beat per sentence, use `→` or explicit `Shot 1 / Shot 2` for multi-shot
|
||||
5. **Setting / environment** — location, era, weather, time of day
|
||||
6. **Lighting / palette** — one lighting idea, pick and commit
|
||||
7. **Style / grade / era** — "anamorphic lens, teal-orange grade, 35mm film grain"
|
||||
8. **Audio** — ambient, diegetic, music direction (textural only), quoted dialogue for lip-sync
|
||||
|
||||
## Seedance-specific strengths
|
||||
|
||||
| Capability | How to invoke it |
|
||||
|---|---|
|
||||
| **Native synced audio** | Describe the soundscape in the prompt. Leave `generate_audio=true`. |
|
||||
| **Multi-shot in one generation** | Use `Shot 1 (...)`, `Shot 2 (...)` etc. Keep subject description consistent across shots. |
|
||||
| **Director-level camera** | Use unambiguous terms: `slow dolly-in`, `arc shot`, `Dutch tilt`, `aerial push-in`, `handheld with micro-shake` |
|
||||
| **Lip-sync from quoted dialogue** | `Character says: "line."` — each line ≤ ~6 words on fast cuts |
|
||||
| **Reference-to-video** | Use the `reference-to-video` endpoint; name each asset in the prompt (`Reference 1: hero character — ...`) |
|
||||
| **Character identity consistency** | Describe the same physical details in every shot — Seedance uses those as the identity anchor |
|
||||
|
||||
## Multi-shot pattern
|
||||
|
||||
Seedance honors explicit shot lists:
|
||||
|
||||
```
|
||||
Shot 1 (wide aerial establishing, slow push-in):
|
||||
Snow-covered Air Temple at dawn, spires catching first orange light.
|
||||
Wind lifting prayer flags.
|
||||
|
||||
Shot 2 (medium, low angle, handheld):
|
||||
Aang — bald, blue arrow tattoo, orange robes — plants his staff on stone.
|
||||
He squints into the rising sun.
|
||||
|
||||
Shot 3 (extreme close-up, rack focus):
|
||||
Rack focus from the glowing arrow tattoo on his forehead to the distant peaks.
|
||||
Aang says: "It's time."
|
||||
|
||||
Style: anamorphic lens, teal-orange cinematic grade, 35mm film grain.
|
||||
Audio: rising orchestral swell with low taiko pulse, wind, distant wingbeats.
|
||||
```
|
||||
|
||||
## Lip-sync pattern
|
||||
|
||||
```
|
||||
Aang says: "I won't run anymore."
|
||||
Sokka, half a step behind, replies: "Then we fight."
|
||||
```
|
||||
|
||||
- Use `Character says: "..."` / `Character replies: "..."` exactly — mouth shapes key off the quoted strings.
|
||||
- Keep lines short (≤ 6 words on fast-cut shots) to avoid drift.
|
||||
- For a single-speaker monologue, keep the camera close and static on the speaker's shot.
|
||||
|
||||
## Parameter cheat sheet
|
||||
|
||||
| Parameter | Guidance |
|
||||
|---|---|
|
||||
| `duration` | `5`–`8` s hero, `10`–`12` s multi-shot scenes, `4` s inserts. `auto` when unsure. |
|
||||
| `aspect_ratio` | `21:9` trailers, `16:9` broadcast, `9:16` Reels/Shorts/TikTok |
|
||||
| `resolution` | `720p` default. `480p` for cost-capped previews only. |
|
||||
| `generate_audio` | Keep `true` — sync audio is the moat. Strip in compose if unused. |
|
||||
| `model_variant` | `standard` for hero + multi-shot + camera-heavy. `fast` for b-roll, previews, latency-capped jobs. |
|
||||
| `seed` | Lock once a shot composition reads; iterate variants with the same seed. |
|
||||
|
||||
## Iteration strategy
|
||||
|
||||
1. **Block out shape** — `duration=5`, `fast`, one shot. Confirm composition.
|
||||
2. **Lock the seed** — record it in the per-clip README.
|
||||
3. **Upgrade to `standard`** — same seed, tighten camera + lighting language.
|
||||
4. **Extend or multi-shot** — only after the single-shot version is clean.
|
||||
5. **Promote to final** — write the prompt, seed, variant, and duration into the asset manifest so compose can re-render consistent retakes.
|
||||
|
||||
## What to avoid
|
||||
|
||||
| Don't | Why |
|
||||
|---|---|
|
||||
| Four-plus simultaneous actions in one shot | Motion coherence collapses. Split to multi-shot. |
|
||||
| Readable text / logos inside the clip | Text rendering is unreliable. Handle text in Remotion overlay. |
|
||||
| Conflicting lighting (`bright noon` + `neon night`) | Model picks one and ignores the other. |
|
||||
| Long dialogue on fast-cut shots | Lip-sync drifts. |
|
||||
| `fast` variant for slow-mo, multi-shot, or complex camera | Routinely misses on first try. Route to `standard`. |
|
||||
| Request a full multi-instrument score from Seedance | Keep audio direction textural; real scoring belongs in `music` / `pixabay_music` / `elevenlabs` and mixes in compose. |
|
||||
| Bypass `video_selector` without a reason | Loses scoring, fallback, and cost handling. |
|
||||
|
||||
## Integration notes
|
||||
|
||||
- **Cinematic pipeline:** Seedance 2.0 is the default. 21:9, multi-shot for montage, reference-to-video when the brief has a visual bible.
|
||||
- **Animated explainer:** Use Seedance 2.0 only for establishing / mood / cold-open clips — core motion graphics stay in Remotion.
|
||||
- **Screen demo / podcast / clip factory:** Not the right default. Only for stylized cold-opens.
|
||||
- **Cost check:** `standard` at 10 s ≈ $3.03 / clip on fal.ai. `fast` at 5 s ≈ $1.21. Budget in the proposal stage.
|
||||
|
||||
## Example — Airbender trailer hero beat (60 s total trailer, this is shot 3 of 7)
|
||||
|
||||
```
|
||||
Shot 1 (wide aerial, slow push-in, 3s):
|
||||
Snow-covered Air Temple at dawn, spires catching orange light,
|
||||
prayer flags lifting in wind.
|
||||
|
||||
Shot 2 (low angle medium, handheld, 3s):
|
||||
Aang — bald, blue arrow tattoo on forehead, orange and yellow robes —
|
||||
plants his staff on weathered stone, squints into the rising sun.
|
||||
|
||||
Shot 3 (extreme close-up, rack focus, 3s):
|
||||
Rack focus from the glowing arrow on his forehead to distant peaks.
|
||||
Aang says: "It's time."
|
||||
|
||||
Lighting: cold blue ambient with warm break on the horizon,
|
||||
rim light from rising sun.
|
||||
Style: anamorphic 2.39:1, teal-orange cinematic grade, 35mm film grain,
|
||||
halation on speculars.
|
||||
Audio: low taiko drums rising to orchestral swell on Shot 3,
|
||||
wind through temple, distant wingbeats, leather staff-grip creak.
|
||||
```
|
||||
|
||||
Parameters: `duration=10`, `aspect_ratio=21:9`, `resolution=720p`, `model_variant=standard`, `generate_audio=true`, seed locked after shot 2.
|
||||
Reference in New Issue
Block a user