# Ecom H3 Video

> 用内置 ComfyUI 工作流、MiniMax-H3 API 或 Grok Imagine Video API 把文字或商品图片制作成视频，并复用已验证模板。 用户只要要求生成视频、做视频、出片、图片转视频、商品页视频、Listing 视频或产品展示视频，即使没说 dsvideo、H3 或 ComfyUI，也使用本技能；不用于只剪辑已有视频，也不用于用户明确要求只写导演方案、分镜或 H3 提示词而不生成视频。 开始前让用户选择局域网 ComfyUI、MiniMax API 或 Grok API，并在付费 API 选项显示可查余额和预计费用；最终剧本必须展示给用户确认后才能生成。

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

---


# 商品页 H3 视频

目标是准确、清楚地展示商品，不做带货口播、UGC 表演、营销剧情或购买 CTA。回复保持简短。

## 默认入口

生成新视频时先执行本技能，不要先直接调用或研究 `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、不分析工作流，也不调用任何付费创建接口。

## 生成前剧本确认

路线和导演方案确定后，先向用户展示一份可直接检查的最终剧本，至少包含核心目标、时长与画幅、素材用途、完整时间线、主要动作、对白或声音以及结尾画面，然后明确询问“是否确认按这版剧本生成？”。无论使用新导演方案还是已验证模板，都必须执行这一步。

必须等用户在看到当前版本后明确确认，才能转换最终 H3 提示词、上传素材、准备或提交本地工作流、运行 API dry-run 或调用任何创建接口。用户选择路线、选择分辨率、此前说“直接生成”，都不等于确认一份尚未展示的剧本。用户要求修改后，更新剧本并完整展示修改后的版本，原确认立即失效，必须重新确认。

## 工作流程

1. 接收商品图和用户要求，以本次输入为准，不从历史任务继承时长或其他规格。其他关键信息缺失时只问必要问题。
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>`。设置 ComfyUI 分辨率时查看内置工作流里的 `Note: Size Settings Reference` 对照表；用户未明确要求分辨率时不传 `--megapixels`，脚本默认使用 `0.5`（16:9 时约 `960×544`）。只有用户明确要求其他百万像素值或输出尺寸时才按对照表覆盖。脚本只读取插件内置资产并写出临时副本，不读取、覆盖或保存用户在 ComfyUI 服务器上的持久工作流。它会自动选择 0 图 T2VA、1 图单图 Ref2VA 或 2–3 图多图 Ref2VA，并完成分支、节点、枚举、提示词、画幅、时长、分辨率和素材设置；不要再手动解析内置 JSON。
6. 本地路线用 `run_workflow` 提交脚本输出的临时工作流并记录 `prompt_id`。生成成功后用 `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 参数。

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

