# Seedance Video Workflow

> Guide a user through a choice-first video production workflow, convert the answers into a structured director plan, generate clips with the Seedance API, run technical and semantic audits, and assemble deliverables. Use when the user invokes $seedance-video-workflow or asks for a guided Seedance video workflow, one-click AI video production, storyboard-to-video generation, or reusable video produ…

- **Type:** Skill
- **Install:** `agentstack add skill-lincwang123-bot-seedance-video-workflow-seedance-video-workflow`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [lincwang123-bot](https://agentstack.voostack.com/s/lincwang123-bot)
- **Installs:** 0
- **Category:** [Content & Media](https://agentstack.voostack.com/c/content-and-media)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [lincwang123-bot](https://github.com/lincwang123-bot)
- **Source:** https://github.com/lincwang123-bot/seedance-video-workflow/tree/main/skills/seedance-video-workflow

## Install

```sh
agentstack add skill-lincwang123-bot-seedance-video-workflow-seedance-video-workflow
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Seedance 视频工作流

把用户可见流程压缩为选择题，把导演规划、提示词编译、任务恢复、审计和合成放到后台执行。

## 交互规则

1. 每次只问一个问题。
2. 优先使用界面中的选择题工具；不可用时，给出 `1/2/3` 编号选项并等待用户选择。
3. 除以下三类不可枚举数据外，不问开放式问题：
   - API Key：只允许用户在本地隐藏输入，绝不要求在聊天中粘贴。
   - 内容载荷：允许一行结构化简述、一个本地文件路径或一个 URL。
   - 用户明确选择“自定义”后必需的名称、路径或约束。
4. 不一次展示整份问卷，不把导演、审计或提示词细节丢给用户决定。
5. 不在用户完成前一步前跳到下一步。
6. 所有付费生成前都显示预计调用次数，并用选择题取得明确确认。

详细选项和推荐默认值见 [questions.md](references/questions.md)。严格按顺序提问。

## 第一步：配置 Seedance API

先运行：

```bash
node scripts/configure-api-key.mjs status seedance
```

以当前 Skill 目录为工作目录执行命令。

- 如果已存在可用凭据，询问“使用现有凭据 / 重新配置 / 取消”。
- 如果不存在，询问“保存到 macOS 钥匙串 / 使用现有环境变量 / 取消”。
- 用户选择本地配置时，让用户本人在本地终端运行：

```bash
node scripts/configure-api-key.mjs set seedance
```

暂停流程，等用户选择“已配置 / 改用环境变量 / 取消”。不要代替用户输入、显示、记录或转述密钥。

非 macOS 环境使用 `SEEDANCE_API_KEY` 或 `ARK_API_KEY` 环境变量。

## 第二步：采集内容

先询问内容来源：

1. 一行结构化简述
2. 本地 `.txt` 或 `.md` 文件
3. URL

选择一行简述时，只要求填写：

```text
主体｜发生什么或要讲什么｜希望观众最终记住什么
```

这是唯一的内容开放输入。选择文件或 URL 时，只采集路径或链接，然后读取实际内容；无法读取时给出“重试 / 改用一行简述 / 取消”。

## 第三步：逐项选择

依次采集：

1. 内容类型
2. 传播目标
3. 目标受众
4. 时长
5. 画幅
6. 调性家族及具体预设
7. 声音方案
8. 生成质量
9. 审阅模式

使用 [questions.md](references/questions.md) 的选项、说明和映射值。用户未明确选择前不要猜测。

如果声音方案选择 `doubao-tts`，在声音选择完成后运行：

```bash
node scripts/configure-api-key.mjs status tts
```

- 凭据不存在时，让用户选择“保存到 macOS 钥匙串 / 使用环境变量 / 改用 Seedance 原生声音”。
- 本地保存时，让用户本人在终端运行 `node scripts/configure-api-key.mjs set tts`。
- 暂停并等待“已配置 / 改用环境变量 / 改用 Seedance 原生声音”。
- 不得把 Seedance 凭据自动当成豆包 TTS 凭据；两套服务分别检查。
- 非 macOS 环境使用 `DOUBAO_TTS_API_KEY` 或 `VOLCENGINE_TTS_API_KEY`。也兼容 AppID 与 Access Token 环境变量组合。

## 第四步：后台导演规划

读取：

- [project-spec.md](references/project-spec.md)
- [director-policy.md](references/director-policy.md)

在当前工作区创建：

```text
.seedance-workflow//
├── project.json
├── director-plan.json
├── generation-state.json
├── audio-state.json
├── audit-report.json
├── assets/
│   ├── references/
│   ├── source/
│   └── final/
├── work/
└── exports/
```

不要把 API Key 写入任何项目文件。

根据用户选择自动完成：

- 内容提炼和事实风险标记
- 叙事结构、旁白稿和节奏
- 风格圣经和连续性约束
- 4–15 秒逐镜头规划
- Seedance 结构化提示词
- 豆包 TTS 旁白文本、段落起始时间、音色和语速
- 每个镜头的硬性通过条件和淘汰条件

运行：

```bash
node scripts/workflow.mjs validate 
node scripts/workflow.mjs estimate 
node scripts/workflow.mjs dry-run 
```

修复所有验证错误后再继续。

## 第五步：生成

向用户显示：

- 总时长、镜头数和画幅
- 分辨率、每镜头候选数、最大重试数
- 最少生成调用数和理论最大生成调用数
- 豆包 TTS 段数、旁白字符数和音色（若启用）
- 是否缺少参考图或音乐
- 事实、肖像、商标或版权风险

只提供三个选择：

1. 开始付费生成
2. 只保存方案
3. 取消

仅在选择“开始付费生成”后运行：

```bash
node scripts/workflow.mjs render  --confirm-submit
```

如果选择了 `doubao-tts`，Seedance 视频任务完成后运行：

```bash
node scripts/workflow.mjs tts  --confirm-submit
```

这一步必须由豆包 TTS 远程生成旁白。禁止用 macOS 系统语音、`say`、本地 TTS 模型或占位音频冒充豆包 TTS。ffmpeg 只可用于延时、混音、响度处理和封装。

不得自行增加并发、候选数或重试预算。任务中断后运行同一命令续跑，不重复提交已有任务。

## 第六步：后台审计

读取 [audit-policy.md](references/audit-policy.md)。

先运行技术审计：

```bash
node scripts/workflow.mjs audit 
```

再使用可用视觉能力检查每个候选的首、中、末帧。把结论写入 `audit-report.json`，区分：

- `hard_reject`：违反必需条件、结构明显变形、错误人物或物体、乱码、水印、损坏文件。
- `retry`：提示词可修复且未超过 `max_retries`。
- `review`：审美或事实无法自动确认。
- `pass`：技术和语义检查均通过。

重试只允许修改失败相关字段，不要整体重写已经通过的镜头。

## 第七步：合成和交付

锁定每个镜头的最佳候选后运行：

```bash
node scripts/workflow.mjs assemble 
node scripts/workflow.mjs audit  --final
```

`doubao-tts` 模式必须先存在状态为 `ready` 的 `audio-state.json`，合成器才可继续。音乐或 SRT 若有则加入对应轨道；缺失时明确标记，不得伪称已经完成。

最后只向用户报告：

- 成片路径
- 通过、重试和人工复核的镜头数
- 实际 Seedance 调用数
- 未解决风险

## 安全与范围

- 不在聊天、日志、JSON、命令参数或错误信息中显示任何 API Key 或 Access Token。
- 不把“导出 4K”描述成 Seedance 原生 4K；当前工作流以 API 实际返回规格为准。
- 涉及真人时要求可验证授权；没有授权时改用非真人方案。
- 不让视频模型生成正式标题、字幕或 Logo；后期叠加这些元素。
- 不自动发布到任何平台。
- 不保留临时服务器、浏览器、监听器或其他后台进程。

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [lincwang123-bot](https://github.com/lincwang123-bot)
- **Source:** [lincwang123-bot/seedance-video-workflow](https://github.com/lincwang123-bot/seedance-video-workflow)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-lincwang123-bot-seedance-video-workflow-seedance-video-workflow
- Seller: https://agentstack.voostack.com/s/lincwang123-bot
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
