> ## Documentation Index
> Fetch the complete documentation index at: https://anam.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Understanding Personas

> Understand how Anam personas combine avatars, voices, language models, prompts, knowledge, tools, and session settings.

A persona is a complete AI agent: a face, a voice, an LLM, and a system prompt packaged together. You configure a persona, create a session token, and stream it to your users.

## The persona configuration

Every persona is defined by a single configuration object:

```javascript theme={"system"}
const personaConfig = {
  name: "Cara",
  avatarId: "071b0286-4cce-4808-bee2-e642f1062de3",
  avatarModel: "cara-4",
  voiceId: "de23e340-1416-4dd8-977d-065a7ca11697",
  llmId: "a7cf662c-2ace-4de1-a21e-ef0fbf144bb7",
  systemPrompt:
    "You are Cara, a helpful customer service representative. You're friendly, knowledgeable, and always try to solve problems efficiently. Keep responses conversational and under 50 words unless explaining something complex.",
};
```

Each field maps to a component of the persona:

| Field | What it controls | Learn more |
| - | - | - |
| `name` | Internal label for logs and analytics | Optional |
| `avatarId` | The face and expressions users see | [Avatar Gallery](https://anam.ai/docs/personas/avatars/gallery.md), [Custom Avatars](https://anam.ai/docs/concepts/creating-custom-avatars.md) |
| `avatarModel` | Which avatar model renders the persona | [Models](https://anam.ai/docs/introduction/models.md), [Video Options](https://anam.ai/docs/personas/session/video.md) |
| `voiceId` | How the persona sounds | [Voice Gallery](https://anam.ai/docs/resources/voice-gallery.md), [Custom Voices](https://anam.ai/docs/concepts/custom-voices.md) |
| `llmId` | Which language model powers the conversation | [Available LLMs](https://anam.ai/docs/concepts/available-llms.md), [Custom LLMs](https://anam.ai/docs/personas/llms/custom-llms.md) |
| `systemPrompt` | Personality, behavior, and instructions | [Prompting Guide](https://anam.ai/docs/personas/llms/prompting-guide.md) |

You can also extend a persona with a [Knowledge Base](https://anam.ai/docs/personas/knowledge/overview.md) for document-grounded answers, and [Tools](https://anam.ai/docs/personas/tools/overview.md) for taking actions during a conversation. Personas aren't limited to your own app either: you can [invite them to join your video meetings](https://anam.ai/docs/personas/meetings.md).

## Persona lifecycle

**1. Configure**

Define the persona's appearance, voice, and personality in a configuration object.

**2. Create a session token**

Your server exchanges the persona configuration and your API key for a short-lived session token.

**3. Stream**

The client uses the session token to start the avatar stream and begin the conversation.

**4. Conversation**

Real-time back-and-forth between the persona and the user.

**5. Session end**

The conversation ends and the session is cleaned up.

## Experimenting in the Lab

The easiest way to try different avatars, voices, and LLMs is the playground in [Anam Lab](https://lab.anam.ai). From the build page you can swap components, preview over 400 voices, and copy IDs into your own code when you're happy with the result.

## Next steps

> [card] [Prompting Guide](https://anam.ai/docs/personas/llms/prompting-guide.md)
>
> Write system prompts that produce natural, conversational personas.

> [card] [Session Options](https://anam.ai/docs/personas/session/duration.md)
>
> Configure session duration, voice detection, and greeting behavior.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.