Create an interactive avatar
Create an interactive avatar from an existing Studio avatar.
- Generation is asynchronous: the request answers
202with the avatar’s current status. - Poll by repeating the same request (with
regenerateomitted) untildoneis true — a repeat never starts a second generation. - Each poll re-runs the credit check, so a drained balance answers
402even while an already-dispatched generation continues. - Once
statusiscompleted, include the returnedidin theavatarIdslist ofPOST /api/interactive-avatars/sessions.
Required scope: interactive_avatars:write (in Studio: Interactive Avatars (write))
Authentication
AuthorizationBearer
Your Synthesia API key.
- Send it as
Authorization: Bearer <key>; a bare key also works. - An endpoint that needs a scope names it in its description; Scopes lists them all.
- A
:writescope also satisfies the same resource’s:read. - Without the scope, the request fails with a 403
insufficient_scope.
Request
This endpoint expects an object.
sourceId
The avatar id shown in Studio, with the av_ prefix.
regenerate
Force a fresh interactive avatar generation instead of returning the existing avatar.
Response headers
Request-Id
The id of this request's audit record. Quote it when reporting a problem.
Response
Successful Response
id
The interactive avatar. Include it in the avatarIds list of POST /api/interactive-avatars/sessions.
status
Poll by repeating the same request with regenerate omitted until done is true, then read this field: failed means the source cannot become an interactive avatar.
Allowed values:
done
True once generation has finished, whatever the outcome.
Errors
400
Bad Request Error
401
Unauthorized Error
402
Payment Required Error
403
Forbidden Error
404
Not Found Error
413
Content Too Large Error
415
Unsupported Media Type Error
429
Too Many Requests Error
500
Internal Server Error
503
Service Unavailable Error
504
Gateway Timeout Error