POST
/
api
/
v1
/
lipsync
Render audio to a talking-head video (non-streaming)
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: JSON.stringify({audioUrl: '<string>'})
};

fetch('https://realtimeavatar.ai/api/v1/lipsync', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
{
  "url": "<string>",
  "avatarId": "<string>",
  "frames": 123,
  "fps": 123,
  "durationSeconds": 123
}

Authorizations

Authorization
string
header
required

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.

Body

application/json

Provide audioUrl plus either avatarId or portraitUrl.

audioUrl
string<uri>
required

Public URL of the speech audio to lipsync.

avatarId
string

An avatar you created (ava_...).

portraitUrl
string<uri>

Portrait image to register as the source avatar.

backgroundId
string

Optional background id.

Response

Rendered lipsync video

url
string<uri>
required

Public URL of the rendered MP4.

avatarId
string
required
frames
integer
required
fps
integer
required
durationSeconds
number
required