小红书荐书视频自动生成器
指令
---
name: book-video-pipeline
description: "小红书荐书视频自动生成 v3 - Seedance 2.0 原生音频+字幕,从选书到发布全自动"
license: MIT
invoke: "/book-video"
---
# 小红书荐书视频自动生成 Pipeline v3
<command-name>book-video-pipeline</command-name>
## 概述
基于火山方舟 Seedance 2.0 API 的小红书荐书视频全自动生成流程。
**v3 改进(基于官方提示词指南):**
- **原生音频** — prompt 里直接指定旁白,Seedance 自动生成语音(不再用 edge-tts)
- **原生子幕** — prompt 里指定字幕内容,Seedance 在视频内生成同步字幕
- **封面标题卡片** — pan/zoom 效果 + 静音音频轨道,保证拼接兼容
- **链式生成** — 每段用前一段尾帧做起始图,画面更连贯
- **crossfade 拼接** — 视频 xfade + 音频 acrossfade,音画同步过渡
**核心流程:选书 → 详情/封面 → 脚本 → 分镜 → 视频生成(含音频字幕)→ 拼接 → 预览 → 发布**
---
## 静默执行协议
- Do not ask for confirmation to proceed. 不要请求确认以继续。
- Generate the full output in one go. 一次性生成完整输出。
- If data is missing, use the defined defaults. 如果数据缺失,使用默认值。
- Never say "是否继续"、"需要我帮你..."、"请确认" 等中断性语句。
---
## 环境要求
| 依赖 | 安装 |
|------|------|
| 火山方舟 API Key | 环境变量 `VOLCENGINE_API_KEY` |
| imageio-ffmpeg | `pip install imageio-ffmpeg`(自带 ffmpeg) |
| Docker (xiaohongshu-mcp) | 发布时需在 `localhost:18060` 运行 |
---
## 执行流程
**触发方式:`/book-video` 或 `/book-video 《书名》`**
### 步骤 1:选书
**情况 A - 用户指定了书名:** 直接用。
**情况 B - 未指定书名:** 运行搜索脚本(优先低粉爆款):
```bash
python "D:\skills\xiaohongshu-book-publisher\scripts\search_hot_books_v2.py"
```
从「低粉爆款」分类中自动选 Top 1(排除 `[已发布]`)。
**错误处理:** 脚本超时 → 缓存 → WebSearch → 默认《被讨厌的勇气》
---
### 步骤 2:获取书籍详情和封面
**2.1 豆瓣获取详情**
```
WebFetch: https://search.douban.com/book/subject_search?search_text={书名}
提取:书名、作者、豆瓣评分、内容简介、金句/核心观点、封面URL
```
**2.2 下载封面(英文文件名!)**
```bash
curl -o "D:\xiaohongshu_data\cover_{english_name}.jpg" -H "Referer: https://book.douban.com/" "封面URL"
```
curl 失败则用:
```bash
python "D:\skills\xiaohongshu-book-publisher\scripts\get_cover_playwright.py" "{书名}"
```
---
### 步骤 3:生成荐书脚本 + 分镜
基于书籍详情,生成**口语化视频脚本**。
**提示词公式(基于 Seedance 2.0 官方指南):**
每个分镜 prompt 由三部分组成:
1. **音频指令** — `生成带有画外音的视频。一个{voice_type}说:"旁白文字"`
2. **视觉描述** — `主体 + 动作 + 环境 + 镜头运动 + 氛围`
3. **字幕指令** — `画面底部出现字幕,字幕内容为"旁白文字",字幕需与音频节奏完全同步。`
**脚本模板(6-7 个分镜,~35 秒):**
```markdown
## 荐书视频脚本
**书名**:《{书名}》
**风格**:治愈系(温暖金色调)
### 分镜 1 - 开场悬念(5秒)
**旁白**:{一句吸引眼球的开场白}
**画面**:{50-80词英文视觉描述:主体+动作+环境+镜头+氛围}
### 分镜 2 - 书籍亮相(5秒)
**旁白**:{一句话介绍这本书}
**画面**:{英文,与书相关的场景}
### 分镜 3 - 作者/背景(5秒)
**旁白**:{作者背景或创作故事}
**画面**:{英文,写作场景、书房等}
### 分镜 4 - 核心观点 1(5秒)
**旁白**:{一个打动人心的观点或金句}
**画面**:{英文,与观点匹配的视觉隐喻}
### 分镜 5 - 核心观点 2(5秒)
**旁白**:{另一个打动人心的观点或金句}
**画面**:{英文,与观点匹配的视觉隐喻}
### 分镜 6 - 个人感悟(5秒)
**旁白**:{真实感受,读完后的改变}
**画面**:{英文,情感场景}
### 分镜 7 - 推荐号召(5秒)
**旁白**:{号召行动}
**画面**:{英文,温暖的结尾场景}
```
**画面描述规则:**
- **必须英文**,50-80 词
- 按公式:主体 + 正在做什么动作 + 在什么环境 + 什么光线/氛围 + 镜头怎么运动
- **不要提到封面图/书名文字**(文字通过字幕生成)
- 尽量描述具体的场景,避免抽象概念
**可选声音类型:**
- 治愈系:`温柔平静的女声`
- 悬疑系:`深沉低沉的男声`
- 清新系:`轻快活泼的女声`
---
### 步骤 4:调用 pipeline 生成视频
**4.1 保存分镜 JSON**
```json
[
{"scene_id": 1, "prompt": "英文视觉描述...", "narration": "中文旁白"},
{"scene_id": 2, "prompt": "英文视觉描述...", "narration": "中文旁白"},
...
]
```
保存到 `D:\xiaohongshu_data\storyboard_{english_name}.json`。
**4.2 调用完整 pipeline v3**
```python
import sys, json
sys.path.insert(0, r"D:\skills\book-video-pipeline\scripts")
from seedance_client import SeedanceClient
client = SeedanceClient(api_key="YOUR_API_KEY")
with open(r"D:\xiaohongshu_data\storyboard_xxx.json", encoding="utf-8") as f:
storyboard = json.load(f)
result = client.generate_full_video(
storyboard=storyboard,
cover_path=r"D:\xiaohongshu_data\cover_xxx.jpg",
book_title="书名",
output_dir=r"D:\xiaohongshu_data",
voice_type="温柔平静的女声",
with_subtitles=True,
)
print(f"Video: {result['video_path']} ({result['size_kb']}KB, ~{result['duration']}s, audio: {result['has_audio']})")
```
**pipeline v3 自动执行:**
1. 封面 → 标题卡片(3秒 pan/zoom + 静音音频轨道)
2. 顺序生成视频片段(每段包含原生音频 + 字幕)
3. crossfade 拼接(视频 xfade + 音频 acrossfade)
4. 输出最终视频
**API Key 配置:**
```bash
set VOLCENGINE_API_KEY=ark-xxx
```
---
### 步骤 5:预览
生成 HTML 预览页面 `D:\preview_video_{name}_{date}.html`,包含:
- 视频播放器
- 书名、作者、评分
- 旁白文字版
- 小红书粉色系样式
```bash
start "" "D:\preview_video_xxx.html"
```
**等用户确认。** 不满意可:
- 调整分镜 prompt → 重新生成
- 换声音类型 → 重新生成
- 调整视觉描述 → 只改 prompt
---
### 步骤 6:发布到小红书
**6.1 检查登录** → MCP `check_login_status`
**6.2 生成视频笔记文案**(不是视频脚本!)
- 标题 ≤20 字,第一人称有情感
- 正文 200-300 字,20+ emoji
- 标签 10-15 个带 # 号
**6.3 MCP 发布**
```python
MCP_URL = 'http://localhost:18060'
# 初始化 → publish_content(title, content, video, tags)
# 视频路径用容器内路径: /app/data/xxx.mp4
```
**6.4 记录已发布** → `published_books.json` 加 `"type": "video"`
---
## 输出格式
```markdown
## 荐书视频生成完成
**书名**:《{书名}》
**作者**:{作者} | **豆瓣**:{评分}
### 视频信息
- 时长:~{N} 秒(标题卡片 3s + {M} 个分镜 x 5s)
- 比例:9:16 竖屏
- 分辨率:720p
- 文件大小:{N} MB
- 音频:有/无
- 字幕:内嵌/无
- 路径:`D:\xiaohongshu_data\{name}_final.mp4`
### 发布信息
- 标题:{标题}
- 标签:{标签}
- 状态:{成功/失败}
```
---
## 关键规则
1. **原生音频优先** — Seedance 2.0 原生支持音频生成,prompt 里指定旁白即可
2. **原生子幕** — prompt 里指定字幕内容,Seedance 自动生成同步字幕
3. **尾帧串联** — 每段用前一段最后一帧做起始图,画面更连贯
4. **分镜画面用英文** — Seedance 英文画面效果更好
5. **声音类型统一** — 全片用同一个声音类型
6. **视频比例 9:16** — 小红书竖屏
7. **发布前必须用户确认** — 展示预览后等 OK
8. **图片文件名必须英文** — 中文会导致上传超时
9. **视频脚本 ≠ 图文笔记** — 脚本是口语化的,不是文章
10. **拼接保留音频** — xfade 视频过渡 + acrossfade 音频过渡
## 提示词参考(Seedance 2.0 指南)
### 音频指令模板
```
生成带有画外音的视频。一个{voice_type}说:"{旁白内容}"
```
### 字幕指令模板
```
画面底部出现字幕,字幕内容为"{字幕内容}",字幕需与音频节奏完全同步。
```
### 完整场景提示词示例
```
生成带有画外音的视频。一个温柔平静的女声说:"你有没有想过,为什么我们总是活在别人的期待里?" A solitary figure standing at a crossroads on a misty forest path, sunlight filtering through tall trees, warm golden hour lighting, slow dolly in, shallow depth of field. 画面底部出现字幕,字幕内容为"你有没有想过,为什么我们总是活在别人的期待里?",字幕需与音频节奏完全同步。
```
## 文件引用
| 文件 | 用途 |
|------|------|
| `D:\skills\book-video-pipeline\scripts\seedance_client.py` | Seedance API + 原生音频/字幕 + 拼接(v3) |
| `D:\skills\xiaohongshu-book-publisher\scripts\search_hot_books_v2.py` | 热门书籍搜索 |
| `D:\skills\xiaohongshu-book-publisher\scripts\published_books.json` | 已发布记录 |
| `D:\skills\xiaohongshu-book-publisher\scripts\get_cover_playwright.py` | 封面获取(备用) |
| `D:\xiaohongshu_data\` | 视频和封面输出目录 |
## API 配置
| 参数 | 值 |
|------|-----|
| 视频模型 | `doubao-seedance-2-0-fast-260128` |
| 声音类型 | `温柔平静的女声`(默认) |
| 比例 | `9:16` |
| 单段时长 | 5 秒 |
| 标题卡片 | 3 秒 pan/zoom + 静音音频 |
| crossfade | 0.5 秒过渡(视频+音频) |
description
这是一个基于火山方舟 Seedance 2.0 API 的小红书荐书视频全自动生成工具。从选书到发布,一条命令搞定。 **核心亮点**: - **原生音频字幕** - Seedance 2.0 直接生成配音和同步字幕,告别后期剪辑 - **智能选书** - 自动抓取小红书低粉爆款书籍,精准定位流量密码 - **专业分镜** - 6-7 个精心设计的分镜,开场悬念+核心观点+情感共鸣 - **链式生成** - 每段视频用前一段尾帧做起始,画面连贯自然 - **一键发布** - 自动生成标题、标签、话题,直接发布到小红书 **适用场景**: - 读书博主日更视频 - 知识付费内容生产
小红书荐书视频自动生成器
指令
---
name: book-video-pipeline
description: "小红书荐书视频自动生成 v3 - Seedance 2.0 原生音频+字幕,从选书到发布全自动"
license: MIT
invoke: "/book-video"
---
# 小红书荐书视频自动生成 Pipeline v3
<command-name>book-video-pipeline</command-name>
## 概述
基于火山方舟 Seedance 2.0 API 的小红书荐书视频全自动生成流程。
**v3 改进(基于官方提示词指南):**
- **原生音频** — prompt 里直接指定旁白,Seedance 自动生成语音(不再用 edge-tts)
- **原生子幕** — prompt 里指定字幕内容,Seedance 在视频内生成同步字幕
- **封面标题卡片** — pan/zoom 效果 + 静音音频轨道,保证拼接兼容
- **链式生成** — 每段用前一段尾帧做起始图,画面更连贯
- **crossfade 拼接** — 视频 xfade + 音频 acrossfade,音画同步过渡
**核心流程:选书 → 详情/封面 → 脚本 → 分镜 → 视频生成(含音频字幕)→ 拼接 → 预览 → 发布**
---
## 静默执行协议
- Do not ask for confirmation to proceed. 不要请求确认以继续。
- Generate the full output in one go. 一次性生成完整输出。
- If data is missing, use the defined defaults. 如果数据缺失,使用默认值。
- Never say "是否继续"、"需要我帮你..."、"请确认" 等中断性语句。
---
## 环境要求
| 依赖 | 安装 |
|------|------|
| 火山方舟 API Key | 环境变量 `VOLCENGINE_API_KEY` |
| imageio-ffmpeg | `pip install imageio-ffmpeg`(自带 ffmpeg) |
| Docker (xiaohongshu-mcp) | 发布时需在 `localhost:18060` 运行 |
---
## 执行流程
**触发方式:`/book-video` 或 `/book-video 《书名》`**
### 步骤 1:选书
**情况 A - 用户指定了书名:** 直接用。
**情况 B - 未指定书名:** 运行搜索脚本(优先低粉爆款):
```bash
python "D:\skills\xiaohongshu-book-publisher\scripts\search_hot_books_v2.py"
```
从「低粉爆款」分类中自动选 Top 1(排除 `[已发布]`)。
**错误处理:** 脚本超时 → 缓存 → WebSearch → 默认《被讨厌的勇气》
---
### 步骤 2:获取书籍详情和封面
**2.1 豆瓣获取详情**
```
WebFetch: https://search.douban.com/book/subject_search?search_text={书名}
提取:书名、作者、豆瓣评分、内容简介、金句/核心观点、封面URL
```
**2.2 下载封面(英文文件名!)**
```bash
curl -o "D:\xiaohongshu_data\cover_{english_name}.jpg" -H "Referer: https://book.douban.com/" "封面URL"
```
curl 失败则用:
```bash
python "D:\skills\xiaohongshu-book-publisher\scripts\get_cover_playwright.py" "{书名}"
```
---
### 步骤 3:生成荐书脚本 + 分镜
基于书籍详情,生成**口语化视频脚本**。
**提示词公式(基于 Seedance 2.0 官方指南):**
每个分镜 prompt 由三部分组成:
1. **音频指令** — `生成带有画外音的视频。一个{voice_type}说:"旁白文字"`
2. **视觉描述** — `主体 + 动作 + 环境 + 镜头运动 + 氛围`
3. **字幕指令** — `画面底部出现字幕,字幕内容为"旁白文字",字幕需与音频节奏完全同步。`
**脚本模板(6-7 个分镜,~35 秒):**
```markdown
## 荐书视频脚本
**书名**:《{书名}》
**风格**:治愈系(温暖金色调)
### 分镜 1 - 开场悬念(5秒)
**旁白**:{一句吸引眼球的开场白}
**画面**:{50-80词英文视觉描述:主体+动作+环境+镜头+氛围}
### 分镜 2 - 书籍亮相(5秒)
**旁白**:{一句话介绍这本书}
**画面**:{英文,与书相关的场景}
### 分镜 3 - 作者/背景(5秒)
**旁白**:{作者背景或创作故事}
**画面**:{英文,写作场景、书房等}
### 分镜 4 - 核心观点 1(5秒)
**旁白**:{一个打动人心的观点或金句}
**画面**:{英文,与观点匹配的视觉隐喻}
### 分镜 5 - 核心观点 2(5秒)
**旁白**:{另一个打动人心的观点或金句}
**画面**:{英文,与观点匹配的视觉隐喻}
### 分镜 6 - 个人感悟(5秒)
**旁白**:{真实感受,读完后的改变}
**画面**:{英文,情感场景}
### 分镜 7 - 推荐号召(5秒)
**旁白**:{号召行动}
**画面**:{英文,温暖的结尾场景}
```
**画面描述规则:**
- **必须英文**,50-80 词
- 按公式:主体 + 正在做什么动作 + 在什么环境 + 什么光线/氛围 + 镜头怎么运动
- **不要提到封面图/书名文字**(文字通过字幕生成)
- 尽量描述具体的场景,避免抽象概念
**可选声音类型:**
- 治愈系:`温柔平静的女声`
- 悬疑系:`深沉低沉的男声`
- 清新系:`轻快活泼的女声`
---
### 步骤 4:调用 pipeline 生成视频
**4.1 保存分镜 JSON**
```json
[
{"scene_id": 1, "prompt": "英文视觉描述...", "narration": "中文旁白"},
{"scene_id": 2, "prompt": "英文视觉描述...", "narration": "中文旁白"},
...
]
```
保存到 `D:\xiaohongshu_data\storyboard_{english_name}.json`。
**4.2 调用完整 pipeline v3**
```python
import sys, json
sys.path.insert(0, r"D:\skills\book-video-pipeline\scripts")
from seedance_client import SeedanceClient
client = SeedanceClient(api_key="YOUR_API_KEY")
with open(r"D:\xiaohongshu_data\storyboard_xxx.json", encoding="utf-8") as f:
storyboard = json.load(f)
result = client.generate_full_video(
storyboard=storyboard,
cover_path=r"D:\xiaohongshu_data\cover_xxx.jpg",
book_title="书名",
output_dir=r"D:\xiaohongshu_data",
voice_type="温柔平静的女声",
with_subtitles=True,
)
print(f"Video: {result['video_path']} ({result['size_kb']}KB, ~{result['duration']}s, audio: {result['has_audio']})")
```
**pipeline v3 自动执行:**
1. 封面 → 标题卡片(3秒 pan/zoom + 静音音频轨道)
2. 顺序生成视频片段(每段包含原生音频 + 字幕)
3. crossfade 拼接(视频 xfade + 音频 acrossfade)
4. 输出最终视频
**API Key 配置:**
```bash
set VOLCENGINE_API_KEY=ark-xxx
```
---
### 步骤 5:预览
生成 HTML 预览页面 `D:\preview_video_{name}_{date}.html`,包含:
- 视频播放器
- 书名、作者、评分
- 旁白文字版
- 小红书粉色系样式
```bash
start "" "D:\preview_video_xxx.html"
```
**等用户确认。** 不满意可:
- 调整分镜 prompt → 重新生成
- 换声音类型 → 重新生成
- 调整视觉描述 → 只改 prompt
---
### 步骤 6:发布到小红书
**6.1 检查登录** → MCP `check_login_status`
**6.2 生成视频笔记文案**(不是视频脚本!)
- 标题 ≤20 字,第一人称有情感
- 正文 200-300 字,20+ emoji
- 标签 10-15 个带 # 号
**6.3 MCP 发布**
```python
MCP_URL = 'http://localhost:18060'
# 初始化 → publish_content(title, content, video, tags)
# 视频路径用容器内路径: /app/data/xxx.mp4
```
**6.4 记录已发布** → `published_books.json` 加 `"type": "video"`
---
## 输出格式
```markdown
## 荐书视频生成完成
**书名**:《{书名}》
**作者**:{作者} | **豆瓣**:{评分}
### 视频信息
- 时长:~{N} 秒(标题卡片 3s + {M} 个分镜 x 5s)
- 比例:9:16 竖屏
- 分辨率:720p
- 文件大小:{N} MB
- 音频:有/无
- 字幕:内嵌/无
- 路径:`D:\xiaohongshu_data\{name}_final.mp4`
### 发布信息
- 标题:{标题}
- 标签:{标签}
- 状态:{成功/失败}
```
---
## 关键规则
1. **原生音频优先** — Seedance 2.0 原生支持音频生成,prompt 里指定旁白即可
2. **原生子幕** — prompt 里指定字幕内容,Seedance 自动生成同步字幕
3. **尾帧串联** — 每段用前一段最后一帧做起始图,画面更连贯
4. **分镜画面用英文** — Seedance 英文画面效果更好
5. **声音类型统一** — 全片用同一个声音类型
6. **视频比例 9:16** — 小红书竖屏
7. **发布前必须用户确认** — 展示预览后等 OK
8. **图片文件名必须英文** — 中文会导致上传超时
9. **视频脚本 ≠ 图文笔记** — 脚本是口语化的,不是文章
10. **拼接保留音频** — xfade 视频过渡 + acrossfade 音频过渡
## 提示词参考(Seedance 2.0 指南)
### 音频指令模板
```
生成带有画外音的视频。一个{voice_type}说:"{旁白内容}"
```
### 字幕指令模板
```
画面底部出现字幕,字幕内容为"{字幕内容}",字幕需与音频节奏完全同步。
```
### 完整场景提示词示例
```
生成带有画外音的视频。一个温柔平静的女声说:"你有没有想过,为什么我们总是活在别人的期待里?" A solitary figure standing at a crossroads on a misty forest path, sunlight filtering through tall trees, warm golden hour lighting, slow dolly in, shallow depth of field. 画面底部出现字幕,字幕内容为"你有没有想过,为什么我们总是活在别人的期待里?",字幕需与音频节奏完全同步。
```
## 文件引用
| 文件 | 用途 |
|------|------|
| `D:\skills\book-video-pipeline\scripts\seedance_client.py` | Seedance API + 原生音频/字幕 + 拼接(v3) |
| `D:\skills\xiaohongshu-book-publisher\scripts\search_hot_books_v2.py` | 热门书籍搜索 |
| `D:\skills\xiaohongshu-book-publisher\scripts\published_books.json` | 已发布记录 |
| `D:\skills\xiaohongshu-book-publisher\scripts\get_cover_playwright.py` | 封面获取(备用) |
| `D:\xiaohongshu_data\` | 视频和封面输出目录 |
## API 配置
| 参数 | 值 |
|------|-----|
| 视频模型 | `doubao-seedance-2-0-fast-260128` |
| 声音类型 | `温柔平静的女声`(默认) |
| 比例 | `9:16` |
| 单段时长 | 5 秒 |
| 标题卡片 | 3 秒 pan/zoom + 静音音频 |
| crossfade | 0.5 秒过渡(视频+音频) |
description
这是一个基于火山方舟 Seedance 2.0 API 的小红书荐书视频全自动生成工具。从选书到发布,一条命令搞定。 **核心亮点**: - **原生音频字幕** - Seedance 2.0 直接生成配音和同步字幕,告别后期剪辑 - **智能选书** - 自动抓取小红书低粉爆款书籍,精准定位流量密码 - **专业分镜** - 6-7 个精心设计的分镜,开场悬念+核心观点+情感共鸣 - **链式生成** - 每段视频用前一段尾帧做起始,画面连贯自然 - **一键发布** - 自动生成标题、标签、话题,直接发布到小红书 **适用场景**: - 读书博主日更视频 - 知识付费内容生产
发现下一个适合你的技能
继续探索更多精选 AI 技能,用于研究、创作和日常工作。