Nodes/Nynxz H3/H3 Extras
ComfyUI Node

H3 Extras

Read the canvas back as numbers, not as a report string

By Nynxz·Created about a month ago·Updated 25 days ago· 4
H3 Extras
  • h3_inputs
  • width
  • height
  • length
  • frame_count
  • latent_t
  • audio_t
  • seconds
  • task
  • is_keyframes
  • is_references
  • summary
modeauto

The H3 pack keeps its state on a h3_inputs wire, and that's great for plumbing - but a wire is opaque. H3 Extras is the probe that reads the canvas back off it as plain numbers, the ones you can wire into a resolution picker, a text node, or a graph branch.

What you get

Feed it any h3_inputs wire and mode (default auto - match whatever H3 Encode is set to, so the task reported is the task that'll actually run), and it splits the canvas into values:

  • width, height - the snapped canvas.
  • length - the length the canvas asked for, and frame_count - what it snaps up to on H3's 17k+5 frame grid. These differ, and the difference is the point: ask for 5 seconds and you get 124 frames, not 120.
  • latent_t (video latent frames) and audio_t (audio latent frames at 40 Hz) - the actual latent lengths.
  • seconds - frame_count / 24, the real duration.
  • task - t2va, fl2va or ref2va - what the same list will make H3 Encode do.
  • is_keyframes / is_references - booleans you can wire into a switch to branch a graph on which task is active.
  • summary - one human-readable line naming all of it, for a text preview.

Why you'd bother

H3 Canvas already gives you a report string with most of this. The difference is type: report is prose for your eyes, H3 Extras is numbers for your graph. is_keyframes into a conditional is the obvious branch - run a different sampler or schedule depending on whether a keyframe is driving the clip. frame_count into a text node is the honest way to show the user what they're actually going to get, and latent_t is what you want if any downstream node needs the true latent length rather than the requested one.

Install

Pack install: ComfyUI Manager → "Nynxz H3", or:

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

Restart. Pure Python, no dependencies, ComfyUI 0.30.0+.

The one-liner

If you ever find yourself re-typing the frame count a workflow reported, this is the node that hands it to you as a wireable integer. Small, but it's the difference between reading your own logs and letting the graph decide for itself.

CategoryNynxz/H3

Inputs (2)

NameTypeDefaultDescription
h3_inputsNYNXZH3_INPUTFrom H3 Inputs, or anywhere along the chain.
modeCOMBOautoMatch whatever H3 Encode is set to, so the task reported here is the task that will actually run.

Outputs (11)

NameTypeDescription
widthINT
heightINT
lengthINTThe length the canvas asked for.
frame_countINTWhat it snaps up to on the model's 17k+5 grid — the frames you actually get.
latent_tINTVideo latent frames.
audio_tINTAudio latent frames (40 Hz).
secondsFLOATframe_count / 24.
taskSTRINGt2va, fl2va or ref2va — what the same list will make H3 Encode do.
is_keyframesBOOLEANTrue for fl2va — a first and/or last frame is driving the clip. Wire into a switch to branch a graph on it.
is_referencesBOOLEANTrue for ref2va — <Picture i> / <Video k> / <Audio j> references.
summarySTRINGOne line naming all of it, for a text preview.