- image
- image
- message
KoukoutuWatermarkRemoval (抠抠图-去水印功能) does one thing: finds the watermark in an image and removes it, filling the space in automatically. It's the pack's most hands-off node - no strength slider, no "which corner is it in" hint, no healing-brush parameters. You feed it an image and an API key, it sends the job to the Koukoutu cloud, and you get a cleaned image back. The display name, 去水印, translates literally to "remove watermark."
Let me get the caution out of the way first, because it's the thing people don't want to hear: removing a watermark is only legitimate when you have the right to edit the image - your own work, licensed stock, or a site's rule allowing it. Stripping someone else's watermark from a photo you don't own is both legally fraught and exactly the use case these tools get abused for. The node is just a node; the ethics aren't. Use it on your own assets and this is a genuinely handy cleanup step.
How it works
Async, like most of the pack: the image is saved as a temp PNG, uploaded to the async endpoint with the model key image-watermark, then polled once a second with a progress bar until done, and the result is downloaded. Server 5xx errors retry up to five times, with a five-minute cap.
Inputs that matter
- image - the image with the watermark.
- api_key - required; koukoutu.com/user/dev, with credits.
- skip_error - on by default.
That's the whole input surface. There's no way to tell the model where the watermark is or how big it is - it's expected to locate it, which is the impressive part and also the limitation. A small, corner-dwelling logo on a busy background is the easy case; a watermark blended into detailed texture may survive or come back smeared.
Outputs
image plus message ("成功" on success). Standard pack fallback: with skip_error on, an error returns the original, un-edited image and the error text on message - so an unchanged output means the job failed and you should read the string, not assume the watermark was already gone.
Install
One install covers all nine nodes in the pack:
cd ComfyUI/custom_nodes
git clone https://github.com/zhenzi0322/comfyui-koukoutu
pip install -r requirements.txt
Or search "koukoutu" in ComfyUI Manager and restart. Minimal dependencies, no model downloads, no VRAM. It's an API wrapper - paid per call, and your images go to the Koukoutu servers. Install from the official repo only.
Troubleshooting
The 40x family: 401 bad key, 403/409 no credits, 406/413 file over 15MB, 407 source too small, 422 bad params, 429 rate limit. Quality-wise, if the removal leaves visible ghosting, that's the model's fill on a particular watermark - since there are no parameters, your options are a cleaner source or inpainting it locally with a mask, which remains the more controllable path for a single hard case. For batch cleanup of your own files, this is the fastest route the pack offers.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| api_key | STRING | — | |
| skip_erroropt | BOOLEAN | true | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| message | STRING | — |