Install
openclaw skills install @wusyu/seedance-waoo-video-pipeline自动化短视频工作流(story-to-video pipeline):从剧本/分镜到生成、字幕 ASR、TTS、合并交付,支持 Seedance / Vidu / MiniMax 多厂商路由。
openclaw skills install @wusyu/seedance-waoo-video-pipelineUse this skill for story-to-short-video work where:
Seedance upstream must support its own independent configuration for:
This upstream configuration must remain decoupled from downstream image / video / TTS / ambience settings.
This skill is not tied to one video vendor. Model/provider choice stays configurable. Do not force Vidu unless the user explicitly asks for it.
Typical triggers:
Trigger this skill immediately when:
Use this skill but enter mid-pipeline when the user already has part of the chain ready, such as:
In that case, resume from the highest reliable completed stage instead of forcing a full restart.
Do not use this skill for:
先保主条目,再扩张;先保真实状态,再汇报完成。
默认从 0 开始。 If the user gives only one short idea / one sentence / one文案, this skill must start from the Seedance pre-production side:
Do not jump directly into middle-stage project APIs, image regeneration, or video submission unless the user explicitly says they already have script/storyboard/panels ready.
Treat the pipeline as 7 execution phases instead of abstract layers:
When the user does not specify otherwise:
Before running, decide which mode the user is asking for.
Use when the user wants one clip fully usable before anything else.
Default behavior:
Use when the user wants to inspect intermediate outputs.
Typical checkpoints:
Use when the user says “直接做 / 不要一步步问 / 额度有限”.
Default behavior:
Read: references/checkpoint-policy.md
The pipeline should run internally end-to-end, but it must pause for user decision at only two checkpoints:
If user provides modification hints at either checkpoint, do not handcraft edits manually; route hints back into workflow driver via revision approvals.
Exception:
runtime.pipelineMode=vidu_simple, the flow may run direct video generation from topic without mandatory pre-production checkpoints (unless user explicitly asks for checkpoint mode).When scheduling with scripts/run-seedance-workflow.cjs, continue actions must map to stage-specific approvals:
seedance-four-pack-confirm
--approval four-pack-approved--approval revise-four-pack --revision-note "<用户修改意见>"first-image-confirm / first-image-internal-generated / first-image-asset-confirm
--approval first-image-approved--approval revise-first-image --revision-note "<用户修改意见>"first-image-asset-blocked (配置补齐后重试首图)
--approval retry-first-imageIf approval value and stage do not match, the driver must stop with explicit error instead of silently continuing.
On first run, do not force internal words like provider on the user.
Use only:
Auto-detect runtime.pipelineMode:
minimax_full (full upstream + downstream)vidu_simple (direct video-first, minimal keys)seedance_simple (direct video-first, minimal keys)Use capability-based routing (not hardcoded model names):
text->video providerimage+text->video providertext->image firstDefault routing rule (image + text input):
first_frame binding and skip first-image asset generation.Runtime overrides:
--video-vendor <seedance|vidu|minimax>--image-vendor <seedance|minimax>--prompt-mode <text-only|first-last-frame|all-reference>--prompt-style "..."--prompt-camera "..."--prompt-scenario <general|ecommerce|narrative|mv|tutorial>--prompt-auto-fallback <true|false>(默认 true)--prompt-min-score <0-100>(默认 80)Prompt engineering overlay (now built-in):
run-seedance-workflow.cjs --action start will generate prompt-pack.result.jsonpromptQuality(score/level/suggestions)用于快速判断可用性promptFallback reportscripts/build-seedance-prompt-pack.cjsASR routing (subtitle alignment):
volc_asr_auc (X-Api-Key + volc.seedasr.auc)volc_vc (appid + token, resource vc.async.default)faster-whisperWhen user explicitly requests “按剧本锁定/严格按剧本”: prefer Seedance strict-script profile
content: text + image_url(first_frame)duration / resolution / generate_audio / camera_fixed / draft / seed / return_last_framefirst_frame/last_frame with reference_image in one request bodyAdapter note (current release):
minimax / vidu / seedancedownstream.waoo.video/image) or multi-map (downstream.waoo.videos.*, downstream.waoo.images.*)If configuration is incomplete, run-seedance-workflow.cjs --action start must return a structured configuration-guidance result instead of throwing or silently continuing.
Hard rule for formal Seedance execution:
E01_前置思考.md / E01_剧本.md count as formal Seedance outputs only when upstream.seedance is independently configured with a real 厂商 / 接口地址 / 模型名 / API Key.upstream.seedance is missing, placeholder-only, or uses demo credentials, explicitly say that formal Seedance pre-production is not yet runnable and switch to configuration guidance mode.Read:
references/first-run-guidance.mdreferences/configuration-template.mdWhen the user starts from only a topic /一句文案, do not jump directly into script body or production calls. First build a compact Story Intent Brief that locks:
This brief is part of the formal Seedance pre-production stage, not an optional private thought.
It should be reflected forward into E01_剧本.md, E01_素材清单.md, and E01_分镜.md.
User confirmation rule:
E01_前置思考.md, E01_剧本.md, E01_素材清单.md, E01_分镜.md), surface that pack to the user for confirmation.Read:
references/story-pack-spec.mdreferences/pipeline-overview.mdBefore first-image or video submit, apply Seedance prompt-engineering guardrails:
@image1/@video1/@audio1 each controls what).If user asks for style-rich cinematic prompts, generate from the prompt playbook and then map into panel execution context (instead of freeform rewriting every time).
Read:
references/seedance-prompt-engineering.mdBefore generating anything, lock the exact target:
If the target is ambiguous, resolve it first. Do not generate against a guessed panel.
Resolve the active inputs:
srtSegment or equivalent)If multiple versions exist, choose the current main clip explicitly.
Before a new generation or first-image approval, run a guard pass for:
Read:
references/waoo-input-spec.mdreferences/clip-state-contract.mdreferences/panel-order-guard.mdIf the clip does not exist yet:
Possible classifications:
If the clip already exists, do not regenerate unless the user asks.
Read:
references/model-routing.mdreferences/runtime-policy.mdreferences/output-contract.mdreferences/failure-fallbacks.mdFor a single clip, finish in this order:
The active subtitle text wins unless the user explicitly changes it. Do not borrow text from neighboring panels.
Audio strategy must match the user’s request:
Read:
references/audio-policy.mdLipsync is optional and should only be used when clearly requested. Do not assume lipsync belongs in the main path.
If lipsync is used:
Read:
references/lipsync-decision-tree.mdOnly merge clips after each included clip has an honest state label.
Before merging:
Merged output should not be reported as “完整成片” if one included clip is still experimental.
Read:
references/rhythm-rules.mdreferences/audio-policy.mdAlways distinguish:
Never call a clip “final” if:
Always report in this structure:
Never blur these categories:
references/pipeline-overview.mdreferences/story-pack-spec.mdreferences/waoo-input-spec.mdreferences/model-routing.mdreferences/runtime-policy.mdreferences/output-contract.mdreferences/failure-fallbacks.mdreferences/checkpoint-policy.mdreferences/clip-state-contract.mdreferences/audio-policy.mdreferences/lipsync-decision-tree.mdreferences/rhythm-rules.mdreferences/panel-order-guard.mdKeep deterministic helper scripts small and single-purpose.
Current scripts:
scripts/get-panel-context.tsscripts/guard-panel-order.tsscripts/guard-merge-order.tsscripts/prepare-video-submit.tsscripts/submit-official-video.tsscripts/merge-final-videos.tsscripts/poll-official-video.tsscripts/download-official-video.tsscripts/generate-tts.ts (TTS 选择后子脚本级配置检查,缺失返回结构化 configuration-guidance)scripts/check-asr-config.ts (ASR 选择后子脚本级配置检查,缺失返回结构化 configuration-guidance)scripts/prepare-ambience.ts (环境音选择后子脚本级配置检查,AI 模式缺失返回结构化 configuration-guidance)scripts/mix-final-video.tsscripts/build-delivery-manifest.tsscripts/self-test-workflow-driver.cjs (用于校验 workflow driver 的阶段/审批映射)scripts/run-video-submit-chain.cjs (首图确认后统一调度 提交/轮询/下载)scripts/build-dispatch-plan.cjs (只产出调度指令与检查点,不执行)scripts/diagnose-environment.cjs (新机器首跑环境自检)A clip is fully delivered only if all are true:
If any item is missing, report the clip as partial, not complete.