从Krita获取数据 (Fetch From Krita)
Pause the graph, touch up the image by hand in Krita, resume with your edit
- image
- mask
- image
- mask
Some fixes are faster by hand than by prompt - a stray extra finger, a mask that needs a stroke of manual correction, a small detail no amount of re-rolling is going to nail. Open In Krita hands your current image over to Krita, waits while you fix it, and then resumes your ComfyUI graph with whatever you sent back. It's a human-in-the-loop node: the graph genuinely pauses and waits for you.
Where this fits
The most established way people combine Krita and ComfyUI is Acly's Krita AI Diffusion plugin - a full painting-canvas front end for Stable Diffusion that lives inside Krita itself, well known and widely used, though people who push it toward custom ComfyUI graphs specifically have reported it's the part that's historically been the roughest edge. Open In Krita is a different, narrower idea: instead of driving generation from inside Krita, it's a ComfyUI node that reaches out to Krita mid-graph for a manual touch-up pass, then comes back. You still do your generation in ComfyUI; Krita is just where you do the part that's genuinely easier with a brush than with a prompt.
That handoff needs a companion piece on the Krita side - this pack ships its own separate plugin for that connection, distinct from Acly's. The node itself has a built-in install/reinstall control for it, which is the first place to look if the connection isn't working (more below).
How it works
Feed it an image (and, optionally, a mask). If active is true, the node sends that image over to Krita and blocks - your ComfyUI queue sits waiting - until you finish editing and send it back, or until max_wait_time runs out, whichever comes first. Whatever comes back (or the original, if you time out or leave it untouched) is what flows onward through the node's outputs.
The inputs and outputs that matter
image(required, IMAGE) - what gets sent to Krita.active(required, BOOLEAN, default true) - the on/off switch for the whole handoff. Turn it off to skip Krita entirely and just pass the image through, without touching your graph structure.max_wait_time(required, FLOAT, default 3600 - one hour, range 60 seconds to 24 hours) - how long the node will sit waiting for you before giving up.mask(optional, MASK) - send a mask along too, for inpaint-style round trips.- Outputs:
imageandmask- whatever comes back from Krita (or the untouched originals, depending on how the round trip resolves).
How to install it
ComfyUI Manager: search "ComfyUI-Danbooru-Gallery", install, restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/Aaalice233/ComfyUI-Danbooru-Gallery.git
cd ComfyUI-Danbooru-Gallery
pip install -r requirements.txt
Restart ComfyUI. Getting the Python node installed is only half of it - the Krita side needs its own plugin, installed separately, before this node can actually do anything.
Common issues & troubleshooting
Krita features don't work at all. This is the pack's own documented FAQ item: check the Krita plugin's install status, and check the log hints next to this node's own install/reinstall button. That button exists specifically because this is the most fragile link in the pack - a Python-side node and a separate Krita-side plugin that both need to agree on how to talk to each other.
The graph hangs for a long time, or times out. That's max_wait_time doing exactly what it's for - it defaults to a full hour, so if you walk away or forget the node is waiting, your run will sit there (billed GPU time, if you're running somewhere metered) until either you finish in Krita or the timeout fires. Set it lower if you want a shorter leash.
You just want the plain image passed through, no Krita step. Set active to false rather than deleting the node - same output shape, no handoff.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| active | BOOLEAN | true | — |
| max_wait_time | FLOAT | 360060–86400 | 最长等待时间(秒):60秒-24小时,默认1小时 |
| maskopt | MASK | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| mask | MASK | — |