Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Seedance + Waoo 短视频流水线

v1.1.4

自动化短视频工作流(story-to-video pipeline):从剧本/分镜到生成、字幕 ASR、TTS、合并交付,支持 Seedance / Vidu / MiniMax 多厂商路由。

1· 164·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for wusyu/seedance-waoo-video-pipeline.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Seedance + Waoo 短视频流水线" (wusyu/seedance-waoo-video-pipeline) from ClawHub.
Skill page: https://clawhub.ai/wusyu/seedance-waoo-video-pipeline
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install seedance-waoo-video-pipeline

ClawHub CLI

Package manager switcher

npx clawhub@latest install seedance-waoo-video-pipeline
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description match the actual code and instructions: many scripts implement storyboard/prompt generation, first-image, video submit/poll/download, ASR/TTS checks and config guidance. Requiring vendor API keys in the pipeline config (not as environment variables) is expected for a multi-vendor media pipeline.
Instruction Scope
SKILL.md and scripts instruct the agent to read pipeline config/state files, generate artifacts, run local node scripts, spawn helper binaries (ffmpeg/tsx) and call vendor APIs to submit/poll/download media — all within the stated pipeline scope. Checkpoints and user-approval steps are explicit and limit autonomous actions.
Install Mechanism
No install spec; code is instruction-and-script-only. That keeps risk lower because nothing is fetched/installed by an installer step. The code may still download media from configured vendor URLs at runtime (expected behavior).
Credentials
Registry metadata lists no required env vars, and the skill does not demand platform secrets, but it does expect APIKey values inside a JSON pipeline config (config/pipeline.config.json or user-provided path). This is reasonable but note the difference: secrets are stored in config files rather than declared env vars; the skill checks and uses those API keys to call vendor endpoints.
Persistence & Privilege
always is false and the skill is user-invocable. It runs local scripts that read/write files under workspace and may spawn child processes (ffmpeg/node); this is expected for a media pipeline and does not request system-wide persistent privileges.
Assessment
This skill appears to do what it says, but before installing: - Review and supply pipeline config (config/pipeline.config.json). The skill expects vendor 'API Key' fields in that config; treat them as secrets. - Only put API keys for vendors you trust into the config; don't paste unrelated credentials. - The runtime will read/write files in the workspace and may call out to vendor endpoints to submit/poll/download media. If you want to limit exposure, run it in an isolated/test environment and use test/demo keys first. - The scripts spawn local binaries (ffmpeg/ffprobe/tsx/node). If you do not want local media processing, ensure those binaries are absent or disabled. - If you need stronger assurance, inspect any omitted files (remaining 47 files) for network endpoints or unusual code paths; consider running under restricted network or containerized environment. - Autonomous invocation is allowed by default but the skill's SKILL.md defines explicit checkpoints — still review triggers and only enable runtime autonomy if you are comfortable with that behavior.
scripts/_shared.ts:294
Shell command execution detected (child_process).
scripts/continue-after-first-image.cjs:41
Shell command execution detected (child_process).
scripts/continue-seedance-flow.cjs:114
Shell command execution detected (child_process).
scripts/diagnose-environment.cjs:37
Shell command execution detected (child_process).
scripts/merge-final-videos.ts:73
Shell command execution detected (child_process).
scripts/mix-final-video.ts:33
Shell command execution detected (child_process).
scripts/run-seedance-entry.cjs:145
Shell command execution detected (child_process).
scripts/run-seedance-workflow.cjs:40
Shell command execution detected (child_process).
scripts/run-video-submit-chain.cjs:74
Shell command execution detected (child_process).
scripts/self-test-prompt-pack.cjs:17
Shell command execution detected (child_process).
scripts/self-test-workflow-driver.cjs:39
Shell command execution detected (child_process).
scripts/_shared.ts:307
Environment variable access combined with network send.
!
scripts/_shared.ts:101
File read combined with network send (possible exfiltration).
!
scripts/download-official-video.cjs:26
File read combined with network send (possible exfiltration).
!
scripts/generate-first-image-asset.cjs:26
File read combined with network send (possible exfiltration).
!
scripts/generate-first-image-pack.cjs:38
File read combined with network send (possible exfiltration).
!
scripts/generate-seedance-pack.cjs:40
File read combined with network send (possible exfiltration).
!
scripts/poll-official-video.cjs:26
File read combined with network send (possible exfiltration).
!
scripts/submit-official-video.cjs:26
File read combined with network send (possible exfiltration).
Patterns worth reviewing
These patterns may indicate risky behavior. Check the VirusTotal and OpenClaw results above for context-aware analysis before installing.

Like a lobster shell, security has layers — review code before you run it.

latestvk974af446zb5ky18f7h37erztd842fvhseedancevk974af446zb5ky18f7h37erztd842fvhshort-videovk974af446zb5ky18f7h37erztd842fvhstoryboardvk974af446zb5ky18f7h37erztd842fvhttsvk974af446zb5ky18f7h37erztd842fvhvideo-pipelinevk974af446zb5ky18f7h37erztd842fvhwaoowaoovk974af446zb5ky18f7h37erztd842fvh
164downloads
1stars
6versions
Updated 3w ago
v1.1.4
MIT-0

Seedance + waoowaoo Video Pipeline

Overview

Use this skill for story-to-short-video work where:

  • Seedance handles pre-production thinking
  • waoowaoo handles production state and media execution
  • delivery must distinguish raw / subtitled / voiced / final / merged outputs

Seedance upstream must support its own independent configuration for:

  • 厂商
  • 接口地址
  • 模型名
  • API Key

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.

When to use

Typical triggers:

  • “把小说做成短视频”
  • “先出分镜,再出片”
  • “统一风格做连续短视频”
  • “先保一条完整可交付视频”
  • “做 6 秒短视频流水线”
  • “先做一条,再继续拼接后面的”

Trigger rules

Auto-trigger

Trigger this skill immediately when:

  • the user wants to turn a story / novel / bridge scene into short video
  • the user asks for script → storyboard → video flow
  • the user asks for a continuous multi-clip narrative short video
  • the user gives only one topic / one sentence / 一句文案 and expects the agent to start from scratch

Conditional trigger

Use this skill but enter mid-pipeline when the user already has part of the chain ready, such as:

  • existing script
  • existing storyboard
  • existing panel ids / panel images
  • existing raw clips
  • existing subtitle / TTS / ambience outputs

In that case, resume from the highest reliable completed stage instead of forcing a full restart.

Do not trigger

Do not use this skill for:

  • one-off format conversion
  • long-form manual editing
  • DAW-heavy sound design
  • workflows that depend on fragile manual web login
  • pure technical maintenance that is not story-to-video production

Core principle

先保主条目,再扩张;先保真实状态,再汇报完成。

默认从 0 开始。 If the user gives only one short idea / one sentence / one文案, this skill must start from the Seedance pre-production side:

  • story intent
  • script line
  • story pack
  • storyboard / panel plan
  • first image approval
  • then downstream video generation

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:

  1. 剧本前置思考 / Story Intent Brief
  2. 目标确认
  3. 素材确认
  4. 视频生成 / 获取
  5. 单条完善
  6. 多条拼接
  7. 交付汇报

Default execution policy

When the user does not specify otherwise:

  1. Prefer one fully finished main clip over many half-finished clips
  2. Treat database/project state as source of truth
  3. Do not count probe tasks as formal deliverables
  4. Subtitle text is authoritative unless the user explicitly overrides it
  5. Ambience must sound like environment, not generic music bed
  6. If quota is tight, finish the current main clip end-to-end before expanding
  7. Lipsync is an optional downstream stage, not a default requirement

User modes

Before running, decide which mode the user is asking for.

Mode A — 单条保交付模式

Use when the user wants one clip fully usable before anything else.

Default behavior:

  • lock one clip as the main target
  • do not expand to neighbors until this clip is stable
  • prioritize end-to-end delivery over exploration

Mode B — 逐步确认模式

Use when the user wants to inspect intermediate outputs.

Typical checkpoints:

  • outline / story pack
  • image / keyframe
  • main raw video
  • audio direction
  • final single clip
  • merged cut

Mode C — 配额敏感直跑模式

Use when the user says “直接做 / 不要一步步问 / 额度有限”.

Default behavior:

  • only stop at high-risk checkpoints
  • avoid exploratory retries
  • preserve formal/probe distinction strictly

Read: references/checkpoint-policy.md

Human-in-loop checkpoints (only two)

The pipeline should run internally end-to-end, but it must pause for user decision at only two checkpoints:

  1. 四件套确认(剧本阶段)
  2. 首图确认(首图阶段)

If user provides modification hints at either checkpoint, do not handcraft edits manually; route hints back into workflow driver via revision approvals.

Exception:

  • when 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).

Unified workflow driver approvals

When scheduling with scripts/run-seedance-workflow.cjs, continue actions must map to stage-specific approvals:

  • seedance-four-pack-confirm
    • pass: --approval four-pack-approved
    • revise: --approval revise-four-pack --revision-note "<用户修改意见>"
  • first-image-confirm / first-image-internal-generated / first-image-asset-confirm
    • pass: --approval first-image-approved
    • revise: --approval revise-first-image --revision-note "<用户修改意见>"
  • first-image-asset-blocked (配置补齐后重试首图)
    • retry: --approval retry-first-image

If approval value and stage do not match, the driver must stop with explicit error instead of silently continuing.

First-run configuration

On first run, do not force internal words like provider on the user. Use only:

  • 厂商
  • 接口地址
  • 模型名
  • API Key

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 only: route to best text->video provider
  • image + text: route to best image+text->video provider
  • text only + user requests first-image preview: route text->image first

Default routing rule (image + text input):

  • If user already provides a reference image, after four-pack confirmation prefer direct first_frame binding and skip first-image asset generation.
  • Keep script/storyboard continuity constraints, but bind identity from source image at pixel level.

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.json
  • output includes: mode, assets mapping, timecoded beats, structured prompt blocks
  • workflow result also includes promptQuality(score/level/suggestions)用于快速判断可用性
  • when score < threshold, workflow can auto-try alternate scenarios and output promptFallback report
  • implementation script: scripts/build-seedance-prompt-pack.cjs

ASR routing (subtitle alignment):

  • prefer volc_asr_auc (X-Api-Key + volc.seedasr.auc)
  • fallback volc_vc (appid + token, resource vc.async.default)
  • fallback local faster-whisper

When user explicitly requests “按剧本锁定/严格按剧本”: prefer Seedance strict-script profile

  • content: text + image_url(first_frame)
  • explicit duration / resolution / generate_audio / camera_fixed / draft / seed / return_last_frame
  • do not mix first_frame/last_frame with reference_image in one request body

Adapter note (current release):

  • direct video submit/poll/download adapters are built-in for minimax / vidu / seedance
  • config can be single-block (downstream.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:

  • Phase 0 / E01_前置思考.md / E01_剧本.md count as formal Seedance outputs only when upstream.seedance is independently configured with a real 厂商 / 接口地址 / 模型名 / API Key.
  • Do not silently substitute the current chat model as the formal Seedance upstream model.
  • If 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.md
  • references/configuration-template.md

Phase 0 — 剧本前置思考 / Story Intent Brief

When 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:

  • what exact event this episode is covering
  • where Episode 1 begins and ends
  • core conflict
  • primary viewpoint
  • intended style / tone
  • rhythm shape (铺垫 / 设局 / 爆发 / 反转)
  • whether the idea is better as one clip, one episode, or multi-clip chain
  • obvious production risks

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:

  • After formal Seedance generates the four-pack (E01_前置思考.md, E01_剧本.md, E01_素材清单.md, E01_分镜.md), surface that pack to the user for confirmation.
  • Do not continue into first-image generation, panel execution, or downstream video generation until the user confirms the four-pack.
  • Treat this as a required checkpoint, not an optional courtesy.
  • After the four-pack is confirmed, the skill may continue internally to generate the first-image candidate.
  • Do not surface the first-image prompt/spec bundle to the user by default.
  • Instead, surface the actual generated first-image asset to the user, and require that approval before any downstream video generation.
  • The user only confirms or requests changes.
  • The assistant's job is only to notify the skill to continue after confirmation.
  • The next internal workflow steps must still be executed by the skill's own continuation entrypoints, not improvised manually by the assistant.

Read:

  • references/story-pack-spec.md
  • references/pipeline-overview.md

Phase 0.5 — Prompt Engineering Overlay(已并入)

Before first-image or video submit, apply Seedance prompt-engineering guardrails:

  1. Declare mode first: Text-only / First-Frame / First+Last / All-Reference.
  2. Add explicit Assets Mapping (@image1/@video1/@audio1 each controls what).
  3. Use timecoded beats (one major action per segment).
  4. Keep prompt concise and controllable; add Negative Constraints when needed.
  5. For strict-script requests, prioritize identity continuity + camera continuity.

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.md

Phase 1 — 目标确认

Before generating anything, lock the exact target:

  • episode id
  • panel id / panelIndex
  • main clip vs neighbor clip
  • whether the user wants single clip or merged output
  • whether the user wants plain mix or optional lipsync

If the target is ambiguous, resolve it first. Do not generate against a guessed panel.

Phase 2 — 素材确认

Resolve the active inputs:

  • source image / first-frame image
  • active subtitle text (srtSegment or equivalent)
  • current video prompt
  • existing raw outputs
  • existing TTS / ambience / merged versions

If multiple versions exist, choose the current main clip explicitly.

Before a new generation or first-image approval, run a guard pass for:

  • panel identity lock
  • image/text/panel consistency
  • ordering / duplicate check when multiple panels are involved

Read:

  • references/waoo-input-spec.md
  • references/clip-state-contract.md
  • references/panel-order-guard.md

Phase 3 — 视频生成 / 获取

If the clip does not exist yet:

  1. prepare valid input media
  2. submit video task
  3. poll status
  4. retrieve file / real media URL
  5. download the actual file
  6. classify the result

Possible classifications:

  • probe only
  • formal success
  • duplicate of existing clip
  • failed

If the clip already exists, do not regenerate unless the user asks.

Read:

  • references/model-routing.md
  • references/runtime-policy.md
  • references/output-contract.md
  • references/failure-fallbacks.md

Phase 4 — 单条完善

For a single clip, finish in this order:

  1. subtitle alignment
  2. TTS / dialogue decision
  3. ambience decision
  4. optional lipsync
  5. final single-clip export

Subtitle rule

The active subtitle text wins unless the user explicitly changes it. Do not borrow text from neighboring panels.

Audio rule

Audio strategy must match the user’s request:

  • 旁白为主
  • 环境音优先
  • 不要明显配乐
  • 只要无台词环境版
  • 要真实说话感 / 要口型验证

Read:

  • references/audio-policy.md

Lipsync rule

Lipsync is optional and should only be used when clearly requested. Do not assume lipsync belongs in the main path.

If lipsync is used:

  • keep the original full clip as the base truth
  • treat lipsync output as a candidate until duration / sync / naturalness are checked
  • never silently replace the formal main clip with an obviously shortened or degraded result

Read:

  • references/lipsync-decision-tree.md

Phase 5 — 多条拼接

Only merge clips after each included clip has an honest state label.

Before merging:

  • confirm ordering
  • confirm each clip’s delivery state
  • confirm whether to use raw / voiced / ambience / lipsync version
  • rebalance cross-clip ambience and loudness

Merged output should not be reported as “完整成片” if one included clip is still experimental.

Read:

  • references/rhythm-rules.md
  • references/audio-policy.md

Phase 6 — 交付汇报

Always distinguish:

  • raw generated clip
  • subtitled clip
  • subtitle + TTS clip
  • final single clip
  • merged clip

Never call a clip “final” if:

  • narration and subtitle are misaligned
  • ambience is claimed but not actually audible
  • the file was accidentally truncated
  • the result only came from a probe task

Result reporting policy

Always report in this structure:

  • 结论
  • 关键点 (1–2 items)
  • 下一步

Never blur these categories:

  • probe success
  • formal success
  • duplicate output
  • temporary preview
  • final delivery

References to load when needed

  • references/pipeline-overview.md
  • references/story-pack-spec.md
  • references/waoo-input-spec.md
  • references/model-routing.md
  • references/runtime-policy.md
  • references/output-contract.md
  • references/failure-fallbacks.md
  • references/checkpoint-policy.md
  • references/clip-state-contract.md
  • references/audio-policy.md
  • references/lipsync-decision-tree.md
  • references/rhythm-rules.md
  • references/panel-order-guard.md

Scripts provided

Keep deterministic helper scripts small and single-purpose.

Current scripts:

  • scripts/get-panel-context.ts
  • scripts/guard-panel-order.ts
  • scripts/guard-merge-order.ts
  • scripts/prepare-video-submit.ts
  • scripts/submit-official-video.ts
  • scripts/merge-final-videos.ts
  • scripts/poll-official-video.ts
  • scripts/download-official-video.ts
  • scripts/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.ts
  • scripts/build-delivery-manifest.ts
  • scripts/self-test-workflow-driver.cjs (用于校验 workflow driver 的阶段/审批映射)
  • scripts/run-video-submit-chain.cjs (首图确认后统一调度 提交/轮询/下载)
  • scripts/build-dispatch-plan.cjs (只产出调度指令与检查点,不执行)
  • scripts/diagnose-environment.cjs (新机器首跑环境自检)

Guardrails

  • Do not expand from one clip to many unless the current main clip is stable or the user explicitly asks
  • Do not count probes as formal deliverables
  • Do not report “统一风格完成” unless the compared clips were intentionally validated as consistent
  • Do not claim environment sound exists unless it is clearly audible and semantically correct
  • Do not use a different panel’s text for the active clip narration
  • Do not hide failures behind “looks okay”

Success definition

A clip is fully delivered only if all are true:

  1. the target clip/panel is correctly identified
  2. the video file is formally generated or formally accepted
  3. subtitles match the clip content
  4. narration/dialogue policy matches the user’s request
  5. ambience is correct for the scene and audible
  6. final mp4 is exportable and sendable
  7. delivery status is reported truthfully

If any item is missing, report the clip as partial, not complete.

Comments

Loading comments...