A photo and some audio, in. A talking video, out.
One REST endpoint. Send a portrait and either the words you want spoken or your own recording — get back an MP4 of that person saying it. No per-avatar setup, no subscription.
Start here
Three steps, in order.
Get an API key
Sign in and create a key. Keys look like inkaa_sk_… and can be revoked any time.
Add credits
Usage is prepaid. Top up in the studio; one balance covers API calls and dubbing.
Top up →Make your first call
Submit a job, poll it, download the MP4. Every field and error code is documented.
Read the docs →Pricing
Priced on the length of the audio you send, so you can work out the cost before you submit.
- Charged when you submit — refunded automatically if the job fails or you cancel it.
- No subscription, no minimum commitment, no per-avatar setup fee.
- Two jobs run at once per key; a third returns
429with aRetry-After. - Up to 180 s of audio at 480p, 120 s at 720p. 720p takes about 2.6× as long to render.
Your first call
Submit, poll, download.
# 1. submit — send text and we synthesize the speech for you curl -X POST https://inkaai.com/v1/avatar \ -H "Authorization: Bearer inkaa_sk_..." \ -H "Content-Type: application/json" \ -d '{ "image_url": "https://your.cdn/portrait.jpg", "text": "Hello — thanks for stopping by.", "resolution": "480p" }' # → {"job_id":"a1b2c3d4e5f6","status":"queued","credits_deducted":6.08} # 2. poll until terminal curl https://inkaai.com/v1/avatar/a1b2c3d4e5f6 \ -H "Authorization: Bearer inkaa_sk_..." # → {"status":"done","terminal":true,"pct":100} # 3. download the mp4 curl -L https://inkaai.com/v1/avatar/a1b2c3d4e5f6/result \ -H "Authorization: Bearer inkaa_sk_..." -o out.mp4
Can't host the photo publicly?
Store it once and reference it by id. Storing is free.
# upload once curl -X POST https://inkaai.com/v1/library \ -H "Authorization: Bearer inkaa_sk_..." \ -F "image=@portrait.jpg" -F "name=Dr Rao" # → {"library_id":"6b16b4776642","status":"ready","credits_deducted":0} # then use library_id anywhere you would use image_url curl -X POST https://inkaai.com/v1/avatar \ -H "Authorization: Bearer inkaa_sk_..." \ -H "Content-Type: application/json" \ -d '{"library_id":"6b16b4776642","text":"Your results are ready."}'
Next
This page covers the common path. The full reference has every field, every error code, webhooks and the two-speaker mode.
Lip Sync
Drive the mouth of an existing video from a new audio track — for dubbing footage you already have, rather than generating from a still photo.
Not available yet
This isn't published as an API yet, and we'd rather say so than list an endpoint that isn't ready. If you need it, tell us what you're dubbing and how much — that's what decides where it lands.
Register interest →In the meantime
If your source is a photo rather than a video, the Avatar API does this today.