# AI故事板视频制作流水线（2026-06-19验证成功）

## 适用场景
用AI图片+TTS+ffmpeg制作多场景故事型短视频（搞笑段子、科普、剧情等）

## 流水线步骤

### 第1步：写故事脚本
写简短搞笑/剧情脚本，每段对话对应一个画面。时长控制：5个场景×4.2秒≈21秒。

### 第2步：生成各场景AI图片
使用Pollinations.ai，每张图间隔15-30秒（防429限流）：
```bash
curl -sL --max-time 60 -o /root/scene1.jpg \
  "https://image.pollinations.ai/prompt/{中文描述，简单明确}"
```

**Pollinations.ai限流规则：**
- 连续请求→HTTP 429
- 建议间隔15-30秒
- 用短提示词（10-15词以内）成功率更高
- --max-time 60（不要用30，经常需要更多时间）

### 第3步：生成TTS配音
```bash
edge-tts --text "旁白文字" --voice zh-CN-YunyangNeural \
  --write-media /root/audio.mp3
```

**可选声音：**
- `zh-CN-YunyangNeural` — 新闻男声（推荐搞笑/解说用）
- `zh-CN-XiaoxiaoNeural` — 女声

### 第4步：制作字幕文件
SRT格式，每段字幕对应一个场景的台词。

### 第5步：统一图片尺寸为9:16竖屏
```bash
ffmpeg -y -i /root/scene1.jpg \
  -vf "scale=1080:1920:force_original_aspect_ratio=decrease,\
       pad=1080:1920:(ow-iw)/2:(oh-ih)/2:black" \
  /root/s1.jpg
```

### 第6步：将每张图转为固定时长的视频片段
```bash
ffmpeg -y -loop 1 -t 4.2 -i /root/s1.jpg \
  -c:v libx264 -preset ultrafast -pix_fmt yuv420p \
  /root/clip1.mp4
```
`-t 4.2` = 每段时长(秒)，根据总时长÷场景数计算。

### 第7步：合并所有片段并加配音和字幕
```bash
cat > /root/clips.txt << 'EOF'
file 'clip1.mp4'
file 'clip2.mp4'
file 'clip3.mp4'
file 'clip4.mp4'
file 'clip5.mp4'
EOF

# 先合并无声视频
ffmpeg -y -f concat -safe 0 -i /root/clips.txt \
  -i /root/audio.mp3 \
  -c:v copy -c:a aac -map 0:v -map 1:a -shortest \
  /root/video_nosubs.mp4

# 加字幕
ffmpeg -y -i /root/video_nosubs.mp4 -i /root/audio.mp3 \
  -vf "subtitles=/root/subtitles.srt:\
    force_style='FontSize=30,FontName=Noto+Sans+SC,\
    PrimaryCol=&H00FFFFFF,OutlineCol=&H00000000,Outline=1,Alignment=2'" \
  -c:v libx264 -preset ultrafast -c:a aac \
  -map 0:v -map 1:a -shortest \
  /root/final.mp4
```

### 第8步：发送
`MEDIA:/root/final.mp4` 通过QQ发送。

## 已知限制
- AI图片人脸可能有变形（张哥之前否决的原因）
- 搞笑段子适合用此方法，但张哥说"说出来的不笑"（搞笑视频优先用原片直接二次创作）
- 口型同步需要D-ID（付费）
