abyz22_Frompipe
Unpack the pipe at the end of the line
- pipe
- pipe
- MODEL
- CLIP
- VAE
- Positive
- Negative
- IMAGE
- latent Image
- latent
A pipe is great for moving eight things down one wire, but eventually you have to plug into a sampler that wants the real objects. That's what abyz22_Frompipe is for: it takes the pipe bundle from abyz22_Topipe and fans it back out into model, clip, vae, both conditionings, an image, and both latents. One wire in, eight wires out, zero surprises.
It's the bookend of the pipe system in abyz22/image_control - Topipe packs, Frompipe unpacks, Editpipe swaps slots, Convertpipe translates to Impact Pack's BASIC_PIPE. This pack is itself an Impact Pack fork, so the pipe idea is borrowed from Impact's own BASIC_PIPE, just extended with an image and two latent slots.
Outputs
pipe- the original pipe, passed through, so you can chain an unpack with an edit.MODEL,CLIP,VAE- the model trio.Positive,Negative- the two conditionings.IMAGE- the image slot.latent Image,latent- the two latent slots.
Everything except pipe can be left dangling; if a slot was empty in the pipe, its output is None, and ComfyUI handles an unused output gracefully. So you can unpack just the two wires you need and ignore the rest - this is the node's real strength over dragging a full Topipe around.
How it works
It reads the pipe dict and does a dict.get for each slot. Note it uses .get, not direct indexing, so missing keys come back as None rather than a crash - that's friendlier than abyz22_Convertpipe, which assumes all five model keys exist. Practical consequence: if you built the pipe yourself and skipped a slot, Frompipe won't blow up; it'll just hand you None for that output, and the consumer downstream decides whether that's an error.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/abyz22/image_control
or ComfyUI Manager → "image_control", restart. The pack's install adds openpyxl, pytorch-lightning, kornia.
Where it fits
Use it at the sink end of a piped graph - after your branch logic, before the KSampler and VAE decode. The clean architecture is Topipe at the source, one or more Editpipes for branch-specific swaps, Frompipe at the sink. Beginners tend to unpack everything at the top "just in case," which defeats the point of the pipe; unpack only what each downstream node actually needs. One quirk to remember: the two latents are separate slots (latent Image from the latent_Image input on Topipe, and latent), and Editpipe's latent-slot bug means latent may not have been updated when you edited it - if your latent looks stale, re-run it through Topipe or use latent_Image.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| pipe | PIPE | — |
Outputs (9)
| Name | Type | Description |
|---|---|---|
| pipe | PIPE | — |
| MODEL | MODEL | — |
| CLIP | CLIP | — |
| VAE | VAE | — |
| Positive | CONDITIONING | — |
| Negative | CONDITIONING | — |
| IMAGE | IMAGE | — |
| latent Image | LATENT | — |
| latent | LATENT | — |