Ideogram4 V9 Trigger Diagnostics
When your Ideogram4 trigger quietly does nothing, this node tells you why
- activator
- clip
- runtime_diagnostics
- report
The V9 trigger chain is strict by design, and when something in it refuses to cooperate you'll want eyes. Gen2_Ideogram4V9TriggerDiagnostics is that: a single node that dumps a JSON report about your activator, your text encoder, and what actually happened during encoding. It's not a node you keep in your production graph - it's the debugging station you drop in when a trigger isn't working and you need to know which of the five V9 nodes is lying to you.
What the report tells you
Wire in an activator (required) and it reports on the artifacts themselves: the embedding and TE adapter manifests, their compatibility fingerprints, and the four-slot binding setup. The whole point is that these checks are strict - if the embedding and TE adapter fingerprints don't match, or the artifact shape is wrong, you want to see that surfaced here instead of as a mysterious weak result later.
Two optional inputs make the report much more useful:
clip- pass in your Ideogram4 text encoder and it runs the full backend identity check: is this really the native Ideogram4/Qwen3-VL implementation, does it have the 36 hookablemlp.down_projlayers, does it expose the interleaved MRoPE machinery? This is the check that catches the classic mistake of feeding in a Flux/Klein Qwen3-8B encoder that "looks" compatible. The compatibility report goes into the output undercompatibility.runtime_diagnostics- feed thediagnosticsoutput fromGen2_Ideogram4V9TriggerTextEncodeback in, and the report gains aruntimesection covering the hook lifecycle and what actually got encoded on your last run. This is the "was my trigger even found?" answer - it'll show whether the literal was located, how many four-slot expansions happened, and whether the module-LoRA hooks engaged.
Output is a single report (STRING) - a pretty-printed, sorted JSON blob. Drop a ShowText/Preview node on it (or right-click → preview value) to read it.
How to actually use it
When a V9 trigger produces nothing: connect clip, run once, and read the compatibility section - a strict check failing there explains 90% of "nothing happened" cases. When the compatibility is fine but the result is weak: wire the text encoder's diagnostics output in and check the runtime section - is the literal being found at all, and are the hooks engaging? It's the difference between fixing your artifacts and chasing ghosts.
Install
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
Restart. No models or artifacts load in this node itself - it only inspects what you hand it - so it's the one V9 node you can run with nothing in models/gen2/ at all. Which, honestly, makes it the right first thing to wire up if you're new to the chain.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| activator | GEN2_IDEOGRAM4_V9_TRIGGER_ACTIVATOR | — | |
| clipopt | CLIP | — | |
| runtime_diagnosticsopt | GEN2_IDEOGRAM4_V9_TRIGGER_DIAGNOSTICS | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| report | STRING | — |