For the complete documentation index, see llms.txt. This page is also available as Markdown.

Get started

Build a real-time Ojin avatar in minutes — the same flow drives both Oris Portrait and Oris Presence. Pick the integration that fits your stack — we recommend the Python SDK or Pipecat. The raw WebSocket API is there when you need low-level control.

Prerequisites

  1. An Ojin account with an active API key — if you don't have one, get your API key.

  2. A config_id (your Persona Configuration ID) from the dashboard.

Production deployments: the realtime transport is a WebSocket for server-to-server use over a stable connection. Drive it from a backend server (ideally in US East, near Ojin's inference) to keep your API key secure and latency low, then deliver the final media to end users over a transport built for real-time video (typically WebRTC). The Python SDK and Pipecat integration are designed to run server-side.

Python SDK

The ojin-client SDK is the fastest way to drive Ojin from your own code — it streams a synchronized talking-avatar video from the TTS audio you feed it.

pip install "ojin-client[stv]"
import os
from ojin.stv import OjinSTVClient

client = OjinSTVClient(
    api_key=os.environ["OJIN_API_KEY"],
    config_id=os.environ["OJIN_CONFIG_ID"],  # your Oris Portrait or Oris Presence config
)
# Feed TTS audio with client.say(...) — or start_turn() + send_tts_audio() to stream —
# and consume the synced 25 fps audio + video from client.output_stream().

Full walkthrough → Build with the Python SDK.

Next Steps

Last updated

Was this helpful?