Install
openclaw skills install mediaio-ai-character-generatorGenerate AI images of girls, characters, and fictional personas using Media.io OpenAPI. Creates detailed, stylized character portraits in various styles. AI character generator, AI girl generator, character design AI.
openclaw skills install mediaio-ai-character-generatorThis skill calls Media.io OpenAPI to run character generation using model code character-generator-media-2.0.
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/character-generator-media-2.0{
"data": {
"images": "https://example.com/input.jpg",
"prompt": "anime style fantasy heroine",
"ratio": "9:16"
}
}
data.images (string URL)data.prompt (string)data.ratio (string): 9:16, 16:9, 1:1, 4:3, 3:4, 3:2, 2:3, 21:9POSThttps://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.character-generator-media-2.0 with data.images, data.prompt, and optional data.ratio.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/character-generator-media-2.0 \
--header 'Content-Type: application/json' \
--header "X-API-KEY: $MEDIAIO_API_KEY" \
--data '{
"data": {
"images": "https://example.com/input.jpg",
"prompt": "anime style fantasy heroine",
"ratio": "9:16"
}
}'
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.