MiniMax H3 Project Asset Carousel
The path-backed asset carousel that kills a wall of H3 loader nodes
- tagged_references
- upscale_model
- project_assets
- references
- reference_fingerprint
- source_timeline
- status
The part of MiniMax H3 work that makes people quit isn't the sampler - it's the reference wiring. Load a picture here, a motion clip there, tag everything, feed it to Tagged Ref2VA, and pray you remember which tag maps to which role when you come back next week. The MiniMax H3 Project Asset Carousel is the fix: one big node that acts as a path-backed project library so your media stops living as half-understood wires.
Drop it before Plan in a Contex Loop workflow. Connect its project_assets output to Plan (or Plan Studio) and its references output to Tagged Ref2VA, and the carousel handles the rest.
How it actually works
The key design choice: media stays on disk as ordinary ComfyUI input assets, not inside the workflow. Uploads and imports get copied to ComfyUI/input/h3_projects/<run_name>/ where any normal loader can still reach them, and mirrored to output/h3_chains/<run_name>/project_assets/ so recovery and assembly can find them even after a crash. Only the compact catalog metadata ever gets serialized into the workflow JSON - no media bytes, no tensors. And only the tags the current scene actually references get decoded during sampling, so a big library doesn't drag every run. Assets you've dropped in but not bound are Unassigned cards: they never consume H3 reference slots and never enter the generation fingerprint, which is a genuinely thoughtful way to stage work without committing to it.
You can drag and drop image, video, or audio files straight onto the node to create assets, or use Upload / Import. Images get a nondestructive editor - crop, resize, megapixel targets, Lanczos/bicubic/nearest resampling, snap dimensions to 8/16/32/64 - and every operation records its parent and transform as a new PNG variant, leaving the source untouched. Audio assets open a Lyrics workspace beside their player; the notes save with the project but never touch prompts or fingerprints.
Inputs worth your time
run_name is the one you actually set. It's the authoritative run identifier - when project_assets is connected to Plan, this value overrides and synchronizes Plan's own run_name, so enter it here and only here. Change it for a fresh project, keep it stable while you iterate, because the whole recovery layer keys off it.
semantic_anchor_size (default 512) sets the Qwen presentation size for assets assigned the Semantic anchor role, and semantic_anchor_mode picks whether #tag[timestamp] anchors present as timestamped video or a picture storyboard. Leave them at defaults unless you're doing something specific.
catalog_json and operation_json are the carousel's internal bookkeeping - one holds the catalog, the other a one-shot image operation. Leave them blank. The two optional inputs are for specific jobs: tagged_references lets you migrate an existing workflow's tag lines into Unassigned cards (metadata only, no media copy), and upscale_model takes a core Load Upscale Model so the Model upscale button works. That input is lazy - normal H3 generation never loads it, and pressing the button queues only the carousel, not the whole chain.
Outputs
project_assets is the main line into Plan. references carries native tagged references plus semantic-anchor metadata to Tagged Ref2VA. reference_fingerprint is an order-neutral lineage string Plan uses for compatibility - wire it or don't, you rarely look at it. source_timeline is a path-backed Source Timeline Plan absorbs automatically through project_assets, and status tells you the run name, enabled reference count, source-track state, and revision at a glance.
Install and gotchas
Same shared install as the rest of the pack - clone, restart, no pip dependencies:
cd ComfyUI/custom_nodes
git clone https://github.com/ethanfel/ComfyUI-MiniMaxH3-Contex-Loop.git
It needs a current ComfyUI with native Add Guide for MiniMax H3 (PR #15439), and H3's ~42.5 GB weights aren't bundled. Three failure modes people actually hit: duplicate tags - every enabled asset needs a unique tag, and the node raises a clear error otherwise; two Source tracks - only one enabled Source track is allowed; and pressing Model upscale without a core upscale model connected, which errors immediately instead of silently skipping. The carousel is also the one node in the pack that's an output node, so it only does work when you queue something downstream of it. Connect it before Plan, and the wall of loaders disappears.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| run_name | STRING | Authoritative H3 chain Run name. When project_assets is connected to Plan, this value automatically overrides and synchronizes Plan's run_name; enter it here only. Media is copied below input/h3_projects/<run_name> and mirrored in output/h3_chains/<run_name>/project_assets. | |
| catalog_json | STRING | Compact catalog metadata maintained by the carousel. Media bytes and tensors are never serialized into the workflow. | |
| semantic_anchor_size | COMBO | 512 | Qwen presentation size for project assets assigned the Semantic anchor role. |
| semantic_anchor_mode | COMBO | timestamped_video | Presentation mode for #tag[timestamp] project semantic anchors. |
| operation_json | STRING | Internal one-shot image operation maintained by the Carousel. It remains blank during normal H3 generation. | |
| tagged_referencesopt | H3_TAGGED_REFERENCES | Optional migration/template input. The carousel reads tag, media kind, role, and reference options into Unassigned cards but does not copy, encode, or serialize the media. Bind each card explicitly from ComfyUI input, upload, backup, or server path. | |
| upscale_modelopt | UPSCALE_MODEL | Optional core upscale model for creating an edited image variant. It is evaluated only when you press Model upscale in the asset editor; normal H3 generation never loads it. |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| project_assets | H3_PROJECT_ASSETS | Compact project catalog for Plan/Plan Studio synchronization. |
| references | H3_TAGGED_REFERENCES | Native tagged references plus separate semantic-anchor metadata. |
| reference_fingerprint | STRING | Order-neutral incremental reference lineage for Plan compatibility. |
| source_timeline | H3_SOURCE_TIMELINE | Optional path-backed Source Timeline for specialized direct uses. Plan already absorbs this automatically through project_assets. |
| status | STRING | Run name, enabled reference count, source-track state, and revision. |