Nodes/h3-relay/H3RelayInternalAcceptUltimate
ComfyUI Node

H3RelayInternalAcceptUltimate

The invisible receipt-writer that finishes every H3 Ultimate job

By akatz-ai·Created 21 days ago·Updated about 17 hours ago· 15
H3RelayInternalAcceptUltimate
  • base_enhanced
  • sequence
  • segment
  • images
  • audio
  • enhanced
  • video
  • video_path
  • status
cache_key
checkpoint_frames5
output_crf18
refinement_seed424264
temporal_chunk_frames136
temporal_overlap_frames17
tile_width1024
tile_height1024
spatial_overlap128

If you searched for this node because it appeared in your graph or in a "missing nodes" warning, take a breath: this is plumbing, and it's working as intended. H3RelayInternalAcceptUltimate is the persist-and-accept stage that runs at the end of every H3 Relay · H3 Ultimate 2× Enhance job. When you place the public Ultimate node and hit run, H3 Relay expands it into a whole subgraph of model loading, conditioning, the MMH3 upscaler, VAE decoding - and this node as the final hop. You normally never place it by hand; it's registered under the pack's /internal category so that saved workflows containing expanded subgraphs can reopen and run.

What it does

Think of it as the bookkeeper for a finished shot. It receives the decoded pixel frames and audio from the Ultimate refinement, plus a cache_key that H3 Relay fingerprints from everything that affects the result (model, prompts, references, seeds, tiling, the accepted raw shot's revision and hash). Its job is to make the result durable and reproducible:

  • writes the enhanced frames to disk as hashed video segments (a full segment plus a delivery segment, H.264 at your output_crf, 18 by default),
  • records each file's SHA-256 alongside all the finishing parameters - seeds, temporal windows, tile sizes, overlap - into a JSON manifest,
  • appends the record into the enhanced finishing stream,
  • returns the updated stream, the video, its path, and a status string.

That disk-backed record is what makes the whole "reroll only what changed" contract work: re-run the same Ultimate job and the pack restores the verified cached result instead of redoing inference, and changing an earlier raw shot invalidates only the finishing derived from it.

The inputs and outputs, briefly

Nearly every input is internal bookkeeping that the expansion feeds automatically, so don't feel like you need to understand all of it: base_enhanced (the finishing stream to append to), sequence and segment (which accepted shot this refines), images and audio (the decoded enhancement output), cache_key, and the parameters recorded into the cache: checkpoint_frames, output_crf, refinement_seed, temporal_chunk_frames (136), temporal_overlap_frames (17), tile_width/tile_height (1024), spatial_overlap (128). The one detail worth knowing if you're debugging: for continuation shots, the raw generation window is larger than the sampled checkpoint latent - Ultimate keeps one context/boundary frame, and this node crops that prefix out before publishing the delivered segment, so your enhanced stream contains exactly the delivered frames with no duplication.

Outputs: enhanced (H3_RELAY_ENHANCED, the updated finishing stream to chain into the next Ultimate node, Interpolate, or Assemble), video, video_path, and status.

What to do about it

If you see it in a saved workflow, leave it alone - it belongs to H3 Relay, and editing or deleting it will break the finish/accept flow. If ComfyUI reports it as a missing node class, the pack isn't installed or is out of date, not the node: install or update H3 Relay through ComfyUI Manager (search "H3 Relay") or git clone https://github.com/akatz-ai/h3-relay into custom_nodes, restart, and the class resolves. The one genuine gotcha is that a fresh Ultimate execution also needs the external Comfyui-MMH3-UltimateUpscale pack - if that's missing, the parent Ultimate node fails with an actionable error before this stage even runs, and an already-cached verified result can still be restored without the external engine.

CategoryH3 Relay/internal

Inputs (14)

NameTypeDefaultDescription
base_enhancedH3_RELAY_ENHANCED
sequenceH3_RELAY_SEQUENCE
segmentH3_CHAIN_SEGMENT
imagesIMAGE
audioAUDIO
cache_keySTRING
checkpoint_framesINT51–100000
output_crfINT180–51
refinement_seedINT4242640–18446744073709550000
temporal_chunk_framesINT13617–100000
temporal_overlap_framesINT170–100000
tile_widthINT102432–4096
tile_heightINT102432–4096
spatial_overlapINT1280–2048

Outputs (4)

NameTypeDescription
enhancedH3_RELAY_ENHANCED
videoVIDEO
video_pathSTRING
statusSTRING