Realtime Avatar

Authentication

API keys, environments, and keeping live keys server-side.

All requests authenticate with a platform API key sent as a bearer token:

Authorization: Bearer tic_live_xxx

Environments

PrefixEnvironmentNotes
tic_test_…SandboxFree tier (30 realtime minutes). Safe for development.
tic_live_…ProductionBills real credits.

Create and manage keys in the dashboard settings. Each key is scoped and can carry a spend limit.

Never embed a tic_live_ key in browser or mobile code. For client apps, proxy requests through your backend and use RealtimeAvatarClient.webProxy() so the upstream key stays server-side.

Choosing a client mode (TypeScript)

import { RealtimeAvatarClient } from "realtime-avatar";

const client = RealtimeAvatarClient.platform({
  apiKey: process.env.REALTIME_AVATAR_API_KEY!,
});
import { RealtimeAvatarClient } from "realtime-avatar";

// Your backend forwards /api/realtime/* to the platform with the key attached.
const client = RealtimeAvatarClient.webProxy();

Errors

StatusMeaning
401Missing or invalid API key.
402Insufficient credits or key spend limit reached — not retryable. Check GET /api/v1/credits/balance.
409Idempotency-Key reused (by design).
422Invalid request body.
429Rate limited — retry after a short backoff.

Server-side key hashing/verification (with a secret pepper) lives in the realtime-avatar/server entry point and must never be imported into client code.

On this page