升级重大升级进行中:全新视频制作台,更多模型即将上架,敬请期待
Inferway
登录注册
返回接入指南
ComfyUI

在 ComfyUI 中使用 Inferway H3 视频生成

安装 Inferway H3 插件、配置 API key,即可在 ComfyUI 画布上生成视频。视频在 Inferway 云端生成,本地不需要 GPU。

准备工作

  1. ComfyUI 0.35.0 或更高版本,运行在 Python 3.10 或更高版本上。ComfyUI 启动日志里会打印这两个版本。
  2. 一个 Inferway API 密钥:登录后在控制台的「API 密钥」页创建。
  3. 账户余额。每生成一个视频计费一次,当前价格见定价页。

第一步:安装插件

使用 ComfyUI-Manager:打开 Custom Nodes Manager,搜索 Inferway H3,点 Install,然后重启 ComfyUI。如果版本一栏只有 nightly,直接安装即可,它就是最新发布的代码。

手动安装(Manager 不可用或拒绝安装时):把仓库克隆到 custom_nodes 目录,再用运行 ComfyUI 的那个 Python 安装它唯一的依赖。

手动安装bash
cd ComfyUI/custom_nodes
git clone https://github.com/inferway/comfyui-inferway inferway-comfy
# Use the Python that runs ComfyUI
# (Windows portable build: ..\..\python_embeded\python.exe)
python -m pip install -r inferway-comfy/requirements.txt

第二步:配置 API key

打开「设置 → Inferway」或菜单里的 Inferway,点「管理 Inferway API key」,粘贴 key 后保存。key 只存在这台电脑上,不会跟着工作流或图片分享出去。

每个节点都有 profile 下拉框。要用多个 key(比如公司和个人两个账户),就分别存成不同的 profile,在节点上选对应的那个。

习惯用环境变量,或者是从别的电脑访问 ComfyUI?给 ComfyUI 进程设置 INFERWAY_API_KEY 后重启 ComfyUI,default 会优先用它。

或者用环境变量设置bash
# macOS / Linux: in the shell that starts ComfyUI
export INFERWAY_API_KEY="your-key"
python main.py

# Windows portable: add to run_nvidia_gpu.bat (or run_cpu.bat),
# above the line that starts ComfyUI
set INFERWAY_API_KEY=your-key

第三步:确认装好了

重启后,在画布空白处双击,搜索 Inferway。「Inferway H3 生成视频」用来生成视频;「Inferway H3 取回视频」用任务 ID 取回已有任务的视频,不会新下单,也不会再扣费;「Inferway H3 取消任务」取消云端还在跑的任务;「Inferway H3 任务记录」列出最近的任务;「Inferway 提示词扩写(MiMo)」把一句简单的想法扩写成完整的视频提示词,按 token 计费。

ComfyUI 切换成中文后,节点名称、输入项和提示都会显示中文。

第四步:生成第一个视频

首尾帧:在同一组模板里打开 Inferway First and Last Frame,分别载入开头和结尾两张图片,模型会生成两者之间的镜头。图片输入模式只在模型列表公布该模式时可用。节点会在下单前检查,所以模式不可用时不会产生费用。

  1. 点 ComfyUI 左侧边栏的「模板」,在「扩展」下选「Inferway 示例」,打开 Inferway Text to Video。也可以从 https://github.com/inferway/comfyui-inferway/tree/main/example_workflows 下载,在 ComfyUI 里按 Ctrl+O 打开。
  2. 修改提示词。时长可选 5 到 10 秒,分辨率可选 1344×768 或 768×1344。
  3. 点「运行」。等待时,节点上会显示前面还有几单,开始生成后显示已经生成了多久。完成后 MP4 保存在 ComfyUI 的 output/video 目录下。

如何避免重复扣费、如何真正取消

视频已经提交,ComfyUI 却显示等待超时,或浏览器中途断开了。下一步先查原任务:本地等待结束不代表云端生成取消。重新运行 Generate 会创建另一个订单,即使提示词和 seed 一样,也不会复用先前那一单;成功交付后按订单计费。恢复已有任务要用 Resume。

恢复操作路线是:History 查记录 → 明确选择原任务 → Resume 继续等待或下载 → SaveVideo 保存 MP4。History 自带的自动连接会选最新且仍可下载的成功任务,多任务时必须先核对身份。

先判断本地发生了什么

关闭浏览器标签页、点击 Stop 和等待超时是不同的本地动作,但它们都不能作为云端任务已取消的证据:

浏览器标签页关闭或前端连接断开:ComfyUI 服务端的等待、轮询和下载可能仍在继续。重连后先看原执行结果及 SaveVideo 输出,再查任务历史。

点击 ComfyUI Stop:本地等待被中断,没有请求云端取消。查原任务状态,决定恢复或请求远程取消。

达到 wait_timeout_seconds 上限:节点停止本地等待,云端任务没有因此取消。使用原任务 ID 恢复,不重新运行 Generate。

Resume 出现网络或下载错误:本次取回没有完成,不足以判断云端任务失败。保留原任务 ID,查状态和错误码后再恢复。

用 History 找到明确的原任务

为什么不直接用默认连线?latest_succeeded_id 的含义是「最新、成功、仍可下载的任务」。它可能是后来完成的另一单,也可能是原任务尚在排队时更早的一单。若只想下载最新成功视频,可以保留连线;要恢复指定任务,则应先选清楚。没有可下载的成功任务时,该输出为空,默认连接的 Resume 会报 invalid_interaction_id。

History 展示的 charged_amount 和币种可以辅助核对订单,但任务 ID 才是唯一标识。它还会标出 downloadable 或 expired。账户下显示 No interactions found. 时,先检查账户、筛选条件和记录范围,不要把空列表理解为已经取消。

  1. 在 ComfyUI 左侧「模板 → 扩展 → Inferway 示例」打开 Inferway History,也可打开下载的工作流文件(Ctrl+O)。
  2. 先只查询历史。模板默认已有 History → Resume → SaveVideo 连线。断开 History 的 latest_succeeded_id 到 Resume 的连接;在这份查询画布中移除 Resume 和 SaveVideo 两个节点,保留 History → Recent Interactions 分支,再运行。这样不会让尚未确认的任务自动进入恢复,也不会让空 ID 的 Resume 参与排队。
  3. History 的 profile 选原账户对应的配置,state 先选 all,limit 默认 10(需要更多记录可增至最多 50)。运行后看 Recent Interactions 的文本。
  4. 对照提交时间、状态、模式、时长和提示词摘要,找到那一单,复制它的 id。History 的时间是 UTC,精确到分钟;不要只凭「第一行」认任务。若原错误消息留有任务 ID,应与历史里的 ID 比较;仍无法确认时,先去控制台的视频历史核对。

把原任务交给 Resume

打开独立的 Inferway Resume 模板,把刚才确认的 ID 填入 interaction_id,并选择能访问该任务的 profile。模板已经把 Resume 的 video 输出接到原生 SaveVideo(格式 mp4,文件名前缀 video/resume)。检查画布中没有 Generate 节点参与执行,再运行恢复工作流。

wait_timeout_seconds = 0 表示自动等待(最多 7200 秒),也可以填 60 到 7200 秒作为明确的本地等待上限。Resume 只对已存在的任务继续轮询和下载,不创建新任务,也不会把失败任务重新生成成成功任务。不同任务状态的处理方式如下:

queued 或 running:对这个明确的 ID 使用 Resume 继续等待;仍可能超时,也可能最终失败。

succeeded 且 downloadable:使用该 ID 取回结果,交给 SaveVideo;下载完成前不要把恢复算作成功。

failed 或 cancelled:阅读任务错误和计费记录;不能保证 Resume 能产生视频,不要当作重新生成按钮。

标记 expired:不保证还能下载。保存任务 ID 和错误码,请支持人员确认可恢复范围;本文不承诺延长保存期限或恢复已不存在的结果。

ID 无效、账户不匹配或鉴权错误:核对完整 ID 和 profile,按节点提示处理;不要通过创建新任务来试错。

检查取回的是那一单

如果只是前端断开,而 ComfyUI 服务端已经成功保存视频,直接使用已有输出即可,实际打开确认可用即可。

  1. 任务身份:Resume 输出的 interaction_id 与你确认的原任务 ID 一致。需要查看字符串时可接到 PreviewAny;不要在公开截图里展示完整 ID。
  2. 实际文件:SaveVideo 已保存 MP4,文件可打开播放。若结果本身带音频,再检查声音是否保存;历史案例有 AAC 不代表所有视频必须有 AAC(音轨格式视具体交付而定)。
  3. 订单记录:对照控制台的原订单和计费记录,确认这次恢复没有新提交生成订单。原任务在恢复期间完成仍会产生原订单的完成计费,这与重复下单是两回事。账户同时有其他任务时,不能仅凭总余额变化判断是否多收费。

想取消时,使用单独的 Cancel

如果决定停止原任务,打开 Inferway Cancel 模板,填写已核对的 interaction_id,选对应 profile,运行后查看 Cancel Status & Charged。Cancel 请求远程取消,结果不保证是 cancelled,也不承诺免费取消:

outcome=pending:不能当作取消已完成,继续核对任务状态。

outcome=cancelled:服务器报告取消;计费仍看返回的 charged 和实际订单记录。

outcome=delivering:任务正在交付,不能宣布已取消或免费。

outcome=delivered:已经交付,不能期待取消请求撤回已交付视频。

outcome=refused:取消请求被拒绝,查看返回信息和任务状态。

每次都必须读取 charged。HTTP 请求成功不等于取消成功,也不等于没有计费。对于已交付任务,Cancel 会返回 outcome=delivered 且 charged=true。

有日期的历史验收结果

以下是 2026-09-21 的历史验收结果,不是本轮新实测,也不是对某种具体断网故障的实测证明。该案例验证了同一任务的取回和已交付后的取消反馈:

平台:Linux;Python 3.12.13;ComfyUI 0.37.0;frontend 1.53.6。

模型与输入:inferway/minimax-h3-768p,文生视频,请求 5 秒、1344×768。

首次交付:H.264 视频与 AAC 音频的 MP4,约 5.167 秒(音轨格式仅描述该次交付)。

同 ID Resume:取回同一任务结果并经 SaveVideo 保存;新增 interaction 为 0。

随后同 ID Cancel:原任务已交付,返回 outcome=delivered、charged=true;新增 interaction 为 0。

三个操作合计:Generate、Resume、Cancel 的 create delta 分别为 1 / 0 / 0,合计只有一次 paid create。

Generate 与 Resume 保存的 MP4 字节数分别为 1183507 和 1183484,SHA 也不同,不宣称逐字节一致。当前价格和可用模式请查模型列表及控制台,本文不沿用历史促销价格。本文案例限于上述 Linux 环境,不据此宣称 Windows 或 macOS 已完成同等验证。

常见问题

  1. 插件显示 IMPORT FAILED,或者搜不到 Inferway 节点:确认 ComfyUI 运行在 Python 3.10 或更高版本上,并且依赖是用同一个 Python 安装的,然后重启。
  2. 节点提示没有 API key 或 key 无效:按第二步在「设置 → Inferway」里保存 key,并确认节点上选的 profile 就是你保存的那个。如果用的是 INFERWAY_API_KEY,设置后要重启 ComfyUI,已经在运行的 ComfyUI 不会读取新设置的变量。
  3. 模板里没有「Inferway 示例」,或者设置里没有 Inferway:装的插件早于 0.1.6。按下面的方法更新后重启 ComfyUI。
  4. 节点提示模式不可用:你连接的图片输入模式当前未开放。请改用文生视频,或在首尾帧模式开放时使用首尾帧。
  5. 节点提示模式冲突:同一个节点同时连接了首尾帧图片和参考图。每个任务只能使用其中一种。
  6. ComfyUI-Manager 拒绝安装:按第一步的手动方式安装。
  7. 在 ComfyUI 内置的 API 节点列表里找不到 Inferway:那个列表只包含 ComfyUI 自带的节点。Inferway 是第三方插件,按上面的步骤安装即可。
  8. Resume 会再收一次视频生成费吗?公开节点契约说明 Resume 不创建新任务,成功结果可以重新下载而不新增生成计费。原订单本身仍按实际完成情况计费,恢复不会新下一单。
  9. 重新运行同一个 Generate,固定 seed 能避免费用吗?不能。每次执行 Generate 都是新订单,固定 seed 不复用已有订单。需要取回旧结果时用原 ID 执行 Resume。
  10. 原任务还没成功,为什么 History 模板下载了别的视频?默认连线只取最新且仍可下载的成功任务。先断开 Resume,只查历史,核对原任务,再使用独立 Resume 模板。
  11. 没记住 ID,还能找回来吗?可以先查 History 或控制台的视频历史。History 展示提交时间、状态、请求摘要和 ID;有多个相似任务时应先确认身份再继续。
  12. 浏览器关了,任务就停止了吗?浏览器关闭只断开前端连接,ComfyUI 服务端可能继续等待并保存视频。Stop 或本地超时也不会发远程取消请求。
  13. 失败任务点 Resume 能重新生成吗?不能保证。Resume 获取已有任务的状态和结果,不创建新任务。先看失败原因、实际 charged 与订单记录;决定另下一单是独立操作。
  14. 为什么 Cancel 返回成功响应,还显示 charged?HTTP 成功只表示请求得到了响应。是否取消、是否计费分别看 outcome 和 charged;已交付的任务可以返回 delivered、charged=true。

更新插件

从 0.1.6 起,有新版本时插件会提醒你一次。更新方法:在 ComfyUI-Manager 里更新 Inferway H3;手动克隆的,在 custom_nodes/inferway-comfy 目录运行 git pull。然后重启 ComfyUI。不想收到提醒,可以在「设置 → Inferway」里关掉。

模板里没有「Inferway 示例」?说明装的版本早于 0.1.6,还不会提醒你。现在手动更新一次,以后就会自动提醒了。