Workflow Texts
When the parser can't find the prompt, list every text node
- text
- all_texts
- count
Workflow Parse is great at recovering settings from a graph - right up until the graph won't cooperate. The failure mode is specific: a workflow that builds its prompt at runtime, or uses custom prompt nodes, can leave positive empty or mislabeled. Workflow Texts is the fallback tool for exactly that moment. It walks the whole graph, finds every text/prompt node, and lists them all so you can pick the right one by hand instead of trusting an automated positive/negative split that can't be made.
The "why" is in the pack's own measurements. Real graphs are full of custom text nodes - PrimitiveString, ttN text, VRGDG_PromptSplitter, String Literal, ShowText|pysssss - and a clean positive/negative split is not always recoverable from the graph structure. Some of those nodes don't even hold prompts: when a graph builds its prompt at runtime, what Workflow Parse finds on the text path can be a Python snippet, not a sentence. Workflow Parse's answer to that is to hand you an empty positive with a note rather than a wrong one. This node is the note's resolution: see everything that's there, decide what's actually the prompt.
Inputs
- json_text - the
promptchunk, same as Workflow Parse. Wire in from Workflow From Image or paste it. - index - which text to return on the
textoutput. Default 0.
Outputs
- text (STRING) - the single text you selected with
index. - all_texts (STRING) - every text node, joined with separators and numbered, so you can scan the whole list at once.
- count (INT) - how many text nodes the graph has.
So the workflow is: look at all_texts to see what's there, set index to the one that's actually your prompt, and wire text into a CLIP Text Encode or wherever it needs to go. The numbering in all_texts matches the index you pick - that's the whole interface.
When you reach for it
Two situations. First, Workflow Parse returned an empty or suspicious positive - this node is the next step in the same pipeline, and it shares the same json_text input so the wiring is trivial. Second, you want to audit what text is in an image's workflow at all - count the nodes, eyeball them, confirm nothing weird is hiding in the graph. It's the "show me everything" node in a pack that's otherwise about automation, and it's the honest acknowledgment that some graphs need a human in the loop.
Install
The no-model half of the pack again - ComfyUI Manager, search ComfyUI Needle 2, or git clone https://github.com/DenRakEiw/Comfyui_Needle2 into custom_nodes/ and pip install cactus-needle, restart. No engine, no downloads, works anywhere ComfyUI runs. The only real limitation is the one the whole pack shares: the source PNG has to still carry its metadata. If the image was re-encoded or saved with metadata disabled, there's no graph in the file to walk - and neither this node nor anything else can invent one.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| json_text | STRING | — | |
| index | INT | 00–999 | Which text to return on the `text` output. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| text | STRING | — |
| all_texts | STRING | — |
| count | INT | — |