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.

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, or vivix-a1-stream-lite for the lighter variant. See Models.

output
object
required

Create-time avatar video output settings. Required for video_avatar mode and ignored in text_chat mode. See output.

avatars
object[]
required

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

region
string

Optional deployment region hint. Returned back on the session object; may be empty if not provided. It does not currently affect scheduling or guarantee data residency.

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 ASR, TTS, LLM, and motion settings. Omit overrides to use platform behavior. Use tts_config for the voice and avatars[].instructions for identity and response style. motion_enhanced and motion_planner are optional advanced overrides. These settings are fixed when a session is created.

conversation
object

Session-level conversation defaults: tools, turn_detection, and input_audio_transcription. See conversation.

assets
object

Session-scoped reusable assets for response.script. Asset ids must be unique across audio, speech_text, and visual_prompts. Avatar source images stay under avatars[].visual.source_images. On the REST side the visual prompt text field is prompt; on the WSS asset.add side the same asset uses text — the two shapes differ.

delivery
object

Media delivery settings used when session.mode is video_avatar. If omitted, the media transport defaults to TRTC. It is not used for text_chat.

max_duration_seconds
integer

Maximum session duration in seconds. If omitted, the default session length applies. An explicit value must be greater than 3 (minimum 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.