Inferway H3 Generate
MiniMax H3 without the 42 GB download
- first_frame
- last_frame
- ref_image_1
- ref_image_2
- ref_image_3
- video
- interaction_id
- status
MiniMax H3 is one of the genuinely good video models of 2026, native stereo audio included. You probably can't run it. In the US, EU, UK or South Korea the community licence that shipped with the weights doesn't grant you the right to run them at all - a geography clause, not a revenue clause - and elsewhere the weights are reportedly around 42.5 GB with no published consumer hardware floor. This node is the other door.
InferwayH3GenerateV2 generates nothing on your machine. It places an order on Inferway's hosted inferway/minimax-h3-768p, waits, and hands you back an MP4 as a native VIDEO object you wire straight into SaveVideo. That makes it an API-wrapper node: it looks like a sampler on the canvas and is really an HTTP client. Both standard objections apply without modification - every call is metered, and your prompt leaves your machine. If your card runs Wan or LTX happily and you're not chasing H3's native audio, stay local.
How it actually works
The node has one dependency: httpx. No model files, no ffmpeg wrapper, nothing to download. It posts an async generation order, then polls - starting at two seconds and backing off toward a ten-second cap - reporting progress to the canvas: orders ahead and an ETA while queued, elapsed seconds against the service's typical duration while rendering. When the order finishes the result is downloaded, checked for byte count and SHA-256 against the authenticated metadata, cached, and handed downstream as VIDEO.
The detail that matters most: this node overrides its input fingerprint, so it is never cached. Press Queue and it places a new order. Every other node skips work it already did; this one is the exception - the one place ComfyUI's caching isn't quietly saving you money.
The inputs you'll actually set
promptandduration_seconds- duration runs 5 to 10 whole seconds and is billed per second, so this is the dial that decides your bill. Start at 5.resolution-defaultis landscape 1344x768, as is the explicit1344x768;768x1344is portrait. Pick it explicitly for a vertical shot.wait_timeout_seconds-0waits automatically, capped at 7200 seconds;60–7200sets an explicit cap. Per the author's tooltip, reaching it never cancels the remote task.
Everything else is situational. model is a combo with a refresh button that reads Inferway's live catalogue, so its options can change under you. seed is a normal ComfyUI integer with randomize-after-generate, and the tooltip is blunt that it changes nothing about billing: every run is a new paid order. first_frame, last_frame and ref_image_1..3 exist on the node, but image modes are only accepted while the live catalogue advertises them, and the pack fails unadvertised combinations locally before any order exists. At the September acceptance run production was text-to-video only, so don't plan a first/last-frame shot without checking the catalogue.
Outputs are video, interaction_id and status. Wire video into SaveVideo and keep the interaction_id - it's your receipt, and it's what you feed into InferwayH3Resume if anything goes sideways.
Installing it
In ComfyUI Manager search Inferway H3 (registry package id inferway-comfy) and restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/inferway/comfyui-inferway
/path/to/ComfyUI/.venv/bin/python -m pip install -r comfyui-inferway/requirements.txt
Then the actual setup step: a key. Either export INFERWAY_API_KEY in the environment that runs the ComfyUI server and restart, or use the in-app dialog (Inferway → Manage Inferway API key), which stores it owner-only at user/__inferway/credentials.json. It never lands in workflow JSON or PNG metadata, so workflows with these nodes are safe to share. The profile widget is just a name selecting among stored keys.
Where people get burned
A timeout is not a cancellation. Hitting the wait cap or pressing Stop only ends the local wait; the remote order keeps running and gets billed when the video exists. A red "timed out" message does not mean the money is gone, and it definitely doesn't mean "run it again" - take the interaction_id into InferwayH3Resume. Re-running Generate is how people pay twice for one clip. To actually stop the remote job, use InferwayH3Cancel and read its charged field rather than assuming HTTP 200 means free.
Windows, old versions. Up to 0.1.2, every Windows download failed after the order had been charged - the media cache called os.getuid() and opened the file without binary mode. 0.1.3 fixes both. If you saved a key on 0.1.4, save it once more after upgrading: that version left the key file with inherited permissions.
Shared installs. The key store belongs to the ComfyUI installation, not to a login, and profiles aren't isolated under --multi-user. Don't share that instance with people you don't trust.
Errors are bilingual on purpose - a Chinese sentence, an English sentence, and a raw code in parentheses. Insufficient balance points at the billing page; a bad key points at Settings → Inferway. Neither sentence ever contains your API key.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMBO | inferway/minimax-h3-768p | Model identifier |
| prompt | STRING | Generation prompt text | |
| duration_seconds | INT | 55–10 | Video length, 5-10 seconds. Billed per second; prices: https://inferway.ai/pricing |
| resolution | COMBO | default | default is landscape 1344x768; or pick 1344x768 (landscape) or 768x1344 (portrait) |
| profile | COMBO | default | API key profile. Add or switch keys: Settings → Inferway, or the Inferway menu. |
| wait_timeout_seconds | INT | 00–7200 | Local wait limit in seconds. 0 waits automatically (up to 7200s); 60-7200 sets an explicit limit. Reaching it never cancels the remote task. |
| seedopt | INT | 00–18446744073709550000 | Seed sent with the order (0 to 18446744073709551615). Every run of this node places a new paid order whatever the seed is; randomize gives each paid run a different video. 每次运行都会新下一单并扣费,与 seed 无关。 |
| first_frameopt | IMAGE | First frame image | |
| last_frameopt | IMAGE | Last frame image | |
| ref_image_1opt | IMAGE | Reference image 1 | |
| ref_image_2opt | IMAGE | Reference image 2 | |
| ref_image_3opt | IMAGE | Reference image 3 |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | Generated video stream |
| interaction_id | STRING | Inferway interaction ID |
| status | STRING | Safe status text |