Skip to main content
POST
Create Character
A Character can store top-level auto_close, using the direct Create Session schema. Rules take effect in newly created sessions. Preserve this field when reading and updating a character. See Automatic session closure.
Error responses use the same {code, message, data} envelope; a non-zero code identifies the error.
A Character can save a default image_fit for its starting images. Vivix applies the setting when a session starts, using that session’s output size. See Prepare the first image.

Authorizations

Authorization
string
header
required

Your Vivix API key. Keep it on your server.

Body

application/json
name
string
required

Display name for lists.

model
string
required

Model id. Use vivix-a1-stream. See Models.

output
object
required

Required video output settings. Set the aspect ratio and resolution when creating the session.

avatars
object[]
required

Avatars available in the session. Must not be empty, and avatar_id values must not repeat.

Minimum array length: 1
image_fit
object

How Vivix fits each starting image to the video avatar session frame. A session value overrides the saved character setting.

session
object

Initial mutable session state: mode, active avatar, and the source image used for video. Optional — with a single avatar the defaults below already resolve. Change these values after the session starts with session.update on the control channel.

pipeline_config
object

Session-wide speech recognition, speech synthesis, dialogue model, and audio rendering settings. These settings are fixed at session creation.

conversation
object

Tools, generation defaults, and audio turn settings shared by the session.

assets
object

Reusable image references, audio, speech text, and motion prompts. Use images for props or products in object interaction; put the character’s starting images in avatars[].visual.source_images. Asset IDs must be unique across all asset types.

delivery
object

Media transport and delivery settings. Defaults to TRTC when omitted.

max_duration_seconds
integer

Session time limit in seconds; minimum 4. The standard default is 20 minutes (1200 seconds), subject to your workspace’s session-duration limit. Check expires_at in the response for the actual expiry.

Required range: x >= 4
auto_close
object

Automatic close policy fixed when the session is created. The response returns the effective values after platform defaults are applied.

recording_mode
string

on or off. Send off to disable recording.

Response

200 - application/json

Success

code
integer
required

0 on success; any other value is an error code.

message
string
required

success, or an English error description.

data
object
required

The saved character: metadata plus the entire stored configuration. Source image URLs may be rewritten during saving.