Communitygithub.com

AI 产品视频

用 AI 为实体产品制作视频的完整方法和工具,涵盖从 3D 预演、关键帧生成到视频剪辑、配音、多画幅交付的全流程。

AI 产品视频 とは?

此 Skill 为 AI 智能体(如 Claude Code、Cursor 等)提供了一套打通从创意到交付的完整工作流,专门用于制作实体产品(硬件、家电、消费电子等)的 AI 生成视频。它解决了通用视频生成流程中产品细节不准确、AI 幻觉等问题,通过引入“产品事实 + 3D(或实拍/CAD)”作为“标准答案”,并结合分阶段工作流(立项-预演-关键帧-视频草稿-剪辑-混音-交付)来保证最终视频的真实性和可控性。Skill 支持多种视频类型(功能演示、品牌广告、电商视频等)和画幅(横版、竖版、1:1),并可产出多语言版本。其核心优势在于数据驱动的后期流程:字幕、标注、音效等均在剪辑层生成,修改文案无需重新渲染画面,大幅提升迭代效率。配套脚本涵盖了视频生成 API 调用、剪辑合成、配音混音、质检等关键环节,帮助开发者和 AI 智能体高效、低成本地完成专业级产品视频制作。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/AuraJZ/ai-product-video/tree/main

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

AI 产品视频 は何をしますか?

核心分工:

  • 3D 或产品照片:决定东西在哪、多大、怎么动、什么时候变。
  • 图像模型:负责让画面看起来像真的。
  • 视频模型:负责让画面动起来。
  • 代码:拿产品事实和 3D 当尺子,量 AI 的每一张图和每一段视频,量不过就不花钱。

剪辑、字幕、引线标注和声音都是数据驱动的叠加层,改一个字不用重新生成画面。

这套方法来自一个真实项目:一支智能硬件产品的投资人演示片,路线改了四次才跑通,匿名复盘见 examples/case-study.md。下面写的是跑通之后的通用版本,适用于讲解片,也适用于广告。

为什么不能照搬 AI 漫剧流水线

AI 漫剧的流程是:设定 → 分镜 → 资产库 → 锁定静帧 → 视频模型让画面动起来 → 配音剪辑。它没有 3D 模型,观众也能容忍细节走样,所以 AI 画出的图就是标准答案。

产品视频卖的是"这个东西长这样、能这样用"。接口方向、字样、灯光位置画错,片子就在说假话。所以:

  • 照搬骨架:资产先行、先静后动、按镜头选模式、提示词只写变化、低清试错、逐镜质检。
  • 只改一处:标准答案不是 AI 图,而是产品事实 + 3D(或产品实拍/CAD 图)。

还有一条经验:3D 渲染的像素不要直接进成片,无论多精细都会有 CG 味。让图像模型在 3D 底图上重画一遍,再用这张图当视频的首帧和尾帧,真实感才出得来。

第一步:立项,先问清这 8 件事

细节和给用户的问法见 references/01-intake.md。

  1. 时间预估:第一条回复就说清大约多少分钟或几天、几点完成,按阶段列出,包括用户要亲自做的步骤;延误时立刻更新。
  2. 片型和投放位置:讲解片、品牌广告、竖版短视频、电商视频还是发布会短片,在哪里播放,时长和画幅各是多少。按 references/02-formats.md 选打法;一次制作可以出多个交付版本。
  3. 观众是内部还是公开:内部和投资人可以看爆炸图、透视图、内部结构;公开发布的版本不放任何内部结构,也不写元件名称。这决定了能拍哪些镜头。
  4. 产品事实确认单(templates/product_facts.md):每个功能靠什么部件、从哪里出来、镜头里长什么样、不能长什么样,是设计目标还是已经实现,能不能公开。你推断的条目一律标"待确认",等负责人确认。
  5. 质量标杆:请用户给一部参考片,测量它的运动量和制作方式,只学画质,不学结构。
  6. 用户手上的工具:
    • 图像模型:只有订阅、需要用户手动画,还是有 API 可以由脚本调用?
    • 视频模型:API 账号(脚本能调),还是网页或 App 会员(只能手动生成:用手动视频包,先查商用条款,不假设能草稿升级)?
    • 有没有产品 3D 模型或 CAD;没有时,有没有实物样品或任何渲染图。没有 3D 就走"无 3D 路线"(references/03-previs.md 第 10 节)。
  7. 预算和计费:计价公式、套餐和代金券实际能抵多少、账户余额、总上限。大批量生成和高清升级之前,必须先请用户看一眼余额。
  8. 小测再定路线:同一个镜头出两条低清草稿,一条用 3D 或产品图当首帧,一条用图像模型画的写实关键帧当首帧,几块钱、几分钟就能看出差别。

项目文件夹约定

所有脚本都以 --project 指定的文件夹为根(默认是当前目录),新项目请按这个结构建:

<project>/
  .env                    密钥(ARK_API_KEY 等),不进版本库,不在聊天里出现
  brief/                  creative_brief.md、product_facts.md、benchmark.md、budget.md、decisions.md、feedback_brief.md、claims.md、licenses.md
  shots/shot_list.json    镜头表,时间轴的唯一来源
  shots/prompts/<id>.txt  每个镜头的视频提示词(改动时加版本号,旧版保留)
  plates/<id>/            3D 底图、遮罩、相机坐标(无 3D 时放产品参考图)
  packs/                  look_bible.txt(统一设定,唯一来源)、手动出图包、手动视频包
  keyframes/keyframes.json  关键帧清单(母版、首尾帧、上传顺序)
  keyframes/raw/          图像模型的原图
  keyframes/norm/         统一到输出尺寸后的关键帧
  footage/                实拍、录屏、真实界面截图等不是生成的素材(可选)
  gen/                    视频模型的输出,以及 video_log.jsonl(调用和花费账本)
  qc/                     逐帧拼图、Gate K / Gate V 报告
  edit/                   edl.json、captions.json、callouts.json、approved_drafts.json、approved_bridges.json
  renders/                剪辑器输出的无声画面和 .timeline.json(edit.py 的默认输出位置)
  sound/                  音乐和音效分轨、cue sheet、混音窗口
  deliver/                成片(公开版和内部版分开放)
  work/                   项目自己的脚本和工作流(生成 EDL、出图包、检查),每步结果写盘

templates/ 里的模板复制进对应文件夹:creative_brief.md、product_facts.md、benchmark.md、budget.md、feedback_brief.md、claims.md、licenses.md 进 brief/,decision_list.md 存成 brief/decisions.md;shot_list.json 进 shots/;keyframes.example.json 存成 keyframes/keyframes.json;填好的 prompts/look_bible.md 代码块存成 packs/look_bible.txt;sfx_cue_sheet.md 进 sound/;edl、captions、callouts、approved_drafts、approved_bridges 五个 *.example.json 去掉 .example 进 edit/。

画幅写在数据里,不靠记命令:

  • 视频生成:首尾帧任务的画幅跟随首帧(关键帧先用 scripts/qc/normalise_keyframes.py --size 1080x1920 统一);参考模式竖版要加 --aspect 9:16。
  • 剪辑:edit/edl.json 写 "size": [1080, 1920],之后 uv run scripts/edl_editor/edit.py --project <project> --edl edit/edl.json --dry 就按竖版排;--res 480 出同画幅的小预览,--size WxH 另出别的画幅。
  • 竖版信息流:edit/captions.json 的 style 写 "preset": "feed_safe",字幕、片尾小字进保守安全框,--dry 逐条检查。

第一天就 git init,并把 .env、gen/、renders/、.cache/ 写进 .gitignore。每类数据只认一个文件作为来源:

  • 产品外观:规格文件或 3D 母版;统一设定:packs/look_bible.txt;
  • 时间轴:shots/shot_list.json;
  • 字幕:edit/captions.json;
  • 剪辑:edit/edl.json;
  • 批准的镜头:edit/approved_drafts.json、edit/approved_bridges.json;
  • 宣称和授权:brief/claims.md、brief/licenses.md;
  • 用户意见:brief/feedback_brief.md。

流水线

两条轨道并行:画面轨和声音轨。声音不要等画面升完高清才开始,剪辑结构一定下来就动手。

#阶段产出用户把关自动检查 / 记录详见
1立项与事实创意简报、产品事实确认单、交付清单确认事实、片型、预算—01、02
2创意与镜头表结构、节拍、镜头表(每镜:机位、动作、效果、产品状态、模式、转场、字幕、音效)定结构和措辞方向时长和阅读时间是否装得下02、rulebook §1
3预演与底图3D 母版、每张关键帧的底图契约、需要时的灰模视频;无 3D 时用产品参考图看底图总览从每个真实机位检查朝向、线缆、穿模03
4设定母版产品母版、场景母版、人物设定(资产先行,先于所有镜头关键帧)逐张过检查点—04 §2、§3
5关键帧每张一个出图包,或由脚本调 API;统一尺寸手动画或审图Gate K(项目脚本):轮廓、比例、效果状态、缩放一致、重复文件04
6视频草稿480p 草稿开通、付款由用户自己点;批量前看余额;看草稿演练与拒发条件(含提示词检查);逐 0.25 秒拼图;Gate V(项目脚本)05
7审片与账本edit/approved_drafts.json、edit/approved_bridges.json、粗剪给意见,编号写进 brief人工放行绑定文件指纹05 §13
8剪辑与字幕EDL 预览:转场、AI 过渡镜头、字幕、引线标注、片头片尾卡改措辞和顺序--dry 检查间隔和阅读时间;字幕静帧审阅06
9高清升级批准镜头原样升 1080p顺序和字幕定稿后放行;先看余额时长和中间帧一致性05 §6
S1声音设计(与 8、9 并行)选曲和授权、音效 cue sheet、产品自带声音、需要时配旁白选曲(发可播放的文件)、试听过渡授权记录07
S2混音平衡后的成片音轨听成片按时间窗实测"音效减音乐"的 dB;响度目标07
10交付母版、30 MB 以内的分享版、各平台画幅、15/6 秒剪短版定片头文字、要成片时长、音视频流、响度、关键帧画面08
11多语言一份文案文件生成平行的字幕和 EDL定文案原版逐像素不变;残留原语言字符为 008
12合规终检brief/claims.md、brief/licenses.md、AI 标识签字词表检查 + 逐句对照产品事实09

最重要的 12 条

完整的 139 条见 references/rulebook.md。

  1. 先写立项单:片型、观众(内部还是公开)、平台、时长、画幅,再谈创意。
  2. 产品事实先成文、先确认;一处更正就一次改完所有下游(3D、底图、出图提示词、视频提示词、字幕、标注、brief),再全局搜残留词。
  3. 3D 只定位置,最终像素交给 AI 画;每个镜头都问一句"最终像素从哪来"。
  4. AI 关键帧要当首帧、尾帧来驱动镜头,不能只做一堆参考图里的一张。
  5. 喂给视频模型的每个像素都会被照抄:灰模统一灰色并降噪,参考包里不放机位不同的图,参考图本身必须正确。
  6. 视频提示词写成逐秒剧本,数字从 3D 或镜头表导出,不手写;只写变化,不重复描述外观。
  7. 效果按摄影机拍到的样子写,并写清"不是什么";常亮的灯写"亮度恒定";用量用肉眼可查的标准卡住。
  8. 花钱分两级:先过免费检查、出 480p 草稿;批准后才原样升高清,升之前先看余额。
  9. 逐帧看原片:首尾帧模式会在中间偷偷叠化;独立审查必须看生成的原片。
  10. 字幕、标注、声音都放在剪辑层,由时间线数据生成;改字、调序、升级高清都不用重新生成画面。
  11. 合规两道关:先过词表(极限词、功效、医疗、数字),再逐句对照产品事实查"暗示的功能"。AI 标识的默认做法是开头画面标一次(至少约 2 秒)、片尾小字说明一次,再加上平台的 AI 声明;不挂常驻角标,除非平台要求。
  12. 用户的每条意见按原话编号写进 brief,所有 agent 和终审都对照它。长对话会被压缩,文件不会。

和用户协作

  • 时间:先给预估;长任务没有可见输出时,主动报告当前阶段、最后一次活动的时间和新的预计时间。
  • 轮到用户动手时一次交齐:完整的说明文件、能直接打开或播放的素材,发到手机上(单个文件 30 MB 以内)。母版告诉用户放在哪个文件夹。
  • 听清工作方式:"先只分析"就只分析;"中间不要停"就一路做到交付;"最后一轮"就跳过中间的试听。
  • 结论先行:用户问"要推翻重来吗",第一句给结论,再讲理由,最后列出需要用户拍板的点。
  • 安全:
    • 不读、不显示、不索要密钥(只放 .env);
    • 不注册账号、不输入密码或支付信息;
    • 同意协议、付款、开通、充值都停在按钮前,说清代价,由用户自己点;
    • 下载文件前先问。
  • 长任务:
    • 开跑前请用户接上电源、把系统睡眠设为"从不",再申请保持唤醒;
    • workflow 和批处理要能从磁盘续跑;
    • 提交和查询结果分两步;
    • 3D 渲染一次只开一个进程。

细节见 references/10-working-with-user.md。

对外发布

凡是公开的内容,包括广告投放、社交平台、公开演讲配图:

  • 不放爆炸图、透视图、能看到内部结构的镜头,不写内部元件名称和工作原理;
  • 社交平台的图文里不点名具体的 AI 产品(写"图像大模型""视频模型""3D 软件");
  • 不晒花费;
  • 踩坑写成通用的流程问题,不写个人经历;
  • 加上平台要求的 AI 生成声明。

详见 references/09-compliance.md。

工具

所有脚本都用 uv run 运行,依赖写在各脚本开头的 PEP 723 块里,ffmpeg 来自 imageio-ffmpeg。

脚本用途
scripts/edl_editor/edit.py按 EDL 出片:卡片、叠化、黑场、光晕、甩镜、AI 过渡镜头、字幕、引线标注、角标;支持 16:9、9:16、1:1;--dry 演练,输出 timeline.json。用 make_demo.py 可以一键生成演示项目
scripts/edl_editor/typeset.py字幕和卡片排版引擎:中英文层级、标点挤压、安全区、跨平台字体回退;--specimen 可以检查本机字体
scripts/video_api/seedance.py火山方舟 Seedance 客户端:首尾帧、参考图等模式,草稿与高清升级,可续跑的查询,费用估算和账本,--dry 不联网、只做检查(含提示词检查);也可以照着它给别的视频模型写适配
scripts/audio/mix.py音乐和音效分轨按时间窗平衡,实测 dB 差,限幅和两遍响度标准化,再合成进画面
scripts/qc/strip.py每 0.25 秒抽一帧拼成长图,画运动和亮度曲线,标出硬切、跳变和定格
scripts/qc/contact_sheet.py带标签的图片网格,用来审阅底图、关键帧和草稿
scripts/qc/normalise_keyframes.py关键帧 raw → norm:镜头帧裁成输出画幅,母版和参考图只缩不裁,放大和硬裁切会警告
scripts/qc/lint_prompts.py视频提示词的禁用词族扫描(含本产品的机理禁用词),没扫到文件时报错

不附带、要项目自己写进 work/ 的脚本:Gate K 和 Gate V 的判定(seedance.py 不读 Gate K 报告,"没有报告不提交"由项目自己的提交步骤保证)、出图包生成(keyframes.json → packs/)、shot_list.json → EDL 和字幕草稿。要求写在 04、05、06 和 templates/prompts/keyframe_pack.md。

使用说明见各目录的 README。模型的能力、价格和限制变化很快,用之前先核对官方文档,各参考文件末尾的"模型备注"都标了核对日期。

什么时候读哪个文件

文件什么时候读
references/01-intake.md新项目第一天
references/02-formats.md定片型、时长、画幅、结构,或者做广告和竖版短视频时
references/03-previs.md搭 3D 预演或底图之前;没有 3D 模型时
references/04-keyframes.md写出图包、定统一设定、检查关键帧时
references/05-video-gen.md写视频提示词、选生成模式、提交、审草稿、高清升级时
references/06-edit-type.md剪辑、转场、字幕、标注、片头片尾卡
references/07-sound.md选曲、音效、旁白、混音
references/08-delivery.md交付、各平台版本、剪短版、多语言
references/09-compliance.md写任何上屏文字或旁白之前;公开发布之前
references/10-working-with-user.md和不写代码的用户协作、长任务、安全边界、环境问题
references/rulebook.md某个阶段拿不准时,查对应的那一组
references/pitfalls.md出问题时,先按现象查
templates/开工时复制到项目里,填写后使用
examples/case-study.md想看一个完整项目是怎么走下来的

関連スキル