Nodes/ERPK Collection/MiniMax H3 Text-to-Image
ComfyUI Node

MiniMax H3 Text-to-Image

MiniMax H3 Text-to-Image as a node

By eRepublik-Labs·Created 11 months ago·Updated a day ago· 1
MiniMax H3 Text-to-Image
  • client
  • loras
  • image
prompt
aspect_ratio1:1
resolution1k
output_formatjpeg
seed-1

MiniMax H3's reputation is video - a 33B omni-modal model that generates picture and stereo audio in one pass, the first open-weight answer to the audio gap Veo held closed. This node is not that. It's H3's still-image endpoint on WaveSpeed AI's servers, wrapped so it behaves like any other generator node in your graph: text goes in, an IMAGE tensor comes out, no VRAM changes hands.

That framing matters because it tells you when to reach for it. If you have a working local setup, this is not replacing your checkpoint - a WaveSpeed call is metered every time, while your own card is free after the electricity. Reach for it when your machine can't run what you want to try, when you're on a laptop and just need look-dev frames, or when you're already paying for the pack's video and edit nodes and want a still in the same graph.

The price check first, since H3 isn't the cheap option in this pack: $0.02 at 1k (~1MP), $0.06 at 2k (~4MP). Most of the Qwen and Seedream image nodes in the same collection bill $0.02–$0.027 and let you set width and height directly. So H3 is what you pick for a reason, not as the default.

How it works

The node builds a request to /api/v3/wavespeed-ai/minimax-h3/text-to-image, polls every 2 seconds, and gives up after 300 seconds. When the endpoint returns a URL, the node downloads it and decodes it into a batch tensor, and also paints a small inline preview onto the node body. The client is async on purpose - ComfyUI's executor can interleave several API nodes at once, so queueing four of these doesn't serialise into four straight minutes.

Attach a MiniMax H3 LoRA Stack to the loras input and the request switches to the endpoint's -lora twin instead, for +$0.015 an image.

The inputs that matter

prompt is the only required field. aspect_ratio (defaulting to 1:1) is where most of your composition lives - there are fifteen, from 1:1 and 4:3 through 9:16 and 16:9 out to the ultrawides 21:9 and 9:21. resolution is the two-tier 1k/2k. output_format gives you jpeg, png or webp - pick png if the result is going to be fed into more ComfyUI work, otherwise you're asking the pipeline to be lossy twice.

seed is sent to the API, so -1 means a brand-new generation on every queue (and, because the node is marked non-idempotent, a fresh bill). Like the framing? Pin the seed and ComfyUI can serve the cached output.

There is no client requirement - leave it unconnected as long as you've configured a WaveSpeed key in Settings. One output: image, which goes to Save Image, Preview Image, or an upscaler.

Note what isn't here: no width and height. You choose a ratio and a tier, and the endpoint picks the pixels. If you need an exact 1920×1080, generate at the closest ratio and crop or resize locally - that's the same "generate at native resolution, then scale" habit the local side lives by, just with someone else's model doing the generating.

Installing

Manager → Install Custom Nodes → search erpkERPK Custom Nodes → Install → restart. Manual route:

cd /path/to/ComfyUI/custom_nodes
git clone https://github.com/eRepublik-Labs/comfyui-nodes-erpk.git erpk
cd erpk && pip install -r requirements.txt

The pack is a monorepo, so the root requirements file drags in the Claude, Gemini, OpenAI and xAI SDKs whether you use them or not; the WaveSpeed nodes themselves need requests, pydantic and Pillow. Then set a key - right-click the canvas → ERPK Settings, or Settings → ERPK → API Keys. Keys are stored per user and never written into the workflow, which is the reason to use Settings instead of pasting into a node. The nodes land under ERPK → WaveSpeedAI.

Where people get burned

Unauthorized: Invalid API key is what you get with no key anywhere - Settings, the client widget, or wavespeed/config.ini. It's the most common first error by a mile.

Prompt is required fires before any network call. Empty string, no request, no charge.

The 300-second ceiling. A still image should come back long before that, but a queue stuck behind a busy endpoint dies at five minutes with a timeout error rather than retrying forever. That's a deliberate trade in the node, not a bug to work around.

Randomize is the default on seed. Ten test queues with -1 is ten paid calls. Switch the widget to fixed once you're iterating on a prompt, and only flip it back when you actually want a new roll.

CategoryERPK/WaveSpeedAI

Inputs (7)

NameTypeDefaultDescription
promptSTRINGText description of the image to generate
clientoptWAVESPEED_AI_API_CLIENTWaveSpeed API client (optional if API key is configured in Settings)
aspect_ratiooptCOMBO1:1Output aspect ratio
resolutionoptCOMBO1kOutput resolution. 1k (~1MP) is about $0.02/image, 2k (~4MP) about $0.06.
output_formatoptCOMBOjpegOutput image format
seedoptINT-1-1–2147483647Generation seed, sent to the API. A fixed seed reproduces the same result and lets ComfyUI reuse the cached output; -1 generates a new one each queue.
lorasoptMINIMAX_H3_LORASLoRA stack from the MiniMax H3 LoRA Stack node. When connected, the call goes to the endpoint's -lora twin (+$0.015 per image).

Outputs (1)

NameTypeDescription
imageIMAGE