> ## 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.

# AI Avatar Disclosure

> Learn when and how to tell users they are interacting with an AI avatar, with practical disclosure patterns for interfaces and conversations.

AI avatar disclosures help people understand when they are interacting with an
AI system. Requirements vary by jurisdiction, audience, and use case, so use a
notice that is appropriate for each experience.

## Disclosing an AI avatar

The wording should make it clear that the person is interacting with AI. For
example:

* `AI avatar`
* `AI-generated avatar`
* `You are speaking with an AI avatar`

A company or product name on its own may not communicate that the avatar is
AI-generated. You can use a visual label, an opening message, or another clear
and accessible notice that fits your experience and the requirements that
apply to it.

## Who controls the experience

Anam-controlled experiences, including Lab sessions, share links, and meeting
invites, include a built-in AI avatar disclosure. The presentation may differ
by surface, but the disclosure remains visible throughout the session.

If you use an Anam SDK or another custom integration and control the user
interface, make sure your application provides any disclosure required for
your users and use case.

## Enable Anam's disclosure for SDK and integration sessions

JavaScript SDK, Python SDK, and LiveKit sessions default to no
Anam-provided disclosure because your application controls the interface. Set
the disclosure option to `true` for each session where you want Anam to render
the AI avatar disclosure watermark throughout the video.

### JavaScript SDK

Set `showAIAvatarDisclosure` to `true` when your server creates the session
token:

```typescript JavaScript (server) theme={"system"}
const apiKey = process.env.ANAM_API_KEY;
const personaId = process.env.ANAM_PERSONA_ID;

if (!apiKey || !personaId) {
  throw new Error("ANAM_API_KEY and ANAM_PERSONA_ID are required");
}

const response = await fetch("https://api.anam.ai/v1/auth/session-token", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    personaConfig: { personaId },
    sessionOptions: {
      showAIAvatarDisclosure: true,
    },
  }),
});

if (!response.ok) {
  throw new Error(`Failed to create session token: ${response.status}`);
}

const { sessionToken } = await response.json();
```

Pass the returned token to `createClient` as usual. The setting is bound to the
token and cannot be changed when the SDK starts the session.

### Python SDK

Set `show_ai_avatar_disclosure` in the session options passed to `connect`:

```python Python theme={"system"}
import os

from anam import AnamClient, SessionOptions

client = AnamClient(
    api_key=os.environ["ANAM_API_KEY"],
    persona_id=os.environ["ANAM_PERSONA_ID"],
)

session_options = SessionOptions(show_ai_avatar_disclosure=True)

async with client.connect(session_options=session_options) as session:
    await session.talk("Hello")
```

### LiveKit

Pass `SessionOptions` to the LiveKit Anam plugin's `AvatarSession`. Set
`show_ai_avatar_disclosure` to `True`:

```python LiveKit plugin theme={"system"}
import os

from livekit.plugins import anam

avatar = anam.AvatarSession(
    persona_config=anam.PersonaConfig(
        name="Maya",
        avatarId=os.environ["ANAM_AVATAR_ID"],
        avatarModel="cara-4",
    ),
    session_options=anam.SessionOptions(
        show_ai_avatar_disclosure=True,
    ),
)
```

## EU AI Act Article 50

Article 50(1) of the EU AI Act is a common reason to add an AI avatar
disclosure. It applies from **2 August 2026**. People in the EU who interact
directly with an AI system must be informed that they are interacting with AI,
unless this is already obvious.

The European Commission says the notice must be:

* provided from the start of the first interaction
* clear and distinguishable
* presented in an accessible way

The rules do not prescribe exact wording or state that a visual notice must
remain on screen throughout the session. A clear notice at the start of the
interaction may be sufficient, depending on the implementation and context.
The rules can also apply to providers outside the EU when the system's output
is used in the EU.

### Machine-readable marking

Article 50(2) contains a separate requirement for generated content to be
marked in a machine-readable format. A visible interaction notice does not
replace that requirement.

The Commission describes a limited grace period until **2 December 2026** for
the marking and detection obligations of eligible systems placed on the market
before 2 August 2026. See the Commission FAQ for the current scope and
exceptions.

<Note>This page provides general product guidance, not legal advice. See the [European Commission's Article 50 FAQ](https://digital-strategy.ec.europa.eu/en/faqs/transparency-obligations-under-article-50-ai-act) and the [text of Article 50](https://ai-act-service-desk.ec.europa.eu/en/ai-act/article-50).</Note>
