Your
agent has a voice.Now give it a face.
Start building Meet Cara-4.1 Express, the new standard for real-time AI avatars. More expressive. More controllable. Faster to respond. And ranked #1 in the market.
See it for yourself
Agora voice agent Anam video agent Reveal the face
Talk to the agent first
KEEP EXPLORING
Build more with Anam + Agora
AGORA CONVERSATIONAL AI · CODING AGENTS
Build your own Agora video agent
Copy this prompt to add Anam to an existing Agora app or start a new one.
# Add Anam to an existing or new Agora app
Inspect this repository before changing code: identify its framework/runtime, package manager, lockfile, agent entrypoint and private server configuration. If a Agora integration exists, extend it in place. Otherwise, use the documented starter below to create the missing integration without overwriting unrelated files. Infer runtime/provider choices from the user's request and repository; ask only when a material choice cannot be inferred.
Before implementing, fetch https://docs.agora.io/en/ai/models/avatar/anam and the relevant partner setup references below. Use https://anam.ai/docs/llms.txt to discover additional Anam pages as needed. Cross-check installed SDK types/source when live docs disagree with the package version. Do not invent APIs or silently combine incompatible examples. If sources are unavailable or conflict, report what is unverified.
Set the Anam avatar model to "cara-4.1-express" in every configuration. Do not inherit a catalog default or fall back to another model.
The reference architecture is: Agora's Conversational AI Engine can attach an Anam avatar to the agent with a private Anam key and avatar identifier.
Integration-specific setup:
- Read https://docs.agora.io/en/ai/models/avatar/anam and verify the runtime's SDK source: https://github.com/AgoraIO/agora-agents-python/blob/main/src/agora_agent/agentkit/vendors/avatar.py or https://github.com/AgoraIO/agora-agents-ts/blob/main/src/agentkit/vendors/avatar.ts.
- The audited SDKs use avatar_id (Python) / avatarId (Node), not persona_id / personaId. Some partner examples still use the old fields. ANAM_AVATAR_ID must contain an actual avatar ID, not a renamed persona-ID value. Keep ANAM_API_KEY private.
- For a new project, follow https://docs.agora.io/en/ai/get-started/quickstart for the selected runtime. Include the Agora project credentials, enabled Conversational AI service, authenticated client, providers, channel/token and agent start/stop flow, plus an RTC frontend that subscribes to avatar audio/video.
- For an existing agent, retain its client, providers, channel and business logic; add the documented AnamAvatar vendor configuration to that agent.
Requirements:
- Preserve existing providers, tools, system prompts and business logic within the selected documented integration mode. Do not replace the app's architecture or write persistent agent-rules files without a user request.
- Keep the Anam API key in private server-side configuration. Never expose or request it in client code or chat.
- Preserve compatible installed versions and the project's package manager. For a fresh project, resolve current compatible stable releases and record them in the lockfile; do not use remembered versions or force unrelated upgrades.
- Implement the missing imports, environment loading, backend/agent startup, session/room authentication and frontend video rendering required by the chosen starter. The fragments below assume configured providers and entrypoint variables; do not copy them as standalone programs.
- When extending an existing voice app, preserve its voice-only path when Anam is not configured and log a clear warning. Missing optional avatar config must not prevent the ordinary voice session from starting.
- Check types/build and relevant tests. When credentials are available, verify visible synchronized video, one audio output, working tools/interruptions and stop/disconnect cleanup. State explicitly which live checks could not run.
- Summarize changed files, placeholder-only environment variables, exact install/run commands, package versions and verification results. Never fabricate credentials or claim an unrun check passed.
Reference fragments — use only the matching runtime/mode:
## Python
```python
import os
from agora_agent import Agent
from agora_agent.agentkit.vendors import AnamAvatar
agent = (
Agent(client)
.with_stt(stt)
.with_llm(llm)
.with_tts(tts)
.with_avatar(
AnamAvatar(
api_key=os.environ["ANAM_API_KEY"],
avatar_id=os.environ["ANAM_AVATAR_ID"],
additional_params={"avatar_model": "cara-4.1-express"},
)
)
)
```
## Node.js
```javascript
import { Agent, AnamAvatar } from "agora-agents";
const agent = new Agent({ client })
.withStt(stt)
.withLlm(llm)
.withTts(tts)
.withAvatar(new AnamAvatar({
apiKey: process.env.ANAM_API_KEY,
avatarId: process.env.ANAM_AVATAR_ID,
additionalParams: { avatar_model: "cara-4.1-express" },
}));
```
If live docs differ from these fragments, check the installed implementation and explain the version-specific correction before using it.Meet Cara 4.1 Express
The new standard for real-time AI avatars. More expressive. More controllable. Faster to respond. And ranked #1 in the market.
Add a face to your Agora agent.
Bring Cara-4.1 Express to your app with natural facial expression and lip sync that follows your agent's voice.