GA Anam

Anam

Realtime photoreal personas with a managed voice + LLM pipeline or your own LLM. Clear published per-minute pricing with per-second billing.

Est. per minute$0.11 - 0.24
1 high-severity warning

Overview

Best for: Product teams that want predictable per-minute pricing and a polished managed persona with optional custom LLM.

At a glance

Session $/min$0.11
Entry plan $/mo$12
Free tierYes
Custom avatarYes
From photoYes
Own LLMYes
Own voiceYes
Resolution p768
Max session min120
Concurrency1
WebRTCYes
Self-hostNo
Open weightsNo

Conversation cap 3/5/10/120/120 min by plan. Price is Professional overage $0.11 (Enterprise listed $0.04). cara-4 is 1152x768 landscape or 768x1152 portrait. Idle time is billed.

Audio in

User mic via Anam JS/Python SDK

Audio out

Anam voices including custom voice, or audio passthrough

Languages

Multilingual support page exists; list not captured.

Latency

Not captured; Anam publishes a session performance page.

Regions

Not captured.

Compliance

Not verified in this pass.

Features

  • managed full pipeline
  • bring your own LLM (CUSTOMER_CLIENT_V1 client-side LLM)
  • custom avatar from photo in under 2 minutes (vendor)
  • custom voice on all plans
  • LiveKit integration
  • spend cap setting
  • concurrency endpoint

Pricing

WhatPriceUnitNotes
Free$0per month30 min, 1 concurrent, 1 custom avatar, 3 min conversation limit, no overage
Starter$12per month50 min, overage $0.16/min, 1 concurrent, 5 min limit
Explorer$49per month250 min, overage $0.14/min, 3 concurrent, 10 min limit
Growth$299per month2,000 min, overage $0.12/min, 5 concurrent, 2 h limit
Professional$999per month8,000 min, overage $0.11/min, 10 concurrent, 2 h limit
Enterprise$0.04per minuteContact sales; 100 to unlimited concurrency
How the per-minute estimate was worked out

Overage $0.11-$0.16; Starter $12/50 min = $0.24; Enterprise listed at $0.04

Free tier: 30 minutes per month, 1 concurrent session, 3 minute conversations.

Source: anam.ai

Setup

  1. Create an API key in Anam Lab.
  2. Pick avatarId, voiceId and llmId (or a saved personaId).
  3. Backend: POST /v1/auth/session-token with the persona config.
  4. Frontend: create the Anam client with the session token and stream to a video element.
  5. Stop streaming when the user leaves; set a spend cap in Account Settings.

Endpoint

POST https://api.anam.ai/v1/auth/session-token

Authentication

Authorization: Bearer <API key> on server; session token (JWT, 1 h) in browser

Quick start javascript

// Server-side
const r = await fetch("https://api.anam.ai/v1/auth/session-token", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.ANAM_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    personaConfig: {
      name: "Cara",
      avatarId: "071b0286-4cce-4808-bee2-e642f1062de3",
      voiceId: "de23e340-1416-4dd8-977d-065a7ca11697",
      llmId: "a7cf662c-2ace-4de1-a21e-ef0fbf144bb7",
      systemPrompt: "You are a helpful assistant.",
      maxSessionLengthSeconds: 600,
    },
  }),
});
const { sessionToken } = await r.json();

// Browser (npm i @anam-ai/js-sdk)
import { createClient } from "@anam-ai/js-sdk";
const client = createClient(sessionToken);
await client.streamToVideoElement("persona-video");
// later: await client.stopStreaming();

Written from the current docs. Check the vendor's SDK version before you ship.

Warnings

Idle time is billed

Anam states silence, a muted mic or an idle avatar does not pause an active session; billing is per second until the session ends.

Short caps on low plans

Free conversations end at 3 minutes and Starter at 5; Explorer at 10. Plan for reconnects or upgrade for longer calls.

Avatar-only config is rejected

A session token with no voiceId and no audio passthrough on the default WebRTC transport returns HTTP 400.

429 can mean several things

A rejected start may be your org concurrency limit, vendor capacity or your spend cap. Read the error reason and back off instead of retry-looping.

Do not ship cara-4-latest

It is experimental and not recommended for production; pin cara-4.

Plus 9 warnings that apply to all avatars and live video APIs. See category warnings.

Limits

  • Concurrent: 1 / 1 / 3 / 5 / 10 by plan; shared across all your sites
  • Conversation length: 3 min (Free), 5 min (Starter), 10 min (Explorer), 2 h (Growth/Professional)
  • Session token valid 1 hour
  • Unused minutes expire monthly

Models and products

NameStatusNotes
cara-4GARecommended for new production avatars; 1152x768 landscape or 768x1152 portrait.
cara-3GAPrevious stable model kept for existing deployments; 720x480.
cara-4-latestPreviewExperimental; vendor says not for production sessions.

Docs and sources

Docs

Sources used

Not fully verified

JS SDK method names (createClient / streamToVideoElement) taken from SDK conventions, not re-read this pass; latency figures; regions.

Similar avatars + video APIs

Spotted a wrong price or a dead link?