AI Age Filter

v1.0.1

Apply AI-powered age transformation filters to images using Media.io OpenAPI. Accurately renders younger or older versions of faces. AI age filter, age progr...

0· 166·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for wondershare-boop/mediaio-ai-age-filter.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "AI Age Filter" (wondershare-boop/mediaio-ai-age-filter) from ClawHub.
Skill page: https://clawhub.ai/wondershare-boop/mediaio-ai-age-filter
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required env vars: MEDIAIO_API_KEY
Required binaries: curl
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install mediaio-ai-age-filter

ClawHub CLI

Package manager switcher

npx clawhub@latest install mediaio-ai-age-filter
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description, required binary (curl), and required env var (MEDIAIO_API_KEY) all directly match calling Media.io's OpenAPI for an image age filter. No unrelated credentials or binaries are requested.
Instruction Scope
SKILL.md only describes calling Media.io endpoints (credits, create task, poll result), validates an input image URL, and warns about not logging API keys. It does not instruct reading unrelated files, other env vars, or sending data to endpoints outside Media.io.
Install Mechanism
No install spec or code files are present; this is instruction-only and relies on curl being available. That minimizes on-disk installation risk.
Credentials
Only MEDIAIO_API_KEY is required (declared as primary). That credential is appropriate and proportionate for the described API calls; no extraneous secrets are requested.
Persistence & Privilege
always is false and the skill does not request modification of other skills or system settings. It is user-invocable and may be invoked autonomously (platform default), which is appropriate for this type of integration.
Assessment
This skill appears coherent, but consider privacy and billing before using it: generated and input face images are uploaded to an external service (Media.io), so only use images you own or have permission to process. Use a dedicated, limited-scope MEDIAIO_API_KEY (rotate it if exposed), and monitor usage/credits to avoid unexpected charges. Ensure the input image is hosted at a public URL reachable by Media.io (local files are not supported). Review Media.io's privacy and terms for handling biometric/sensitive images. Although the skill instructs avoiding logging API keys, be cautious about logs and responses that might accidentally include the key or generated images.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

Binscurl
EnvMEDIAIO_API_KEY
Primary envMEDIAIO_API_KEY
latestvk971np5qcpxw97n095qqpxx7qn836h4n
166downloads
0stars
2versions
Updated 1mo ago
v1.0.1
MIT-0

Media.io AI Age Filter Skill

Overview

This skill calls Media.io OpenAPI to run age transformation using model code effects-image-age-filter. The API is asynchronous:

  1. Submit generation request and get task_id.
  2. Poll task result endpoint until the task is finished.

When To Use

  • The user wants to make a face look older or younger.
  • The user can provide an image URL reachable by Media.io servers.
  • The user wants task-based generation with polling.

When Not To Use

  • The user asks for local file upload only (this API expects image URL input).
  • The user asks for non-Media.io providers.
  • The user asks for real-time synchronous image output in one call.

Requirements

Environment Variables

VariableRequiredDescription
MEDIAIO_API_KEYYesMedia.io OpenAPI key, used in header X-API-KEY.

Base Headers

  • Content-Type: application/json
  • X-API-KEY: $MEDIAIO_API_KEY

Supported Endpoints

1) Query Credits

  • Method: POST
  • Endpoint: https://openapi.media.io/user/credits
  • Body: {}
  • Purpose: check available credits before generation.

2) Create Age Filter Task

  • Method: POST
  • Endpoint: https://openapi.media.io/generation/effects/effects-image-age-filter
  • Body:
{
	"data": {
		"images": "https://example.com/input.jpg",
		"mode": "Older"
	}
}
  • Required fields:
    • data.images (string URL)
  • Optional fields:
    • data.mode (string): Older or Younger

3) Query Task Result

  • Method: POST
  • Endpoint: https://openapi.media.io/generation/result/{task_id}
  • Body: {}
  • Path parameter:
    • task_id (string, required)

Request and Response Contract

Common Success Envelope

{
	"code": 0,
	"msg": "",
	"data": {},
	"trace_id": "..."
}

Create Task Response

  • On success, data.task_id is returned.

Task Result Response

  • data.status can be one of the following values:
    • waiting: queued
    • processing: running
    • completed: completed successfully
    • failed: failed
    • timeout: timed out
  • data.reason: provides additional context (e.g., success or error message)
  • When status is completed:
    • data.result is an array of output objects with generated URLs
    • Each result object contains val (internal path), preview (public HTTPS URL), and status (completion status)

Standard Invocation Flow

  1. Call user/credits to verify balance.
  2. Call effects-image-age-filter with data.images and optional data.mode.
  3. Extract task_id.
  4. Poll generation/result/{task_id} every 3 to 5 seconds.
  5. Stop when status is completed or failed.
  6. Return output URLs from data.result when completed.

cURL Examples

Query Credits

curl --request POST \
	--url https://openapi.media.io/user/credits \
	--header 'Content-Type: application/json' \
	--header "X-API-KEY: $MEDIAIO_API_KEY" \
	--data '{}'

Create Age Filter Task

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"
	}
}'

Query Task Result

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 '{}'

Successful Response Example

{
	"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 identifier
  • data.status: completed indicates successful completion
  • data.reason: success indicates no error occurred
  • data.result: array of output objects, each containing:
    • val: internal file path of the generated asset
    • preview: publicly accessible HTTPS URL for the generated asset
    • status: completed for each result item

Error Handling Guidance

  • Treat code != 0 as failure.
  • Typical authentication errors:
  • Typical request validation error:
    • 490000: params error
  • Typical billing/credits error:
    • 490505: insufficient credits. Recharge before invoking generation APIs.
  • Always include trace_id in logs for troubleshooting.

Agent Behavior Requirements

  • Validate that input contains a non-empty image URL before calling the create endpoint.
  • Do not claim immediate output after task creation; always poll by task_id.
  • If credits are insufficient, return a clear message and stop instead of retry loops.
  • Avoid exposing raw API keys in logs or responses.

Safety and Compliance Notes

  • Only process user-provided or user-authorized images.
  • Do not imply identity verification or biometric certainty from generated images.
  • Generated output is synthetic media and should be presented as edited content.

References

Comments

Loading comments...