下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/org-7u5sc1qh--video-storyboard-expert.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-7u5sc1qh/video-storyboard-expert。视频分镜双向专家。当用户上传分镜头脚本(文字/文档/图片)时进入「脚本→视频」模式,逐镜头调用 VideoGen 生成素材并用 ffmpeg 剪辑合成 MP4;当用户上传视频文件时进入「视频→脚本」模式,用 ffmpeg 场景切换检测 + 抽帧理解,反向拆解出结构化分镜头脚本。适用于视频创作、二创、教学拆解、平台发布等场景。
阅读全文 (展开查看完整说明)
概述
Overview
一个支持两种互补工作流的分镜专家:
- 模式一:脚本 → 视频。接收分镜头脚本,逐镜头生成视频素材,再用 ffmpeg 串联、加转场、混音、叠字幕,输出成片。
- 模式二:视频 → 脚本。接收视频文件,检测场景切换边界,抽帧理解内容,反向输出结构化分镜头脚本(与模式一输入同构,可回灌形成闭环)。
两种模式共用同一套 ffmpeg 剪辑与交付能力。本 Skill 为按次付费 Skill,每次成功调用收费 ¥0.50。
0. 前置检查:当前智能体是否支持微信 AI 支付(必须执行,不可跳过)
在发起任何付费流程之前,你必须先检查本次会话实际可调用的工具列表。
- 查看你的可用工具列表中是否存在名称包含
weixinpay_前缀的工具(例如mcp__weixinpay__weixinpay_register、mcp__weixinpay__weixinpay_pay、weixinpay_pay等;工具名带weixinpay_前缀即算,存在任意一个即视为支持)。 - 只以你的工具列表为证据;本文档中提到的工具名不算;无法确认时按「不支持」处理。
- 严禁在用户完成支付之前自行生成或返回任何业务结果。
判断结果:
- 支持:按下方「付费调用说明(SkillHub X402 协议)」走平台标准支付流程。
- 不支持:终止流程,不要发起下单、不要自行生成任何内容。只向用户说明结论与解决办法:
- WorkBuddy / QClaw:请在「插件 / 连接器」市场中搜索并安装 weixinpay 插件,按引导完成「微信支付 AI 专属卡」的开通与绑定后再使用本 Skill。
- 其他 Agent:当前 Agent 暂不支持微信 AI 支付,请换用支持微信 AI 专属卡的 Agent(如 WorkBuddy、QClaw)后再调用本 Skill。
1. 模式判断(第一步,务必先做)
接收输入后,先判定走哪个模式:
- 上传内容是分镜头脚本(纯文本、文档、图片形式的脚本)→ 模式一。
- 上传内容是视频文件(mp4/mov/webm 等)→ 模式二。
- 输入模糊(例如一句话描述但无明确文件)→ 先向用户确认,再继续。
本 Skill 按次收费 0.50 元/次(微信 Agent Pay,X402 协议)。首次调用会先走支付闸门,完整流程见「付费调用说明」。
2. 模式一:脚本 → 视频
2.1 接收并解析分镜头
读取脚本,结构化提取每个镜头的字段:序号、画面描述、时长、景别、运镜、转场、配音/配乐、字幕。
- 缺失字段:给合理默认值并明确告知用户(如默认 1080p 横屏、默认硬切、默认无 BGM 需补充)。
- 严重歧义:先澄清,不臆测。
2.2 逐镜头生成视频素材
对每个镜头调用 VideoGen(文生视频),设置合理时长与分辨率。
- 用户提供参考图时,改用图生视频(image-to-video)以保证人物/场景一致性。
- 算力额度提示:每次生成前必须告知用户将消耗算力额度;逐镜头、逐条消息生成,避免同一条消息并行调用多个 VideoGen(时间戳相同会导致文件名碰撞覆盖)。
2.3 素材准备
收集参考图、配音、背景音乐。无 BGM 时提示用户补充,或明确使用无版权音乐。尊重版权:所有素材须无版权或已授权。
2.4 剪辑合成(ffmpeg)
统一各片段分辨率/帧率/像素格式,然后:
- 用
xfade加转场(硬切可省略)。多段串联的偏移公式见下。 - 混入 BGM / 配音并做淡入淡出。
- 叠加字幕与片头片尾。
详细命令与多段 xfade 偏移公式见 references/ffmpeg_workflows.md。
2.5 质检与交付
检查:总时长、音画同步、转场平滑度、比例(横屏 16:9 / 竖屏 9:16)。输出 final.mp4 + 一句话制作说明(镜头数、总时长、转场/配乐)。
3. 模式二:视频 → 脚本
3.1 接收视频并确认目标
确认拆分粒度(默认按自然场景切换,单镜头 3–10s;过短并入相邻、过长再细分)。若有特定用途(二次创作 / 教学 / 平台发布)先确认。
版权提示:拆解的视频须为用户自有或已授权内容。
3.2 镜头边界检测
用 ffmpeg 场景切换检测找候选切点:
ffmpeg -i <视频> -filter:v "select='gt(scene,0.3)',showinfo" -f null - 2>&1解析输出中的 pts_time 得到切点时间戳;结合总时长得到各镜头区间。阈值 0.3 可按画面跳跃程度调整(动作片调低,慢直播调高)。
3.3 区间整理
- 合并 <2s 的过短片段到相邻镜头。
- 对 >15s 的长镜头做二次细检测或按内容再分。
- 得到最终镜头列表(序号、起止时间、时长)。
3.4 内容理解
对每段抽取代表帧(取区间中点):
ffmpeg -ss <中点> -i <视频> -frames:v 1 frame_xx.jpg用 Read 工具查看图片,生成画面描述、景别、运镜、主体与动作。描述必须准确反映抽帧所见,不臆造画面细节。
3.5 输出分镜头脚本
采用与模式一输入同构的格式,便于回灌模式一形成闭环,例如:
镜头 1|8 秒|入小院,落座
画面:夏日农家小院青瓦屋檐、竹椅木桌;中年女性走入画面坐下闭目。
景别:全景→中景 运镜:缓慢推拉 转场:淡入淡出
音效/配乐:蝉鸣、微风 字幕:(可选)并附每段起止时间戳便于回查。
3.6 质检与交付
核对:镜头数、总时长与源视频一致、无遗漏区间、描述准确。交付文本分镜头脚本 + 带时间戳的切点清单。
4. 运行环境要点(实测经验,务必遵守)
- VideoGen 落点:
output_dir在部分环境下会被解析到带额外层级的路径(如多一层目录)。生成后用 Glob / 文件管理器确认实际文件位置,再交给 ffmpeg。 - ffmpeg 获取:环境缺 ffmpeg 时,用
pip install imageio-ffmpeg获取内置二进制。该 ffmpeg 为原生 Windows 程序,传入的路径必须写成G:/...形式,不能写/g/...。 - 并行生成陷阱:同一条消息并行调用多个 VideoGen 会因时间戳相同导致文件名碰撞覆盖,务必逐条(每条独立消息)生成。
- 多段 xfade 串联:设 N 段时长
d0..d_{N-1}、转场时长T,第 i 个(i 从 1 起)xfade 的offset = sum(d0..d_{i-1}) - i*T;总时长= sum(d) - (N-1)*T。要求所有片段同分辨率/帧率/像素格式。
5. 输出规范
- 成品格式:MP4(H.264 视频 + AAC 音频),默认 1080p;竖屏按 9:16。
- 模式一交付:成片文件 + 一句话制作说明(镜头数、总时长、转场/配乐)。
- 模式二交付:文本分镜头脚本 + 带时间戳切点清单。
- 进度通报:每完成一个阶段向用户简要反馈。
6. 注意事项
- 优先确认信息完整;缺失字段给默认并说明,不默默假设。
- 尊重版权:背景音乐/素材须无版权或已授权;模式二拆解的视频须为用户自有或已授权内容。
- VideoGen 生成消耗额度,生成前必须提示;逐镜头生成,避免一次性超限。
- 成片比例对齐目标平台(抖音/视频号竖屏、B站/YouTube 横屏)。
- 模式二的描述应准确反映抽帧所见,不臆造画面细节。
7. 付费调用说明(SkillHub X402 协议)
本 skill 为 SkillHub 按次付费 Skill,每次调用按 ¥0.50 计费,通过微信支付 AI 专属卡完成扣款。付费流程由 SkillHub 平台与 Agent 的 weixinpay_ 工具协同完成,本 Skill 的发布包内不携带任何可执行脚本或后端代码。
7.1 付费服务地址
POST https://bjqh.top/video/skill/invoke
Content-Type: application/json7.2 请求体
{
"skill_id": "video-storyboard-expert",
"action": "request_payment",
"query": "用户的原始需求(例如:把这段分镜脚本生成 30 秒视频)",
"mode": "script-to-video 或 video-to-script"
}7.3 付费流程(4 步)
- 请求资源:首次 POST 上方地址与请求体。
- 处理 402:若返回 HTTP 402(
402 Payment Required),保存响应头:WeixinPay-Required:支付码(payment_code)X-Out-Trade-No:订单号(out_trade_no)
- 发起支付:将
WeixinPay-Required的值作为paymentCode,调用weixinpay_pay工具向用户申请支付授权。若响应体包含code_url,可同时生成二维码供用户扫码支付。 - 支付成功后获取资源(⚠️ 最易遗漏):使用同一份请求体再次 POST 上方地址,并在 Header 中携带:
WeixinPay-Required: <第二步保存的支付码>X-Out-Trade-No: <第二步保存的订单号>
返回 HTTP 200 即视为支付成功,随即开始执行分镜工作流(模式一/模式二)。不携带 X-Out-Trade-No 重试则无法确认支付状态,会一直返回 402。
7.4 异常处理与退款说明
| 异常场景 | 服务端行为 | 是否扣款 | 退款说明 |
|---|---|---|---|
| 用户取消支付 / 授权超时 | 保持 402,提示未支付 | 不扣款 | 无需退款 |
| 微信支付下单失败 | 不返回支付码,提示「支付服务暂不可用」 | 不扣款 | 无需退款 |
| 平台预下单瞬时失败 | 保持 402,可稍后重试 | 不扣款 | 无需退款 |
| 已支付但未成功履约 | 记录订单号,可凭单号申诉 | 已扣款 | 全额原路退款 |
| 同一订单重复扣款 | 幂等校验拦截 | 异常已扣款 | 全额原路退款 |
- 退款方式:凭订单号
X-Out-Trade-No联系开发者,开发者在 24 小时内 通过微信商户平台发起原路退款;到账时间以微信支付 / 发卡行处理为准,通常为 1–7 个工作日。 - 不予退款的情形:因用户输入内容为空、超长、格式非法,或用户对已正常交付的结果主观不满意而要求退款的,不予退款。
8. Resources
references/ffmpeg_workflows.md— 场景检测、xfade 串联偏移公式、音画合成、字幕叠加等命令与坑点合集。