Nodes/ComfyUI-gen2/Load Ideogram4 Phase C V2 Router
ComfyUI Node

Load Ideogram4 Phase C V2 Router

The Ideogram4 LoRA router loader, with receipts

By petmycat·Created 7 months ago·Updated a day ago· 23
Load Ideogram4 Phase C V2 Router
    • router
    • diagnostics
    artifact_layoutseparate_files
    router_name
    router_config_name<embedded>
    group_registry_name<embedded>
    source_manifest_name<embedded>
    verify_hashestrue

    The name is a mouthful, so here's the honest one-liner: this node is the paranoid loader for the "Phase C V2" system that makes Ideogram4 LoRA strength smart. It doesn't generate anything itself. It reads a router file - a small network that decides how hard to push a LoRA at every step - checks every byte of it, and hands it to Gen2_ApplyIdeogram4PhaseCV2Strength, which does the actual work. You run this node because you want the pair; nobody loads a router for its own sake.

    Where it fits in the bigger picture: Ideogram 4 dropped open weights in June 2026 (fp8 and nf4 only, no bf16), and the community settled into a niche of graphic design and character work. LoRAs are the usual way to bend it, and LoRAs have a problem - a fixed strength applied everywhere, at every denoising step, whether the content matches or not. Phase C V2 is this pack's answer: gate the LoRA per content, per timestep, per group. This node is the front door to that.

    How it works

    The router artifact is a .safetensors with exactly seven tensor keys - the activator norm and projection layers, plus universal_anchors and a pair of context matrices you never touch. Around it sit up to three JSON files: a router config (schema ai-toolkit.ideogram4-v3-phase-c-v2-router-config, version 2), a group registry that maps LoRA modules into gate groups, and a source manifest. Those can live as separate files or be embedded in the safetensors' own metadata - that's what the artifact_layout choice is about.

    The word "strictly" in the node's description is doing real work. The loader checks schema versions, JSON shape, fingerprints, SHA256 of every file, and records the expected hashes of the embedding and TE-adapter artifacts the router was trained against. It fails closed: any mismatch, wrong suffix, or placeholder selection throws an error instead of loading a half-validated router. It also spot-checks that a JSON file didn't change mid-read. This is a pack author who has been burned by silent corruption and decided the fix is a bouncer.

    The inputs that matter

    • artifact_layout - separate_files or self_contained. Self-contained is cleaner if your router ships with its configs baked in; it requires all three JSON dropdowns to stay on <embedded>.
    • router_name - the .safetensors in ComfyUI/models/gen2/. If the dropdown shows <no .safetensors files>, that's the problem.
    • router_config_name / group_registry_name / source_manifest_name - JSON sidecars, defaulting to <embedded>. You only pick files here in separate_files mode.
    • verify_hashes - defaults to true and you should leave it that way. This one's a trap: it feels like a performance knob, but it's your corruption detector. Only disable it if a manifest hash is stale and you've confirmed the files are right.

    Both outputs are worth knowing. router (typed GEN2_IDEOGRAM4_PHASE_C_V2_ROUTER) feeds straight into the Apply node. diagnostics is a STRING of the whole validation: every path, every SHA256, both fingerprints, group count. Wire it to a text display once and you'll see exactly what the router thinks it's paired with.

    Installing it

    The pack installs the normal way - via ComfyUI Manager (search ComfyUI-gen2) or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/petmycat/ComfyUI-gen2.git
    cd ComfyUI-gen2
    pip install -r requirements.txt
    

    Then restart ComfyUI. Note the README's requirement: ComfyUI v0.28.0 or newer - these nodes use the modern V3 node API, so a stale install just won't show them. No Python deps beyond the pack's own requirements.txt (scipy, safetensors, transformers), and no model download bundled - the router artifacts are yours to source.

    Common issues

    • Dropdowns showing <no ... files> means nothing is in ComfyUI/models/gen2/ - the router reads from there, not from models/controlnet or anywhere else.
    • "A real .safetensors file must be selected" - you left the placeholder selected instead of choosing an actual file.
    • Hash or fingerprint mismatches: don't disable verify_hashes, re-download the file. This pack treats a wrong checksum as a hard stop by design.
    • The Phase C V2 nodes aren't documented in the pack README yet - the README covers the V9 trigger path that feeds the Apply node, but the router/apply pair is newer and you're essentially on the bleeding edge. That's fine, just don't expect a template workflow to copy.
    CategoryGen2/Ideogram4 Phase C V2

    Inputs (6)

    NameTypeDefaultDescription
    artifact_layoutCOMBOseparate_files2 options: separate_files, self_contained
    router_nameCOMBO1 options: <no .safetensors files>
    router_config_nameCOMBO<embedded>2 options: <embedded>, <no .json files>
    group_registry_nameCOMBO<embedded>2 options: <embedded>, <no .json files>
    source_manifest_nameCOMBO<embedded>2 options: <embedded>, <no .json files>
    verify_hashesBOOLEANtrue

    Outputs (2)

    NameTypeDescription
    routerGEN2_IDEOGRAM4_PHASE_C_V2_ROUTER
    diagnosticsSTRING