Nodes/ComfyUI-H3-Multishot/H3 Cartridge Loader (.riftcast)
ComfyUI Node

H3 Cartridge Loader (.riftcast)

A character's whole look and voice in one .riftcast file

By jlucasmcrell·Created 21 days ago·Updated 2 days ago· 31
H3 Cartridge Loader (.riftcast)
    • ref_1
    • ref_2
    • ref_3
    • ref_4
    • ref_5
    • ref_6
    • ref_7
    • ref_8
    • ref_9
    • voice
    • subject_block
    • dna_text
    • speaker_tag
    • accent_line
    • rooms_text
    • ref_count
    • report
    cartridge
    max_refs9
    manual_path

    A character cartridge is the thing you wish you'd made three renders ago: one file holding a character's reference photos, voice anchor, and descriptive DNA, so you don't rebuild the identity lane from scratch every time you switch projects. H3CartridgeLoader reads those files - the .riftcast format the JoyEcho/LTX pipeline already uses - and unpacks them into the separate inputs an H3 graph actually needs.

    The format is a zip with a manifest.json at its heart: name, speaker_tag, voice, refs, dna, plus optional accent and room data. Drop a .riftcast into input/riftcast/, pick it from the cartridge dropdown, and the node does the mapping to H3's reference system for you. The subtle part, and the reason it can't just hand you one batch: H3's core resizes img[:1] when you feed a batch, which would silently collapse all your photos into a single reference. So the node emits up to nine separate ref_1ref_9 IMAGE outputs instead. The max_refs widget (1–9) caps how many you take.

    The outputs you'll wire

    • ref_1ref_9 - the character's photos, one per reference slot.
    • voice - the AUDIO anchor. Read the caveat: wire it through H3 Reference Audio's stereo guard, because the audio VAE encodes [B, 2, L] and a mono clip dies deep in the model. The README's worst crashes come from this.
    • subject_block - a ready-made subject_definitions fragment ("<Subject 1> is NAME, DNA… <Audio 1> is the voice-timbre reference…") you can paste into ref-mode prompts. This is the binding text that keeps the photos and voice pointed at the same person.
    • dna_text, speaker_tag, accent_line, rooms_text - strings for prompt assembly.
    • ref_count, report - how many refs loaded, and what happened (including whether LoRA entries in the cartridge were ignored, because H3 identity comes from references, not LoRAs).

    You can also skip the dropdown with manual_path and point straight at any .riftcast. Two security details carried over from the reference implementation are worth knowing: path-traversal rejection and a sha256 integrity check on the voice anchor. Corrupted files fail loudly rather than silently loading half a character.

    Install

    It ships in the H3 Multishot pack:

    cd ComfyUI/custom_nodes
    git clone https://github.com/jlucasmcrell/ComfyUI-H3-Multishot
    

    or ComfyUI-Manager → H3 Multishot. Restart; ComfyUI v0.30.0+, no pip dependencies (the pack deliberately declares none). Cartridges you made for the JoyEcho/LTX side load as-is - the format hasn't changed, only the consumer.

    The trap to remember isn't install, it's the stereo guard. Connect voice to something that guarantees stereo before it reaches the audio VAE. Get that right and a cartridge makes "load the whole character" a one-node operation.

    Categoryloaders/minimax

    Inputs (3)

    NameTypeDefaultDescription
    cartridgeCOMBO1 options: (no cartridges in input/riftcast/)
    max_refsINT91–9
    manual_pathoptSTRINGFull path to any .riftcast, bypassing the dropdown.

    Outputs (17)

    NameTypeDescription
    ref_1IMAGE
    ref_2IMAGE
    ref_3IMAGE
    ref_4IMAGE
    ref_5IMAGE
    ref_6IMAGE
    ref_7IMAGE
    ref_8IMAGE
    ref_9IMAGE
    voiceAUDIO
    subject_blockSTRING
    dna_textSTRING
    speaker_tagSTRING
    accent_lineSTRING
    rooms_textSTRING
    ref_countINT
    reportSTRING