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.
Faceswap
POST /identity/faceswap/image/v1, swap the source face onto the target image.
curl 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
}'
| Field | Type | Default | Notes |
|---|---|---|---|
target | string | , | Required. Public URL of the target image (body/scene). |
source | string | , | Required. Public URL of the source face to swap in. |
upscale | number | 1.5 | Output upscale factor (1.0 to 4.0). |
restore_weight | number | 0.5 | Face restoration strength (0.0 to 1.0). Higher = sharper. |
palette | string[] | , | Brand colours as hex codes, blended into the output. |
output_format | string | webp | webp, jpeg, or png. |
profile_id | string | , | Apply an identity profile. |
callback_url | string | , | Webhook URL on completion. |
server_id | string | , | Enterprise: pin to a dedicated pod. |
Identity Lock
POST /identity/lock/image/v1, generate a new image that preserves a person's
identity from input_image, guided by prompt.
{ "input_image": "https://.../face.webp", "prompt": "as a firefighter, photoreal" }
| Field | Type | Default | Notes |
|---|---|---|---|
prompt | string | , | Required. Describe the desired scene or appearance. |
input_image | string | , | Public URL of the source image whose identity is locked. |
width / height | integer | 1024 | Output dimensions (max 2048). |
negative_prompt | string | , | Negative prompt; activates classifier-free guidance when set. |
num_inference_steps | integer | model | Diffusion steps (1 to 100). Higher = better, slower. |
guidance_scale | number | model | Classifier-free guidance scale (1.0 to 20.0). |
seed | integer | -1 | -1 randomizes; set a value for reproducibility. |
palette | string[] | , | Brand colours as hex codes. |
output_format | string | webp | webp, jpeg, or png. |
profile_id | string | , | Apply an identity profile. |
callback_url | string | , | Webhook URL on completion. |
server_id | string | , | Enterprise: pin to a dedicated pod. |
Identity Replace
POST /identity/replace/image/v1, replace the identity in an existing image while
keeping pose and composition.
{ "input_image": "https://.../photo.webp", "prompt": "caucasian woman with green eyes" }
| Field | Type | Default | Notes |
|---|---|---|---|
input_image | string | , | Required. Public URL of the image to edit. |
prompt | string | , | Required. Describe the new person. |
use_segmentation | boolean | true | When true, only skin and hair are edited; clothing is kept. |
tone_correction | number | , | Colour correction strength after editing (0.0 to 1.0). |
seed | integer | -1 | -1 randomizes; set a value for reproducibility. |
palette | string[] | , | Brand colours as hex codes. |
output_format | string | webp | webp, jpeg, or png. |
profile_id | string | , | Apply an identity profile. |
callback_url | string | , | Webhook URL on completion. |
Instamodel
POST /creator/instamodel/image/v1, generate social-ready model shots from a single
input_face and a prompt.
{ "input_face": "https://.../face.webp", "prompt": "streetwear lookbook, urban backdrop" }
| Field | Type | Default | Notes |
|---|---|---|---|
prompt | string | , | Required. Describe the scene, outfit, or style. |
input_face | string | , | Required. Public URL of the input face image. |
width / height | integer | 768 / 1024 | Output dimensions (max 2048). |
negative_prompt | string | , | Negative prompt applied to the generation. |
seed | integer | , | Seed for reproducibility (omit for random). |
palette | string[] | , | Brand colours as hex codes. |
output_format | string | webp | webp, jpeg, or png. |
profile_id | string | , | Apply an identity profile. |
callback_url | string | , | Webhook URL on completion. |
server_id | string | , | Enterprise: pin to a dedicated pod. |
Virtual Try-On
POST /creator/tryon/image/v1, dress a person_image in a clothing_image.
{
"person_image": "https://.../person.webp",
"clothing_image": "https://.../jacket.webp",
"gender": "woman",
"clothing_type": "denim jacket"
}


| Field | Type | Default | Notes |
|---|---|---|---|
person_image | string | , | Required. Public URL of the person/model image. |
clothing_image | string | , | Required. Public URL of the clothing item. |
gender | string | , | Required. man or woman. |
clothing_type | string | , | Required. Type of clothing; be specific for best results. |
width / height | integer | person image | Output dimensions (256 to 2048). |
use_segmentation | boolean | false | When false, edits the full image and colour-corrects. |
tone_correction | number | , | Colour correction strength (0.0 to 1.0). |
seed | integer | -1 | -1 randomizes; set a value for reproducibility. |
output_format | string | webp | webp, jpeg, or png. |
profile_id | string | , | Apply an identity profile. |
callback_url | string | , | Webhook URL on completion. |
Voice Clone
POST /identity/voice/clone/v1, clone a voice from reference_voice_url and speak
text. Outputs are watermarked by default.
{ "text": "Hello from my cloned voice.", "reference_voice_url": "https://.../sample.wav" }
| Field | Type | Default | Notes |
|---|---|---|---|
text | string | , | Required. Text to synthesise with the cloned voice. |
reference_voice_url | string | , | Required. Public URL of the reference voice audio (WAV). |
language_id | string | en | Language code, e.g. en, zh, ja, ko, he. |
max_new_tokens | integer | 256 | Maximum tokens to generate. |
exaggeration | number | 0.5 | Expressiveness (0.0 neutral to 1.0 maximum). |
apply_watermark | boolean | true | Embed an inaudible audio watermark (recommended). |
callback_url | string | , | Webhook URL on completion. |
server_id | string | , | Enterprise: pin to a dedicated pod. |