Install
openclaw skills install mediaio-image-to-cartoon-generatorConvert photos and images into cartoon-style illustrations using AI via Media.io OpenAPI. Transforms real photos into animated cartoon characters. image to cartoon, cartoon generator, photo to cartoon, cartoonify.
openclaw skills install mediaio-image-to-cartoon-generatorThis skill calls Media.io OpenAPI to run cartoon conversion using model code effects-cartoon.
The API is asynchronous:
task_id.| Variable | Required | Description |
|---|---|---|
MEDIAIO_API_KEY | Yes | Media.io OpenAPI key, used in header X-API-KEY. |
Content-Type: application/jsonX-API-KEY: $MEDIAIO_API_KEYPOSThttps://openapi.media.io/user/credits{}POSThttps://openapi.media.io/generation/effects/effects-cartoon{
"data": {
"images": "https://example.com/input.jpg",
"ratio": "9:16",
"batch": "1"
}
}
data.images (string URL)data.ratio (string): 9:16, 16:9, 1:1, 4:3, 3:4, 3:2, 2:3data.batch (string): 1, 2, 3, 4POSThttps://openapi.media.io/generation/result/{task_id}{}task_id (string, required){
"code": 0,
"msg": "",
"data": {},
"trace_id": "..."
}
data.task_id is returned.data.status can be one of the following values:
waiting: queuedprocessing: runningcompleted: completed successfullyfailed: failedtimeout: timed outdata.reason: provides additional context (e.g., success or error message)completed:
data.result is an array of output objects with generated URLsval (internal path), preview (public HTTPS URL), and status (completion status)user/credits to verify balance.effects-cartoon with data.images and optional data.ratio, data.batch.task_id.generation/result/{task_id} every 3 to 5 seconds.completed or failed.data.result when completed.curl --request POST \
--url https://openapi.media.io/user/credits \
--header 'Content-Type: application/json' \
--header "X-API-KEY: $MEDIAIO_API_KEY" \
--data '{}'
curl --request POST \
--url https://openapi.media.io/generation/effects/effects-cartoon \
--header 'Content-Type: application/json' \
--header "X-API-KEY: $MEDIAIO_API_KEY" \
--data '{
"data": {
"images": "https://example.com/input.jpg",
"ratio": "9:16",
"batch": "1"
}
}'
curl --request POST \
--url https://openapi.media.io/generation/result/<task_id> \
--header 'Content-Type: application/json' \
--header "X-API-KEY: $MEDIAIO_API_KEY" \
--data '{}'
{
"code": 0,
"msg": "",
"data": {
"task_id": "effect-86f0f82a-36dc-4a7c-928a-721a18ef482f",
"status": "completed",
"reason": "success",
"result": [
{
"val": "aicloudtmp/550160908/3/202603/1/combo_tm_alg-20260317165022-802800-60eb3-dwt.png",
"preview": "https://url_to_generated_image.png",
"status": "completed"
}
]
},
"trace_id": "a18315ba568b5c34407808d12cbc8457"
}
Response fields when status is completed:
data.task_id: unique task identifierdata.status: completed indicates successful completiondata.reason: success indicates no error occurreddata.result: array of output objects, each containing:
val: internal file path of the generated assetpreview: publicly accessible HTTPS URL for the generated assetstatus: completed for each result itemcode != 0 as failure.374004: not authenticated. Apply for an APP KEY at https://developer.media.io/.490000: params error490505: insufficient credits. Recharge before invoking generation APIs.trace_id in logs for troubleshooting.task_id.