Communitygithub.com

polyir/ai-video-production-skill

端到端短视频与长视频制作技能,涵盖AI工具链(ElevenLabs、fal.ai、Hedra、Remotion、ffmpeg)及脚本、故事板、发布、分析等全流程。

ai-video-production-skill 是什么?

这个AI技能(Skill)提供了一套经过实战检验的视频制作工作流,专为使用AI工具创建Instagram Reels、YouTube Shorts等社交视频而设计。它从伊朗2.0系列第二季(2026年9-10月)的生产中提炼而出,包含了40多个视频片段和长集的制作经验。技能的核心是一套严格的规则,旨在避免代价高昂的错误,比如“审批关卡”、“运动设计优先于AI生成”、“从参考图像开始AI视频”以及“通过工具强制执行预算上限”。它详细规定了默认工具链(ElevenLabs用于音频,fal.ai用于图像到视频,Hedra用于唇形同步,Remotion用于动态图形,ffmpeg用于母版制作和质量控制),并提供了处理脚本、故事板、资产提取、音频清理、色彩匹配和性能分析的分步生产流程。此外,该技能还包含了针对短视频(如钩子编写、封面设计)和分析(如跨帖子比较、识别异常值)的特定规则,使其成为任何希望可靠、经济地规模化AI视频制作的开发者的全面指南。

兼容平台~Claude Code✓Codex CLI~Cursor✓Antigravity✓Gemini CLI
npx skills add polyir/ai-video-production-skill

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

AI 视频制作

一个已成功制作 40+ 个短视频和长集视频的制作系统。它是有主见的:下面的每一条规则都来自真实的失败或明确的决策者决定。特定于项目的内容(品牌、标志、声音、预算)不在此处——每个新项目都自行设置(请参阅“项目级配置”)。

核心原则

  1. 花钱前的审批关卡。 脚本和故事板首先交给决策者;在两者都获得批准之前,不得进行付费生成(TTS、图像、视频、唇形同步)。在批准前,可以进行素材研究和来源列表整理。批准后任何实质性的内容更改都需要再次展示。每次公开发布都需要其自身的批准。
  2. 决策者决定日期。 除非决策者设定了固定的节奏,否则永远不要提出制作或发布的日期/时间表。维护一个内容日历文件,并在每次制作和每次发布后立即更新(状态、实际日期、帖子ID)——任务在完成前不算结束。
  3. 运动设计优先,AI 其次。 在订购任何 AI 片段之前,先问:“这个能用代码构建吗?” 如果某个内容可以展示(地图、仪表、时间线、清单、数字、对比、规则卡片、比喻),就用 Remotion/SVG 以零成本构建。AI 只用于必须被看到的内容(面部、历史场景、绘画、氛围)。每个视频——包括 30 秒的短视频——都使用代码构建的运动设计。标记每个故事板镜头的图层(代码 / AI / 唇形同步)并说明运动设计的占比。
  4. 每个 AI 视频都从一个已批准的参考图像开始(图像到视频、参考到视频或首尾帧)。不使用文生视频。
  5. 音频始终来自专用音频工具(ElevenLabs):旁白、钩子、音乐、音效。强制关闭视频模型自带的音频(这通常也会使价格翻倍)。
  6. 预算上限通过工具强制执行,而非记忆。 使用带有上限的 scripts/fal_jobs.py;如果预估超出上限或任何图像成本 ≥ $1,它会拒绝提交。
  7. 我无法听到音频或可靠地判断面部。 取而代之的是进行测量:用 F0 判断声音性别,用 LUFS 判断响度,用 STT 判断措辞,用静态图/联系表判断视觉效果。请决策者听取名称和歧义词。
  8. 记录决策。 维护一个 DECISIONS.md(决策者规则 + 经验教训,注明日期)和一个 PRODUCTION_WORKFLOW.md(当前规则)。知识/研究放在一个单独的文件中,并注明置信度;只有当决策者批准时,它才会成为规则。

制作顺序

  1. 检查源文本和目标 → 2. 起草脚本 + 故事板(现在标记短视频及其钩子;限制重用素材约 25%)→ 3. 提取精确的资产列表 → 4. 检查现有资产,仅从授权源下载缺失的部分 → 5. 验证下载(主题、时长、分辨率)→ 6. 根据实际文件最终确定脚本/故事板 → 7. 展示给决策者,在获得批准前停止 → 8. 生成(TTS → 参考图像 → I2V → 唇形同步)→ 9. 在 Remotion 中组装 + 技术性 QC → 10. 审查剪辑以供发布批准 → 11. 批准后上传 → 12. 更新日历 + 分析日志。

脚本化流水线(详情见 references/pipeline.md):turns.py → tts.py → stt_check.py → build_audio.py (→ timing.ts + 字幕) → Remotion → scripts/master.sh (两次通过 −14 LUFS + QC)。

默认工具拆分(每个项目可覆盖)

任务工具备注
图像首先尝试免费 Agent(通过跨 Agent MCP 的 Codex image_gen / Antigravity);否则使用 fal(nano-banana-2 用于新内容,nano-banana-pro/edit 用于风格一致性和 i2i;当 Nano Banana 拒绝时,使用 Flux 2 Pro 作为后备)目标 ≤ $0.30/图像,绝不超过 $1
视频(I2V)fal: Veo 3.1(包括 lite/fast、用于过渡的首尾帧)、Gemini Omni Flash 1.1、Wan 3.0、Kling 2.6 Pro始终明确设置分辨率——价格取决于此
唇形同步仅使用 Hedra hedra-character-3通常比 I2V 每秒更便宜 → 尽可能通过角色讲述故事
语音、音乐、音效ElevenLabs,最新的旗舰 TTS 模型(list_models;切勿复制旧的 model_id)仅使用库中的声音,永远不要使用设计声音
录制语音清理fal veed/clean-audio → fal-ai/lava-sr(关闭降噪)→ 轻度润色增强,而非生成
编辑/渲染Remotion(+ @remotion/three 用于最多一个 3D 英雄场景)
母版制作 / QCffmpegscripts/master.sh,scripts/qc.sh

模型/价格详情和陷阱:references/ai-generation.md。

来之不易的规则(那些花钱买来的教训)

  • 永远不要设计一个新的 TTS 声音(text_to_voice)。设计的声音会发错非英语的音,而且 STT 无法捕捉到元音错误。从现有库中挑选;如果没有合适的,则询问。
  • 在生成唇形同步面部之前,将角色与声音匹配。 测量中位 F0(男性约 85–155 Hz,女性约 165–255 Hz)并阅读转录文本。一个男性头像配上女声浪费了整次渲染。
  • 永远不要假设决策者素材中出镜人物的性别或身份——那通常是决策者本人。
  • 波斯语/阿拉伯语脚本的 TTS 需要变音符号(特别是 ezafe kasra 和短的歧义词)仅出现在 TTS 文本中;字幕保持纯文本。错误的变音符号比没有更糟。详情见 references/audio.md。
  • 音乐必须清晰可闻:在语音下约 10–13 dB 并进行闪避,在停顿/封面/结束卡片处更响。固定增益 0.06 的背景音乐是听不见的。
  • fal_pricing 只返回最低层级(例如 360p)。根据分辨率表进行预算。
  • 不重建真实人物的照片级面部。 使用剪影/背面/手部,并标注“象征性重建”。对公众人物的明显卡通漫画形象,只能说出有文档记录、有日期、有来源的引述,并以此进行标注。
  • 绝不要将可读文本放入图像/视频模型提示中——它会生成乱码;在 Remotion 中添加文本。不要在提示中放入角色名字(模型会将其写在图像上);对于旗帜/道具,要说“简洁,无符号”。
  • 观看每个 AI 片段的结尾——内容通常在最后几秒出问题;缩短 clipLen。

短视频规则(摘要——完整版见 references/short-form.md)

  • 钩子在 0–3 秒内同时在三个层面起作用:第 0 帧视觉、第一句口语(从 0.05 秒开始,没有开场白,主要承诺在第四秒前出现)、无需声音即可阅读的屏幕文本。不超过 8 个词。每个短视频写 2–3 个不同类型的钩子。
  • 第 0 帧 = 封面(入场渐隐减少到一帧)。
  • 短视频硬上限 160 秒,最佳时长约 80–90 秒;Instagram 只向非关注者推荐 ≤ 3 分钟的内容。
  • 结尾:语音 = 附带理由的引导关注(最好:命名下一部分的预告);屏幕 = 内容相关问题;文案 = 评论问题 + 引导关注。仅在对实际有用的帖子上发出分享邀请(“把这发给某个……的人”)。
  • 当受众可能处于危险中时,切勿提出可能揭示观众群体、身份、位置或活动的问题。
  • ≤ 5 个标签;主要关键词明确出现在文案的第 1–2 行(文案是经过搜索索引的)。
  • 轮换视觉风格、钩子类型、叙述者和封面模板——连续看起来相似的短视频会被视为“前一个帖子”而被跳过。

分析规则(摘要——完整版见 references/analytics.md)

  • 仅比较相同时期(24 小时 / 48 小时 / 7 天)且处于相同合作状态的帖子;发布时间 < 24 小时的帖子视为“临时的”。
  • 异常值(由外部大号分享、新闻事件等驱动)在通过更改你控制的参数重现其模式之前,应从基线中排除。在归因于内容之前,先询问决策者关于外部分享的情况——API 无法看到这些。
  • 在没有来自应用的账户状态证据的情况下,不要声称存在影子禁令/限制。
  • 合作接受的时间不可预测;没有证据就不要将触及率的跃升归因于合作。
  • 通过参与度(每次触及的分享、保存、评论数,每千次触及的关注数)来判断成功,而不仅仅是触及率。
  • 两个速度:每次记录数据;仅在每周回顾中并且仅当 ≥ 3 个相同时期的帖子显示该模式时,才提出规则更改。

项目级配置(在新项目开始时询问或阅读)

品牌调色板、字体和标志集 · 旁白声音 + 轮换副声音 · AI 披露措辞 · 每个短视频/视频的预算上限 · 允许/禁止的模型 · API 密钥存放位置(钥匙串服务名称 / 环境变量) · 发布账号和合作者映射 · 内容日历和分析文件位置 · 受众安全约束 · 决策者是否可以在镜头前出现。

参考文件

文件何时阅读
references/pipeline.md构建脚本化的 TTS → 计时 → Remotion 流水线时;文件夹布局;交付物
references/remotion.md编写或调试 Remotion 合成、字体、RTL 文本、3D、渲染 QC 时
references/audio.mdTTS 设置、变音符号、语音链、音乐闪避、响度、音效
references/ai-generation.md选择/定价 fal 模型、I2V 规则、Hedra Character-3、Omni 视频编辑、抠像、LUT、免费图像 Agent 时
references/short-form.md钩子目录、CTA、循环短视频、Instagram 排名信号、好奇心缺口、讲解原则、取景
references/analytics.md运行 Instagram/YouTube 分析、CSV 模式、比较规则时
scripts/fal_jobs.py有预算上限的 fal 图像/视频作业运行器(估算 / 提交 / 轮询 / 下载)
scripts/stt_check.py使用 ElevenLabs STT 验证 TTS 回合与脚本的一致性
scripts/master.sh两次通过响度母版制作 + 响度/黑场/冻结帧 QC
scripts/qc.sh交付前的帧网格 + 联系表 + 技术检查

相关技能