AI Avatar

AI Avatar

Photo (or video) + audio → lip-synced talking video — Basic / Pro / MiniMax modes

AI Avatar drives one photo (or an input video) + one audio clip into a lip-synced talking video. Two endpoints are available; both are async tasks — poll for status after submitting. Files not on the public web? Get a 6-hour URL via File Upload first.

Base URL: https://api.aiclonevoicefree.com | Auth: Authorization: Bearer sk_...

Three modes — pick a card to jump straight to it

Which one to use

Avatar Basic (digital-human)Avatar Pro (generate)MiniMax (generate, engine=minimax)
InputPhoto or existing videoPortrait photo onlyPortrait photo only
Motion prompt
Output sizeAspect ratio 9:16 / 16:9 / follow image, with standard / HD qualityThree quality presets: 720 / 1280 / 1536 — higher is sharperSame as Avatar Pro
LengthFollows the audioFixed duration, or follow audio (≤ 35s billed)Follows the audio, up to 60s
Billing1 or 1.5 credits per second1.5 / 2 / 2.5 credits per secondFlat 25 credits per second
Best forCheapest; can drive an existing videoSharper output + motion controlStable lip-sync, high success rate

Avatar Basic: POST /api/v2/avatar/digital-human

FieldTypeRequiredNotes
image_urlstring⬜*Portrait photo URL (provide at least one of image_url / input_video_url)
input_video_urlstring⬜*Input video URL (drive an existing video)
audio_urlstringSpeech audio URL (the server measures its duration for billing — nothing to pass)
aspect_ratiostringVideo aspect ratio: 9:16 (portrait, default) / 16:9 (landscape) / original (follow the input image)
qualitystringQuality: standard (fast, default) / hd (HD 960P, a bit slower)

Billing (video credits)

cost = ceil(measured seconds) × multiplier — the server reads the actual audio length from audio_url at submit; multiplier = 1 for standard quality, 1.5 for HD (i.e. 1 credit/s standard, 1.5 credits/s HD). Audio over 300s is rejected (audio_too_long); if the duration can't be read, submit fails with audio_probe_failed (make sure the URL is publicly accessible). 402 at submit if insufficient; auto-refunded on failure.

Examples

  • Standard 9:16 portrait (360×704), 12s = 12 × 1 = 12 credits
  • HD 16:9 landscape (960×544), 12s = 12 × 1.5 = 18 credits
curl -X POST https://api.aiclonevoicefree.com/api/v2/avatar/digital-human \
  -H "Authorization: Bearer sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "image_url": "https://your-cdn.com/portrait.png",
    "audio_url": "https://your-cdn.com/speech.mp3",
    "aspect_ratio": "9:16",
    "quality": "hd"
  }'

Response 202

{
  "task_id": "b1d2...-uuid",
  "status": "pending",
  "capability": "avatar",
  "action": "digital-human",
  "model": "digital-human"
}

Avatar Pro: POST /api/v2/avatar/generate

Turns one portrait photo + one audio clip into a lip-synced talking video, with an optional motion prompt, up to 1536px and 35 seconds.

FieldTypeRequiredNotes
image_urlstringPortrait photo URL
audio_urlstringSpeech audio URL
durationint5/10/15/20/25/30/35, or 0 = follow full audio (length measured server-side); default 10
resolutionintQuality preset 720 / 1280 / 1536 (higher = sharper); default 1280
framerateint24 / 25 / 30; default 25
motion_promptstringMotion/expression description, ≤ 2000 chars; a default "speaking naturally" prompt is used if empty
enginestring"minimax" (case-insensitive) selects the MiniMax H3 engine; anything else uses the default LTX engine

Billing (video credits, per second)

Quality presetPer-second rate
7201.5
12802
15362.5

cost = ceil(per-second rate × billable seconds). Billable seconds = duration when duration > 0, otherwise the server-measured audio length (capped at 35s). 402 at submit if video credits are insufficient; auto-refunded on failure.

Examples

  • 1280px, 10s = 2 × 10 = 20 credits
  • 1536px, 20s = 2.5 × 20 = 50 credits
curl -X POST https://api.aiclonevoicefree.com/api/v2/avatar/generate \
  -H "Authorization: Bearer sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "image_url": "https://your-cdn.com/portrait.png",
    "audio_url": "https://your-cdn.com/speech.mp3",
    "duration": 10,
    "resolution": 1280,
    "framerate": 25,
    "motion_prompt": "speaking to the camera naturally with subtle expressions and head movement"
  }'

Response 202

{
  "task_id": "1939...",
  "status": "pending",
  "capability": "avatar",
  "action": "generate",
  "model": "avatar-pro"
}

MiniMax (engine: "minimax")

Pass engine: "minimax" on the same endpoint to use the MiniMax H3 engine — stable lip-sync with a high success rate. Differences from the default LTX engine:

  • Audio limit: up to 60 seconds, measured server-side (audio_too_long error beyond that)
  • duration: the 5/10/.../35 whitelist does not apply; default is 0 (follow full audio), any positive value is billed as-is
  • Billing: flat 25 credits/second regardless of resolutioncost = ceil(25 × billable seconds), billable seconds capped at 60
  • resolution still affects the output size but not the price; framerate is ignored; motion_prompt works as usual
  • Response body and polling are identical to the default engine
curl -X POST https://api.aiclonevoicefree.com/api/v2/avatar/generate \
  -H "Authorization: Bearer sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "image_url": "https://your-cdn.com/portrait.png",
    "audio_url": "https://your-cdn.com/speech.mp3",
    "resolution": 720,
    "engine": "minimax",
    "motion_prompt": "speaking to the camera naturally"
  }'

Getting the result

Both endpoints share one polling route: GET /api/v2/avatar/tasks/{task_id}. videoUrl holds the finished clip when done:

{
  "status": "completed",
  "capability": "avatar",
  "model": "avatar-pro",
  "progress": 1.0,
  "videoUrl": "https://.../result.mp4"
}

Avatar Pro and MiniMax generation usually takes several minutes. See also Dual Avatar.

On this page