{
  "schemaVersion": "1.0",
  "item": {
    "slug": "seedance-story-orchestrator",
    "name": "Seedance Video Generation Extension",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/KKenny0/seedance-story-orchestrator",
    "canonicalUrl": "https://clawhub.ai/KKenny0/seedance-story-orchestrator",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/seedance-story-orchestrator",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=seedance-story-orchestrator",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/build_subagent_task.py",
      "scripts/concat_videos.py",
      "scripts/orchestrate_story.py",
      "scripts/prepare_storyboard.py",
      "scripts/run_story.py"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/seedance-story-orchestrator"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/seedance-story-orchestrator",
    "agentPageUrl": "https://openagent3.xyz/skills/seedance-story-orchestrator/agent",
    "manifestUrl": "https://openagent3.xyz/skills/seedance-story-orchestrator/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/seedance-story-orchestrator/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Seedance Story Orchestrator (v0.2.0-phase1)",
        "body": "阶段性方案（Phase 1）：\n\n上层编排：seedance-story-orchestrator\n下层执行：seedance-video-generation/seedance.py\n\n以“可审计、可恢复、可控推进”为第一目标。"
      },
      {
        "title": "Workflow（严格关卡）",
        "body": "固定阶段顺序：\n\noutline -> episode_plan -> storyboard -> storyboard_images -> render\n\n规则：\n\n每阶段执行后写入 checkpoint-{stage}.json，默认 confirmed=false\n未确认时，run 会立即停止并返回：\n\npending_confirmation_stage\nnext_action\n\n\n必须 confirm --stage <stage> 后再继续下一阶段"
      },
      {
        "title": "Prerequisites",
        "body": "Python 3.8+\nseedance-video-generation skill（必须可访问 seedance.py）\nARK_API_KEY\nFFmpeg（用于拼接最终视频）"
      },
      {
        "title": "Quick Start（推荐）",
        "body": "# 1) 运行到 render（会在每个关卡停下）\npython3 {baseDir}/scripts/run_story.py run \\\n  --project-dir {baseDir}/outputs/my-project \\\n  --input-file /path/to/story.txt \\\n  --stage render\n\n# 2) 按提示确认阶段（示例）\npython3 {baseDir}/scripts/run_story.py confirm \\\n  --project-dir {baseDir}/outputs/my-project \\\n  --stage outline\n\n# 3) 查看整体状态\npython3 {baseDir}/scripts/run_story.py status \\\n  --project-dir {baseDir}/outputs/my-project"
      },
      {
        "title": "End-to-End（从剧本到成片）",
        "body": "# 首次运行（会停在 outline）\npython3 {baseDir}/scripts/run_story.py run \\\n  --project-dir ./my-project \\\n  --input-file ./story.txt \\\n  --stage render\n\n# 逐关确认并继续\npython3 {baseDir}/scripts/run_story.py confirm --project-dir ./my-project --stage outline\npython3 {baseDir}/scripts/run_story.py run --project-dir ./my-project --stage render\n\npython3 {baseDir}/scripts/run_story.py confirm --project-dir ./my-project --stage episode_plan\npython3 {baseDir}/scripts/run_story.py run --project-dir ./my-project --stage render\n\npython3 {baseDir}/scripts/run_story.py confirm --project-dir ./my-project --stage storyboard\npython3 {baseDir}/scripts/run_story.py run --project-dir ./my-project --stage render\n\npython3 {baseDir}/scripts/run_story.py confirm --project-dir ./my-project --stage storyboard_images\npython3 {baseDir}/scripts/run_story.py run --project-dir ./my-project --stage render\n\npython3 {baseDir}/scripts/run_story.py confirm --project-dir ./my-project --stage render\n\n最终视频路径：\n./my-project/videos/run-YYYYMMDD-HHMMSS/final-video.mp4"
      },
      {
        "title": "1) 非结构化输入（默认推荐：sub-agent-first）",
        "body": "# 先生成 sub-agent 任务\npython3 {baseDir}/scripts/build_subagent_task.py \\\n  --input-file /path/to/raw.txt \\\n  --output {baseDir}/outputs/subagent-task.txt\n\n# 用 sessions_spawn 执行后，拿到结构化 JSON，再喂给 prepare\npython3 {baseDir}/scripts/prepare_storyboard.py \\\n  --input-file /path/to/subagent-output.json \\\n  --output-dir {baseDir}/outputs"
      },
      {
        "title": "2) 直接文本/JSON输入",
        "body": "python3 {baseDir}/scripts/prepare_storyboard.py \\\n  --input-file /path/to/story.txt \\\n  --output-dir {baseDir}/outputs"
      },
      {
        "title": "3) staged artifacts 输入",
        "body": "python3 {baseDir}/scripts/prepare_storyboard.py \\\n  --staged-artifacts /path/to/staged-artifacts.v1.json \\\n  --output-dir {baseDir}/outputs"
      },
      {
        "title": "Prepare",
        "body": "python3 {baseDir}/scripts/prepare_storyboard.py \\\n  --input-file /path/to/story.txt \\\n  --output-dir {baseDir}/outputs"
      },
      {
        "title": "Storyboard Images（Seedream）",
        "body": "python3 {baseDir}/scripts/seedream_image.py storyboard \\\n  --storyboard /path/to/storyboard.draft.v1.json \\\n  --output-dir {baseDir}/outputs/images"
      },
      {
        "title": "Render Videos（Seedance）",
        "body": "python3 {baseDir}/scripts/orchestrate_story.py run \\\n  --storyboard /path/to/storyboard.draft.v1.json \\\n  --output-dir {baseDir}/outputs/videos"
      },
      {
        "title": "Concat Final Video",
        "body": "python3 {baseDir}/scripts/concat_videos.py \\\n  --run-dir {baseDir}/outputs/videos/run-YYYYMMDD-HHMMSS"
      },
      {
        "title": "Artifacts",
        "body": "主要产物：\n\nplan-*/storyboard.draft.v1.json\nplan-*/assets.v1.json\nplan-*/staged-artifacts.v1.json\ncheckpoint-{stage}.json\nvideos/run-*/result-index.json\nvideos/run-*/run-summary.json\nvideos/run-*/final-video.mp4"
      },
      {
        "title": "Schemas & References",
        "body": "references/storyboard-v1.schema.json\nreferences/assets-v1.schema.json\nreferences/staged-artifacts-v1.schema.json\nreferences/subagent-parser-contract.md\ndocs/design-doc-v0.2.0-phase1.md\ndocs/logic-flow-v0.2.0-phase1.md"
      },
      {
        "title": "Notes (Phase 1)",
        "body": "当前是阶段性方案：优先可控、可恢复、可审计\n自动“回传最终视频到会话”不在本阶段强制实现（可在 Phase 2 增加）\nrun_story.py 已内置混合日志 JSON 解析与严格关卡机制"
      }
    ],
    "body": "Seedance Story Orchestrator (v0.2.0-phase1)\n\n阶段性方案（Phase 1）：\n\n上层编排：seedance-story-orchestrator\n下层执行：seedance-video-generation/seedance.py\n\n以“可审计、可恢复、可控推进”为第一目标。\n\nWorkflow（严格关卡）\n\n固定阶段顺序：\n\noutline -> episode_plan -> storyboard -> storyboard_images -> render\n\n规则：\n\n每阶段执行后写入 checkpoint-{stage}.json，默认 confirmed=false\n未确认时，run 会立即停止并返回：\npending_confirmation_stage\nnext_action\n必须 confirm --stage <stage> 后再继续下一阶段\nPrerequisites\nPython 3.8+\nseedance-video-generation skill（必须可访问 seedance.py）\nARK_API_KEY\nFFmpeg（用于拼接最终视频）\nQuick Start（推荐）\n# 1) 运行到 render（会在每个关卡停下）\npython3 {baseDir}/scripts/run_story.py run \\\n  --project-dir {baseDir}/outputs/my-project \\\n  --input-file /path/to/story.txt \\\n  --stage render\n\n# 2) 按提示确认阶段（示例）\npython3 {baseDir}/scripts/run_story.py confirm \\\n  --project-dir {baseDir}/outputs/my-project \\\n  --stage outline\n\n# 3) 查看整体状态\npython3 {baseDir}/scripts/run_story.py status \\\n  --project-dir {baseDir}/outputs/my-project\n\nEnd-to-End（从剧本到成片）\n# 首次运行（会停在 outline）\npython3 {baseDir}/scripts/run_story.py run \\\n  --project-dir ./my-project \\\n  --input-file ./story.txt \\\n  --stage render\n\n# 逐关确认并继续\npython3 {baseDir}/scripts/run_story.py confirm --project-dir ./my-project --stage outline\npython3 {baseDir}/scripts/run_story.py run --project-dir ./my-project --stage render\n\npython3 {baseDir}/scripts/run_story.py confirm --project-dir ./my-project --stage episode_plan\npython3 {baseDir}/scripts/run_story.py run --project-dir ./my-project --stage render\n\npython3 {baseDir}/scripts/run_story.py confirm --project-dir ./my-project --stage storyboard\npython3 {baseDir}/scripts/run_story.py run --project-dir ./my-project --stage render\n\npython3 {baseDir}/scripts/run_story.py confirm --project-dir ./my-project --stage storyboard_images\npython3 {baseDir}/scripts/run_story.py run --project-dir ./my-project --stage render\n\npython3 {baseDir}/scripts/run_story.py confirm --project-dir ./my-project --stage render\n\n\n最终视频路径： ./my-project/videos/run-YYYYMMDD-HHMMSS/final-video.mp4\n\nInput Modes\n1) 非结构化输入（默认推荐：sub-agent-first）\n# 先生成 sub-agent 任务\npython3 {baseDir}/scripts/build_subagent_task.py \\\n  --input-file /path/to/raw.txt \\\n  --output {baseDir}/outputs/subagent-task.txt\n\n# 用 sessions_spawn 执行后，拿到结构化 JSON，再喂给 prepare\npython3 {baseDir}/scripts/prepare_storyboard.py \\\n  --input-file /path/to/subagent-output.json \\\n  --output-dir {baseDir}/outputs\n\n2) 直接文本/JSON输入\npython3 {baseDir}/scripts/prepare_storyboard.py \\\n  --input-file /path/to/story.txt \\\n  --output-dir {baseDir}/outputs\n\n3) staged artifacts 输入\npython3 {baseDir}/scripts/prepare_storyboard.py \\\n  --staged-artifacts /path/to/staged-artifacts.v1.json \\\n  --output-dir {baseDir}/outputs\n\nCore Commands\nPrepare\npython3 {baseDir}/scripts/prepare_storyboard.py \\\n  --input-file /path/to/story.txt \\\n  --output-dir {baseDir}/outputs\n\nStoryboard Images（Seedream）\npython3 {baseDir}/scripts/seedream_image.py storyboard \\\n  --storyboard /path/to/storyboard.draft.v1.json \\\n  --output-dir {baseDir}/outputs/images\n\nRender Videos（Seedance）\npython3 {baseDir}/scripts/orchestrate_story.py run \\\n  --storyboard /path/to/storyboard.draft.v1.json \\\n  --output-dir {baseDir}/outputs/videos\n\nConcat Final Video\npython3 {baseDir}/scripts/concat_videos.py \\\n  --run-dir {baseDir}/outputs/videos/run-YYYYMMDD-HHMMSS\n\nArtifacts\n\n主要产物：\n\nplan-*/storyboard.draft.v1.json\nplan-*/assets.v1.json\nplan-*/staged-artifacts.v1.json\ncheckpoint-{stage}.json\nvideos/run-*/result-index.json\nvideos/run-*/run-summary.json\nvideos/run-*/final-video.mp4\nSchemas & References\nreferences/storyboard-v1.schema.json\nreferences/assets-v1.schema.json\nreferences/staged-artifacts-v1.schema.json\nreferences/subagent-parser-contract.md\ndocs/design-doc-v0.2.0-phase1.md\ndocs/logic-flow-v0.2.0-phase1.md\nNotes (Phase 1)\n当前是阶段性方案：优先可控、可恢复、可审计\n自动“回传最终视频到会话”不在本阶段强制实现（可在 Phase 2 增加）\nrun_story.py 已内置混合日志 JSON 解析与严格关卡机制"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/KKenny0/seedance-story-orchestrator",
    "publisherUrl": "https://clawhub.ai/KKenny0/seedance-story-orchestrator",
    "owner": "KKenny0",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/seedance-story-orchestrator",
    "downloadUrl": "https://openagent3.xyz/downloads/seedance-story-orchestrator",
    "agentUrl": "https://openagent3.xyz/skills/seedance-story-orchestrator/agent",
    "manifestUrl": "https://openagent3.xyz/skills/seedance-story-orchestrator/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/seedance-story-orchestrator/agent.md"
  }
}