H3 Image
A reference that was generated, not loaded
- image
- h3_inputs
- h3_inputs
Most of the time your H3 reference image is a file you load. Sometimes it's the output of a node - an SDXL character render, a frame you just generated, an img2img pass. H3 Image takes any wired IMAGE and makes it an H3 reference or keyframe, which is the difference between building a real pipeline and saving things to disk in the middle.
How it works
Feed it one image and it wraps it into the pack's h3_inputs wire, ready to chain into H3 Inputs or straight into H3 Encode. The role input decides what the image does:
- reference - supplies identity or style with no fixed position. The prompt refers to it as
<Picture i>. - first_frame / last_frame - anchors this picture to a position in the generated clip. Either one switches H3 Encode to the keyframe (
fl2va) task, and only images can be keyframes.
The size input is the detail dial: auto follows the setting on H3 Inputs, match feeds it at the generation's own pixel budget, and max feeds it at up to 2048px for the best identity - at a real cost, because reference rows are processed on every sampling step. Keyframes ignore size entirely; they're always canvas-sized.
When to reach for it
Use H3 Image when you want one clean asset per node, or when the role changes between runs and you'd rather flip a dropdown than rewire. The "one asset per node" thing is also its honest limitation - for a handful of fixed references, H3 Inputs holds them all on one node and renumbers their tags for you. H3 Image is the single-serve version; they chain together freely, and the pack counts tags across the whole chain, so a role here plus a pictures slot there still lands on the right <Picture i>.
One thing worth knowing: a batch on the image input contributes only its first frame. If you're feeding video frames in, you want H3 Video, which keeps the clip and its soundtrack together.
Install
Part of the NynxzH3 pack - ComfyUI Manager → "Nynxz H3", or:
cd ComfyUI/custom_nodes
git clone https://github.com/Nynxz/ComfyUI-NynxzH3
Restart. It's pure Python with no dependencies (needs ComfyUI 0.30.0+), and the node itself needs nothing extra - the heavy lifting is the H3 checkpoint, Qwen3-VL text encoder and video VAE that the workflow loads anyway.
The one-liner
If your reference is the output of another node, wire it through H3 Image instead of exporting and re-importing. Set role, say <Picture 1> in your prompt on H3 Encode, and keep an eye on the report when things look wrong - it tells you which tag each asset actually got.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | One picture. A batch contributes its first frame. | |
| role | COMBO | reference | reference supplies identity or style with no position. first_frame / last_frame anchor this picture to a position in the generated clip, which switches H3 Encode to the keyframe task. |
| size | COMBO | auto | How much detail this reference is fed in at. auto follows the setting on H3 Inputs; match uses the generation's own pixel budget; max feeds it at up to 2048px for the best identity, and costs several times more — reference rows ride every sampling step. Ignored for a keyframe, which is always canvas-sized. |
| h3_inputsopt | NYNXZH3_INPUT | Another H3 node upstream. Its assets come first, then this one's. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| h3_inputs | NYNXZH3_INPUT | — |