No image yet. Submit the form to generate image.
Explore different use cases and parameter configurations
Transparent pricing with no hidden fees. Pay as you go.
| Rule & Modality | Channel | Credits | Price (USD) | Official / Reference Price | Daily Savings |
|---|---|---|---|---|---|
image-face-swap imageapipass | Regular | 5per run | $0.023 | - | - |
Complete guide to using image-face-swap
Integrate production-ready AI face swapping into your app with a single API call.

The Image Face Swap API on ApiPass lets you programmatically replace faces in photos with stunning, lifelike accuracy. Powered by advanced face recognition, alignment, and blending algorithms, the API accepts a base image and a reference face image, then returns a clean, watermark-free result that preserves the original photo's lighting, pose, and expression. Whether you're building social media tools, creative content platforms, photography apps, or entertainment products, the API delivers seamless face swaps at scale — with no cold starts, consistent throughput, and straightforward REST integration.
Every request requires face_image and image. face_image provides the identity source, while image is the target photo whose detected face should be replaced.
target_index chooses which detected face in the target image to replace. It defaults to 0, accepts integer strings, and must be non-negative.
From fixing closed eyes in group portraits and crafting professional headshots to generating memes, gender swaps, celebrity transformations, and painting overlays — the API is flexible enough to power a wide range of creative and commercial applications.
The model automatically adapts skin tone, lighting direction, and shadow consistency between the source and target faces, producing results that look natural and fully integrated rather than composited — no manual retouching required.
The original subject's head tilt, gaze direction, and facial expression are retained throughout the swap, so the final output remains believable and true to the base photo's context.
When a photo contains more than one person, use the target_index parameter to pinpoint exactly which face to swap — first face, second face, third, and so on. No guesswork, no surprises, just consistent and predictable results every time.
Every response returns a watermark-free JPEG, PNG, or WEBP image that is ready for immediate use in consumer apps, marketing materials, or visual design workflows, with optional Base64 encoding and synchronous mode available via API parameters.
The integration flow matches other APIPASS-backed asynchronous image models on ApiPass.
Choose apipass/image-face-swap as the model and prepare input with face_image, image, optional target_index, optional output_format, and optional enable_base64_output.
Send the payload to the ApiPass /api/v1/jobs/createTask endpoint. The adapter rewrites the model name to apipass/image-face-swap and submits the normalized payload to APIPASS.
Track task execution through /api/v1/jobs/recordInfo or configure callBackUrl to receive asynchronous completion notifications.
After the task succeeds, read the face-swapped image URLs from resultJson.resultUrls in the task response object.
These recommendations follow the adapter guardrails and the current APIPASS parameter contract.
Choose a face_image with a visible, unobstructed face and enough resolution for identity details. Avoid heavy blur, extreme angles, and strong occlusion.
When the target image contains more than one face, set target_index explicitly so the requested replacement is stable across retries.
Keep enable_sync_mode set to false. ApiPass utilizes an asynchronous webhook/callback system and manages the task ID internally to handle status polling and results.
Create approved portrait variants for avatars, profile images, campaign mockups, or internal visual tests when you have consent from the people represented.
Preview character, costume, or scene concepts by combining a selected identity source with a target composition.
Allow customers to see themselves in products by swapping their faces onto professional model images, significantly boosting purchase confidence and reducing return rates.
The document uses apipass/image-face-swap because that is the current SUPPORT_MODEL value used by the codebase and example script.
The readme and API sections explain that ApiPass forwards apipass/image-face-swap to ApiPass's apipass/image-face-swap endpoint, matching get_provider_model_name.
The JSON documents the same validation implemented in the adapter for face_image, image, target_index, output_format, enable_base64_output, and enable_sync_mode.
All APIs require authentication via Bearer Token.
Authorization: Bearer
Create a new Image Face Swap task through the ApiPass unified jobs API
ApiPass keeps the public request envelope stable. Face swap parameters are passed inside the input object and normalized by the WaveSpeed adapter.
1{
2 "model": "apipass/image-face-swap",
3 "callBackUrl": "string (optional)",
4 "input": {
5 "face_image": "https://example.com/face.jpeg",
6 "image": "https://example.com/target.jpeg",
7 "target_index": 0,
8 "output_format": "jpeg",
9 "enable_base64_output": false,
10 "enable_sync_mode": false
11 },
12 "channel": "auto"
13}modelRequiredstringThe public ApiPass model name for Image Face Swap.
"apipass/image-face-swap"
callBackUrlOptionalstringOptional user callback URL for ApiPass task completion notifications.
"https://your-domain.com/api/callback"
channelOptionalstringYou may specify the corresponding provider within APIPASS via the channel parameter; these providers handle the actual image and video generation tasks. APIPASS currently offers three provider options:
The default value for the channel parameter is auto. When enabled, APIPASS automatically allocates tasks across available providers based on real-time pricing and stability metrics to balance minimal cost and reliable performance. Retain the default auto value unless you have custom routing requirements.
Available options:
auto
The input object contains the face swap parameters accepted by the WaveSpeed adapter.
input.face_imageRequiredstring | array<string>Source face image URL. Direct API requests can send a string; the Playground uploader sends a single-item array and the adapter uses the first non-empty URL.
"https://static.wavespeed.ai/examples/face.jpeg"
input.imageRequiredstring | array<string>Target image URL. Direct API requests can send a string; the Playground uploader sends a single-item array and the adapter uses the first non-empty URL.
"https://static.wavespeed.ai/examples/source.jpeg"
input.target_indexOptionalnumberZero-based index of the target face to replace. Defaults to 0. The adapter accepts integer strings such as "2" and rejects negative values.
0
input.output_formatOptionalstringOptional output format. The adapter requires a non-empty string when this field is present and normalizes jpg to jpeg.
Available options:
"jpeg"
input.enable_base64_outputOptionalbooleanWhether to request base64 output from WaveSpeed. Defaults to false. ApiPass converts successful output into resultJson.resultUrls.
false
input.enable_sync_modeOptionalbooleanAccepted for provider compatibility, but the WaveSpeed adapter forces this to false because ApiPass submits tasks in webhook mode.
false
1curl -X POST "https://api.apipass.dev/api/v1/jobs/createTask" \
2 -H "Content-Type: application/json" \
3 -H "Authorization: Bearer YOUR_API_KEY" \
4 -d '{
5 "model": "apipass/image-face-swap",
6 "callBackUrl": "https://your-domain.com/api/callback",
7 "input": {
8 "face_image": "https://static.wavespeed.ai/examples/0e20bb80259f4840ba394ec2e7f213be/1752459933783339486_bT840WSP.jpeg",
9 "image": "https://static.wavespeed.ai/examples/0e20bb80259f4840ba394ec2e7f213be/1752459923195240956_OHfc951Y.jpeg",
10 "target_index": 0,
11 "output_format": "jpeg",
12 "enable_base64_output": false,
13 "enable_sync_mode": false
14 }
15 }'1{
2 "code": 200,
3 "message": "success",
4 "data": {
5 "taskId": "task_image_face_swap_1767168190655"
6 }
7}codeStatus code. 200 indicates the ApiPass task was created successfully.
messageResponse message returned by ApiPass.
data.taskIdTask identifier used for later status checks. Internally, the adapter stores the WaveSpeed request ID as the provider task ID.

flux
flux
Generate photorealistic images with robust text
Starting from
0 credits
Nano Banana 2 Lite, aka Gemini 3.1 Flash-Lite Image, is a newly released image model from Google DeepMind built for fast 1K image generation, efficient creative iteration, prompt-based image editing, and responsive visual output in product-facing creative scenarios.
Starting from
0 credits
OpenAI
OpenAI
Generate intentionally designed visuals with less prompting using the latest OpenAI GPT Image 2 model.
Starting from
0 credits
Fast image generation model built on Gemini 3.1 Flash Image. Supports text-to-image, image editing, multi-image fusion with up to 14 reference images, Google Search grounding, and outputs up to 4K resolution.
Starting from
0 credits
apipass
apipass
Seamlessly remove watermarks, logos, and unwanted text from your images at scale with our powerful AI-driven API.
Starting from
0 credits
seedream
seedream
Starting from
0 credits
grok
grok
Grok Imagine is xAI’s AI video generation model for creating high-quality videos with realistic motion, native audio, and synchronized speech. Grok Imagine 1.5 introduces faster generation speeds, improved motion physics, and stronger visual consistency for modern AI video applications.
Starting from
0 credits
seedream
seedream
Starting from
0 credits
OpenAI
OpenAI
Bring your ideas to life with sharper, faster, more precise image generation using the GPT Image 2.5 API.
Starting from
0 credits
Luma
Luma
Starting from
0 credits
seedream
seedream
Starting from
0 credits