Overview
Intelligent brightness boost and dark-area detail recovery for low-light/night scene/underexposed images. Covers night scene shooting brightening, low-light environment photo repair, underexposure rescue, and backlight/high-contrast scene fill light; brightens dark areas while keeping highlights from overexposing, with automatic suppression of noise in dark areas. 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-lowlight-enhance/。
API Mapping
- Low-light/night scene image enhancement:
image_lowlight_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-lowlight-enhance/;mkdir -p
Execute
Trigger signals / routing rules
| Scenario | Decision keywords | Route |
|---|---|---|
| Too dark / night scene / underexposed | Too dark, night scene, brighten, low light, backlight, underexposed | image_lowlight_enhance |
Decision order:
image_urlmissing → ask follow-up- Only route: call
image_lowlight_enhance
Single API tool: call when parameters are complete; after a failure, retry once and then return an error; do not fall back across tools. If the image itself is properly exposed → call normally and tell the user "the original image is properly exposed; after enhancement it may be too bright." Extremely underexposed (pure black) → call normally; the effect may be limited.
Parameter definitions
| Parameter | Type | Required | Range | Default value | Description |
|---|---|---|---|---|---|
image_url |
STRING | Yes | -- | -- | Image address. If missing → prompt "Please provide the image to be enhanced" |
Tool invocation
meitu image-lowlight-enhance \
--skill_name skill_image-lowlight-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 enhanced" |
image_url inaccessible |
Directly return an invalid image link error; do not retry |
| The image itself is properly exposed | Call normally and inform "the original image is properly exposed; after enhancement it may be too bright" |
| Extremely underexposed (pure black) | Call normally; the effect may be limited; inform the user |
image_lowlight_enhance call failed |
Retry once; if it still fails, return an error |
| Content compliance interception | Return a compliance prompt; do not retry |
| Video input | Reject; only images are 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-lowlight-enhance.jpg
Output
- Format: JPEG/PNG (keep the original format)
- Naming:
{YYYY-MM-DD}_{descriptive}_image-lowlight-enhance.jpg - Location: project →
./output/, one-time →$VISUAL/output/image-lowlight-enhance/
Baseline Task ID
See references/task-id-baseline.md for the corresponding row.