← Back to Skills Marketplace
wondershare-boop

AI Gender Swap

by wondershare-boop · GitHub ↗ · v1.0.2 · MIT-0
cross-platform ✓ Security Clean
164
Downloads
0
Stars
0
Active Installs
3
Versions
Install in OpenClaw
/install mediaio-ai-gender-swap
Description
Transform photos and images into Studio Ghibli-style artwork using AI via Media.io OpenAPI. Applies the iconic hand-drawn, painterly aesthetic of Ghibli film...
README (SKILL.md)

\r \r

Media.io AI Gender Swap Skill\r

\r

Overview\r

This skill calls Media.io OpenAPI to run image gender swap using model code effects_image_gender_swap_female.\r The API is asynchronous:\r

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

When To Use\r

  • The user wants to transform a portrait from male to female style using Media.io.\r
  • The user can provide an image URL reachable by Media.io servers.\r
  • The user wants task-based generation with polling.\r \r

When Not To Use\r

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

Requirements\r

\r

Environment Variables\r

| Variable | Required | Description |\r |---|---|---|\r | MEDIAIO_API_KEY | Yes | Media.io OpenAPI key, used in header X-API-KEY. |\r \r

Base Headers\r

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

Supported Endpoints\r

\r

1) Query Credits\r

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

2) Create Gender Swap Task\r

  • Method: POST\r
  • Endpoint: https://openapi.media.io/generation/effects/effects_image_gender_swap_female\r
  • Body:\r
{\r
	"data": {\r
		"image": "https://example.com/input.jpg"\r
	}\r
}\r
```\r
- Required field:\r
	- `data.image` (string URL)\r
- Image constraints from API doc:\r
	- Format: PNG, JPEG, JPG\r
	- File size: 0.0 MB to 19.5 MB\r
	- Resolution: 300x300 to 4000x4000\r
	- Aspect ratio: 1:2 to 2:1\r
\r
### 3) Query Task Result\r
- Method: `POST`\r
- Endpoint: `https://openapi.media.io/generation/result/{task_id}`\r
- Body: `{}`\r
- Path parameter:\r
	- `task_id` (string, required)\r
\r
## Request and Response Contract\r
\r
### Common Success Envelope\r
```json\r
{\r
	"code": 0,\r
	"msg": "",\r
	"data": {},\r
	"trace_id": "..."\r
}\r
```\r
\r
### Create Task Response\r
- On success, `data.task_id` is returned.\r
\r
### Task Result Response\r
- `data.status` can be one of the following values:\r
	- `waiting`: queued\r
	- `processing`: running\r
	- `completed`: completed successfully\r
	- `failed`: failed\r
	- `timeout`: timed out\r
- `data.reason`: provides additional context (e.g., `success` or error message)\r
- When status is `completed`:\r
	- `data.result` is an array of output objects with generated image URLs\r
	- Each result object contains `val` (internal path), `preview` (public HTTPS URL), and `status` (completion status)\r
\r
## Standard Invocation Flow\r
1. Call `user/credits` to verify balance.\r
2. Call `effects_image_gender_swap_female` with `data.image`.\r
3. Extract `task_id`.\r
4. Poll `generation/result/{task_id}` every 3 to 5 seconds.\r
5. Stop when status is `completed` or `failed`.\r
6. Return output URLs from `data.result` when `completed`.\r
\r
## cURL Examples\r
\r
### Query Credits\r
```bash\r
curl --request POST \\r
	--url https://openapi.media.io/user/credits \\r
	--header 'Content-Type: application/json' \\r
	--header "X-API-KEY: $MEDIAIO_API_KEY" \\r
	--data '{}'\r
```\r
\r
### Create Gender Swap Task\r
```bash\r
curl --request POST \\r
	--url https://openapi.media.io/generation/effects/effects_image_gender_swap_female \\r
	--header 'Content-Type: application/json' \\r
	--header "X-API-KEY: $MEDIAIO_API_KEY" \\r
	--data '{\r
	"data": {\r
		"image": "https://example.com/input.jpg"\r
	}\r
}'\r
```\r
\r
### Query Task Result\r
```bash\r
curl --request POST \\r
	--url https://openapi.media.io/generation/result/\x3Ctask_id> \\r
	--header 'Content-Type: application/json' \\r
	--header "X-API-KEY: $MEDIAIO_API_KEY" \\r
	--data '{}'\r
```\r
\r
#### Successful Response Example\r
```json\r
{\r
	"code": 0,\r
	"msg": "",\r
	"data": {\r
		"task_id": "effect-86f0f82a-36dc-4a7c-928a-721a18ef482f",\r
		"status": "completed",\r
		"reason": "success",\r
		"result": [\r
			{\r
				"val": "aicloudtmp/550160908/3/202603/1/combo_tm_alg-20260317165022-802800-60eb3-dwt.png",\r
				"preview": "https://url_to_generated_image.png",\r
				"status": "completed"\r
			}\r
		]\r
	},\r
	"trace_id": "a18315ba568b5c34407808d12cbc8457"\r
}\r
```\r
\r
Response fields when status is `completed`:\r
- `data.task_id`: unique task identifier\r
- `data.status`: `completed` indicates successful completion\r
- `data.reason`: `success` indicates no error occurred\r
- `data.result`: array of output objects, each containing:\r
	- `val`: internal file path of the generated image\r
	- `preview`: publicly accessible HTTPS URL for the generated image with expiration and signature\r
	- `status`: `completed` for each result item\r
\r
## Error Handling Guidance\r
- Treat `code != 0` as failure.\r
- Typical authentication errors:\r
	- `374004`: not authenticated. Apply for an APP KEY at https://developer.media.io/.\r
- Typical request validation error:\r
	- `490000`: params error\r
- Typical billing/credits error:\r
	- `490505`: insufficient credits. Recharge before invoking generation APIs.\r
- Always include `trace_id` in logs for troubleshooting.\r
\r
## Agent Behavior Requirements\r
- Validate that input contains a non-empty image URL before calling the create endpoint.\r
- Do not claim immediate output after task creation; always poll by `task_id`.\r
- If credits are insufficient, return a clear message and stop instead of retry loops.\r
- Avoid exposing raw API keys in logs or responses.\r
\r
## Safety and Compliance Notes\r
- Only process user-provided or user-authorized images.\r
- Do not imply identity verification or biometric certainty from generated images.\r
- Generated output is synthetic media and should be presented as edited content.\r
\r
## References\r
- Media.io platform: https://developer.media.io/\r
- API documentation: https://platform.media.io/docs/
Usage Guidance
This skill appears coherent, but before installing: 1) Only provide an API key scoped to Media.io (avoid reusing high-privilege or long-lived keys). 2) Verify the MEDIAIO_API_KEY is from your Media.io account and check Media.io's billing/credit implications (the skill checks credits before generation). 3) The API expects an externally reachable image URL—do not supply private/local file URLs unless you host them temporarily for the service. 4) Review Media.io's privacy and retention policy for generated images (output URLs may be signed/temporary). 5) Because the registry lists an unknown source, consider verifying the owner/publisher or obtaining the SKILL.md from a trusted source (Media.io docs) if you require stronger provenance assurance.
Capability Analysis
Type: OpenClaw Skill Name: mediaio-ai-gender-swap Version: 1.0.2 The skill is a standard API wrapper for the Media.io image processing service. It uses curl to interact with legitimate endpoints (openapi.media.io) for gender swap tasks and credit checks, following a standard asynchronous polling pattern. No evidence of data exfiltration, malicious execution, or prompt injection was found in SKILL.md or _meta.json.
Capability Assessment
Purpose & Capability
The skill's name/description (Media.io gender-swap in Ghibli style) matches the declared requirements: one HTTP client binary (curl) and one service API key (MEDIAIO_API_KEY). Required endpoints and the model code referenced correspond to Media.io's generation API; there are no unrelated credentials, binaries, or configuration paths requested. Note: the skill's source is listed as unknown in the registry metadata, but the SKILL.md points to Media.io endpoints and the platform docs URL.
Instruction Scope
SKILL.md provides concrete, narrow runtime instructions: call credits endpoint, submit create-task with an image URL, poll result endpoint, and return output URLs. It requires the caller to provide an externally reachable image URL (explicitly excludes local-only uploads). The instructions do not ask the agent to read arbitrary system files, other environment variables, or to send data to off-network endpoints. The doc also includes basic safety guidance (validate URL, avoid logging raw API keys).
Install Mechanism
There is no install spec and no code files—this is instruction-only. That minimizes disk writes and arbitrary code execution risk; the only runtime dependency is curl which is a reasonable, minimal requirement for making HTTP requests.
Credentials
Only MEDIAIO_API_KEY is required and is declared as the primary credential. That aligns with the skill's purpose (calling Media.io APIs). No unrelated secrets or multiple service credentials are requested.
Persistence & Privilege
The skill is not marked always:true and has no install-time modifications or requests for system-wide config. The default ability for the agent to invoke the skill autonomously is unchanged and is normal for skills; it is not combined with broad credential or persistence demands.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install mediaio-ai-gender-swap
  3. After installation, invoke the skill by name or use /mediaio-ai-gender-swap
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.2
- Updated metadata to specify OpenClaw compatibility with required binaries and updated environment variable requirements. - Previous "mediaio" custom metadata replaced by "openclaw" with details on homepage, required binaries, and environment variable. - No changes to API usage, request flow, or functional documentation.
v1.0.1
- Environment variable for API key renamed from API_KEY to MEDIAIO_API_KEY. - Metadata updated to reflect new environment variable and set it as primary. - Example cURL commands now use $MEDIAIO_API_KEY for the API key header. - No logic or endpoint changes; documentation and environment variable adjustments only.
v1.0.0
Initial release of the Media.io AI Gender Swap skill. - Transforms portrait images from male to female using Media.io OpenAPI. - Supports asynchronous job creation and polling for results with task status. - Requires image input via public URL and Media.io API key. - Includes credit checking, robust error handling, and compliance guidelines. - Returns downloadable, signed image URLs when processing completes.
Metadata
Slug mediaio-ai-gender-swap
Version 1.0.2
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 3
Frequently Asked Questions

What is AI Gender Swap?

Transform photos and images into Studio Ghibli-style artwork using AI via Media.io OpenAPI. Applies the iconic hand-drawn, painterly aesthetic of Ghibli film... It is an AI Agent Skill for Claude Code / OpenClaw, with 164 downloads so far.

How do I install AI Gender Swap?

Run "/install mediaio-ai-gender-swap" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is AI Gender Swap free?

Yes, AI Gender Swap is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does AI Gender Swap support?

AI Gender Swap is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created AI Gender Swap?

It is built and maintained by wondershare-boop (@wondershare-boop); the current version is v1.0.2.

💬 Comments