Watermark Removal · öffentlicher Open Skill
Watermark Removal
Watermark Removal ist ein öffentlicher Open Skill auf Digen. Öffne ihn, um zu sehen, was dieser Workflow erstellt.
TryOn
2 1 2
https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/4150474/2026-10-15/dnk2c5va.jpg
# Watermark Removal
Turn one user-supplied image into a clean version of the **same** image with the overlaid watermark gone. This is a single image-to-image edit: one input image in, one cleaned image out. There is no multi-stage pipeline and no project state to keep.
## When to use
- The user uploads an image together with a request to remove / erase / delete / clean a watermark, logo, channel mark, studio mark, date stamp, tiled overlay or burned-in subtitle text.
- The user asks to "restore" or "rebuild" the region hidden behind an overlay.
- Follow-ups on a previous result: the watermark is still visible, the wrong region was erased, the output drifted from the original, or the user wants a sharper version of the cleaned image.
## Steps
1. **Take the input image.** Use the uploaded image's asset id (preferred) or its URL as `input_urls`. Use **one** image per call. If the user gave no image, ask them to upload one — never invent or guess an image URL.
2. **Decide exactly what to remove.** Usually the watermark is obvious, so do not interrogate the user.
- Text / semi-transparent stamp → remove the text and rebuild the background.
- Logo or badge → remove the whole mark, including its outline and drop shadow.
- Date stamp → remove the digits and rebuild the surface behind them.
- Tiled overlay repeated over the frame → remove **every** occurrence of the same pattern.
- Burned-in caption / subtitle → remove the caption text and rebuild the area behind it (the original dialogue is not recoverable; say so if it matters).
- If several marks exist and the user pointed at one, remove only that one; if the user said "all", list every mark in the prompt.
3. **Write the prompt in English** with the template below. Fill every placeholder; keep the style-lock, subject-lock and negative constraints — they are what keeps the result faithful to the source instead of a re-imagined picture.
```
Remove the <watermark kind: semi-transparent text / solid logo / date stamp / tiled repeated overlay / burned-in caption>
located at <position: bottom-right corner / bottom edge / center / repeated over the whole frame> from the provided image,
and rebuild the area it covered.
Reconstruction: inpaint the covered pixels so the patch matches the surrounding <surface: sky / wall / skin / fabric / foliage>
in texture, grain, sharpness and noise, with a seamless blending edge — no blur halo, no smear, no repeated pattern,
no visible rectangle or patch outline.
Style lock: keep the source image's exact color palette (hue, saturation, white balance, contrast), the material rendering
(skin, metal, glass, fabric, water) and the lighting (direction, hardness, shadow shape, specular highlights) — the whole
frame must stay one single coherent look that serves only the original subject.
Subject lock: keep the original subject, pose, geometry, background, composition, framing and crop unchanged.
Do not add, remove, move, restyle or beautify anything else; do not add new text, signature, border, logo, frame or vignette.
Output: one clean, photoreal image identical to the source except that the watermark is gone and its area is fully reconstructed.
```
4. **Call the generation tool.**
```
generate_image(
prompt = <the English prompt from step 3>,
input_urls = [<the uploaded image: asset id or URL>],
model = 'i2i',
name = <short 2–4 word canvas title, e.g. 'Clean image'>,
orientation = <'landscape' | 'portrait' | 'square' matching the source; omit if unclear>
)
```
- `model='i2i'` is required: this is an image-to-image edit driven by the reference image. Always pass the channel, never a physical model name.
- `orientation` should match the source image so the output keeps its shape; omit it when you genuinely cannot tell.
- Do **not** pass `resolution` by default. Only if the user explicitly asks for a sharper or bigger result, pass `resolut