# Byted Kickart Marketing Material Generator

> 基于火山引擎Kickart服务生成抖店/抖音商品营销短视频，支持用户上传自定义图片/视频素材、素材分析、创意分析、故事板创作、成片生成、抖音发布全流程。当用户发送抖店/抖音商品链接、提及「上传素材」「添加图片」「添加视频」「素材分析」「创意分析」「故事板」「生成短视频」「营销视频」「发布视频」「抖音发布」时触发使用。

- Skill: `bytedance/byted-kickart-marketing-material-generator` (Agent Skill, multi-file: 23 files)
- Install (CLI): `npx skillmds@latest add bytedance/byted-kickart-marketing-material-generator`
- Raw SKILL.md: https://api.skillmd.com/api/skills/bytedance/byted-kickart-marketing-material-generator/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Marketing & Growth
- Author: bytedance (https://skillmd.com/u/bytedance)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/bytedance/byted-kickart-marketing-material-generator

---


# 抖店营销短视频生成SKILL
## 🚨 强制前置校验流程（必须按顺序执行，任意不通过直接终止流程）
所有用户请求必须先完成以下4步校验，不得跳过：
1. **模型输入能力校验**
   - 读取openclaw.json配置文件，检查当前默认使用的模型input配置是否包含"image"
   - 若不包含image输入支持：提示用户需要为模型添加image输入支持，否则会影响图片/视频素材上传和处理功能，并询问用户是否需要帮助配置image输入，终止流程
2. **火山鉴权校验**
   - 读取`./references/火山鉴权指南.md`，检查本地是否已配置环境变量
   - 未配置：引导用户按指南完成密钥配置，终止流程
3. **套餐有效性校验**
   - 读取`./references/套餐开通指南.md`，调用套餐查询接口检查用户套餐是否在有效期内、创点余额充足
   - 套餐失效/余额不足：引导用户按指南升级/充值套餐，终止流程

## 🚫 任务提交与重试铁则（强制遵守，零例外）
1. **绝对禁止主动重新提交任务**：所有异步任务（素材分析/创意分析/故事板/视频生成）提交成功后，必须立即将后端返回的全局唯一`Task ID`持久化存储（保留72小时，与后端任务结果有效期一致）。无论本地exec会话/状态是否丢失、异常中断，都只会通过已持久化的`Task ID`查询后端真实任务状态，永远不会自行发起重复提交。
2. **后端任务失败也不自动重提**：如果通过`Task ID`查询到后端任务明确返回失败状态，仅向用户明确告知失败原因和对应解决方案，等待用户明确指令，不会自动重新提交任务，不产生任何额外创点消耗。
3. **仅用户主动要求才允许重提**：只有当用户明确说出「重新提交」「重新生成」「重做一次」「再做一个」这类主动发起的要求时，才可以执行重新提交操作，且提交前需再次向用户确认需求，避免误操作。

## 🎯 意图判断与依赖处理规则（基于对话历史自动识别）
结合当前用户输入和历史记录，按以下优先级判断意图：
1. **进度查询最高优先级匹配**：
   - 用户提及「查询进度」「查看结果」「生成怎么样了」「好了吗」等关键词时，优先触发进度查询流程，强制加载`./references/任务查询指南.md`，无需依赖其他任务上下文判断，直接执行标准化查询流程
2. **明确关键词匹配（次优先级）**：
   - 素材上传：用户提及「上传素材」「添加图片」「添加视频」「自定义素材」
   - 素材分析：用户提及「素材分析」「分析商品」「拉取素材」
   - 创意分析：用户提及「创意分析」「卖点分析」「受众分析」「创作方向」
   - 故事板创作：用户提及「故事板」「分镜」「脚本」「故事构思」
   - 视频生成：用户提及「生成视频」「成片」「导出视频」「制作短视频」
   - 视频发布：用户提及「生成发布二维码」「视频发布」「发布抖音」「跳转发布」
3. **无明确意图处理**：
   - 用户仅发送商品链接未说明需求：询问用户需要的操作（素材分析/创意分析/故事板创作/直接生成短视频）

## 🛠️ 各任务执行指南
| 任务类型 | 执行依据 | 输出要求 | 前置要求 |
|---------|---------|---------|---------|
| 进度查询 | 读取`references/任务查询指南.md`（含完整标准化查询流程规范）调用对应服务接口 | 输出当前任务执行状态（如「任务已完成」、「任务执行中」等），确认是否需要调整 | 需从会话上下文持久化存储中获取对应任务ID，无有效ID时直接告知用户未查询到相关任务 |
| 素材分析 | 读取`references/素材分析指南.md`（含完整执行流程规范）调用对应服务接口 | 输出商品主图/详情图/视频数量、核心卖点、基础商品信息，确认结果准确性后询问下一步需求 | 任务提交成功后自动将Task ID持久化存储到会话上下文 |
| 创意分析 | 读取`references/创意分析指南.md`（含完整执行流程规范）调用对应服务接口 | 输出目标受众、推荐视频规格、核心卖点提炼、创意方向建议，确认结果准确性后询问下一步需求 | 任务提交成功后自动将Task ID持久化存储到会话上下文 |
| 故事板创作 | 读取`references/故事板创作指南.md`（含完整执行流程规范）调用对应服务接口 | 输出分镜脚本、镜头描述、口播文案、画面时长分配，确认结果准确性后询问下一步需求 | 任务提交成功后自动将Task ID持久化存储到会话上下文 |
| 视频生成 | 读取`references/消费成片指南.md`（含完整执行流程规范）调用对应服务接口 | 输出成片视频下载链接、视频参数，确认是否需要调整 | 任务提交成功后自动将Task ID持久化存储到会话上下文 |
| 素材上传 | 读取`references/素材上传指南.md`（含完整上传流程规范）调用对应工具接口 | 输出上传成功的素材URL列表，确认素材完整性后询问下一步需求 | 任务提交成功后自动将会话ID、素材列表持久化存储到会话上下文 |
| 视频发布 | 读取`references/视频发布指南.md`（含完整二维码生成和发布流程规范）调用对应脚本接口 | 输出抖音发布跳转二维码（图片形式）、使用说明，提醒用户扫码即可跳转发布 | 前置要求：已获取到成片视频公网下载链接，且用户提供了发布文案内容 |

## 📂 文件输出与命名规范（强制遵守）
所有任务输出文件必须遵循以下规范，避免文件名冲突和磁盘占用问题：
1. **统一输出目录**：所有输出文件必须保存到`/tmp/openclaw/kickart/output/`目录，执行前自动创建目录：
   ```bash
   mkdir -p /tmp/openclaw/kickart/output
   ```
2. **唯一文件名生成规则**：文件名格式为 `<文件类型>_<13位毫秒时间戳>_<6位随机数>.json`，冲突概率为0：
   | 文件类型 | 命名前缀 | 示例 |
   |---------|---------|------|
   | 素材分析结果 | `material` | `material_1742525890123_654321.json` |
   | 创意分析结果 | `creative` | `creative_1742525912345_123456.json` |
   | 故事板生成结果 | `storyboard` | `storyboard_1742525956789_987654.json` |
   | 视频成片结果 | `video` | `video_1742526012345_456789.json` |
3. **文件名生成命令**：执行每个环节前动态生成唯一文件名，示例：
   ```bash
   # 生成素材分析输出文件名
   MATERIAL_FILE="/tmp/openclaw/kickart/output/material_$(date +%s%N | cut -b1-13)_$((RANDOM%900000+100000)).json"
   ```

## ⚠️ 错误处理规范
所有错误必须明确告知原因和可执行解决方案，禁止模糊提示！！！

| 错误码 | 错误描述 | 详细说明 | 用户处理建议 |
| --- | --- | --- | --- |
| 0 | 无返回值 | 接口调用成功，但服务返回结果为空 | 请稍后重试，如问题持续请联系火山技术支持 |
| 1402 | 创点不足 | 调用接口时，用户账户的创点额度不足 | 请前往 [创点充值页面](https://console.volcengine.com/kickart/fusion/setting/combobuy?tab=additionalCombo) 充值创点或升级套餐 |
| 1412 | 图片格式错误 | 调用接口时，输入参数中包含了非支持的图片格式 | 请检查图片格式是否为 jpg、png 等支持的格式 |
| 1413 | 无效的媒体URL错误 | 调用接口时，输入参数中包含了无效的媒体URL | 请检查您提供的URL是否正确，避免包含特殊字符或格式错误 |
| 1414 | 输入包含敏感信息错误 | 调用接口时，输入参数中包含了敏感信息，如个人隐私数据等 | 暂不可生成带人物的营销视频，请等待后续版本更新 |
| 1415 | 输出包含敏感信息错误 | 调用接口时，服务返回结果中包含了敏感信息，如个人隐私数据等 | 暂不可生成带人物的营销视频，请等待后续版本更新 |
| 1416 | 输入媒体数量错误 | 用户输入的素材数量超过限制 | 提供的媒体素材数量超出限制，多出的素材可能不会使用 |
| 1417 | 大模型调用错误 | 模型调用出错，通常是输入参数错误 | 媒体素材处理存在问题，请重新尝试，如问题持续请联系火山技术支持 |
| 1418 | 时长计费参数错误 | 提交时入参时间有问题 | 要求的成片时长不符合技能要求，请按照0-60s的时长限制提交制作需求，如问题持续请联系火山技术支持 |
| 1501 | 用户套餐过期 | 调用接口时，用户套餐已过期 | 请前往 [套餐开通页面](https://console.volcengine.com/kickart/fusion/setting/combobuy?tab=combo) 开通套餐 |
| 100010 | 签名验证失败 | AK/SK签名验证失败 | 请检查您提供的火山鉴权AK/SK是否正确，可访问[火山引擎控制台](https://console.volcengine.com/iam/keymanage)确认 |
| 100013 | 缺少服务权限 | 缺少iccloud\_muse服务的RegisterArkClawCombo权限 | 您的企业账号未开通Kickart权限，请联系火山主账号管理员为您开通，或详询火山技术支持 |
| x01001 | AK/SK未配置 | 用户未配置AK/SK | 请输入火山鉴权的AK/SK，可访问[火山引擎控制台](https://console.volcengine.com/iam/keymanage)获取 |
| x01010 | 有效套餐缺失 | 素材上传出现错误，通常是套餐原因 | 请前往 [套餐开通页面](https://console.volcengine.com/kickart/fusion/setting/combobuy?tab=combo) 开通套餐 |
| A0101 | Session元数据格式错误 | 接口传入的Session元数据格式错误 | 根据 `references/消费成片指南.md` 校验当前主会话，确保传入的Session元数据格式正确 |
| 其他 | \- | 未明确列出的其他错误情况 | 稍后重试，如问题持续请联系火山技术支持 |
