AMD MiniMax H3 Text to Video
MiniMax H3 Text to Video Through the AMD Gateway
- VIDEO
MiniMax H3 - the model behind Hailuo, the one that opened its weights in August 2026 - is a 33B omni-modal video generator with native stereo audio, and it's genuinely very good. It's also out of reach for most people reading this. The open weights run ~42.5GB with no verified consumer-VRAM floor, and the licence excludes the US, the EU, the UK and South Korea from its Applicable Territory - outputs included. For a lot of readers the local-weights path isn't a hardware problem, it's a licensing dead end.
This node is the other door. It's a thin ComfyUI wrapper that sends your prompt to an H3 endpoint at h3.oneclickamd.ai and hands back a video: no model file, no VRAM, no GPU brand loyalty.
What actually happens when you hit Queue
There's no sampling here. The node POSTs a job to the gateway's /v2/video_generation endpoint with model: "MiniMax-H3", your prompt as a text content item, and your resolution, ratio and duration - then polls a query endpoint every two seconds until the job reports done, failed or cancelled. The finished video is downloaded from the returned URL into a VIDEO output, which is why your card never gets warm.
Under the hood it borrows ComfyUI's own API-node plumbing - the Hailuo03* request and response models and the sync_op/poll_op helpers from comfy_api_nodes - rather than rolling its own HTTP client. That's why the pack has zero Python dependencies and a hard ComfyUI version floor instead.
The inputs you'll actually touch
Four fields, no hidden knobs:
prompt(multiline) - required. Empty strings fail validation before a request is even sent, so there's no "let the model surprise me" mode.ratio-16:9(default),4:3,1:1,3:4,9:16,21:9. Only exists on this node; the image-to-video variants infer it from your picture.9:16is your shorts/Reels setting.duration- an integer slider, 4 to 15 seconds, default 5.resolution- one option,768P. The H3 model does up to 2K; this gateway currently renders one size, 768 pixels on the short edge. Don't go hunting for a 2K toggle, there isn't one.
Worth stealing from the author's own example: a 5-second single take with the beats laid out second by second, a header pinning "one continuous shot, no cuts", and a negative tail ("no text, no logos, no dialogue"). H3 responds to that kind of blocking. Keep the duration you describe in prose and the duration slider in agreement.
Wiring the output
One output: VIDEO. The bundled example patches it straight into ComfyUI's core SaveVideo node with a path like video/AMD_MiniMax_H3_t2v. It's the newer core video type, so an old build or a third-party video node that predates it will throw a type mismatch. Update ComfyUI, or use SaveVideo.
Install
Search ComfyUI-AMD-MiniMaxH3 in ComfyUI Manager, or do it by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/wangxunx/ComfyUI-AMD-MiniMaxH3.git
Restart ComfyUI. Nothing to pip install - there is no requirements file at all. Then register at https://h3.oneclickamd.ai for a key and give it to the node one of two ways:
export H3_GATEWAY_API_KEY="your-key-here"
# or, on a normal install:
echo "your-key-here" > ComfyUI/user/h3_gateway_api_key.txt
The environment variable wins if both are set. Pointing at your own endpoint? H3_GATEWAY_BASE_URL overrides the default.
Where people get burned
The ComfyUI version floor. The pack declares requires-comfyui = ">=0.30.0" because it imports the Hailuo03 request models from core. On anything older the import fails at startup and the nodes never appear. Update ComfyUI first; it's the likeliest reason you see nothing.
"No API key configured." That exception is a feature - it prints the registration URL and the exact path it looked in, so you're not debugging a silent 401. Usually the file went into the wrong user directory, or you exported the variable in a different shell than the one launching ComfyUI.
Treating "free" as guaranteed. The pack metadata advertises free H3 access through the AMD gateway, and the README documents no quota. Fine for kicking the tyres; don't hard-code it into an overnight batch. Metering is the norm for hosted video, and it's the standing community complaint about ComfyUI API nodes.
It's a week-old, one-author pack that holds a credential. No Reddit footprint, a single commit, and it reads a key and calls out by design - the shape of node that's already been weaponized once in this ecosystem. Not an accusation: nodes.py is a couple of hundred readable lines. Just skim it before pasting anything in.
The detail you'll appreciate: there is deliberately no api_key widget. Widget values get serialized into workflow JSON and embedded into output video metadata, so a key field would leak the moment you shared a workflow or a clip. Read from the environment or from a file outside the graph, and everything you export stays shareable.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Text prompt for video generation. | |
| resolution | COMBO | 768P | Resolution of the output video. The gateway currently renders one size, 768 pixels on the short edge. |
| ratio | COMBO | 16:9 | Aspect ratio of the output video. |
| duration | INT | 54–15 | Duration of the output video in seconds (4-15). |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| VIDEO | VIDEO | — |