Install
openclaw skills install mediaio-ai-age-filterApply AI-powered age transformation filters to images using Media.io OpenAPI. Accurately renders younger or older versions of faces. AI age filter, age progression AI, make me younger, age transformation.
openclaw skills install mediaio-ai-age-filterThis skill calls Media.io OpenAPI to run age transformation using model code effects-image-age-filter.
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-image-age-filter{
"data": {
"images": "https://example.com/input.jpg",
"mode": "Older"
}
}
data.images (string URL)data.mode (string): Older or YoungerPOSThttps://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-image-age-filter with data.images and optional data.mode.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-image-age-filter \
--header 'Content-Type: application/json' \
--header "X-API-KEY: $MEDIAIO_API_KEY" \
--data '{
"data": {
"images": "https://example.com/input.jpg",
"mode": "Older"
}
}'
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.