Nodes/H3 Relay/H3RelayInternalInterpolationBundlePack
ComfyUI Node

H3RelayInternalInterpolationBundlePack

The one-wire adapter that makes RIFE models cache-aware

By akatz-ai·Created 28 days ago·Updated 8 days ago· 15
H3RelayInternalInterpolationBundlePack
  • model
  • interpolation
cache_tag

Here's a tiny node with a deceptively important job: it takes an INTERP_MODEL (a ComfyUI frame-interpolation model, like the RIFE checkpoint the pack uses) and a cache_tag string, and returns an H3_RELAY_INTERPOLATION bundle. That's the entire interface - two inputs, one output. No settings, no knobs, no output node marker.

It's the interpolation-side version of the model-bundle pack nodes. H3 Relay's whole architecture is about bundling a model plus its cache identity onto one typed wire so that downstream nodes can fingerprint "which model made this" and invalidate derived artifacts when the model changes. The Interpolation Bundle Pack does exactly that for the interpolation model: it glues the INTERP_MODEL to its cache tag and hands you a single H3_RELAY_INTERPOLATION wire to thread through the graph.

How it actually gets used

In practice, when H3 Relay · Interpolation Model Loader expands, it builds a FrameInterpolationModelLoader (the stock node) and then this pack node to wrap the result, tagging it with a fingerprint of the model filename plus the manual cache revision. When H3 Relay · Interpolate expands, it consumes that H3_RELAY_INTERPOLATION bundle and passes the model_cache_tag through to H3RelayInternalAcceptInterpolation, where it's folded into the cache key of the interpolated result.

So the chain is: RIFE checkpoint → stock loader → this node → interpolation bundle → Interpolate → Accept Interpolation, where the tag guarantees that swapping rife_v4.26_heavy.safetensors for another checkpoint invalidates only the interpolations derived from it. Your LTX masters and raw H3 shots stay untouched.

If you're building a custom chain, you could technically skip this node and wire a raw INTERP_MODEL into a hand-rolled interpolation graph - but then nothing carries the cache identity, and H3 Relay's resumability story quietly stops working. The bundle is the contract.

Why you should mostly ignore it

You will almost never place this node by hand. It exists for the graph-expansion machinery, and if you see it in an expanded workflow you should leave it wired exactly as built. The only time it's worth touching: if you're doing something genuinely custom and you've loaded an interpolation model some other way, this node is your adapter to get it into H3 Relay's cache-aware world. Give it a cache_tag that changes whenever your upstream model stack changes - the pack's docs say the same thing about the LTX bundle's cache_identity for custom native stacks, and it applies here too.

Same install story as the rest of the pack: ComfyUI Manager search H3 Relay, or git clone https://github.com/akatz-ai/h3-relay.git into custom_nodes, then restart. Requires ComfyUI 0.32.0+, FFmpeg on PATH, and the interpolation checkpoint (rife_v4.26_heavy.safetensors from Comfy-Org/frame_interpolation) per MODELS.md. No extra Python dependencies.

CategoryH3 Relay/internal

Inputs (2)

NameTypeDefaultDescription
modelINTERP_MODEL
cache_tagSTRING

Outputs (1)

NameTypeDescription
interpolationH3_RELAY_INTERPOLATION