Avatar API · v1

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.

01

Get an API key

Sign in and create a key. Keys look like inkaa_sk_… and can be revoked any time.

Create a key →
02

Add credits

Usage is prepaid. Top up in the studio; one balance covers API calls and dubbing.

Top up →
03

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.

$2.00 / min
480p · 10 credits
$2.40 / min
720p · 12 credits
$0.20 / credit
prepaid, no expiry
  • 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 429 with a Retry-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.