PopNowAPI Docs
Main content

Video Face Swap API reference

Carry one face through every frame of a clip

Call Video 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
Video
From
3.9 credits per second of output ($0.039)
Typical time
about 37 s

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.

Character Swap

popnow/face-swap-video-v1/video-edit

Price

OptionCredits (per second of output)US dollars
Default3.9$0.039

Parameters

FieldTypeDefaultAllowedWhat it does
video_urlRequiredstring——Target video. The face of the person in this clip is the one that gets replaced.
reference_image_urlRequiredstring——Reference face image. The facial features from this image are carried onto the person in the video.
face_mappingOptionalarray<object>—up to 10 itemsMulti-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.
face_enhanceOptionalbooleanfalse—Run a face-enhancement pass on the swapped face for a sharper, more detailed result.
styleOptionalstringrealisticrealistic, beautify, losslessFinish 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.

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 reference_image_url, video_url. Replace them with your own public HTTPS links, uploads or saved assets.

POST /api/v1/jobs/createTask?wait=60
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-video-v1/video-edit",
  "input": {
    "video_url": "https://media.popnow.ai/effects/flower-bloom-1abd6efb.mp4",
    "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.

GET /api/v1/jobs/recordInfo
curl "https://api.popnow.ai/api/v1/jobs/recordInfo?taskId=TASK_ID_FROM_CREATE_TASK" \
  -H "Authorization: Bearer $POPNOW_API_KEY"

Next steps

On this page