Gregory RichardandClaude Opus 5 e575bdabf4 docs: rewrite the documentation, add screenshots and a wiki
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>
2026-09-01 21:47:25 +02:00
2026-08-30 00:13:54 +02:00

WarpPipe

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

The Prompt + LoRAs node, with tags, notes and trigger words coloured

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

A Warp bundling three sources into one link, unpacked by Unwarp

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.

→ Bundling a generation

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.

→ What the sidecars give you

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.

→ Every input and output

Example workflow

Two model configurations — Krea 2 and Z-Image Turbo — each with its own Warp, switched into one shared workflow:

The example workflow: two model groups feeding one shared pipeline

It produced this, and carries the workflow inside it — drag the image into ComfyUI to open it:

A pixel-art warp pipe, generated by the example workflow

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.

S
Description
No description provided
Readme MIT
17 MiB
Languages
Python 60.5%
JavaScript 39.5%