Overview
Remove image graininess/noise/speckles, preserving image detail while reducing noise. Covers noise reduction for high-sensitivity shooting, noise removal for low-light shooting, speckle repair for old photos, noise handling for phone night shots, and repair of color blocks/artifacts produced by compression. Only requires image_url, no prompt needed.
Before execution, the user should clearly know: this Skill will read Meitu credentials, call the local meitu CLI, send the user-provided image URL to Meitu OpenAPI for processing, and write the result to ./output/ or $VISUAL/output/image-denoise-enhance/。
API Mapping
- Image denoising:
image_denoise_enhance
Dependencies
- meitu-cli:
>=2.0.6(npm install -g meitu-cli@latest) - credentials:CONFIG AKSK →
meitu tools update; EXEC AKSK → actual execution (see rootCONFIG.md) - environment variables:
MEITU_OPENAPI_TOOL_TASK_MODE=command
Path alias:
$VISUAL={OPENCLAW_HOME}/workspace/visual/
Core Workflow
Preflight → Execute → Deliver
Preflight
meitu --version≥ 2.0.6 (otherwisenpm install -g meitu-cli@latest)- confirm that
meitu tools updatehas been run (using CONFIG AKSK) - current AKSK = EXEC, and
MEITU_OPENAPI_TOOL_TASK_MODE=command - resolve output_dir: openclaw.yaml →
./output/|else →$VISUAL/output/image-denoise-enhance/;mkdir -p
Execute
Trigger signals / routing rules
| Scenario | Judgment keywords | Routing |
|---|---|---|
| Noise / grain / speckles | denoise, noise, grain, speckles, dirty image, high ISO | image_denoise_enhance |
Decision order:
image_urlmissing → ask follow-up- Unique routing: call
image_denoise_enhance
Single API tool: call it when parameters are complete; after 1 retry on failure return an error; no cross-tool fallback. If the image has no obvious noise, still call normally; the effect may be不明显.
Parameter definitions
| Parameter | Type | Required | Range | Default | Description |
|---|---|---|---|---|---|
image_url |
STRING | Yes | -- | -- | Image address. If missing → prompt "Please provide the image to be denoised" |
Tool invocation
meitu image-denoise-enhance \
--skill_name skill_image-denoise-enhance \
--image_url <image_url> \
--json \
--download-dir {output_dir}
Error degradation
| Scenario | Handling method |
|---|---|
image_url missing |
Prompt "Please provide the image to be denoised" |
image_url inaccessible |
Directly return invalid image link error, no retry |
| Image has no obvious noise | Call normally, effect may be不明显, inform the user |
image_denoise_enhance call failed |
Retry once, still failing return error |
| Content compliance interception | Directly return compliance prompt, no retry |
| Video input | Reject, only images supported |
Deliver
- Directly use the output_dir resolved by Preflight
- From
downloaded_files[0].saved_pathread the downloaded file path mv {downloaded_files[0].saved_path} {output_dir}/{YYYY-MM-DD}_{descriptive}_image-denoise-enhance.jpg
Output
- Format: JPEG/PNG (keep original format)
- Naming:
{YYYY-MM-DD}_{descriptive}_image-denoise-enhance.jpg - Location: project →
./output/, one-time →$VISUAL/output/image-denoise-enhance/
Baseline Task ID
See references/task-id-baseline.md for the corresponding line.