TagPipeOut
Unpack a TAGSET into six strings by key
- tagsets
- value1
- value2
- value3
- value4
- value5
- value6
TagPipeOut is the read side of this pack's TAGSET pipe system. TagPipeIn bundles up to six key/value strings into one dict; TagPipeOut takes that dict back apart, letting you pull out up to six values by key and route each to its own destination. If TagPipeIn is the envelope, this is the letter opener.
The wiring is: tagsets (the TAGSET) in, plus up to six keyN fields you type. For each key you name, the corresponding valueN output emits that key's string. Keys you don't ask for stay unused; keys that don't exist in the set return an empty string rather than erroring.
The pattern it supports
The reason you'd go TAGSET → TagPipeOut instead of just keeping six loose wires is graph hygiene. Bundle a prompt set in one place - positive, negative, loras, seed_tags, whatever - ship it down one wire through a subgraph or a stretch of nodes, and unpack it exactly where each value is needed. Change a value upstream and you edit one node, not six connections.
Because every key field is plain text on the node, you can also use TagPipeOut as a fixed "extract these six known fields" contract for a shared workflow. The keys are case-sensitive and matched literally, so Positive ≠ positive - pick a convention and stick to it, or every read comes back empty.
Two things worth knowing
First, missing keys give you "", not a warning. If a workflow expects a key that was never set, the downstream string is silently empty - the same quiet-failure style as the rest of this pack, and equally easy to trip over. Second, TagPipeOut reads but never modifies: the TAGSET you pass in comes out functionally unchanged on your wire (it's a dict read via .get()), so multiple TagPipeOuts can read the same set.
Honestly, for most people the one-key version (TagPipeOutOne) covers 80% of the need - you rarely need six simultaneous extractions. Use TagPipeOut when you genuinely fan out to several consumers; use the single-key sibling when you just need one value back out.
Install
Same pack, same steps: ComfyUI Manager search "comfyui_tag_filter", or
cd ComfyUI/custom_nodes
git clone https://github.com/sugarkwork/comfyui_tag_fillter
Restart. No dependencies, no model downloads. It's a .get() with extra ports - about as simple as a custom node gets, and it composes cleanly with TagPipeIn, TagPipeUpdate, and TagPipeMerge if you're building a self-contained tag-pipeline inside this pack.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| tagsets | TAGSET | — | |
| key1 | STRING | — | |
| key2 | STRING | — | |
| key3 | STRING | — | |
| key4 | STRING | — | |
| key5 | STRING | — | |
| key6 | STRING | — |
Outputs (6)
| Name | Type | Description |
|---|---|---|
| value1 | STRING | — |
| value2 | STRING | — |
| value3 | STRING | — |
| value4 | STRING | — |
| value5 | STRING | — |
| value6 | STRING | — |