Ai Gender Swap
Playground
Try it on WavespeedAI!AI Gender Swap transforms a portrait to show how you would look as the opposite gender. Upload a face photo and get an instant result. Ready-to-use REST inference API, no coldstarts, affordable pricing.
Features
AI Gender Swap
Ever wondered what you’d look like as the opposite gender? AI Gender Swap answers that question in seconds. Upload a portrait photo and watch AI instantly reimagine your face — same bone structure, same vibe, completely different look. The result is eerily realistic and endlessly shareable.
Why You’ll Love It
-
Instant transformation Upload a photo and get your gender-swapped portrait in moments — no editing skills required.
-
Strikingly realistic results Advanced facial analysis preserves your unique features, expressions, and lighting while delivering a natural, believable transformation.
-
Dead simple to use One photo in, one transformed portrait out. No settings to fiddle with, no learning curve.
-
Great for sharing Show friends and family what could have been. Guaranteed reactions every time.
How to Use
- Upload your portrait — a clear, front-facing photo works best.
- Hit Run — AI handles everything in seconds.
- Download and share your gender-swapped result.
Pricing
Just $0.05 per image.
Best Use Cases
- Personal fun — See your own gender-swapped face and share the surprise.
- Social media content — Generate engaging before/after posts that get people talking.
- Creative projects — Explore character design, fictional personas, or visual storytelling.
- Gifts and novelty — A fun, personalized surprise for friends and family.
Pro Tips
- Use a clear, well-lit front-facing photo for the most realistic transformation.
- Avoid heavy filters, sunglasses, or extreme angles — the cleaner the input, the better the output.
- Try it on old photos for a fun throwback twist.
Notes
- Image is the only required field.
- Ensure image URLs are publicly accessible if using a link rather than a direct upload.
- Please ensure your photo complies with WaveSpeed AI’s usage policies.
Authentication
For authentication details, please refer to the Authentication Guide.
API Endpoints
Submit Task & Query Result
# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/wavespeed-ai/ai-gender-swap" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{}'
# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"
Parameters
Task Submission Parameters
Request Parameters
| Parameter | Type | Required | Default | Range | Description |
|---|---|---|---|---|---|
| image | string | Yes | - | The URL of the input image. |
Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data.id | string | Unique identifier for the prediction, Task Id |
| data.model | string | Model ID used for the prediction |
| data.outputs | array | Array of URLs to the generated content (empty when status is not completed) |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.has_nsfw_contents | array | Array of boolean values indicating NSFW detection for each output |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |
Result Request Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| id | string | Yes | - | Task ID |
Result Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data | object | The prediction data object containing all details |
| data.id | string | Unique identifier for the prediction, the ID of the prediction to get |
| data.model | string | Model ID used for the prediction |
| data.outputs | string | Array of URLs to the generated content (empty when status is not completed). |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |