Nodes/Nynxz H3/H3 Edit
ComfyUI Node

H3 Edit

H3 Is a Video Model — H3 Edit Turns It Into an Image Editor

By Nynxz·Created 2 months ago·Updated about 22 hours ago· 6
H3 Edit
  • source
  • pictures
  • vae
  • prompt
  • h3_inputs
  • report
  • latent
◄instructionRedraw @source in the style of @style, keeping its composition.►
◄references@style (style): ►
◄style►
◄keepchanges►
◄modereference►
◄sizeauto►

The idea behind this node is a genuinely nice piece of lateral thinking. H3's shortest clip is 5 frames, and the last frame of that clip decodes to a clean still. So H3 is an image editor that understands references - you just have to ask it for a 5-frame clip and throw away the first four frames.

What H3 doesn't ship with is a prompt for that job. It was trained on six-section reference prompts, not on "make this watercolour." H3 Edit writes the prompt and assembles the assets.

What it does

You hand it a source picture and a sentence about what should change. It compiles H3's own reference-prompt structure around your words, works out a canvas the same shape as your source (snapped to 32px), and puts the source on the wire in the form H3 wants. Author's description: "Edit or restyle a still picture with MiniMax H3… Decode the last frame with H3 Decode Frames."

References are named, not numbered. You write @source for the picture being edited and @name for anything you wired into pictures. The node resolves those names to the <Subject N> / <Picture N> tags H3 knows, so reordering a slot never silently re-points a sentence at the wrong image. Every reference also gets a role, and the role is really a retention marker H3 understands:

  • look - appears as shown (a character, prop or place)
  • style - its rendering moves onto your picture, none of its content
  • loose - a broad likeness only

The inputs you'll actually set

  • instruction - what changes, in plain words. Default reads "Redraw @source in the style of @style, keeping its composition."
  • references - one line per wired picture, in slot order: @name (look | style | loose): what it is. Mismatched counts land in report.
  • keep - closely, changes (default; composition and poses stay) or loosely.
  • mode - reference makes the source a subject H3 redraws, the strongest restyle; first_frame pins it as the opening keyframe so the edit happens across the clip. That's closest to the source, but references then only reach the text encoder. Leave H3 Encode on auto either way.
  • size - auto / match / max. How much detail the pictures get fed in at. max costs more and keeps more.
  • style - optional look of the result, said before the shot.
  • vae - the H3 video VAE. Optional, and the most important optional input on the node.

Outputs and the one trap

prompt and h3_inputs go into H3 Encode. report tells you which tag each @name became plus anything worth fixing - read it, it's how you catch a reference that didn't match a line.

Then latent. This is the part people get wrong. H3 Encode's own LATENT is an empty canvas: sample from it and H3 invents a new picture, with your source reduced to one reference among several. H3 Edit's latent (when vae is wired) is your source held across all 5 frames, so a partial denoise edits your picture instead. Sample that one, with denoise below 1 - the docs suggest 0.6–0.85 for a restyle, lower keeping more. Decode the last frame with H3 Decode Frames at index -1.

If you leave vae unwired, the node still works, but the latent comes back empty and it says so in report. That's a warning worth heeding rather than a crash.

Install and gotchas

Same pack as everything else:

cd ComfyUI/custom_nodes
git clone https://github.com/Nynxz/ComfyUI-NynxzH3

Restart, ComfyUI 0.30.0+, and hand-cloning wants pnpm install && pnpm build for the editor frontend. You'll need the H3 diffusion model, the Qwen3-VL text encoder and the video VAE from Comfy-Org's MiniMax-H3 repo on HuggingFace.

The node is marked experimental in the source, and the honest caveats travel with it. semantic-style tricks, unusual reference mixes and the retention markers are H3 being pushed into shapes it may not have been trained on - the pack's own docs say the plumbing is verified against core but the results aren't broadly proven yet. If an edit comes back looking like an invention rather than an edit, check the denoise value and whether your source was actually in mode: reference rather than pinned as a keyframe.

CategoryNynxz/H3/Prompt

Inputs (9)

NameTypeDefaultDescription
sourceIMAGEThe picture being edited. @source in the text.
instructionSTRINGRedraw @source in the style of @style, keeping its composition.What the edit does, in plain words. @source is the picture being edited; @name is a reference from the list below.
referencesSTRING@style (style): One line per wired picture, in slot order: @name (look | style | loose): what it is. look = appears as shown; style = its rendering is transferred, none of its content; loose = a broad likeness only.
styleSTRINGThe look of the result, said before the shot (optional), e.g. '2D cel animation, painted backgrounds, warm amber light'.
keepCOMBOchangesHow much of the source to keep (reference mode): closely = only what the instruction names changes; changes = composition and poses stay; loosely = a broad likeness.
modeCOMBOreferencereference: the source is a subject H3 redraws (strongest restyle; references are full subjects). first_frame: the source is pinned as the opening keyframe and changes across the clip (closest to the source; references only reach the text encoder). Leave H3 Encode on mode auto.
sizeCOMBOautoDetail the pictures are fed in at: max costs more and keeps more.
picturesoptCOMFY_AUTOGROW_V3—
vaeoptVAEH3's video VAE. Wire it to get a latent that starts from the source, so the sampler edits your picture instead of inventing a new one.

Outputs (4)

NameTypeDescription
promptSTRINGInto H3 Encode's prompt.
h3_inputsNYNXZH3_INPUTInto H3 Encode's h3_inputs.
reportSTRINGWhich tag each @name became, and anything worth fixing.
latentLATENTThe source held for 5 frames (with the vae wired; empty otherwise). Sample it in place of H3 Encode's LATENT with denoise below 1 — lower keeps more of the source, around 0.6-0.85 for a restyle.