Realtime Avatar

Stream a realtime avatar turn

POST
/api/v1/realtime/turn

Run one conversational turn and stream back an audio-clocked binary avatar mux (interleaved audio + video frames; decode with readAvatarMux from the realtime-avatar SDK). Reserves estimated credits up front and settles to actual usage after the stream ends; settlement never exceeds the reservation. Send an Idempotency-Key header to make retries safe — reusing a key returns 409. Requires scope realtime:write.

AuthorizationBearer <token>

TIC API key as a bearer token: Authorization: Bearer tic_live_... or tic_test_.... Create keys in the dashboard at /platform/dashboard or via POST /api/v1/api-keys.

In: header

Header Parameters

Idempotency-Key?string

Unique key per turn attempt; reusing a key returns 409.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/octet-stream

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/v1/realtime/turn" \  -H "Content-Type: application/json" \  -d '{    "avatar_id": "string"  }'
"string"
{  "error": "string",  "status": 0,  "code": "string",  "retryable": true,  "billingUrl": "string"}
{  "error": "string",  "status": 0,  "code": "string",  "retryable": true,  "billingUrl": "string"}
{  "error": "string",  "status": 0,  "code": "string",  "retryable": true,  "billingUrl": "string"}
{  "error": "string",  "status": 0,  "code": "string",  "retryable": true,  "billingUrl": "string"}
{  "error": "string",  "status": 0,  "code": "string",  "retryable": true,  "billingUrl": "string"}