# Anam - [Anam Documentation](https://anam.ai/docs/introduction/overview.md): Learn how Anam personas combine an avatar, voice, language model, and prompt, then choose the quickest integration path for your application. - [Choose an Anam Avatar Model](https://anam.ai/docs/introduction/models.md): Choose a Cara avatar model for live conversations and set its model name in Anam Lab or the API. - [Understanding Personas](https://anam.ai/docs/personas/overview.md): Understand how Anam personas combine avatars, voices, language models, prompts, knowledge, tools, and session settings. - [Avatar Gallery](https://anam.ai/docs/personas/avatars/gallery.md): Browse available Anam avatars, preview their appearance, and copy the avatar identifier needed when creating or updating a persona. - [Create your own custom avatar](https://anam.ai/docs/personas/avatars/custom-avatars.md): Create a custom avatar in Anam Lab or through the API. Preserve a prepared source image without cropping or outpainting. - [Avatar personalization](https://anam.ai/docs/personas/avatars/personalization.md): Create avatar variants in Anam Lab with custom prompts and reference images, then use the new avatar in a persona. - [Custom Avatar Best Practices](https://anam.ai/docs/personas/avatars/custom-avatar-best-practices.md): Technical specifications and source image guidelines for creating custom avatars with Cara 4. - [Voice Gallery](https://anam.ai/docs/personas/voices/gallery.md): Browse available Anam voices, compare languages and styles, and copy the voice identifier needed to configure a persona. - [Custom Voices](https://anam.ai/docs/personas/voices/custom-voices.md): Clone a voice in Anam, or bring an ElevenLabs, Cartesia or Fish Audio voice into Anam in Lab or with the API, then assign it to a persona. - [Voice Configuration](https://anam.ai/docs/personas/voices/configuration.md): Configure an Anam persona's voice speed, volume, emotion, provider-specific options, and pronunciation dictionaries through Lab or the API. - [Multilingual Support](https://anam.ai/docs/personas/voices/multilingual.md): Configure transcription languages and understand how language selection interacts with speech-to-text providers and organization defaults. - [Available LLMs](https://anam.ai/docs/personas/llms/available-llms.md): Compare the built-in language models available to Anam personas, including provider options, capabilities, and configuration requirements. - [Custom LLMs](https://anam.ai/docs/personas/llms/custom-llms.md): Connect your own language model to an Anam persona, stream responses through the client, and retain control of prompts and conversation logic. - [Prompting guide](https://anam.ai/docs/personas/llms/prompting-guide.md): Design effective system prompts for Anam personas, including personality, goals, tool-call behavior, guardrails, and Director Notes cues. - [Knowledge Base (RAG)](https://anam.ai/docs/personas/knowledge/overview.md): Give Anam personas access to your documents, from preparing and uploading reference material to connecting search tools and testing answers. - [Set up your knowledge base](https://anam.ai/docs/personas/knowledge/setup.md): Create and organize Anam knowledge groups so personas can retrieve relevant information from your documents during conversations. - [Prepare documents for RAG](https://anam.ai/docs/personas/knowledge/preparing-documents.md): Prepare clear, complete reference documents for your Anam persona, preserving context, exceptions, tables, and source information. - [Knowledge document template](https://anam.ai/docs/personas/knowledge/document-template.md): Write Anam knowledge documents as self-contained sections, each carrying the scope, source, and exceptions a retrieved passage needs to stand alone. - [Upload and update documents](https://anam.ai/docs/personas/knowledge/uploading-documents.md): Upload documents to an Anam knowledge group, check processing status, and replace outdated files with verified source material. - [Connect knowledge tools](https://anam.ai/docs/personas/knowledge/tools.md): Connect knowledge folders to an Anam persona through search tools, choose the intended scope, and monitor knowledge tool calls. - [Test your knowledge base](https://anam.ai/docs/personas/knowledge/testing.md): Verify retrieved passages and Anam persona answers with repeatable questions, source checks, and tests for exceptions and document updates. - [Knowledge upload checklist](https://anam.ai/docs/personas/knowledge/upload-checklist.md): Follow these steps to release a knowledge update: prepare the files, upload and confirm processing, then verify passages and persona answers. - [Tools and Function Calling](https://anam.ai/docs/personas/tools/overview.md): Enable your AI personas to interact with external systems, trigger client actions, and search knowledge bases - [Client Tools and Events](https://anam.ai/docs/personas/tools/client-tools.md): Register client tools that let an Anam persona trigger browser actions, pass typed arguments, and receive results during a conversation. - [Webhook Tools](https://anam.ai/docs/personas/tools/webhook-tools.md): Integrate external APIs and services by calling HTTP endpoints from your AI persona - [System Tools](https://anam.ai/docs/personas/tools/system-tools.md): Built-in tools available to all personas for session control like language switching and turn management - [Tool Calling Example](https://anam.ai/docs/personas/tools/tool-calling-example.md): Create and attach a tool to an Anam persona, handle its arguments, return a result, and test function calling in a live conversation. - [Director Notes](https://anam.ai/docs/personas/director-notes.md): Use preset styles and inline cues to guide how a Cara 4 avatar performs a conversation. - [Session Duration](https://anam.ai/docs/personas/session/duration.md): Configure Anam session limits, greeting behaviour, and inactivity handling so persona conversations start and end predictably. - [Session Regions](https://anam.ai/docs/personas/session/regions.md): Enterprise plans can choose the engine region for a persona session, keep engine processing in that region with a strict policy, and read the region that served it. - [Video Options](https://anam.ai/docs/personas/session/video.md): Configure an Anam session's video dimensions and initial quality, understand Cara avatar crops, and handle unsupported size combinations. - [Download session recordings](https://anam.ai/docs/personas/session/recordings.md): Download a conversation recording from Anam Lab or the API, understand missing recordings, and turn recording or transcripts off for a session. - [Voice Detection](https://anam.ai/docs/personas/session/voice-detection.md): Choose a speech-to-text provider and configure how your persona detects speech, handles silence, and manages turn-taking. - [Meetings](https://anam.ai/docs/personas/meetings.md): Invite a persona to join a Google Meet, Zoom, or Microsoft Teams call as a participant. - [Generate avatar videos](https://anam.ai/docs/avatar-videos/overview.md): Render a supplied script as an asynchronous avatar video using a saved persona or an avatar and voice. - [Privacy](https://anam.ai/docs/security/privacy.md): Understand what Anam retains during Zero Data Retention sessions, what ZDR excludes, and how Enterprise customers enable it for personas and sessions. - [Network Configuration](https://anam.ai/docs/security/network.md): Allow the domains, ports, protocols, and IP ranges required for Anam sessions to connect reliably through corporate networks and firewalls. - [Single sign-on (SSO)](https://anam.ai/docs/security/single-sign-on.md): Connect Okta, Microsoft Entra ID, Google Workspace or another OIDC or SAML 2.0 identity provider to Anam Lab, and optionally require SSO for your domains. - [AI Avatar Disclosure](https://anam.ai/docs/security/ai-avatar-disclosure.md): Learn when and how to tell users they are interacting with an AI avatar, with practical disclosure patterns for interfaces and conversations. - [MCP server](https://anam.ai/docs/resources/mcp.md): Connect Claude, ChatGPT, Cursor, VS Code, Claude Code, Codex or any MCP client to your Anam account, and build and manage personas from chat. - [Billing, usage, and limits](https://anam.ai/docs/resources/billing-and-limits.md): Distinguish session concurrency, avatar creation limits, included usage, overage, and invoice status when planning an Anam integration. - [Session Performance](https://anam.ai/docs/resources/session-performance.md): Understand the performance indicators on the sessions page and fix slow response latency - [Session Termination Reasons](https://anam.ai/docs/resources/session-termination-reasons.md): Understand why a session ended: the exit status and termination reason shown on the sessions page, grouped by integration - [Frequently Asked Questions](https://anam.ai/docs/resources/faq.md): Find answers about Anam billing, latency, multilingual sessions, interruptions, custom LLMs, browser support, usage monitoring, and connection issues. - [Embed Anam on your website](https://anam.ai/docs/embed/overview.md): Add an Anam avatar to any website using the Widget, Player, or SDK. Compare options and follow platform-specific setup guides. - [Anam Widget Overview](https://anam.ai/docs/embed/widget/overview.md): Embed a conversational Anam avatar on any website with a self-contained web component configured securely through Anam Lab. - [Install the Anam Widget](https://anam.ai/docs/embed/widget/installation.md): Install the Anam Widget from the CDN or npm, load it in popular JavaScript frameworks, and connect it to the configuration in Anam Lab. - [Configure the Anam Widget](https://anam.ai/docs/embed/widget/configuration.md): Configure the Anam Widget with HTML attributes and Lab settings, then control its appearance, position, persona, and runtime behaviour. - [Anam Widget Events](https://anam.ai/docs/embed/widget/events.md): Listen for Anam Widget lifecycle and conversation events so your site can record analytics, update its interface, and respond to sessions. - [Add the Anam Widget to Framer](https://anam.ai/docs/embed/widget/framer.md): Add a conversational Anam avatar to a Framer site, configure the widget, and verify that domain authentication and microphone access work. - [Add the Anam Widget to Shopify](https://anam.ai/docs/embed/widget/shopify.md): Add the Anam Widget to a Shopify theme, place the avatar across your storefront, and configure the allowed domain in Anam Lab. - [Add the Anam Widget to WordPress](https://anam.ai/docs/embed/widget/wordpress.md): Add the Anam Widget to a WordPress site using a code block or theme integration, then configure domain access and presentation. - [Add the Anam Widget to Wix](https://anam.ai/docs/embed/widget/wix.md): Add the Anam Widget to a Wix site, choose where it appears, and configure the site domain and avatar behaviour in Anam Lab. - [Add the Anam Widget to Squarespace](https://anam.ai/docs/embed/widget/squarespace.md): Add the Anam Widget to a Squarespace site with code injection, then configure placement, domain access, and the avatar experience. - [Get your API Key](https://anam.ai/docs/javascript-sdk/api-key.md): Learn how to create and manage your Anam API key from the Lab. Required to authenticate requests and integrate personas into your app. - [JavaScript SDK Authentication](https://anam.ai/docs/javascript-sdk/authentication.md): Keep Anam API keys on your server, create short-lived session tokens, and authenticate browser sessions with the JavaScript SDK. - [JavaScript SDK Quickstart](https://anam.ai/docs/javascript-sdk/quickstart.md): Create an Anam session token, install the JavaScript SDK, and run your first interactive avatar conversation in a browser. - [Deploy the JavaScript SDK to Production](https://anam.ai/docs/javascript-sdk/production.md): Deploy Anam safely in production with server-side token creation, stateful and ephemeral session tokens, and client initialization. - [JavaScript SDK Basic Usage](https://anam.ai/docs/javascript-sdk/reference/basic-usage.md): Install and initialise the Anam JavaScript SDK, configure the client, start and stop sessions, and prepare the integration for deployment. - [JavaScript SDK Talk Commands](https://anam.ai/docs/javascript-sdk/reference/talk-commands.md): Send text for an Anam persona to speak, stream ordered utterances, and control how commands interact with current output. - [Listen for JavaScript SDK Events](https://anam.ai/docs/javascript-sdk/reference/events.md): Subscribe to Anam session, conversation, tool, and media events with the JavaScript SDK and handle their typed payloads. - [JavaScript SDK Event Types](https://anam.ai/docs/javascript-sdk/reference/event-types.md): Understand the events emitted during Anam conversations and use their payloads to update your interface, analytics, tools, and session state. - [JavaScript SDK Audio Control](https://anam.ai/docs/javascript-sdk/reference/audio-control.md): Control microphone input, mute state, and audio streaming during an Anam session with the JavaScript SDK audio methods. - [Send User Messages with the JavaScript SDK](https://anam.ai/docs/javascript-sdk/reference/user-messages.md): Send programmatic user messages into an Anam conversation and understand when to use text input instead of microphone audio. - [Interrupt an Anam Persona](https://anam.ai/docs/javascript-sdk/reference/interrupt-command.md): Use the JavaScript SDK's interruptPersona method to stop a speaking persona, handle session errors, and continue with new user input or context. - [Mid-Session Updates](https://anam.ai/docs/javascript-sdk/reference/mid-session-updates.md): Change voice, language, and turn-taking settings while an Anam session is running, without reconnecting or rebuilding the persona. - [Basic application](https://anam.ai/docs/javascript-sdk/examples/basic-app.md): Build a complete browser application with an Anam persona, including token creation, client setup, session controls, and event handling. - [Full application](https://anam.ai/docs/javascript-sdk/examples/full-app.md): Build a production-style Anam web application with a richer interface, session lifecycle handling, audio controls, and conversation events. - [Custom LLM (client-side)](https://anam.ai/docs/javascript-sdk/examples/custom-llm.md): Build your own AI conversation logic with OpenAI, Anthropic, and other language models - [Custom TTS (client-side)](https://anam.ai/docs/javascript-sdk/examples/custom-tts.md): Use your own text-to-speech provider with Anam avatars via audio passthrough mode. - [Python SDK](https://anam.ai/docs/python-sdk/overview.md): Use the Anam Python SDK to create session tokens, connect avatar streams to Python applications, and explore runnable examples. - [Install the Anam Python SDK](https://anam.ai/docs/python-sdk/installation.md): Install the Anam Python SDK, verify your environment, and prepare a Python application to stream audio and video with an avatar. - [Python Quickstart](https://anam.ai/docs/python-sdk/quickstart.md): Install the Anam Python SDK, create a session token, and stream your first interactive avatar from a Python application. - [Python SDK Resources](https://anam.ai/docs/python-sdk/resources.md): Find Python SDK source code, package documentation, examples, and related Anam resources for building and troubleshooting integrations. - [LiveKit Integration](https://anam.ai/docs/integrations/livekit/overview.md): Connect an Anam avatar to a LiveKit voice agent, understand the room architecture, and choose the configuration for your STT, LLM, and TTS stack. - [LiveKit Quickstart](https://anam.ai/docs/integrations/livekit/quickstart.md): Add an Anam avatar to a LiveKit agent, install the plugin, configure credentials, and run a first real-time conversation. - [LiveKit Configuration](https://anam.ai/docs/integrations/livekit/configuration.md): Configuration options, advanced examples, and API reference for the Anam LiveKit plugin - [Server-Side ElevenLabs Agents with Anam Avatars](https://anam.ai/docs/integrations/elevenlabs/agents.md): Build a server-side ElevenLabs Conversational AI agent with a real-time Anam avatar using audio passthrough. - [Step 1: Agent configuration](https://anam.ai/docs/integrations/elevenlabs/agent-configuration.md): Configure your ElevenLabs agent for Anam, including audio format, voice settings, response speed, and language model choice. - [Step 2: Server-side setup](https://anam.ai/docs/integrations/elevenlabs/server-side-setup.md): Create a Next.js API route that fetches an ElevenLabs signed URL and returns an Anam session token while keeping API keys on the server. - [Step 3: Start the avatar session](https://anam.ai/docs/integrations/elevenlabs/start-session.md): Connect the browser to your Anam session token, stream the ElevenLabs avatar, and handle transcripts and session lifecycle in React. - [Director Notes with ElevenLabs](https://anam.ai/docs/integrations/elevenlabs/director-notes.md): Configure avatar expression with ElevenLabs audio tags, Anam Director Notes styles, and cue events for Cara 4 avatars. - [Customise an ElevenLabs session](https://anam.ai/docs/integrations/elevenlabs/session-customisation.md): Personalise ElevenLabs conversations through Anam session tokens with dynamic variables, configuration overrides, user IDs, and custom LLM parameters. - [Add ElevenLabs client tools](https://anam.ai/docs/integrations/elevenlabs/client-tools.md): Configure an ElevenLabs client tool and register a JavaScript SDK handler to display notifications and return results to the conversation. - [Troubleshoot ElevenLabs Agents](https://anam.ai/docs/integrations/elevenlabs/troubleshooting.md): Resolve ElevenLabs signed URL failures, connection problems, missing Director Notes, client-tool issues, and avatar playback errors. - [Other SDKs & Integrations](https://anam.ai/docs/integrations/sdks.md): Choose an official or community SDK, plugin, or integration for connecting Anam avatars to JavaScript, Python, LiveKit, Pipecat, and other stacks. - [Anam REST API](https://anam.ai/docs/api-reference/overview.md): Call the Anam REST API directly, authenticate server-side requests, and find the endpoints for personas, sessions, voices, tools, and knowledge. - [create session token](https://anam.ai/docs/api-reference/sessions/create-session-token.md): Create a new session token used to initialise Anam client side SDKs - [list sessions](https://anam.ai/docs/api-reference/sessions/list-sessions.md): Returns a list of all sessions for the organization - [get session concurrency status](https://anam.ai/docs/api-reference/sessions/get-current-concurrency-status.md): Returns the organization's concurrent-session limit, an approximate count of sessions currently in use, whether a new session can likely be started, and an estimated wait time until a slot frees. Intended as an advisory pre-check before starting a session (e.g. to gate a "Start" button or show a wai… - [get aggregated session analytics](https://anam.ai/docs/api-reference/sessions/get-aggregated-session-analytics.md): Returns aggregated latency analytics across sessions — percentile distributions (p50/p90/p95/p99/max/avg) for each stage of the transcription → LLM → TTS → first-audio path, interruption and error rates, tool call outcomes, and a sample of the slowest turns. Only sessions where Anam runs the convers… - [get session](https://anam.ai/docs/api-reference/sessions/get-session.md): Returns a session by ID, including the tool calls made during the session once it has ended and the engine has delivered its session report (`toolCalls` is empty until then, and always empty for LiveKit and audio-passthrough sessions, which never produce a report). Tool call names, timing, status an… - [delete session](https://anam.ai/docs/api-reference/sessions/delete-session.md): Permanently deletes all customer information captured for a session: the session report (transcript, per-turn analytics, tool call details), generated insights, conversation summary, the video recording, the configured initial message recorded with the session, and requester IP. This removes custome… - [get session transcript](https://anam.ai/docs/api-reference/sessions/get-session-transcript.md): Returns the conversation transcript for a session. Transcripts are never returned for zero-data-retention sessions, including to Anam-internal admin API keys. Admin keys may fetch transcripts for non-ZDR sessions of any organization. - [stop session](https://anam.ai/docs/api-reference/sessions/stop-session.md): Force-terminates a running session. The engine hosting the session disconnects the client and shuts the session down immediately. - [delete session report](https://anam.ai/docs/api-reference/sessions/delete-session-report.md): Permanently deletes the conversation data captured for a session: the session report (transcript, per-turn analytics, tool call details), generated insights, and conversation summary. This removes customer information only — the session record itself and its usage records are retained. The session m… - [get session recording](https://anam.ai/docs/api-reference/sessions/get-session-recording.md): Returns a presigned URL to download the session recording. Recordings are never returned for zero-data-retention sessions, including to Anam-internal admin API keys. Admin keys may fetch recordings for non-ZDR sessions of any organization. - [delete session recording](https://anam.ai/docs/api-reference/sessions/delete-session-recording.md): Permanently deletes the session's video recording from storage. This removes customer information only — the session record itself and its usage records are retained. The session must have ended. This action is irreversible. Idempotent: deleting an already-deleted recording succeeds. - [get session analytics](https://anam.ai/docs/api-reference/sessions/get-session-analytics.md): Returns per-turn latency analytics for a session — where time was spent in the transcription → LLM → TTS → first-audio path for each conversational turn, plus session-level summary metrics. Analytics become available once the session has ended and the engine has delivered its session report; until t… - [list meeting invites](https://anam.ai/docs/api-reference/meetings/list-meeting-invites.md): List meeting invites for the authenticated organization, most recent first. Filter by `status` to find invites in a particular lifecycle state — for example `pending` invites that have not joined yet, or `active` invites currently in a call. - [create meeting invite](https://anam.ai/docs/api-reference/meetings/create-meeting-invite.md): Invite a persona to join a Google Meet, Zoom, or Microsoft Teams meeting. - [get meeting invite](https://anam.ai/docs/api-reference/meetings/get-meeting-invite.md): Get a meeting invite by ID for the authenticated organization. - [cancel meeting invite](https://anam.ai/docs/api-reference/meetings/cancel-meeting-invite.md): Cancel a pending meeting invite by ID for the authenticated organization. - [list avatar videos](https://anam.ai/docs/api-reference/avatar-videos/list-avatar-videos.md) - [create avatar video](https://anam.ai/docs/api-reference/avatar-videos/create-an-avatar-video.md): Creates an asynchronous avatar-video render backed by a normal recorded Anam session. A saved persona contributes only its snapshotted avatar, voice, language, model and director notes; its greeting, brain, prompt and tools never run. The request is rejected rather than queued when either concurrenc… - [get avatar video](https://anam.ai/docs/api-reference/avatar-videos/get-an-avatar-video.md): Returns authoritative job state and a fresh one-hour recording URL when the canonical replay is ready. A read also reconciles late recordings. - [cancel avatar video](https://anam.ai/docs/api-reference/avatar-videos/cancel-an-avatar-video.md): Requests a clean worker/session shutdown. Terminal cancellation is idempotent and any replay that finalizes later remains accessible. - [retry avatar video](https://anam.ai/docs/api-reference/avatar-videos/retry-an-avatar-video.md): Creates a new job from the original immutable snapshot and links it through retryOf. Only terminal jobs can be retried. - [list personas](https://anam.ai/docs/api-reference/personas/list-personas.md): Returns a list of all personas - [create persona](https://anam.ai/docs/api-reference/personas/create-persona.md): Create a new persona - [get persona](https://anam.ai/docs/api-reference/personas/get-persona.md): Returns a persona by id - [update persona](https://anam.ai/docs/api-reference/personas/update-persona.md): Update a persona by id - [delete persona](https://anam.ai/docs/api-reference/personas/delete-persona.md): Soft-delete a persona owned by the authenticated organization. Missing, already deleted, and other organizations' personas return 404 - [list avatars](https://anam.ai/docs/api-reference/avatars/list-avatars.md): Returns a list of all avatars. A search or filter that matches none answers 200 with an empty `data` list. - [create avatar](https://anam.ai/docs/api-reference/avatars/create-avatar.md): Create a new one-shot avatar from an image file or image URL. You can use either multipart/form-data with an image file, or JSON with an image URL. Every plan includes unlimited saved custom avatars. Image moderation quotas and creation capacity limits still apply. - [get avatar](https://anam.ai/docs/api-reference/avatars/get-avatar.md): Returns an avatar by ID - [update avatar](https://anam.ai/docs/api-reference/avatars/update-avatar.md): Update an avatar by ID (only display name can be updated) - [delete avatar](https://anam.ai/docs/api-reference/avatars/delete-avatar.md): Delete an avatar by ID. By default this is a soft delete: the avatar disappears from Lab and the API, which can't restore it, and its stored assets are kept. Pass `hard=true` to permanently purge the avatar and its stored assets (source image and generated versions). A hard delete cannot be undone a… - [list voices](https://anam.ai/docs/api-reference/voices/list-voices.md): Returns a list of all voices. A search or filter that matches none answers 200 with an empty `data` list. - [create voice](https://anam.ai/docs/api-reference/voices/create-voice.md): Create a voice by cloning from audio or importing an existing provider voice. Send clone audio inline as multipart/form-data (the whole request must stay under ~4.5MB), or first upload a larger clip via `POST /v1/voices/presigned-upload` and reference its `audioKey`. Provider imports are checked aga… - [create voice import](https://anam.ai/docs/api-reference/voices/validate-and-import-a-provider-voice.md): Synchronously validates the provider voice/model and persists the Voice only after a real TTS preview succeeds. A provider validation may take up to 90 seconds, after a best-effort metadata lookup of up to 5 seconds; the first import of an ElevenLabs Voice Library voice typically takes about a minut… - [get ElevenLabs API key status](https://anam.ai/docs/api-reference/voices/get-the-organizations-elevenlabs-api-key-status.md): Which ElevenLabs API key the organization saved for importing voices with `useOrganizationKey`. Never returns the key, only its last four characters. - [save ElevenLabs API key](https://anam.ai/docs/api-reference/voices/save-the-organizations-elevenlabs-api-key.md): Saves or replaces the organization's ElevenLabs API key, for voices that only exist in its own ElevenLabs account: instant clones, Voice Design voices and Professional Voice Clones. Anam checks the key with ElevenLabs on each of its API hosts, including data-residency hosts, and stores it encrypted.… - [remove ElevenLabs API key](https://anam.ai/docs/api-reference/voices/remove-the-organizations-elevenlabs-api-key.md): Removes the saved key. Voices that use the key stop speaking, and sessions with them fail to start, until a key is saved again. - [create voice presigned upload](https://anam.ai/docs/api-reference/voices/create-voice-presigned-upload.md): Request a presigned URL for uploading a voice-clone audio clip directly to storage. Use this for clips larger than the ~4.5MB request-body limit of the multipart `POST /v1/voices` endpoint. Flow: (1) call this endpoint to get an `uploadUrl` and `audioKey`; (2) `PUT` the raw audio bytes to `uploadUrl… - [get voice](https://anam.ai/docs/api-reference/voices/get-voice.md): Returns a voice by ID - [update voice](https://anam.ai/docs/api-reference/voices/update-voice.md): Update a voice by ID. Its display name, provider model, gender, accent (`country`) and description can be changed. - [delete voice](https://anam.ai/docs/api-reference/voices/delete-voice.md): Delete a voice by ID. The voice is soft-deleted locally and then removed at the TTS provider. When active personas (or their working drafts) still use the voice, the request is refused with 409 because deleting the voice would silence those personas' sessions. Move the impacted personas to another v… - [list pronunciation dictionaries](https://anam.ai/docs/api-reference/pronunciation-dictionaries/list-pronunciation-dictionaries.md): Lists your organization's pronunciation dictionaries, newest first. Archived dictionaries are not listed. Entries are omitted; read a dictionary to get them. - [create pronunciation dictionary](https://anam.ai/docs/api-reference/pronunciation-dictionaries/create-pronunciation-dictionary.md): Creates a pronunciation dictionary. Select it for a session with `voiceGenerationOptions.pronunciationDictionaryId`. - [import pronunciation dictionary](https://anam.ai/docs/api-reference/pronunciation-dictionaries/import-pronunciation-dictionary.md): Creates a pronunciation dictionary from a Cartesia pronunciation dictionary file: an array of `{ text, pronunciation, case_sensitive? }` rows, with an optional Anam `sounds_like` fallback. A pronunciation containing `<<` or `>>` is imported as an IPA entry; anything else is a sounds-like entry. - [get pronunciation dictionary](https://anam.ai/docs/api-reference/pronunciation-dictionaries/get-pronunciation-dictionary.md): Returns a pronunciation dictionary with its entries and current revision. - [update pronunciation dictionary](https://anam.ai/docs/api-reference/pronunciation-dictionaries/update-pronunciation-dictionary.md): Updates a pronunciation dictionary's name, entries or both. `entries` replaces the whole list. The save is live: sessions that start afterwards use the new entries, and running sessions keep the entries they started with. - [delete pronunciation dictionary](https://anam.ai/docs/api-reference/pronunciation-dictionaries/delete-pronunciation-dictionary.md): Archives a pronunciation dictionary. It disappears from the API and Lab, and sessions can no longer select it. Archiving is permanent: there is no way to unarchive a dictionary. Its entries and history are kept until your organization is deleted. - [list llms](https://anam.ai/docs/api-reference/llms/list-llms.md): Returns a list of all LLMs available to the organization - [create llm](https://anam.ai/docs/api-reference/llms/create-llm.md): Create a new LLM configuration - [get llm](https://anam.ai/docs/api-reference/llms/get-llm.md): Get a specific LLM by ID - [update llm](https://anam.ai/docs/api-reference/llms/update-llm.md): Update an LLM configuration - [delete llm](https://anam.ai/docs/api-reference/llms/delete-llm.md): Delete an LLM configuration. When active personas (or their working drafts) still use the LLM, the request is refused with 409 because deleting it would make those personas' sessions fail. Move the impacted personas to another LLM (PUT /v1/personas/{id}), then retry. - [list knowledge groups](https://anam.ai/docs/api-reference/knowledge/list-knowledge-groups.md): Returns a list of all knowledge groups for the organization - [create knowledge group](https://anam.ai/docs/api-reference/knowledge/create-knowledge-group.md): Create a new knowledge group - [get knowledge group](https://anam.ai/docs/api-reference/knowledge/get-knowledge-group.md): Get a single knowledge folder by ID - [update knowledge group](https://anam.ai/docs/api-reference/knowledge/update-knowledge-group.md): Update a knowledge folder - [delete knowledge group](https://anam.ai/docs/api-reference/knowledge/delete-knowledge-group.md): Delete a knowledge folder - [search knowledge group](https://anam.ai/docs/api-reference/knowledge/search-knowledge-group.md): Search for similar content in a knowledge folder using vector similarity. Limited to 60 valid search requests per UTC minute per organization, shared across API keys and groups. Requests are allowed if the rate-limit store is unavailable. - [list knowledge group documents](https://anam.ai/docs/api-reference/knowledge/list-knowledge-group-documents.md): Get all documents in a knowledge folder - [upload knowledge group document](https://anam.ai/docs/api-reference/knowledge/upload-knowledge-group-document.md): Upload a document to a knowledge folder (Supports PDF, TXT, MD, DOCX, CSV, JSON up to 50MB). Authentication can be via API key (Bearer token) OR upload token (X-Upload-Token header). - [get knowledge document](https://anam.ai/docs/api-reference/knowledge/get-knowledge-document.md): Get a single document by ID - [update knowledge document](https://anam.ai/docs/api-reference/knowledge/update-knowledge-document.md): Update a document (rename) - [delete knowledge document](https://anam.ai/docs/api-reference/knowledge/delete-knowledge-document.md): Delete a document from a knowledge folder - [get knowledge document download](https://anam.ai/docs/api-reference/knowledge/get-knowledge-document-download.md): Get a presigned download URL for a knowledge document - [list tools](https://anam.ai/docs/api-reference/tools/list-tools.md): Returns a list of all tools for the organization - [create tool](https://anam.ai/docs/api-reference/tools/create-tool.md): Create a new tool for function calling in persona sessions - [get tool](https://anam.ai/docs/api-reference/tools/get-tool.md): Get a tool by ID - [update tool](https://anam.ai/docs/api-reference/tools/update-tool.md): Update an existing tool - [delete tool](https://anam.ai/docs/api-reference/tools/delete-tool.md): Delete a tool. The tool will be soft-deleted and no longer available. - [list share links](https://anam.ai/docs/api-reference/share-links/list-share-links.md): Returns a list of all share links for the organization - [create share link](https://anam.ai/docs/api-reference/share-links/create-share-link.md): Create a new share link - [get share link](https://anam.ai/docs/api-reference/share-links/get-share-link.md): Returns a share link by ID - [update share link](https://anam.ai/docs/api-reference/share-links/update-share-link.md): Update a share link by ID - [delete share link](https://anam.ai/docs/api-reference/share-links/delete-share-link.md): Delete a share link by ID - [create engine session](https://anam.ai/docs/api-reference/engine/create-engine-session.md): Start a live persona session. - [Changelog](https://anam.ai/docs/changelog.md): Follow new Anam features, SDK and API improvements, documentation updates, fixes, and other changes that affect applications in production. ## OpenAPI Specs - [swagger](https://api.anam.ai/swagger.json) - [swagger](/docs/swagger.json) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.