MiniMax H3 PreStage
Stills for H3, without leaving the node
The H3 Creator eats images. A start frame, an end frame, a reference for "their face," a style sheet - it's all just files on the rail. The problem the MiniMax H3 PreStage solves is where those files come from. Until it existed, you had to go build a still somewhere else - another workflow, another model, another tab - and bring it back. This node generates the stills right there on the same canvas, with Krea 2, Ideogram 4.0, or MiniMax H3 itself, and writes the finished picture straight into the peer node's input folder.
It's the pack's answer to a very H3-shaped workflow: you're not making one shot, you're making a piece, and every shot needs a frame to start from that hasn't been made yet. PreStage is spawned from the pre-stage pill on a Creator or Timeline - it's a property of the shot being set up, not something you hunt for in the node menu - though it's still an ordinary node underneath, so you can place, copy and save it like anything else.
How it works
Structurally it's built exactly like the Creator: zero sockets, one JSON blob
(prestage_data) that the UI owns, and an expanded subgraph that loads,
samples, decodes and saves. The difference is what comes out - a still under
output/ instead of a clip - and the hand-off is by file, not by execution
edge. Queue the PreStage and the Creator together and ComfyUI's input-hash
caching makes an untouched PreStage a cache hit on the render queue, so you
don't pay for a still you didn't change.
The three architectures are genuinely different animals under one hood:
- Krea 2 - the default, at 52 steps, cfg 3.5,
euler/simple. Samples on the schedule you set on the node. - Ideogram 4.0 - owns its own resolution-shifted schedule and ignores the
node's scheduler, which the tooltip says plainly. The
qualitysetting in the blob maps to its tiers. - MiniMax H3 itself - the weird, clever one. H3 is a video model, so a "still" from it is a short video generation whose first latent frame gets decoded as a picture through an experimental T=1 image VAE (Mamad8/MiniMax-H3-Image-VAE, which trained with H3's own encoder frozen). It reuses the exact same segment node, checkpoints and canvas as the video pipeline - no second model family loaded, and the keyframe was made by the same weights that will render the shot it opens. That's the point: the still and the shot agree about what things look like.
The inputs that matter
prestage_data- the JSON blob: arch (krea2default), prompt, aspect, short edge (1024), turbo settings, and per-arch model blocks so switching the model pill never forgets the other side's files.seed- as everywhere in this pack, the whole render runs on one number.steps(52) /cfg(3.5) /sampler_name(euler) /scheduler(simple) - Krea 2's schedule. Ideogram ignores the scheduler, H3's branch has its own request block in the blob (its own frames count and which latent frame becomes the picture).
It has no outputs - it's an output node that reports the still back to the stage card.
Installing
ComfyUI Manager, search "MiniMax Creator", or clone the repo and restart:
cd ComfyUI/custom_nodes
git clone https://github.com/roadmaus/ComfyUI-MiniMax-Creator
No pip install. You need the same H3 weights as the
Creator (FL2VA/Ref2VA, text encoder, VAEs, taeh3 preview decoder) plus, if you
want the other two architectures, Krea 2 and Ideogram 4.0 files in
models/diffusion_models, models/text_encoders and models/vae, and the
experimental single-image VAE from Mamad8/MiniMax-H3-Image-VAE
in models/vae for the H3 still branch.
Worth remembering the same caveat that applies to the whole pack's model: H3's own weights carry a community licence that excludes the US, EU, UK and South Korea from its applicable territory. The pack itself is MIT; the 33B checkpoint underneath isn't yours to run everywhere. If that's fine for you, PreStage is the difference between "let me go build a start frame somewhere else" and making the whole piece on one canvas.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| prestage_data | STRING | { "version": 1, "arch": "krea2", "prompt": "", "aspect": "16:9", "short_edge": 1024, "init": null, "refs": [], "loras": [], "turbo": { "on": false, "quality": "good", "saved": null }, "quality": "default", "output_prefix": "minimax/stills/prestage", "minimax": { "frames": 5, "latent_index": 0, "request": { "prompt": "", "assets": [], "loras": [], "aspect": "16:9", "short_edge": 768, "output_prefix": "minimax/stills/prestage", "models": {} } }, "models": { "krea2": {}, "ideogram4": {}, "minimax": {} }, "peer": null } | — |
| seed | INT | 00–18446744073709550000 | — |
| steps | INT | 521–10000 | — |
| cfg | FLOAT | 3.50–100 | — |
| sampler_name | COMBO | euler | 44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38 |
| scheduler | COMBO | simple | Krea 2 samples on this schedule. Ideogram 4 owns its own resolution-shifted schedule and ignores it. |
Outputs (0)
No outputs