Skip to main content

Identity

Core identity primitives: face swap, identity lock, identity replace, instamodel, virtual try-on, and voice clone. Pair any of these with an identity profile for consistent results.

Every endpoint returns a job_id and has a matching GET …/status/{job_id} route, see Jobs. output_format (webp, jpeg, or png), callback_url (a webhook), and server_id (Enterprise pod pin) are accepted by every image endpoint below.

POST /identity/faceswap/image/v1, swap the source face onto the target image.

curl -X POST https://api.imagepipeline.io/identity/faceswap/image/v1 \
-H "X-API-Key: $IMAGEPIPELINE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"target": "https://.../scene.webp",
"source": "https://.../face.webp",
"upscale": 1.5,
"restore_weight": 0.5
}'
FieldTypeDefaultNotes
targetstring,Required. Public URL of the target image (body/scene).
sourcestring,Required. Public URL of the source face to swap in.
upscalenumber1.5Output upscale factor (1.0 to 4.0).
restore_weightnumber0.5Face restoration strength (0.0 to 1.0). Higher = sharper.
palettestring[],Brand colours as hex codes, blended into the output.
output_formatstringwebpwebp, jpeg, or png.
profile_idstring,Apply an identity profile.
callback_urlstring,Webhook URL on completion.
server_idstring,Enterprise: pin to a dedicated pod.

Response — poll GET …/status/{job_id} until status is completed:

{
"job_id": "job_8f2a3c1b",
"status": "completed",
"result_url": "https://cdn.imagepipeline.io/o/8f2a3c1b.webp",
"processing_time_seconds": 22.1,
"balance_remaining_usd": 187.52
}