# Ecom H3 Video

> 用内置 ComfyUI 工作流、MiniMax-H3 API 或 Grok Imagine Video API 把文字或商品图片制作成视频，并复用已验证模板。 用户只要要求生成视频、做视频、出片、图片转视频、商品页视频、Listing 视频或产品展示视频，即使没说 dsvideo、H3 或 ComfyUI，也使用本技能；不用于只剪辑已有视频，也不用于用户明确要求只写导演方案、分镜或 H3 提示词而不生成视频。 沿用用户已选的 ComfyUI、MiniMax API 或 Grok API 路线；仅补问缺失信息，把新剧本与付费估价合并确认，已授权方案直接执行。

- Skill: `zmgid/ecom-h3-video` (Agent Skill, multi-file: 11 files)
- Install (CLI): `npx skillmds@latest add zmgid/ecom-h3-video`
- Raw SKILL.md: https://api.skillmd.com/api/skills/zmgid/ecom-h3-video/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- Author: zmgid (https://skillmd.com/u/zmgid)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/zmgid/ecom-h3-video

---


# 商品页 H3 视频

目标是准确、清楚地展示用户商品。用户要求口播、UGC、仿拍或营销剧情时按要求执行；只有未指定风格时才采用简洁商品展示。回复保持简短。

## 默认入口

生成新视频时先执行本技能，不要先直接调用或研究 `comfy-mcp`。本技能已经内置工作流及三条分支的切换方法；正常出片不下载服务器工作流、不查询 `object_info`、不分析节点或接线。

用户明确只要创意、导演方案或分镜时使用 `video-director`；明确只要 H3 提示词且不要生成时使用 `h3-prompt-writing`。这两类请求不进入路线选择，不查询余额，也不提交生成任务。

用户给出现有视频并要求分析、拆解、仿拍参考或保存参考模板时，先使用同级 `video-reference-analysis`。单纯分析视频不进入生成路线选择，不查询余额，也不连接 ComfyUI。分析所得参考模板只提供创意结构，不属于本技能 `templates/` 中已经成片验证的生成模板。

## 路线选择

若用户在当前任务中已经明确指定“本地/ComfyUI”“MiniMax API”或“Grok API”，按其选择继续；只说“API”时仍需确认具体供应商。否则在提交任何生成任务前必须让用户选择，不能默认任何路线。

仅在用户尚未选择路线、需要显示路线菜单，或用户明确选择/切换到付费 API 时查询对应 API 信息；用户已经明确只用本地时不运行任何 `quote` 或 `balance`。先取得费用估算所需的输出时长和素材数量。MiniMax 国区账户运行同级 `minimax-h3-api/scripts/minimax_h3.py quote` 计算 `768P`、`2K` 两档预计费用，再运行 `balance` 查询当前按量余额。Grok 运行同级 `grok-video-api/scripts/grok_video.py quote` 计算 `480p`、`720p`、`1080p` 三档美元预计费用；xAI 官方未提供余额查询接口，明确显示“余额：请在 xAI Console 查看”，不得伪造余额。所有报价和余额查询都不会创建视频任务。

当前内置报价只适用于国区人民币按量账户。国际账户可以显示 `balance` 返回的美元余额，但必须把预计费用标为“国际区报价暂不可用”，并在取得可靠的国际区预计费用前停止付费创建；不得把国区人民币报价套到国际账户。

用三项简短显示并等待选择：

```text
1. 本地 ComfyUI（不产生 MiniMax API 费用）
2. MiniMax API（余额：<币种> <金额>；预计：768P <币种> <金额> / 2K <币种> <金额>）
3. Grok API（余额：请在 xAI Console 查看；预计：480p $<金额> / 720p $<金额> / 1080p $<金额>）
```

预计费用必须注明对应时长；MiniMax 包含参考视频或超过 5 张参考图片时使用 `quote` 的完整估算，Grok 单图生视频把一张图片输入费计入报价。用户选择付费 API 但没有同时选分辨率时，再要求明确选择该供应商支持的分辨率。选择前不连接 ComfyUI、不分析工作流，也不调用任何付费创建接口。

## 生成前剧本确认

汇总当前已知的路线、商品、时长、画幅、声音/口播语言和剧本。已有明确选择直接沿用，仅对缺失且影响成片或费用的信息集中问一次。最终剧本与付费规格/估价放在同一次确认中，不拆成多个审批回合。

新编剧本或 Agent 自行改变创意时，先展示可执行剧本再确认提交。用户已明确要求按展示过的方案生成，或明确要求“同一方案改用 ComfyUI 生成 5 秒”，即授权该具体变体：简述变化并执行，不重新询问未改变的语言、口播或商品要求。切换到付费路线而费用范围尚未确认时，先展示本次估价并取得确认。整理提示词、只读检查和免费 dry-run 可提前完成。

## 需求继承

同一任务中的后续消息是对现有要求的增量修改。只覆盖用户明确改变的字段；“改成 5 秒”不等于去掉口播，“换 ComfyUI”不等于改成环境音，“不要真人”不等于不要旁白。只有用户明确开始新作品时才重新收集要求。

参考视频有口播且用户要求仿拍时，默认保留口播形式和已识别语言；听不清台词时说明证据缺口。不要因为技能默认风格取消口播。缩短时长时压缩台词，保留语言和声音意图。不能保证商品完全不变形或口播绝对逐字一致，交付前验证实际结果。

## 工作流程

1. 接收商品图和当前任务要求，按“需求继承”合并用户本次修改。执行命令前读一次 [运行与恢复](references/execution.md)，使用应用已提供的运行环境。
2. 查看 `templates/*.json`（忽略 `_template.json`），按展示方式、主要镜头目标、时长、画幅和参考图数量选择最接近的已验证模板；品类名称只作辅助。用户指定了 `video-reference-analysis/templates/` 中的参考模板时，把它交给 `video-director` 作为创意结构参考，但仍需按当前商品重新编排，不能把它当成已验证生成模板。没有合适模板时读取同级技能 `video-director`，先产出可执行导演方案。若只有素材和“宣传一下”这类宽泛要求，由 `video-director` 给出三个拍法真正不同的一句话方案并请用户选择；选择前不写完整剧本、不提交生成。
3. 按“生成前剧本确认”完成必要确认；已有针对当前方案的明确授权就继续执行。
4. 确认后按所选路线准备提示词。MiniMax/ComfyUI 路线读取同级技能 `h3-prompt-writing`，只把用户确认的导演方案或模板剧本转换成完整 H3 提示词；Grok 路线把确认剧本压缩为一个完整视频提示词，不使用 H3 专有标签或多模态结构。不得自行增加新的剧情、功能或镜头。
5. 用户选择本地后才通过 `comfy-mcp` 出片。有本机图片时先用 `upload_file` 上传绝对路径并记录返回的服务器文件名；0 张图不上传。把完整 H3 提示词保存为临时 UTF-8 文本，然后运行 `scripts/prepare_workflow.py --prompt-file <提示词文件> --duration <秒> --ratio <画幅> [--image <服务器文件名> ...] [--megapixels <值>] --output <临时工作流.json>`。用户未明确要求分辨率时不传 `--megapixels`，脚本默认使用 `0.5`（16:9 时约 `960×544`）。只有用户明确要求其他百万像素值或输出尺寸时才按对照表覆盖。脚本只读取插件内置资产并写出临时副本，不读取、覆盖或保存用户在 ComfyUI 服务器上的持久工作流。它会自动选择 0 图 T2VA、1 图单图 Ref2VA 或 2–3 图多图 Ref2VA，并完成分支、节点、枚举、提示词、画幅、时长、分辨率和素材设置；不要再手动解析内置 JSON。
6. 本地路线用 `run_workflow`（`wait:false`）提交脚本输出的临时工作流并记录 `prompt_id`。该文件是 UI 工作流，工具负责转换，不能直接作为 `/prompt` 请求体发送。生成成功后用 `fetch_outputs` 下载到员工当前工作区并提供本地成片链接，不能只报告服务器成功。
7. 只要已经调用 `run_workflow`，在成片下载完成或任务已明确失败后，都运行 `python scripts/free_comfy_memory.py`。脚本会先查询全局 `/queue`：如果还有正在运行或等待的连续任务就跳过；只有 `queue_running=0` 且 `queue_pending=0` 时，才向同一台 ComfyUI 的 `/free` 提交 `{"unload_models": true, "free_memory": true}`。绝不为了释放内存中断其他任务。清理成功后说明模型和缓存已卸载，下一次生成需要重新加载；清理失败或因连续任务跳过时单独说明，不把已经成功下载的成片改报为失败。若 `run_workflow` 超时且任务是否结束仍不明确，也只运行脚本检查队列，不得强制停止 ComfyUI。普通 `/free` 后仍明显占用大量内存时，才建议用户正常重启 ComfyUI，不自动结束服务器进程。
8. 素材上传、工作流准备或生成失败时只报告一条真实错误；不搜索替代工作流、不推测模型问题、不自动改走付费 API。只有准备脚本报告内置节点不匹配时，维护者才读取 [references/comfy-workflow-map.md](references/comfy-workflow-map.md) 并刷新资产。
9. 用户选择 MiniMax API 后才读取同级技能 `minimax-h3-api`；选择 Grok API 后才读取同级技能 `grok-video-api`。客户端优先读取当前用户 `dsvideo/providers.json` 中的 `minimax` 或 `grok` 配置，旧环境变量只作兼容覆盖。若用户切换路线，重新运行本次请求对应的报价和可用余额检查，重新展示费用，不复用之前任务的信息。Grok 当前只接文生视频和单张首图生视频；多张参考图不静默丢弃，改为说明限制并让用户决定保留哪张。剧本与付费规格必须同时明确，可以一次确认完成。不得因任一路线失败自动切换到另一条路线。

## 模板

- 模板复用镜头结构、节奏和提示词骨架；商品颜色、外形、文字、部件、功能和卖点仍以本次素材为准。
- 只有用户明确确认成片可用并要求“保存为模板”时，才参考 `templates/_template.json` 新建模板；不自动保存草稿。
- 模板写入本技能源码的 `templates/`，文件名使用简短英文小写连字符。若当前只有已安装缓存而没有插件源码，不写缓存，改为输出模板 JSON 交给维护者入库。
- API Key 只允许保存在当前用户的 `dsvideo/providers.json`，不得写入模板、仓库或插件缓存。模板也不得保存任务 ID、人员信息、本机素材绝对路径，或覆盖模型、步数、CFG、采样器、调度器等 ComfyUI 参数。

交付时只说明成片位置、使用的模板（若有）、模式、时长和画幅；不要向用户展开技能缓存、文件搜索、硬件或模型探测过程。

