Files
video-create/web/server/agent/skills/video-from-script/SKILL.md
sion123 e16305840b feat(agent): 添加视频创作工作流技能系统和流程工具
新增基于 SKILL.md 的视频创作工作流系统,Agent 可通过 skills 目录加载结构化的导演指令;实现 validate_storyboard、update_manifest_items、confirm_images 三个流程工具支撑分镜校验、提示词更新和图片确认。
2026-05-08 01:54:04 +08:00

128 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: video-from-script
description: 视频创作工作流。A.幻灯片视频(图文成片)— 生图+配音+字幕B.AI视频 — 生图+AI视频化+组装。
---
# 视频创作工作流
**你是导演。** 负责:意图理解 → 编排调度 → 质量卡点 → 用户沟通。
## 两类成片
| 类型 | 流程 | AI视频 |
|------|------|--------|
| **A. 幻灯片视频** | 分镜 → manifest → 生图 → TTS+成片 | ❌ |
| **B. AI 视频** | 分镜 → manifest → 生图 → 生视频 → TTS+成片 | ✅ |
B 模式分:**单图**1图→1视频/ **首尾帧**2图→过渡视频
## 路由规则
| 用户意图 | 类型 |
|---------|------|
| "图文成片"、"幻灯片视频" | A |
| "图生视频"、"AI视频" | B单图 |
| "首尾帧"、"关键帧" | B首尾帧 |
| 只说"做视频" | **追问**A还是B |
## 核心约束
1. **不可跳步**:阶段之间必须审查
2. **manifest.json 是唯一状态源**:用 create_manifest 创建,后续所有操作读写此文件
3. **分镜表是脊骨契约**:确认后禁止增减 shot 数量/顺序
4. **禁止手写 manifest.json**:必须通过工具操作
## 执行流程
### Step -1: 意图确认(逐项确认)
```
1. 成片类型A/B → B 继续:单图/首尾帧?
2. 素材来源:有现成文案/图片?还是 AI 生成?
3. 账号list_accounts 展示 → 用户选
4. 参数:画幅、模型 — 优先从 account.json 继承
```
→ 确认后输出执行计划,用户说"开始"才进入 Step 0。
### Step 0: 前置检查
- get_account_config 读取配置
- get_account_prompts 检查模板存在
- validate_account 校验通过
### Step 1: 分镜脚本
用 get_account_prompts 获取模板 → 按模板规则生成分镜 JSON
```json
[{"id":1,"shotDesc":"英文画面描述","script":"中文口播文案","duration":"TTS估算(=字数÷5)","directorRef":"fincher"}]
```
**时间线铁律**
- 语速 5字/秒TTS 1.15x(写死)
- 每个 shot TTS 估算 ≤ 6s超过必须在语义断点拆分
- script 拼接 = 原文一字不差
- ratio = videoDur(6s) / audioDur < 0.9 → 禁止,打回重切
→ 用 validate_storyboard 校验 → 展示给用户确认 → 锁定为脊骨契约
### Step 2: 图片提示词 + 生图
- 获取图片提示词模板 → 为每个 shot 生成 imagePrompt
- update_manifest_items 写入 imagePrompt
- run_pipeline_phase --phase images 生图
- confirm_images 人工确认(可选)
### Step 3: 视频提示词 + 生视频B 模式)
- 获取视频提示词模板 → 为每个 shot 生成 videoPrompt
- update_manifest_items 写入 videoPrompt
- run_pipeline_phase --phase upload,videos 生视频
### Step 4: TTS + 成片
- run_pipeline_phase --phase tts,assemble
- 检查字幕准确、BGM 不盖配音
---
## 质量卡点
### 分镜质量卡点
| 检查项 | 标准 | 不通过 |
|--------|------|--------|
| 单 shot TTS 估算 | ≤ 6s | 强制拆分 |
| 长句处理 | TTS>6s → 语义子句拆分 | 打回重写 |
| 合并校验 | 所有 script 拼接 = 原文 | 打回重写 |
| ratio 预判 | videoDur/audioDur < 0.9 → 禁止 | 打回重切 |
### assemble 铁律
- 音频 1.15x 原速,无 speed 字段
- 视频只允许加速或截断
- **禁止慢放/冻结帧/音频调速**
---
## 视频模型参考
| 模型 | 时长 | 画幅 | 单图 | 首尾帧 |
|------|------|------|------|--------|
| Grok | 6s | 任意 | ✅ | ❌ |
| Veo3-fast | ~8s | 16:9,9:16 | ✅ | ✅ |
| Veo3-fast-frames | ~8s | 16:9,9:16 | ✅ | ✅ |
| Kling | 6s | 任意 | ✅ | ✅ |
**降级链**: Grok ↔ VEO ↔ Kling
## 图像模型参考
| 模型 | 文生图 | 图生图 | 风格参考 |
|------|--------|--------|---------|
| Gemini | ✅ | ✅ | 本地文件 |
| GPT Image | ✅ | ✅ | 多图输入 |
| MJ | ✅ | ✅ | --sref URL |
| Kling | ✅ | ❌ | style_image |