Nodes/ComfyUI-Arisu-Nodes/MiniMax H3 Resource Studio
ComfyUI Node

MiniMax H3 Resource Studio

Keyframes, clips and references in one panel — no Load Image ladder

By swqa7697·Created 25 days ago·Updated 5 days ago· 8
MiniMax H3 Resource Studio
    • resources
    ◄aspect_ratio16:9 (Widescreen)►
    ◄advertise_resourcesfalse►
    ◄resources_json{"version":1,"keyframes":{"first":null,"last":null},"references":[]}►

    Why you'd reach for it

    MiniMax H3's reference conditioning - the Ref2VA / Hybrid path - takes a first keyframe, a last keyframe, up to nine image references, three videos and three audio clips, each optionally cropped or trimmed. Built from core nodes that's a ladder of Load Image and Load Video nodes, with no clean way to mute one reference. Resource Studio is that pile in one panel with one output: the reference-side sibling of the pack's MiniMax H3 Video Settings node.

    What it actually emits

    Not pixels - a description. The single resources output is an ARISU_MINIMAX_H3_RESOURCES bundle listing each file's path plus its crop, trim and mute state. The Hybrid node reads the originals, applies the crops and resizes for its own canvas, which is why the docs say Studio "retains source descriptions, not resized assets": nothing duplicated on disk, and a ratio change doesn't cost a re-encode. It also means combining the bundle with individual resource inputs is rejected outright - resources cannot be combined with individual resource inputs.

    Two details explain the odd behaviour: validate_inputs parses the saved state before execution, which is where invalid resource state; reselect resources comes from; and the node fingerprints its inputs against the source files, so editing a referenced clip mid-session invalidates the output rather than silently mixing revisions.

    The three inputs

    • aspect_ratio - eight labels borrowed from ComfyUI's own Resolution Selector, 1:1 (Square) through 21:9 (Ultrawide), default 16:9 (Widescreen). New keyframes get a centered Auto-crop for it, and changing the ratio reapplies Auto-crop to both frames, muted ones included, while reference images start uncropped and don't follow ratio changes.
    • advertise_resources - off by default, and read by the frontend, not the backend. Turn it on and every MiniMax H3 Hybrid to Video node in the root graph takes this bundle with no wire at all; their resources socket greys out. Explicit wiring crosses subgraph boundaries, so use the wire inside a subgraph; if two Studios advertise, the first in node order wins.
    • resources_json - the hidden, socketless editing state. You never type in it.

    Output: resources.

    Using the panel

    Click a frame canvas to pick or replace its image; the crop icon edits the crop, Reset returns to the full image. Browse opens at your last reference's folder and highlights files already listed; nothing commits until Apply. Drag the hover handle or use Move up / Move down to reorder, and Mute keeps the edits while dropping an item from execution. Counters show active references only; keyframes and video soundtracks don't count.

    Limits: nine images, three videos, three standalone audios, 256 stored cards, and additions past an active limit arrive already muted. Videos and audio open a clip editor first - a timeline on a tenth-of-a-second grid with in/out brackets, 5/10/15-second presets and keyboard scrubbing. Videos include their soundtrack by default.

    One number to internalise: video selections are sampled at 24fps, capped to your generation length and aligned down to H3's 17k+5 frame grid. A five-second selection yields 107 usable frames where a five-second generation yields 124. That's the grid, not a bug. An audio VAE is needed only when active audio is emitted.

    Install

    cd ComfyUI/custom_nodes
    git clone https://github.com/swqa7697/ComfyUI-Arisu-Nodes.git
    

    Requires ComfyUI ≥ 0.30.0 and Python ≥ 3.10, with Pillow and PyAV in ComfyUI's environment - PyAV decodes your video and audio, so a missing av is suspect number one if clips won't load. Restart, then find it under Add Node → Arisu Nodes.

    This node needs the legacy node renderer: disable Nodes 2.0. That's the README's requirement, not a preference, and it's the honest cost of a panel-heavy node: ComfyUI's Vue frontend rewrite changed how third-party nodes draw, and this one is explicit about which renderer it supports.

    Media must live under ComfyUI's input/output or an administrator-configured root. To add libraries, edit roots in user/__arisu_nodes/config.arisu.jsonc and restart:

    {
      // Edit these directories manually, then restart ComfyUI.
      "roots": {
        "photos": "/data/photos",
        "references": "/mnt/library/references"
      }
    }
    

    Only add directories you'd expose to anyone who can reach this server - the pack moved pack-local absolute image roots into this protected config for a reason.

    Where people get burned

    • A blank or half-drawn node. Nodes 2.0 is still on. Turn it off.
    • "My folder isn't in Browse." Configured roots only, and it takes a restart.
    • Reselecting after import. Reopening a saved workflow keeps your selections; importing or duplicating one doesn't, and it asks you to reselect rather than generating from a stale path.
    • API-format exports. Since 1.2.0 the first Hybrid keyframe is center-cropped by default instead of stretched, and API exports must supply the first_frame_* / last_frame_* fitting keys.
    • Proxies are preview-only. Unsupported codecs get an on-demand VP9/Opus proxy for playback; the Hybrid node still reads your original.
    CategoryArisu Nodes/MiniMax H3

    Inputs (3)

    NameTypeDefaultDescription
    aspect_ratioCOMBO16:9 (Widescreen)8 options: 1:1 (Square), 2:3 (Portrait Photo), 3:2 (Photo), 3:4 (Portrait Standard), 4:3 (Standard), 9:16 (Portrait Widescreen), +2
    advertise_resourcesBOOLEANfalseHand this bundle to every MiniMax H3 Hybrid to Video node in the root graph without a link; their resources socket greys out. Off by default. Read by the frontend.
    resources_jsonSTRING{"version":1,"keyframes":{"first":null,"last":null},"references":[]}—

    Outputs (1)

    NameTypeDescription
    resourcesARISU_MINIMAX_H3_RESOURCES—