Skip to main content
POST
Create a session

Authorizations

Authorization
string
header
required

Your Boson API key, sent as Authorization: Bearer $BOSON_API_KEY.

Body

application/json
avatar_id
string
required

The face to render: a preset or an avatar owned by this API key, from GET /v1/avatars.

Required string length: 1 - 256
Example:

"builtin_claire_v1"

transport
object
required

The LiveKit room the avatar joins. You own the room and mint the avatar's token with your LiveKit API key and secret.

model
enum<string>
default:higgs-avatar

Avatar model ID, the same ID as POST /v1/videos uses. Optional; defaults to higgs-avatar.

Available options:
higgs-avatar
output
object

Rendered video size in pixels (portrait or square works best). Optional; defaults to 480x640. The reference image is center-cropped to this aspect ratio.

max_duration_seconds
integer

Hard cap on the session length; the session ends and the avatar leaves the room when it is reached. Optional; defaults to the account limit (3600 s), which a larger value may not exceed (invalid_duration).

Required range: 1 <= x <= 14400
Example:

1800

Response

The session is active and the avatar has joined the room.

A realtime avatar session (the create / retrieve / release response).

id
string

Session ID, e.g. avrt_....

Example:

"avrt_3f9c2a7e8b1d4c6f"

object
enum<string>
default:avatar.realtime.session
Available options:
avatar.realtime.session
status
enum<string>

active: the avatar is in the room. releasing: a release was requested and is not confirmed yet. terminated: the session has ended (released, expired, room emptied, or ended by Boson for another reason).

Available options:
active,
releasing,
terminated
model
string
Example:

"higgs-avatar"

avatar_id
string
Example:

"builtin_claire_v1"

avatar_identity
string

The LiveKit identity the avatar joined as (transport.participant_identity).

Example:

"boson-avatar-agent"

created_at
string<date-time>

When the avatar joined the room (ISO 8601, UTC).

expires_at
string<date-time>

Latest end time: the session ends at this time if it is still running (created_at + max_duration_seconds).

ended_at
string<date-time> | null

When the session ended; null while it is active.