Or jump from this list on a smaller screen.
This is a page from the Audivra documentation. Developer exports — index: 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.
SDKs
Thin TypeScript and Python clients for TTS, unified generate, voices, and jobs — zero dependencies beyond fetch / stdlib.
Why a thin SDK
Audivra's differentiator is a unified voice + avatar API — one generate() call covers TTS, LLM, lip-sync, and async video. These clients wrap /api/v1/* with typed helpers; OpenAPI codegen works too — see OpenAPI reference.
Methods
| Method | Returns | Route |
|---|---|---|
| tts(text, options?) | WAV bytes | POST /api/v1/tts |
| stt(audio, options?) | Transcript JSON | POST /api/v1/stt |
| music(options) | WAV bytes | POST /api/v1/music |
| sfx(options) | WAV bytes | POST /api/v1/sfx |
| dub(source, options?) | Queued job JSON | POST /api/v1/dub |
| generate(options) | JSON (sync, job_id, or multipart lipsync) | POST /api/v1/generate |
| generateBatch(items | { jsonl, dry_run }) | Queued jobs JSON | POST /api/v1/generate/batch |
| estimate(options) | Credits + plan caps | POST /api/v1/estimate |
| getJob(jobId) | Job status JSON | GET /api/v1/jobs/{id} |
| listVoices() | Voice catalog JSON | GET /api/v1/voices |
| listClones() | Clone list JSON | GET /api/voices/clone |
| createClone(samples, options?) | Queued clone + voice_id | POST /api/voices/clone |
| renameClone(cloneId, name) | Updated clone | PATCH /api/voices/clone/{id} |
| previewClone(cloneId) | WAV bytes | GET /api/v1/voices/clone/{id}/sample |
| deleteClone(cloneId) | Slot freed | DELETE /api/voices/clone/{id} |
| waitUntilReady(cloneId) | Ready clone record | poll GET /api/voices/clone |
| listDesigns() | Design list JSON | GET /api/voices/design |
| createDesign(prompt, options?) | Queued design + voice_id | POST /api/voices/design |
| previewDesign(options) | Preview WAV bytes | POST /api/voices/design/preview |
| deleteDesign(designId) | Slot freed | DELETE /api/voices/design/{id} |
| waitUntilDesignReady(designId) | Ready design record | poll GET /api/voices/design |
| remixVoice(parentId, options) | Queued remix + voice_id | POST /api/v1/voices/{id}/remix |
| listCommunityVoices(query?) | Marketplace listings | GET /api/v1/voices/community |
| acquireCommunityVoice(listingId) | Usage grant | POST /api/v1/voices/community/{id} |
| publishClone(cloneId, options) | Published listing | POST /api/voices/clone/{id}/publish |
| reviewCommunityVoice(listingId, options) | Review | POST /api/v1/voices/community/{id}/reviews |
| listCommunityReviews(listingId) | Reviews | GET /api/v1/voices/community/{id}/reviews |
TypeScript
Source: sdk/typescript/ — zero runtime dependencies (uses fetch).
import { Audivra } from "./sdk/typescript";
const client = new Audivra({
apiKey: process.env.AUDIVRA_API_KEY!,
baseUrl: "http://127.0.0.1:3000",
});
// TTS — regional voices e.g. zuri-sw, amara-ha
const wav = await client.tts("Habari from Audivra", { voice_id: "zuri-sw" });
// Unified generate — voice + avatar in one call
const result = await client.generate({
text: "Welcome to our product launch.",
voice_id: "zuri-sw",
avatar_id: "studio-host",
});
if ("job_id" in result) {
const job = await client.getJob(String(result.job_id));
console.log(job.status);
}Python
Source: sdk/python/ — stdlib only (urllib).
pip install ./sdk/python # or copy audivra/ into your project
from audivra import Audivra, AudivraError
client = Audivra(api_key="sk_live_…", base_url="http://127.0.0.1:3000")
try:
wav = client.tts("Habari from Audivra", voice_id="zuri-sw")
with open("out.wav", "wb") as f:
f.write(wav)
job = client.generate(
text="Welcome to our launch.",
voice_id="zuri-sw",
avatar_id="studio-host",
)
if "job_id" in job:
print(client.get_job(job["job_id"]))
except AudivraError as e:
print(e.status, e) # 402 quota · 429 rate limitErrors & limits
Clients surface HTTP errors as AudivraError with status 401/402/429/502. See errors reference and limits reference. Responses include X-Audivra-Api-Version: 1.