Overview
Apply stylization to existing images, two types of capabilities: single-image stylization (5 presets: chibi/emoji/Snoopy/molly/Animal Crossing + other general styles) and two-image reference style transfer (original image + style reference image, covering watercolor/oil painting/anime/3D illustration types).
API Mapping
- Preset stylization (5 types: chibi/emoji/snoopy/molly/Animal Crossing):
formula_group_creative_play - Single-image general stylization (primary):
image_praline_edit_v2 - Single-image general stylization (fallback):
image_praline_edit_2 - Reference image style transfer:
image_mint_styletransfer - Two-image fallback:
image_praline_edit_v2 - In-tool fallback:
image_mint_edit - Nougat high quality (explicitly specified externally):
image_nougat_edit(not recognized by routing; ratio natively has 11 enums; size internal constant 2K; quality defaults internally to Medium by the API and is not exposed externally) - model mapping:
auto(default)/praline_pro→v2 /praline_lite→edit_2 /mint_style→styletransfer (style_image_url must also be provided; specifying it for a single image is prohibited)/mint_edit→mint /nougat→nougat_edit (triggered by explicit external specification)
Optional parameters:--model <auto|praline_pro|praline_lite|mint_style|mint_edit|nougat>、--ratio <auto|1:1|...|21:9>(only effective on the model=nougat path, silently ignored for others)
Dependencies
- meitu-cli:
>=2.0.6 - Credentials:CONFIG AKSK →
meitu tools update; EXEC AKSK → actual execution (see rootCONFIG.md) - Environment variables:
MEITU_OPENAPI_TOOL_TASK_MODE=command
Path aliases:
$VISUAL={OPENCLAW_HOME}/workspace/visual/
Core Workflow
Preflight → Execute → Deliver
Preflight
meitu --version≥ 2.0.6- Already ran with CONFIG AKSK
meitu tools update - Current AKSK = EXEC,
MEITU_OPENAPI_TOOL_TASK_MODE=command - output_dir:openclaw.yaml →
./output/|else →$VISUAL/output/image-style-transfer/;mkdir -p
Execute
Trigger signals / routing rules
Core dimensions:Number of input images。
| Number of input images | Condition | Route |
|---|---|---|
| 1 image | prompt contains chibi (Q version)/ emoji / snoopy / molly / Animal Crossing | formula_group_creative_play |
| 1 image | Other styles (oil painting/watercolor/anime/3D/cartoon/pixel, etc.) | image_praline_edit_v2 |
| 2 images | Request is illustration-type style transfer | image_mint_styletransfer |
| 2 images | Request is non-illustration-type style transfer | image_praline_edit_v2 |
Routing principles:formula_group_creative_play Limited to 1 image + 5 presets;image_mint_styletransfer Limited to 2 images + illustration type; if the number of images >2, only the first 2 are taken.
Parameter definitions
| Parameter | Type | Required | Description |
|---|---|---|---|
image_url |
ARRAY[STRING] | Yes | List of image addresses. 1 image = original image; 2 images =[原图, 风格参考图], order is fixed |
prompt |
STRING | Yes | User's target style description, used for effect retrieval and fallback handling |
model |
STRING | No | auto / praline_pro / praline_lite / mint_style / mint_edit / nougat |
ratio |
STRING | No | Only effective on the model=nougat path; silently ignored for other models |
API mapping description:
formula_group_creative_play:image_url[0] + effect_id(effect_id is automatically matched internally by the tool based on prompt style keywords and is not exposed)image_mint_styletransfer:image_url[0](original image) +image_url[1](style reference image) +promptimage_praline_edit_v2: mapped according to the actual parameter requirements of the fallback tool
Tool invocation
meitu image-style-transfer --image_url <origin>[,<style_ref>] --prompt "<style desc>" --json --download-dir {output_dir} --skill_name skill_image-style-transfer
Error fallback
| Scenario | Handling method |
|---|---|
formula_group_creative_play invocation failed |
Retry once; if it still fails, go to image_praline_edit_v2 |
image_praline_edit_v2 Call failed (single image) |
Fall back to image_praline_edit_2 |
image_praline_edit_2 Call failed (single image) |
Fall back to image_mint_edit |
image_mint_edit Call failed (single image) |
Return error |
image_mint_styletransfer Call failed |
Retry once; if still failing, go to image_praline_edit_v2 |
image_praline_edit_v2 Call failed (two images) |
Fall back to image_praline_edit_2 |
image_praline_edit_2 Call failed (two images) |
Fall back to image_mint_edit |
image_mint_edit Call failed (two images) |
Return error |
| 2 images but not an illustration-style | Go to image_praline_edit_v2 |
| 1 image but not one of the 5 presets | Go to image_praline_edit_v2 |
| Number of images >2 | Take only the first 2 and handle via the two-image branch |
| Realistic portrait photography / video creative generation | Reject directly, do not call any API |
| Content compliance interception | Return the compliance prompt directly, do not retry |
Deliver
- 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-style-transfer.{ext}
Output
- Format:image
- Location: Project →
./output/, one-time →$VISUAL/output/image-style-transfer/
Baseline Task ID
See references/task-id-baseline.md for the corresponding row.