story-video-skill
技能概述
这是一个分镜脚本到完整视频的 AI 制作流水线。
分镜脚本: 分析故事结构,设计人物对白,构建叙事节奏;建立人物串联线索,设计对应场景板;设计对比板式、建立人物关系图;设计对峙场面、构建起承转合。
视频流水线: 故事文本 → MiniMax T2I(图片生成)→ MiniMax I2V(图片转视频)→ ffmpeg 合并输出成片。
核心流程
故事文本 → 分镜JSON → T2I图片 → I2V视频 → ffmpeg合并 → 视频成片
第一步:生成shots.json
用户提供故事文本后,用 scripts/pipeline.py 生成 shots.json:
python3 scripts/pipeline.py "你的故事大纲或剧本"
输出 output/screenplay/shots.json,包含每个分镜的:
shot_number:镜头编号description:分镜描述(画面+动作+台词)visual_prompt:视觉生成词(送入T2I)
第二步:生成并合并视频
用 scripts/full_pipeline.py 或 scripts/full_pipeline_v2.py 执行完整流水线:
export MINIMAX_API_KEY="你的key"
python3 scripts/full_pipeline.py output/screenplay/shots.json
流水线自动:
- 读取 shots.json
- 对每个分镜调用 MiniMax T2I 生成图片
- 对每张图片调用 MiniMax I2V 生成视频
- 用 ffmpeg 合并所有视频为单个成片
输出目录:output/videos/
脚本说明
| 脚本 | 功能 |
|---|---|
scripts/pipeline.py | 故事文本 → shots.json 分镜脚本 |
scripts/full_pipeline.py | shots.json → T2I图片 → I2V视频 → ffmpeg合并 |
scripts/full_pipeline_v2.py | 同上,模型版本不同 |
scripts/generate_shot_images.py | 独立运行T2I图片生成 |
scripts/generate_shot_videos.py | 独立运行I2V视频生成 |
环境变量
| 变量 | 必需 | 默认值 | 说明 |
|---|---|---|---|
MINIMAX_API_KEY | ✅ | — | MiniMax API密钥 |
MINIMAX_BASE_URL | ❌ | https://api.minimaxi.com/v1 | MiniMax API地址 |
MINIMAX_IMAGE_URL | ❌ | https://api.minimaxi.com/v1/image_generation | 图片生成端点 |
目录结构
story-video-skill/
├── SKILL.md # 本技能说明
├── README.md # 详细文档
├── output/
│ ├── frames/ # T2I生成的图片
│ ├── videos/ # I2V生成的视频 + 最终成片
│ └── screenplay/
│ └── shots.json # 分镜脚本
└── scripts/
├── pipeline.py # 生成shots.json
├── full_pipeline.py # 完整流水线 v1
├── full_pipeline_v2.py # 完整流水线 v2
├── generate_shot_images.py # T2I图片生成
└── generate_shot_videos.py # I2V视频生成
分镜设计原则
视觉叙事优先
- 每个分镜有明确的主角视线和注意力焦点
- 用「镜头角度 + 运动方式」代替「人物动作罗列」
- 优先通过场景/道具/表情暗示情绪,少用直接台词
分镜描述格式
镜头编号 | 镜头类型 | 画面描述 | 台词/声音
情绪节奏把控
- 开场30秒:建立世界规则,展示日常状态
- 中段:矛盾积累,节奏加快
- 高潮:情感爆发,动作密集
- 收束:留白,克制
专业知识:编剧体系
故事结构模板
| 三幕 | 占比 | 核心 |
|---|---|---|
| 第一幕:建置 | 25% | 开场钩子、日常世界、催化事件 |
| 第二幕:对抗 | 50% | 进展升级、中点转折、灵魂黑夜 |
| 第三幕:解决 | 25% | 高潮决战、结局收束 |
起承转合
| 阶段 | 功能 | 情绪 |
|---|---|---|
| 起 | 引入 | 好奇 |
| 承 | 发展 | 期待 |
| 转 | 转折 | 紧张 |
| 合 | 解决 | 满足 |
人物塑造
- 性格三角:内在欲望 × 外在行为 × 他人评价
- 关系对位:主角与对手形成镜像对照
- 成长弧线:每个重要人物都有从A点到B点的变化
视觉风格指南
色调与光影
| 类型 | 适合场景 | 推荐色调 |
|---|---|---|
| 温暖怀旧 | 回忆、亲情 | 暖黄、褪色 |
| 冷峻现实 | 困境、独立 | 低饱和、冷蓝 |
| 奇幻冒险 | 超现实、梦境 | 高饱和、撞色 |
| 悬疑紧张 | 秘密、危机 | 暗调、阴影 |
镜头语言
| 镜头 | 适合场景 | 情绪效果 |
|---|---|---|
| 远景 | 建立场景 | 渺小感/史诗感 |
| 中景 | 人物互动 | 亲近感 |
| 特写 | 情绪高潮 | 冲击力 |
| 俯拍 | 命运转折 | 宿命感 |
| 仰拍 | 英雄登场 | 力量感 |
故障排除
T2I 生成失败
- 检查
MINIMAX_API_KEY是否有效 - 缩短 visual_prompt(过长会被截断)
- 避免敏感词(血腥/暴力内容会被拦截)
I2V 生成卡住
- 确认 model 为
MiniMax-Hailuo-2.3 - 检查图片URL是否可访问(需要公网可访问的HTTP链接)
ffmpeg 合并失败
- 确保所有视频文件完整(非0字节)
- 确认 ffmpeg 已安装:
ffmpeg -version - 检查视频格式是否兼容(推荐MP4/H.264)
速率限制
- MiniMax API 有速率限制,高并发时会429
full_pipeline.py内置 exponential backoff 重试- 大量分镜建议分批处理