Face Swap API reference
Swap just the face, keep hair, pose and background
Call Face Swap from your own code with one PopNow API key. Below are the exact model IDs to send, every input field the model accepts, what each request costs in credits, and a request you can paste into a terminal.
At a glance
- Made by
- PopNow
- Output
- Image
- From
- 1.95 credits per image ($0.0195)
- Typical time
- about 16 s
- Model IDs
1 credit = $0.01. A task holds the highest possible charge when it is accepted and settles the real amount when it finishes, rounded up to whole credits; failed tasks are not charged. Ask POST /api/v1/jobs/quote for the exact figure before you run.
Face Swap
popnow/face-swap-v1/edit
Price
| Option | Credits (per image) | US dollars |
|---|---|---|
Default | 1.95 | $0.0195 |
Parameters
| Field | Type | Default | Allowed | What it does |
|---|---|---|---|---|
image_urlRequired | string | — | — | Target image. The face of the person in this image is the one that gets replaced. |
reference_image_urlRequired | string | — | — | Reference face image. The facial features from this image are transferred onto the target. |
face_mappingOptional | array<object> | — | up to 10 items | Multi-person swap: which face in the reference image goes onto which face in the target, one entry per face. Faces are numbered from 0 in detection order. Leave it out to swap a single face. |
styleOptional | string | realistic | realistic, beautify, lossless | Finish applied to the swapped face: realistic keeps natural skin tone and texture, beautify smooths and brightens the skin, lossless holds on to the most facial detail. |
face_enhanceOptional | boolean | false | — | Run a face-enhancement pass on the swapped face for a sharper, more detailed result. |
seedOptional | integer | — | 0 to 2147483647 | Random seed; zero requests a random seed. |
Example request
This request runs as it is; any field you leave out uses its default. Put your key in POPNOW_API_KEY first.
The example uses PopNow sample files in image_url, reference_image_url. Replace them with your own public HTTPS links, uploads or saved assets.
curl -X POST "https://api.popnow.ai/api/v1/jobs/createTask?wait=60" \
-H "Authorization: Bearer $POPNOW_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "popnow/face-swap-v1/edit",
"input": {
"image_url": "https://media.popnow.ai/influencer/examples/marco.webp",
"reference_image_url": "https://media.popnow.ai/influencer/examples/ava.webp"
}
}'The response carries a taskId straight away. Read the result with GET /api/v1/jobs/recordInfo, or add callBackUrl to be notified.
curl "https://api.popnow.ai/api/v1/jobs/recordInfo?taskId=TASK_ID_FROM_CREATE_TASK" \
-H "Authorization: Bearer $POPNOW_API_KEY"
