Or jump from this list on a smaller screen.

This is a page from the Audivra documentation. Developer exportsindex: http://127.0.0.1:3000/docs/llms.txt, full corpus: http://127.0.0.1:3000/docs/llms-full.txt, OpenAPI: http://127.0.0.1:3000/docs/openapi.json, Postman: http://127.0.0.1:3000/docs/postman.json. Press ⌘K to search docs.

POST /api/v1/generate

Unified generate endpoint — async video jobs, fast-path local TTS/LLM, and GPU cluster offload.

Try it

Submit a real request to POST /api/v1/generate — sync TTS on the fast path or async video with live job status.

Generate playground

Returns 200 for local fast-path TTS or 202 with job_id for GPU video renders.

Checking session…

Browse voice library — play samples and copy voice_id

POST
/api/v1/generate
Auth required

Validates credits, routes to local_worker or gpu_cluster, deducts routing credits atomically, and logs to job_ledger.

Parameters

NameTypeRequiredDescription
textstringNoScript for TTS→avatar (omit when using input[])
videofileNoMultipart video (with audio file or audio_url)
audiofileNoMultipart audio (with video file or video_url)
options.sync_modestringNocut_off · loop · bounce · silence · remap
voice_idstringNoPreset voice ID or ready clone UUID
avatar_idstringNoAvatar preset (default: default)
taskTypestringNotts · llm_inference · lip_sync · unified
forceCloudbooleanNoSkip local worker and use GPU cluster
modelstringNoTTS model (default: kokoro-82m)
video_modelstringNoLip-sync model (default: musetalk)

Request body

JSON
{
  "text": "Habari from Audivra",
  "voice_id": "zuri-sw",
  "avatar_id": "studio-host",
  "taskType": "unified"
}

Response

JSON
// Async (202) — video / heavy jobs
{
  "success": true,
  "job_id": "abc123",
  "status": "PROCESSING",
  "poll": "/api/v1/jobs/abc123",
  "meta": { "executedBy": "gpu_cluster", "routingCreditsDeducted": 3 }
}

// Sync (200) — local fast-path TTS or LLM
{
  "success": true,
  "data": "…",
  "meta": { "executedBy": "local_worker", "creditsDeducted": 1 }
}

Errors

StatusMeaning
401Invalid or missing API key
402Insufficient routing or plan credits
409Voice clone still training
502Local worker or gateway unavailable

Video + audio lipsync

Hosted sample files
curl -X POST http://127.0.0.1:3000/api/v1/generate \
  -H "Authorization: Bearer sk_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "input": [
      { "type": "video", "url": "http://127.0.0.1:3000/api/docs/samples/example-video.mp4" },
      { "type": "audio", "url": "http://127.0.0.1:3000/api/docs/samples/example-audio.wav" }
    ],
    "options": { "sync_mode": "cut_off" }
  }'
Multipart upload
curl -X POST http://127.0.0.1:3000/api/v1/generate \
  -H "Authorization: Bearer sk_live_…" \
  -F "video=@presenter.mp4" \
  -F "audio=@take.wav" \
  -F "sync_mode=cut_off"

Examples

Fast-path TTS (sync)
curl -X POST http://127.0.0.1:3000/api/v1/generate \
  -H "Authorization: Bearer sk_live_…" \
  -H "Content-Type: application/json" \
  -d '{"text":"Hello","taskType":"tts","voice_id":"aurora"}'
Force cloud GPU
curl -X POST http://127.0.0.1:3000/api/v1/generate \
  -H "Authorization: Bearer sk_live_…" \
  -d '{"text":"Long script…","forceCloud":true}'

Voice IDs: Voice library — play samples and copy voice_id · See also: Processing nodes · Batch generate · Estimate