v1 · REST and WebSocket
Face swap, identity swap, avatars, lip sync, motion transfer and live face and voice streaming. Each has its own endpoint, and every job answers with the same three fields — so you write the part that waits for a result once, not eight times.
prepaid · no subscription · a job that fails costs nothing
/v1/character-swapYou send{
"video_key": "api/videos/…/ref.mp4",
"character_key": "api/images/…/char.png",
"resolution": "2k"
}{
"id": "9f8c…a1",
"status": "queued",
"status_url": "/api/v1/jobs/9f8c…a1"
}Switch capability and watch the right-hand side hold still. The last two are sessions, and they are the exception.
How you integrate
Six capabilities are jobs: you submit one, get told when it is done, and collect a signed URL. Two are sessions: you open one, stream through it, and it settles when you disconnect. Which you are calling decides both how you write the integration and how the money works.
submit → we call you back → collectyou drive each beat
Discrete, and you hold nothing open. The submit returns immediately. Pass a callback_url and we POST you the finished job, signed so you can verify it came from us — or poll the status_url if you would rather not run an endpoint.
Idempotency-Key and a retried submit returns the original job, so a timeout cannot bill you twice.open → stream → settlebilled along the lit run only
Continuous, and you hold it for as long as you use it. The open call funds a block and hands back a socket; closing the socket is what ends and bills it.

What you can call
Rates are read from the API as you look at them. Nothing on this page is a figure someone typed in.
Jobs
/v1/character-swapIdentity Swap
Put your character into a reference video and keep its motion.
—
/v1/face-swapVideo Swap
Swap a face into a video.
—
/v1/face-swap-imagePhoto Swap
Swap a face into a single image.
—
/v1/motion-controlMotion Transfer
Animate a still character to follow a reference video.
—
/v1/avatarAvatar
A portrait and a script become a video of that person speaking.
—
/v1/lip-syncLip Sync
Match a video's mouth movement to audio you supply.
—
Sessions
/v1/full-live-swap/sessionLive Swap Pro
Real-time face swap over a socket you stream through.
—
/v1/voice/sessionVoice Swap
Real-time voice conversion on the same session model.
—

What it costs
You top up a balance and calls draw against it. There is no subscription, no minimum to clear, and no invoice at the end of the month. Three lines of a statement explain the whole model better than three paragraphs would.
Every figure on the right is computed from the live rate card as the page loads. Check it against GET /v1/pricing — it is the same source the billing path uses, so a quote here cannot disagree with a charge there.
Three calls, and what each one takes
/v1/face-swap-image1 generation
/v1/face-swaprender failed
/v1/full-live-swap/session47s streamed of 600s funded
A capability with a minimum charge bills that minimum where the work comes in under it. Live sessions have no minimum — the middle line is what a failure costs you, and it is the same number every time.
Live rates are served from GET /v1/pricing, which needs no key. It is the same list this page reads.

Create a key in the console, add funds, and post your first upload. The reference has a working three-step example you can paste straight into a terminal.