The README documented five of the seven nodes - Save Image (Civitai) and Prompt + LoRAs, the two largest features, appeared nowhere - and what it did document, it documented in prose. It is now compact and built to be scanned: what the pack does, three screenshots, install, the node table, and links out. Everything longer moved into wiki/: Home, Usage, Nodes, API, Architecture, Development and Troubleshooting. Nodes.md was generated from the real schemas and API.md was diffed field by field against a running server, so neither describes a version of the code that does not exist. The Civitai Updater relationship is written down properly, as a table of which sidecar field feeds which feature and what stops working without one. Only the AutoV2 hash has a fallback, which is worth saying plainly. A workflow publishes wiki/ to the repository's GitHub wiki, rewriting repo-relative image and file links so they resolve there. The wiki repo has to be created once in the web UI before the first run. Screenshots are captured from a real ComfyUI running this branch, driven with Playwright at 2x against a generated demo LoRA folder - illustrative names and stand-in preview art, never a real collection. Six shots, 352 KB as WebP. Assets restructured to match the sibling civitai-updater project: registry art sized and quantised (the banner from 4.8 MB to 487 KB at exactly 21:9), screenshots in assets/docs/, originals kept in assets/source/. pyproject's registry URLs follow the moved files. The example workflow is now two model configurations, Krea 2 and Z-Image Turbo, each with its own Warp, switched into one shared pipeline. Its output image carries both the workflow and the Civitai parameters block it was saved with. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
WarpPipe
ComfyUI nodes that bundle a whole generation into one wire, and a prompt box that keeps a prompt and its LoRAs in the same place.
- Warp / Unwarp — everything a sampler needs travels as a single link. Switching between whole model setups is one wire moved instead of twenty.
- Prompt + LoRAs — write
a portrait <lora:detail tweaker:0.8>and have it mean it. The tags are the loader; the prompt is still a prompt. - Save Image (Civitai) — writes metadata Civitai reads, so an upload credits the checkpoint and the LoRAs that actually made the picture.
They work apart as well as together.
Install
comfy node install warppipe
Or clone into ComfyUI/custom_nodes and restart. Python 3.9+, no third-party
dependencies.
The prompt box
Colour says what will happen before you run anything: cyan resolves, red matches
nothing, orange is built for another base model, green is a trigger word, grey
is a // note that never reaches the model. The line underneath describes
whichever tag the caret is in.
Press / to complete against your library inline, Tab to take it, Tab again
on a tag for that LoRA's trigger words. Weight, ordering and switching a LoRA off
are ordinary text edits, so undo covers all of them.
→ Writing a prompt · the browser · all the keys
One wire
Everything on the left goes into a Warp. One link crosses the canvas. An Unwarp gives it all back. Warps chain, so a second one downstream carries everything the first did and adds to it.
Works with Civitai Updater
WarpPipe reads the .civitai.info sidecars that
Civitai Updater
writes: trigger words, base models, titles, Civitai links and the AutoV2 hash
Civitai matches on. Only the hash has a fallback — the rest simply are not there
without a sidecar, and the features built on them go quiet.
The nodes
| Node | |
|---|---|
| 🌀 Warp | Bundles models, conditioning, images, latents, prompts and parameters into one link |
| 🌀 Unwarp | Unpacks it into twenty-two outputs |
| 🌀 Warp Provider | Latent and parameters together, with 30+ resolution presets |
| 🌀 Prompt + LoRAs | The prompt box above |
| 🌀 Save Image (Civitai) | Saves with metadata Civitai reads |
| 🌀 Scheduler Adapter for FaceDetailer | Maps KSampler schedulers onto FaceDetailer's set |
| 🚫 Dead End | Accepts any type, produces nothing. Parks a branch without deleting it |
Every node carries its own help inside ComfyUI, behind the ? on the node.
Example workflow
Two model configurations — Krea 2 and Z-Image Turbo — each with its own Warp, switched into one shared workflow:
It produced this, and carries the workflow inside it — drag the image into ComfyUI to open it:
Save Image (Civitai) wrote this alongside it, which is what a site reads:
Steps: 8, Sampler: euler, Schedule type: simple, CFG scale: 1.0, Seed: 44,
Size: 1024x1536, Model hash: 8e4eeda70d, Model: krea2_turbo_int8_convrot,
Hashes: {"model":"8e4eeda70d"}, Version: ComfyUI-WarpPipe
Or download the workflow JSON.
Documentation
| Home | Start here |
| Usage | Prompts, bundling, saving for Civitai |
| Nodes | Every input and output |
| API | The HTTP routes the frontend uses |
| Architecture | How the pieces fit, and why |
| Development | Tests, lint, releasing |
| Troubleshooting | When something does not appear |
Also published as the GitHub wiki.
Credits
UI screenshots are taken from a real ComfyUI against a small demo LoRA folder; those names are illustrative and that preview art is generated stand-in, not any creator's work.
Developed with AI assistance (Claude Opus 5).
Licensed under the MIT License.




