AI短剧制作助手 | AI Short Film Producer

SKILL前端设计
前端设计 未标注权限 许可证不明确
安装这个技能

AI短剧制作助手 | AI Short Film Producer — 低成本AI短剧/短片全流程制作技能。使用Grok Imagine生成视频镜头、TTS生成配音,配合FFmpeg+Python本地合成。适用于从零制作AI短片、短视频、短剧EP、预告片等场景。包含完整的分镜脚本创作、视频生成、配音生成、音频驱动剪辑、字幕叠加、最终合成、成本核算的全套SOP。

累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install org-eyw2ohcx/hitjcl-ai-short-film-producer-103

技能档案

前端设计
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方org-eyw2ohcx仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 enterprise
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791675187
正文体量12.4 KBSKILL.md 原文大小,越大说明说明书写得越细

SKILL.md 全文

12.4 KB
模型实际读到的说明书原文,来自技能仓库

AI短剧制作助手 | AI Short Film Producer

概述

本Skill提供一套完整的低成本AI短剧制作流程,从脚本创作到最终成片,总成本仅需¥30-50/部(128秒短片)。核心思路:用AI API生成素材 → 本地FFmpeg合成 → WorkBuddy编排调度。

适用场景:
- 用户说"帮我做一个短片/短剧/预告片"
- 用户说"把这段文案做成视频"
- 用户说"生成一个XX题材的短视频"
- 用户需要从零到一完成AI视频制作

核心成本优势:
- 视频生成:Grok Imagine(速创API,按秒计费)
- 配音生成:TTS(速创API,按字计费)
- 合成剪辑:本地FFmpeg免费
- AI编排:WorkBuddy Lite版


制作流程总览

Step 1: 脚本创作
  ├── 确定主题/时长/风格
  ├── 编写分镜脚本(镜头×台词×角色)
  └── 输出:分镜表 + TTS文本清单

Step 2: 视频镜头生成
  ├── 调用速创API Grok Imagine
  ├── 25个镜头批量异步生成
  └── 输出:ep1_shots/*.mp4

Step 3: TTS配音生成
  ├── 调用速创API audio_tts
  ├── 多角色多音色
  └── 输出:ep1_tts/*.mp3

Step 4: 音频驱动剪辑
  ├── 逐段按TTS时长裁剪/循环镜头
  ├── 短镜头自动stream_loop填充
  └── 输出:分段seg_*.mp4

Step 5: 字幕生成
  ├── Python Pillow生成透明PNG字幕
  ├── FFmpeg overlay叠加(因FFmpeg 8.x无drawtext)
  └── 输出:带字幕的分段视频

Step 6: 最终合成
  ├── concat拼接25段视频
  ├── concat拼接25段音频
  ├── 音视频合并
  └── 输出:最终成片.mp4

Step 7: 素材导出
  ├── 结构化桌面文件夹
  ├── 矩阵表 + JSON
  └── 成本核算

详细步骤

Step 1: 脚本创作

输入: 用户需求(主题、风格、时长、参考素材)
输出: 分镜脚本文档 + TTS台词清单

工作流程:
1. 与用户确认主题方向(科幻/悬疑/科普/剧情等)
2. 编写分镜脚本,包含:
- 镜头编号、画面描述、时长
- 配音台词、角色分配、音色选择
- 音效说明
3. 输出TTS台词清单(25段以内,每段2-20字最佳)
4. 角色音色分配表:

角色类型 推荐音色ID 说明
旁白/叙述者 male-qn-jingying 精英青年男声,通用
男主角 male-qn-jingying 精英青年男声
霸道/硬汉 male-qn-badao 霸道男声
反派/俊朗 junlang_nanyou 俊朗男声
成熟女性 female-chengshu 成熟女声
少女 female-shaonv 少女音
研究员/学生 male-qn-daxuesheng 大学生男声
醇厚长辈 male-chunhou 醇厚男声

Step 2: 视频镜头生成(速创API Grok Imagine)

API平台: 速创API(详见 references/sucuang_api.md)
模型: Grok Imagine(xAI Aurora引擎)
价格: 按秒计费(具体见平台)

API调用方式:
- 鉴权:Authorization Header 传API Key(不带Bearer前缀)
- 接口:POST /api/async/video/grok_imagine
- 参数格式:扁平JSON
- 结果查询:GET /api/async/detail?id=xxx(轮询直到status=2)

批量生成策略:
1. 25个镜头同时提交(用ThreadPoolExecutor)
2. 每个镜头约10秒,生成耗时约30-60秒
3. 失败自动重试(平均重试3次)
4. 注意:Sora2接口已不可用(持续400错误),全部使用Grok Imagine

Prompt编写要点:
- 英文Prompt效果更稳定
- 包含:场景描述、光线、构图、镜头运动
- 示例:"Deep space, Milky Way galaxy slowly rotating, cinematic wide shot, photorealistic, 4K quality"

Step 3: TTS配音生成(速创API audio_tts)

API接口: POST /api/async/audio_tts
价格: 按字计费(具体见平台)
参数格式(重要): 扁平JSON,不要嵌套

{
  "text": "台词内容",
  "voice_id": "male-qn-jingying",
  "speed": 1.0
}

注意事项(踩坑经验):
- ❌ 不要传 format 参数(会报500"存在未绑定的参数")
- ❌ 不要嵌套成 {"model":"audio_tts","params":{...}}
- ✅ 状态码判断:status=2 完成,status=0/1 处理中
- ⚠️ 部分任务会卡住(status一直=0),重试可换IP节点
- ✅ 返回tar包,需解压获取mp3

Step 4: 音频驱动剪辑(核心节奏控制)

核心理念: 画面长度由语音旁白决定,而非固定时长。先录制/生成TTS配音,再让每段视频精确匹配对应配音的时长。这样保证音画天然同步,且节奏由配音自然驱动。

4.1 节奏控制逻辑

每段(镜头, TTS)的处理流程:

1. 获取TTS音频实际时长 tts_dur(用ffprobe精确到毫秒)
2. 获取源视频时长 src_dur
3. 对比决策:
   ├── src_dur >= tts_dur + 0.5s  → 直接裁剪到tts_dur(视频多出的部分舍弃)
   ├── src_dur ≈ tts_dur(差<0.5s)→ 直接裁剪,不做额外处理
   └── src_dur < tts_dur           → stream_loop循环播放填满tts_dur
4. 输出:seg_NNN.mp4(时长=tts_dur,精确匹配配音)

为什么用"音频驱动"而非"视频驱动":
- 传统剪辑:先定视频长度,再往里塞配音 → 配音节奏被画面绑架
- 音频驱动:先定配音节奏,再裁剪画面适配 → 叙事节奏由台词自然决定
- 效果:观众听到的每句话都有对应的画面时长,不会出现"话没说完画面就切了"

4.2 短镜头循环填充(stream_loop)

当源视频时长不够时,用FFmpeg的stream_loop让视频循环播放:

# 循环播放直到填满tts_dur
/opt/homebrew/bin/ffmpeg -y -stream_loop -1 -i shot.mp4 -t {tts_dur} -c:v libx264 -preset fast seg.mp4

实战经验(三体EP1):
- 25个镜头中有3个需要循环填充
- 最大修复:pan_han_02火鸡演讲(源视频10s → TTS需要19s,循环补9s)
- 循环填充的视觉重复感在1-2次循环内不明显,超过3次建议换镜头

4.3 逐段精确裁剪避免累积漂移

# 关键:每段独立裁剪,不整体缩放
cumulative = 0.0
for i, (tts_file, shot_file) in enumerate(segments):
    tts_dur = get_duration(tts_file)  # ffprobe获取
    # 精确裁剪到tts_dur,不依赖前一段的结束时间
    trim_video(shot_file, tts_dur, f"seg_{i:03d}.mp4")
    cumulative += tts_dur

# 最终验证:所有seg时长之和 ≈ audio_concat时长 ≈ 最终成片时长

FFmpeg路径(Mac mini M4): /opt/homebrew/bin/ffmpeg

已知限制:
- FFmpeg 8.x 未编译drawtext/libass/freetype滤镜 → 不能直接加字幕
- anullsrc语法用 cl=stereo 而非 c=stereo
- shell转义用Python subprocess list模式避免zsh问题

Step 5: 字幕生成

方案: Pillow生成透明PNG → FFmpeg overlay叠加

from PIL import Image, ImageDraw, ImageFont

# 创建透明PNG
img = Image.new('RGBA', (1920, 160), (0,0,0,0))
draw = ImageDraw.Draw(img)
font = ImageFont.truetype('/System/Library/Fonts/PingFang.ttc', 48)

# 白色大字 + 黑色描边
draw.text((960, 80), "台词文本", fill='white', font=font, 
          anchor='mm', stroke_width=3, stroke_fill='black')

# FFmpeg overlay叠加
ffmpeg -i seg.mp4 -i sub.png -filter_complex "overlay=0:H-h" output.mp4

字幕设计规范:
- 底部居中,距底部约60px
- 白色大字 + 3px黑色描边
- 字号48-56px(PingFang SC字体)
- 可加角色标签(如"旁白:"、"汪淼:")

Step 6: 最终合成

拼接视频:

# 生成file list
for f in seg_*.mp4; do echo "file '$f'" >> video_list.txt; done
ffmpeg -f concat -safe 0 -i video_list.txt -c copy video_concat.mp4

拼接音频:

for f in audio_*.mp3; do echo "file '$f'" >> audio_list.txt; done
ffmpeg -f concat -safe 0 -i audio_list.txt -c copy audio_concat.aac

音视频合并:

ffmpeg -i video_concat.mp4 -i audio_concat.aac -c:v copy -c:a aac final.mp4

Step 7: 素材导出与成本核算

桌面文件夹结构:

~/Desktop/项目名称/
├── 01_字幕/     → 字幕PNG文件
├── 02_配音/     → TTS音频MP3
├── 03_主图/     → 镜头缩略图JPG
├── 04_视频/     → 分段视频MP4
├── 05_矩阵表/   → 矩阵表.html + 素材结构.json
└── 最终成片.mp4

成本核算模板:

项目 计算方式 说明
Grok Imagine视频 总秒数 × 重试次数 × 单价 按秒计费
TTS配音 总字数 × 单价 按字计费
WorkBuddy算力 对话轮次 × 单价 按轮计费
硬件折旧 Mac mini ¥3,999/3年寿命 ¥3.65/天
电费 16h × 65W × ¥0.6/度 ¥0.62/天

速创API平台速查

平台地址: 详见 references/sucuang_api.md
文档中心: 详见 references/sucuang_api.md

常用模型及价格:

模型/接口 价格 说明
Grok Imagine 视频生成 按秒计费 文生视频/图生视频,6-15秒
audio_tts 配音 按字计费 多音色TTS
video_digital_humans 数字人 按次计费 需公网音频URL+视频URL
Sora2(已弃用) — 持续400错误,不可用

API Key传递:
- ✅ Authorization Header(推荐,不带Bearer前缀)
- ❌ URL参数 ?key=xxx(会返回403)


三体EP1实战参考

项目规模: 25个镜头,127秒成片,8个角色
总成本: ¥44.17(含重试+硬件折旧)
工具链: Grok Imagine × 25 + TTS × 25 + FFmpeg + Python Pillow
迭代版本: v5min → v6 → v7 → v7.1 → v8(5个版本迭代)

关键经验:
1. Sora2不可用,全部切Grok Imagine
2. 源视频短于TTS时用stream_loop循环填充
3. FFmpeg 8.x无drawtext,用Pillow生成PNG替代
4. TTS部分任务卡住需重试
5. 逐段精确裁剪避免累积漂移


专业审核与迭代流程

AI生成的第一版通常不是最终版。必须经过"制作→审核→修改"的迭代循环才能达到交付标准。

审核维度

维度 检查内容 常见问题
音画同步 画面内容是否匹配配音台词 角色A说话但画面是角色B
时长匹配 每段视频是否完整覆盖TTS 短镜头被截断,话没说完画面就切
视觉重复 循环播放是否超过3次 火鸡演讲循环9s,观众能看出重复
字幕准确 字幕文本是否与TTS一致 错别字、标点错误
节奏感 整体叙事节奏是否流畅 某段太长拖沓,某段太短仓促
画面质量 是否有明显AI生成瑕疵 人物变形、闪烁、分辨率低

迭代流程

V1(初版合成)
  ↓
专业审核(逐段检查以上6个维度)
  ↓
问题清单 → 按严重程度排序
  ├── P0(必须修):音画不匹配、字幕错误、画面截断
  ├── P1(建议修):节奏拖沓、视觉重复感强
  └── P2(可优化):画面质量、色调统一
  ↓
V2(修复P0问题)
  ↓
再次审核
  ↓
V3...(逐轮修复,直到P0=0、P1≤2)
  ↓
最终交付

实战案例:三体EP1迭代记录

版本 问题 修复方案
v5min 252秒成片,但TTS只有127秒,大量空白 重新按TTS时长裁剪
v6 音频驱动剪辑,但3个短镜头被截断 修复中
v7 短镜头截断(火鸡演讲缺9s) stream_loop循环填充
v7.1 循环修复完成,但无字幕 加字幕
v8 字幕+音画同步修复+矩阵表 ✅ 最终交付

审核工具:
- 逐段对比:ffprobe 获取每段TTS和视频的精确时长
- 偏差检查:每段TTS vs 视频时长差 > 0.5s 即标记为问题段
- 画面检查:播放时逐段确认画面内容与台词匹配


资源文件

references/

  • sucuang_api.md — 速创API完整接口文档和踩坑经验
  • production_workflow.md — 制作流程详细参考

scripts/

  • (按需添加:批量提交脚本、合成脚本模板等)

assets/

  • (按需添加:字幕模板、片头片尾素材等)

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。