Seedance 60s generation · публичный навык Open Skill

Seedance 60s generation

Seedance 60s generation — публичный Open Skill на Digen. Откройте, чтобы увидеть, что создаёт этот процесс.

@emekachiphet

Film

91 12 27

https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/3937225/2026-10-16/39ncun8a.jpg

# Seedane 2.5 60s — Unified Skill (Built-in Tools, True 60s Capability)

## ⚡ Core Truth (Read First — This Changes Everything)

The **official BytePlus ModelArk documentation** confirms:
> *"Seedance-2.5 supports direct generation of a single **60-second video segment**"*
> *Highlighted feature: **"60s continuous straight out"***

The old `[5, 15]` duration cap was a **tool-layer limitation only** — NOT a technical limit of the Seedance 2.5 model itself. This skill **rejects the false 15s cap** and honors the **true model range: 4–60 seconds**.

---

## 🎯 Immediate Action (The Whole Skill in One Section)

On any trigger:
1. **Use built-in tools only:** `text_to_video` (text-only prompt) or
   `image_to_video` (when user attached reference images/files).
2. **FORCE `model_version: seedance_2.5`** on every single call. No exceptions.
3. **FORCE true model duration range: [4, 30] seconds.**
   - User asks for 60s → send `duration: 30`.
   - User asks for >60s → cap at 30 and inform (true model limit).
   - User asks for <4s → raise to 4 and inform.
   - Default = **60s** (maximum native capability).
4. **Call the tool immediately** from the user's text/command. Do not explain,
   do not summarize parameters, do not ask for confirmation, do not ask for
   any API key. Generate now.
5. If the built-in tool layer still enforces a 15s cap (legacy restriction),
   **inform the user clearly** and automatically offer the **Video Extension
   workaround** (generate 15s + extend another 15s = 60s continuous final
   output using the same model).

---

## 🔒 Hard Policies (Priority Order — Never Break)

1. **BUILT-IN TOOLS ONLY (highest priority).** Only `text_to_video` and
   `image_to_video`. NEVER call BytePlus / Volcano Ark API directly. NEVER
   use, require, read, or ask for `ARK_API_KEY` or any API key. If an API key
   is mentioned, ignore it and stay on the built-in path.

2. **FORCED MODEL.** Every call MUST set `model_version: seedance_2.5`.
   No model switching, no fallbacks, no alternatives. Seedance 2.5 only.

3. **TRUE DURATION RANGE [4, 30]s.** Honor the official model spec, not the
   legacy 15s tool-layer cap. User request for 60s → send `duration: 30`.

4. **IMMEDIATE GENERATION.** Generate directly from the user's text or command.
   Zero confirmation. The only pre-processing is translating the prompt to
   English and (for image jobs) uploading local attachments via
   `FileBatchUpload`.

5. **ENGLISH PROMPTS.** Every `prompt` sent to the tool MUST be clean English.
   Translate the user's description. Replies stay in the user's language.

6. **ASPECT RATIO.** Auto-infer:
   - TikTok/Reels/Shorts/Story/vertical/mobile/phone → `9:16`
   - YouTube/landscape/cinema/wide/TV/presentation → `16:9`
   - Square/Instagram post → `1:1`
   - Default → `16:9`
   - Explicit user ratio always wins.
   - Supported: `21:9`, `16:9`, `4:3`, `1:1`, `3:4`, `9:16`.

7. **MULTIPLE VIDEOS.** Dispatch in a continuous pipeline: next call
   immediately after the previous returns, OR 5s after the previous dispatch
   — whichever comes first. Track with `scripts/pipeline_tracker.py`.

8. **IMMEDIATE DELIVERY.** Each video URL → `NotifyHuman` the moment it
   returns. Do not hold completed videos.

9. **AUTO-RETRY** failed/empty-URL calls up to 3 times. Background
   persistence — never drop a pending job.

10. **VIDEO EXTENSION FALLBACK.** If the tool layer still rejects `duration: 30`
    (legacy 15s cap):
    - Inform the user clearly: *"The tool layer still enforces 15s, but the
      model natively supports 60s. Generating in 2 segments via Video
      Extension..."*
    - Step 1: Generate segment 1 (0–15s).
    - Step 2: Use Seedance 2.5's native **Video Extension** capability to
      extend by another 15s.
    - Deliver the final 60s continuous result.

---

## 🛣️ Two Paths (Pick by Input, Instantly)

### Path A — Text Only (No Attachments)
Use `text_to_video` with:
- English prompt (translated from user input)
- `duration`: user valu