Technical specifications and source image guidelines for creating custom avatars with Cara 4.
This page is for Cara 4 custom avatars, not Cara 3. Cara 3 follows similar pose and background guidance, but it uses different source image constraints.
Cara 4 uses a square source image that can be cropped into landscape and portrait video. The safest upload is a high-resolution square image with clear margins around the subject.
See Models for when to use cara-4 and Video Options for supported output sizes.
Format: Use .png, .jpg/.jpeg, or .webp, up to 4.5MB.
Resolution: Use at least 1152x1152. Higher resolution is better.
Margins: Leave room around the head, shoulders, and chest so Anam can crop in for landscape or portrait output instead of extending the image with outpainting.
Automatic fixes: Anam may crop, pad, or outpaint when the source image does not cover the required crop. Do not rely on this for best quality.
To skip automatic image processing through the API, use preserve mode. It requires an image prepared to the exact specifications in that guide.
To place an avatar over your own UI, create a custom avatar from an image with a consistent green background. In your browser app, render the avatar stream to a video element, use a WebGL canvas to remove the green pixels, then place the transparent canvas over your page. The stream contains the green background; your app removes it during rendering.Choose an avatar without green clothing or green spill around the subject. Fine details such as complex hair can be difficult to key cleanly. See the transparent avatar backgrounds cookbook for a working example and controls for tuning the result.
Last modified on November 2, 2026
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Anam","colors":{"primary":"#ff6200","light":"#ff6200","dark":"#ff6200"},"logo":{"light":"https://mintcdn.com/anam/C1_yhmh0z2cLMID5/logo/anam-logo-black.png?fit=max\u0026auto=format\u0026n=C1_yhmh0z2cLMID5\u0026q=85\u0026s=df3c7456becff3adcf00bdee3d8b24e6","dark":"https://mintcdn.com/anam/C1_yhmh0z2cLMID5/logo/anam-logo-white.png?fit=max\u0026auto=format\u0026n=C1_yhmh0z2cLMID5\u0026q=85\u0026s=005acf7e494d6373e42ecea78ed414c6","href":"https://anam.ai"},"favicon":"https://mintcdn.com/anam/gnLapnNwnB6mzSvX/images/FaviconDarkBorderRadius.png?fit=max\u0026auto=format\u0026n=gnLapnNwnB6mzSvX\u0026q=85\u0026s=4f13a1002d44bd8912121e6d0f106116","appearance":{"default":"light"},"background":{"color":{"light":"#FFFFFF","dark":"#000000"}},"navbar":{"links":[{"href":"https://anam.ai/cookbook","label":"Cookbook"},{"href":"https://anam.ai/docs/llms-full.txt","label":"llms.txt"},{"href":"https://join.slack.com/t/anamcommunity/shared_invite/zt-4an41luvk-UH4UowegfQQR3rQbR_UHuQ","label":"Support"}],"primary":{"type":"button","label":"Sign In","href":"https://lab.anam.ai"}},"seo":{"metatags":{"og:site_name":"Anam Documentation","og:description":"Anam developer documentation. Build real-time interactive AI avatars with low-latency voice, custom personas, and multi-language support.","og:image":"/logo/anam-logo-white.png","og:logo":"/logo/anam-logo-white.png","twitter:image":"/logo/anam-logo-white.png","twitter:logo":"/logo/anam-logo-white.png"},"indexing":"navigable"},"fonts":{"heading":{"family":"Inter"},"body":{"family":"Inter"}},"styling":{"eyebrows":"breadcrumbs","codeblocks":"system","latex":false},"integrations":{"cookies":{"key":"anam_mintlify_consent","value":"granted"}},"contextual":{"options":["assistant","copy","view","claude","chatgpt"],"display":"header"},"metadata":{"timestamp":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"anam","hasAudioNarration":false,"actualSubdomain":"anam","customDomains":["anam.ai"],"gitSource":{"type":"github","owner":"anam-org","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aee4ff60f2546a8f021f333","clientVersion":"0.0.4087","searchFilterCounts":[{"language":"default","tag":"API Reference","count":76},{"language":"default","tag":"Overview","count":45},{"language":"default","tag":"Personas","count":37},{"language":"default","tag":"Knowledge","count":20},{"language":"default","tag":"JavaScript SDK","count":16},{"language":"default","tag":"Voices","count":14},{"language":"default","tag":"Integrations","count":12},{"language":"default","tag":"ElevenLabs Agents","count":12},{"language":"default","tag":"Sessions","count":12},{"language":"default","tag":"Embed","count":10}]},"assistantConfig":{},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":".dark a[href=\"https://lab.anam.ai\"],.dark a[href=\"https://lab.anam.ai\"] *{color:#ffffff!important}.dark img[src$=\"/integrations/livekit.svg\"],.dark img[src$=\"/integrations/elevenlabs.svg\"]{filter:invert(1)}a.demo-source-link{display:inline-flex;min-height:44px;max-width:100%;align-items:center;justify-content:center;gap:10px;padding:10px 16px;border:1px solid #d4d4d4;border-radius:8px;background:#ffffff;color:#171717;font-size:14px;font-weight:500;line-height:1.5;text-decoration:none}.demo-source-link>span:first-child{display:flex;flex:none}.demo-source-link svg{background-color:currentColor}a.demo-source-link:hover{background:#f5f5f5;border-color:#a3a3a3}a.demo-source-link:active{background:#e5e5e5}a.demo-source-link:focus-visible{outline:2px solid #ff6200;outline-offset:3px}.dark a.demo-source-link{border-color:#525252;background:#171717;color:#f5f5f5}.dark a.demo-source-link:hover{border-color:#737373;background:#262626}.dark a.demo-source-link:active{background:#404040}.prebuilt-prompt{position:relative;display:grid;grid-template-columns:9.5rem 10.5rem minmax(0, 1fr);justify-content:start;align-items:center;gap:16px 12px;margin:1.75rem 0 2rem;padding:20px;border:1px solid #e5e5e5;border-radius:12px;background:#fafafa}.mdx-content>.prebuilt-prompt:first-child{margin-top:0}.prebuilt-prompt-copy{grid-column:1 / -1;min-width:0}.prebuilt-prompt-title{margin:0;color:#171717;font-size:16px;font-weight:600;letter-spacing:-0.01em;line-height:1.5}.prebuilt-prompt-description{margin:6px 0 0;color:#525252;font-size:14px;line-height:1.5}.prebuilt-prompt-button{display:inline-flex;width:9.5rem;min-height:44px;align-items:center;justify-content:center;gap:8px;padding:10px 12px;border:1px solid transparent;border-radius:8px;background:#171717;color:#ffffff;font:inherit;font-size:14px;font-weight:500;line-height:1.5;white-space:nowrap;cursor:pointer}.prebuilt-prompt-button:hover{background:#404040}.prebuilt-prompt-button:active{background:#525252}.prebuilt-prompt-button:focus-visible{outline:2px solid #ff6200;outline-offset:3px}.prebuilt-prompt-button[aria-disabled=\"true\"]{cursor:progress}.prebuilt-prompt-button svg{flex:none}.prebuilt-prompt-icon-check,.prebuilt-prompt-icon-error,.prebuilt-prompt-button[data-copy-state=\"copied\"] .prebuilt-prompt-icon-copy,.prebuilt-prompt-button[data-copy-state=\"error\"] .prebuilt-prompt-icon-copy{display:none}.prebuilt-prompt-button[data-copy-state=\"copied\"] .prebuilt-prompt-icon-check,.prebuilt-prompt-button[data-copy-state=\"error\"] .prebuilt-prompt-icon-error{display:initial}.prebuilt-prompt-status{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.dark .prebuilt-prompt{border-color:#404040;background:#171717}.dark .prebuilt-prompt-title{color:#f5f5f5}.dark .prebuilt-prompt-description{color:#bfbfbf}.dark .prebuilt-prompt-button{background:#f5f5f5;color:#171717}.dark .prebuilt-prompt-button:hover{background:#d4d4d4}.dark .prebuilt-prompt-button:active{background:#bfbfbf}@media (max-width: 480px){.prebuilt-prompt{grid-template-columns:minmax(0, 1fr);justify-content:stretch;gap:12px}.prebuilt-prompt-copy{margin-bottom:4px}.prebuilt-prompt-button{width:100%}}"},{"filePath":"anam-consent.css","content":".anam-cookie-banner{position:fixed;right:1rem;bottom:1rem;z-index:2147483647;width:min(24rem, calc(100vw - 2rem));padding:1rem;font-family:inherit;color:#111827;background:#ffffff;border:1px solid #e5e7eb;border-radius:0.75rem;box-shadow:0 0.625rem 0.9375rem -0.1875rem rgb(0 0 0 / 10%),\n 0 0.25rem 0.375rem -0.25rem rgb(0 0 0 / 10%)}.anam-cookie-banner[hidden]{display:none}.anam-cookie-banner h2{margin:0 0 0.25rem;font-size:0.8125rem;font-weight:600;line-height:1.125rem}.anam-cookie-banner p{margin:0;color:#6b7280;font-size:0.8125rem;line-height:1.125rem}.anam-cookie-banner a{color:#111827;text-underline-offset:0.2rem}.anam-cookie-actions{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:0.5rem;margin-top:1rem}.anam-cookie-actions button{height:2rem;min-width:0;padding:0 1rem;font-family:inherit;font-size:0.8125rem;font-weight:400;line-height:1.125rem;cursor:pointer;border-radius:0.5rem}.anam-cookie-primary{color:#111827;background:#ff6200;border:1px solid #ff6200}.anam-cookie-secondary{color:#111827;background:transparent;border:1px solid #d1d5db}.anam-cookie-primary:hover{background:#e55800;border-color:#e55800}.anam-cookie-secondary:hover{background:#f3f4f6}.anam-cookie-actions button:focus-visible{outline:2px solid #ff6200;outline-offset:2px}"}],"page":{"pagePath":"personas/avatars/custom-avatar-best-practices","slug":"/personas/avatars/custom-avatar-best-practices","pageMetadata":{"title":"Custom Avatar Best Practices","description":"Technical specifications and source image guidelines for creating custom avatars with Cara 4.","href":"/personas/avatars/custom-avatar-best-practices"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Technical specifications and source image guidelines for creating custom avatars with Cara 4.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Frame,Heading,OptimizedImage,Warning}=_components;if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Warning,{children:_jsx(_components.p,{children:`This page is for Cara 4 custom avatars, not Cara 3. Cara 3 follows similar pose and background guidance, but it uses different source image constraints.`})}),`\n`,_jsx(_components.p,{children:`Cara 4 uses a square source image that can be cropped into landscape and portrait video. The safest upload is a high-resolution square image with clear margins around the subject.`}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/anam/ILnzlVWrdD50F9dt/images/session-options/avatar-aspect-ratio-crops-v2.png?fit=max\u0026auto=format\u0026n=ILnzlVWrdD50F9dt\u0026q=85\u0026s=15f3777e78d26cb121615be5e49aa02a`,alt:`Diagram showing centered landscape and portrait crops from a square avatar source image`,\"data-og-width\":`1680`,width:`1680`,\"data-og-height\":`1220`,height:`1220`,\"data-path\":`images/session-options/avatar-aspect-ratio-crops-v2.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/anam/ILnzlVWrdD50F9dt/images/session-options/avatar-aspect-ratio-crops-v2.png?w=280\u0026fit=max\u0026auto=format\u0026n=ILnzlVWrdD50F9dt\u0026q=85\u0026s=3d368b43b8ee2fb2a8f64b867e07e4d5 280w, https://mintcdn.com/anam/ILnzlVWrdD50F9dt/images/session-options/avatar-aspect-ratio-crops-v2.png?w=560\u0026fit=max\u0026auto=format\u0026n=ILnzlVWrdD50F9dt\u0026q=85\u0026s=6937fee334ea69a1153739b2dd3c1658 560w, https://mintcdn.com/anam/ILnzlVWrdD50F9dt/images/session-options/avatar-aspect-ratio-crops-v2.png?w=840\u0026fit=max\u0026auto=format\u0026n=ILnzlVWrdD50F9dt\u0026q=85\u0026s=e8471fdd365477eec52d1f3c803a94af 840w, https://mintcdn.com/anam/ILnzlVWrdD50F9dt/images/session-options/avatar-aspect-ratio-crops-v2.png?w=1100\u0026fit=max\u0026auto=format\u0026n=ILnzlVWrdD50F9dt\u0026q=85\u0026s=9d537e1c489dab04d72347f17d1f3d53 1100w, https://mintcdn.com/anam/ILnzlVWrdD50F9dt/images/session-options/avatar-aspect-ratio-crops-v2.png?w=1650\u0026fit=max\u0026auto=format\u0026n=ILnzlVWrdD50F9dt\u0026q=85\u0026s=b9314a82afb75371df9c5ab7723ddbb1 1650w, https://mintcdn.com/anam/ILnzlVWrdD50F9dt/images/session-options/avatar-aspect-ratio-crops-v2.png?w=2500\u0026fit=max\u0026auto=format\u0026n=ILnzlVWrdD50F9dt\u0026q=85\u0026s=da582e7affdc70891e6830029f601925 2500w`})}),`\n`,_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`https://anam.ai/docs/introduction/models`,children:`Models`}),` for when to use `,_jsx(_components.code,{children:`cara-4`}),` and `,_jsx(_components.a,{href:`https://anam.ai/docs/personas/session/video`,children:`Video Options`}),` for supported output sizes.`]}),`\n`,_jsx(Heading,{level:`2`,id:`source-image`,children:`Source image`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Format:`}),` Use `,_jsx(_components.code,{children:`.png`}),`, `,_jsx(_components.code,{children:`.jpg`}),`/`,_jsx(_components.code,{children:`.jpeg`}),`, or `,_jsx(_components.code,{children:`.webp`}),`, up to 4.5MB.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Resolution:`}),` Use at least `,_jsx(_components.code,{children:`1152x1152`}),`. Higher resolution is better.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Margins:`}),` Leave room around the head, shoulders, and chest so Anam can crop in for landscape or portrait output instead of extending the image with outpainting.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Automatic fixes:`}),` Anam may crop, pad, or outpaint when the source image does not cover the required crop. Do not rely on this for best quality.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`To skip automatic image processing through the API, use `,_jsx(_components.a,{href:`/personas/avatars/custom-avatars#preserve-your-source-image`,children:`preserve mode`}),`. It requires an image prepared to the exact specifications in that guide.`]}),`\n`,_jsx(Heading,{level:`2`,id:`subject`,children:`Subject`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Use a relaxed, natural pose with a neutral expression.`}),`\n`,_jsx(_components.li,{children:`Keep the face sharp and visible. A mild angle is acceptable if both eyes and the full face remain visible.`}),`\n`,_jsx(_components.li,{children:`Use an eye-level or slightly low camera angle. Cara 4 does not require a low-angle or fully front-on shot.`}),`\n`,_jsx(_components.li,{children:`Keep the mouth closed, but not tense.`}),`\n`,_jsx(_components.li,{children:`Keep hands completely out of view.`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`background-and-appearance`,children:`Background and appearance`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Use a plain, simple background.`}),`\n`,_jsx(_components.li,{children:`Avoid busy rooms, strong patterns, large text, and distracting logos.`}),`\n`,_jsx(_components.li,{children:`Keep the head, shoulders, and upper chest visible. Avoid tight crops.`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`make-the-background-transparent-in-your-app`,children:`Make the background transparent in your app`}),`\n`,_jsx(_components.p,{children:`To place an avatar over your own UI, create a custom avatar from an image with a consistent green background. In your browser app, render the avatar stream to a video element, use a WebGL canvas to remove the green pixels, then place the transparent canvas over your page. The stream contains the green background; your app removes it during rendering.`}),`\n`,_jsxs(_components.p,{children:[`Choose an avatar without green clothing or green spill around the subject. Fine details such as complex hair can be difficult to key cleanly. See the `,_jsx(_components.a,{href:`https://anam.ai/cookbook/transparent-backgrounds-canvas-greenscreen`,children:`transparent avatar backgrounds cookbook`}),` for a working example and controls for tuning the result.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":"system","config":{},"pageMetadata":{"title":"Custom Avatar Best Practices","description":"Technical specifications and source image guidelines for creating custom avatars with Cara 4.","href":"/personas/avatars/custom-avatar-best-practices"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Source image","slug":"source-image","depth":2,"children":[]},{"title":"Subject","slug":"subject","depth":2,"children":[]},{"title":"Background and appearance","slug":"background-and-appearance","depth":2,"children":[]},{"title":"Make the background transparent in your app","slug":"make-the-background-transparent-in-your-app","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/anam/b2d95394aafe5d57/anam-attribution.js","/docs/_mintlify/custom/anam/e3b0c44298fc1c14/breadcrumbs.js","/docs/_mintlify/custom/anam/09f69e41a6d2a118/scripts/sync-api-reference.js","/docs/_mintlify/custom/anam/8eee8d5d8d0dc77a/anam-consent.js","/docs/_mintlify/custom/anam/1df9efd6c260b783/integration-menu-preload.js"],"subdomain":"anam","siteName":"Anam","title":"Custom Avatar Best Practices - Anam","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-02T15:18:41.440Z","gitLastModified":"2026-11-02T15:18:26.000Z","originalFileLocation":"personas/avatars/custom-avatar-best-practices.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Technical specifications and source image guidelines for creating custom avatars with Cara 4.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Anam\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/anam/tqFnPe6JO4uLg8KJ/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/anam/tqFnPe6JO4uLg8KJ/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/anam/tqFnPe6JO4uLg8KJ/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/anam/tqFnPe6JO4uLg8KJ/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/anam/tqFnPe6JO4uLg8KJ/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/anam/tqFnPe6JO4uLg8KJ/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/anam/tqFnPe6JO4uLg8KJ/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/anam/tqFnPe6JO4uLg8KJ/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/anam/tqFnPe6JO4uLg8KJ/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Custom Avatar Best Practices - Anam\">\u003cmeta data-mint-head property=\"og:description\" content=\"Anam developer documentation. Build real-time interactive AI avatars with low-latency voice, custom personas, and multi-language support.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Anam Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://anam.ai/docs/personas/avatars/custom-avatar-best-practices\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://anam.mintlify.site/docs/logo/anam-logo-white.png\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Custom Avatar Best Practices - Anam\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Anam developer documentation. Build real-time interactive AI avatars with low-latency voice, custom personas, and multi-language support.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://anam.mintlify.site/docs/logo/anam-logo-white.png\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/anam/tqFnPe6JO4uLg8KJ/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Anam\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#ff6200\">\u003cmeta data-mint-head name=\"og:logo\" content=\"/logo/anam-logo-white.png\">\u003cmeta data-mint-head name=\"twitter:logo\" content=\"/logo/anam-logo-white.png\">\u003clink data-mint-head rel=\"canonical\" href=\"https://anam.ai/docs/personas/avatars/custom-avatar-best-practices\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/personas/avatars/custom-avatar-best-practices.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://anam.ai/#organization\",\"name\":\"Anam\",\"url\":\"https://anam.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/anam/C1_yhmh0z2cLMID5/logo/anam-logo-black.png?fit=max\u0026auto=format\u0026n=C1_yhmh0z2cLMID5\u0026q=85\u0026s=df3c7456becff3adcf00bdee3d8b24e6\"}},{\"@type\":\"WebSite\",\"@id\":\"https://anam.ai/docs#website\",\"name\":\"Anam\",\"url\":\"https://anam.ai/docs\",\"publisher\":{\"@id\":\"https://anam.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://anam.ai/docs/personas/avatars/custom-avatar-best-practices#webpage\",\"url\":\"https://anam.ai/docs/personas/avatars/custom-avatar-best-practices\",\"name\":\"Custom Avatar Best Practices\",\"description\":\"Technical specifications and source image guidelines for creating custom avatars with Cara 4.\",\"dateModified\":\"2026-11-02T15:18:26.000Z\",\"isPartOf\":{\"@id\":\"https://anam.ai/docs#website\"},\"breadcrumb\":{\"@id\":\"https://anam.ai/docs/personas/avatars/custom-avatar-best-practices#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://anam.ai/docs/personas/avatars/custom-avatar-best-practices#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Personas\",\"item\":\"https://anam.ai/docs/personas/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Avatars\",\"item\":\"https://anam.ai/docs/personas/avatars/gallery\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Custom Avatar Best Practices\",\"item\":\"https://anam.ai/docs/personas/avatars/custom-avatar-best-practices\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://anam.ai/docs/personas/avatars/custom-avatar-best-practices#article\",\"headline\":\"Custom Avatar Best Practices\",\"name\":\"Custom Avatar Best Practices\",\"description\":\"Technical specifications and source image guidelines for creating custom avatars with Cara 4.\",\"url\":\"https://anam.ai/docs/personas/avatars/custom-avatar-best-practices\",\"mainEntityOfPage\":{\"@id\":\"https://anam.ai/docs/personas/avatars/custom-avatar-best-practices#webpage\"},\"image\":\"https://anam.ai/logo/anam-logo-white.png\",\"dateModified\":\"2026-11-02T15:18:26.000Z\",\"publisher\":{\"@id\":\"https://anam.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://anam.ai/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Anam\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Anam","nav":{"global":null,"tabs":[{"tab":"Overview","align":"start","groups":[{"group":"Introduction","pages":[{"title":"Anam Documentation","sidebarTitle":"Overview","icon":"house","href":"/introduction/overview"},{"sidebarTitle":"Models","title":"Choose an Anam Avatar Model","icon":"layer-group","href":"/introduction/models"}]},{"group":"Personas","pages":[{"title":"Understanding Personas","icon":"graduation-cap","href":"/personas/overview"},{"group":"Avatars","icon":"user","pages":[{"title":"Avatar Gallery","href":"/personas/avatars/gallery"},{"title":"Create your own custom avatar","sidebarTitle":"Create a custom avatar","href":"/personas/avatars/custom-avatars"},{"title":"Avatar personalization","description":"Create avatar variants in Anam Lab with custom prompts and reference images, then use the new avatar in a persona.","href":"/personas/avatars/personalization"},{"title":"Custom Avatar Best Practices","href":"/personas/avatars/custom-avatar-best-practices"}]},{"group":"Voices","icon":"volume-high","pages":[{"title":"Voice Gallery","description":"Browse available Anam voices, compare languages and styles, and copy the voice identifier needed to configure a persona.","href":"/personas/voices/gallery"},{"title":"Custom Voices","href":"/personas/voices/custom-voices"},{"title":"Voice Configuration","sidebarTitle":"Voice Configuration","href":"/personas/voices/configuration"},{"title":"Multilingual Support","href":"/personas/voices/multilingual"}]},{"group":"LLMs","icon":"brain","pages":[{"title":"Available LLMs","sidebarTitle":"Available LLMs","href":"/personas/llms/available-llms"},{"title":"Custom LLMs","href":"/personas/llms/custom-llms"},{"title":"Prompting guide","href":"/personas/llms/prompting-guide"}]},{"group":"Knowledge","icon":"book","pages":[{"title":"Knowledge Base (RAG)","sidebarTitle":"Overview","href":"/personas/knowledge/overview"},{"title":"Set up your knowledge base","href":"/personas/knowledge/setup"},{"title":"Prepare documents for RAG","sidebarTitle":"Prepare documents","href":"/personas/knowledge/preparing-documents"},{"title":"Knowledge document template","sidebarTitle":"Document template","href":"/personas/knowledge/document-template"},{"title":"Upload and update documents","href":"/personas/knowledge/uploading-documents"},{"title":"Connect knowledge tools","href":"/personas/knowledge/tools"},{"title":"Test your knowledge base","href":"/personas/knowledge/testing"},{"title":"Knowledge upload checklist","sidebarTitle":"Upload checklist","href":"/personas/knowledge/upload-checklist"}]},{"group":"Tools","icon":"wrench","pages":[{"title":"Tools and Function Calling","href":"/personas/tools/overview"},{"title":"Client Tools and Events","href":"/personas/tools/client-tools"},{"title":"Webhook Tools","href":"/personas/tools/webhook-tools"},{"title":"System Tools","href":"/personas/tools/system-tools"},{"title":"Tool Calling Example","href":"/personas/tools/tool-calling-example"}]},{"title":"Director Notes","icon":"clapperboard","href":"/personas/director-notes"},{"group":"Session Options","icon":"gear","pages":[{"title":"Session Duration","sidebarTitle":"Session Duration","href":"/personas/session/duration"},{"title":"Session Regions","sidebarTitle":"Regions","href":"/personas/session/regions"},{"title":"Video Options","sidebarTitle":"Video","href":"/personas/session/video"},{"title":"Download session recordings","sidebarTitle":"Recordings","href":"/personas/session/recordings"},{"title":"Voice Detection","sidebarTitle":"Voice Detection","href":"/personas/session/voice-detection"}]},{"title":"Meetings","sidebarTitle":"Meetings","icon":"video","href":"/personas/meetings"}]},{"group":"Avatar videos","pages":[{"title":"Generate avatar videos","sidebarTitle":"Overview","icon":"video","href":"/avatar-videos/overview"}]},{"group":"Security \u0026 Compliance","pages":[{"title":"Privacy","icon":"shield","href":"/security/privacy"},{"title":"Network Configuration","sidebarTitle":"Network","icon":"network-wired","href":"/security/network"},{"title":"Single sign-on (SSO)","sidebarTitle":"Single sign-on","icon":"key","href":"/security/single-sign-on"},{"title":"AI Avatar Disclosure","sidebarTitle":"AI Disclosure","icon":"robot","href":"/security/ai-avatar-disclosure"}]},{"group":"Resources","pages":[{"title":"MCP server","icon":"plug","href":"/resources/mcp"},{"title":"Billing, usage, and limits","icon":"credit-card","href":"/resources/billing-and-limits"},{"title":"Session Performance","icon":"gauge-high","href":"/resources/session-performance"},{"title":"Session Termination Reasons","sidebarTitle":"Termination Reasons","icon":"flag-checkered","href":"/resources/session-termination-reasons"},{"title":"Frequently Asked Questions","icon":"circle-question","href":"/resources/faq"}]}]},{"tab":"Embed","align":"start","pages":[{"title":"Embed","href":"/embed/overview"}]},{"tab":"JavaScript SDK","align":"start","pages":[{"title":"JavaScript SDK","href":"/javascript-sdk/api-key"}]},{"tab":"Python SDK","align":"start","pages":[{"title":"Python SDK","href":"/python-sdk/overview"}]},{"tab":"Integrations","align":"start","menu":[{"item":"LiveKit","icon":"https://mintlify.s3.us-west-1.amazonaws.com/anam/images/integrations/livekit.svg","pages":[{"title":"LiveKit","href":"/integrations/livekit/overview"}]},{"item":"ElevenLabs Agents","icon":"https://mintlify.s3.us-west-1.amazonaws.com/anam/images/integrations/elevenlabs.svg","pages":[{"title":"ElevenLabs Agents","href":"/integrations/elevenlabs/agents"}]},{"item":"Other SDKs","icon":"code","pages":[{"title":"Other SDKs","href":"/integrations/sdks"}]}],"pages":[{"title":"Integrations","href":"/integrations/livekit/overview"}]},{"tab":"API Reference","align":"start","pages":[{"title":"API Reference","href":"/api-reference/overview"}]},{"tab":"Changelog","align":"start","pages":[{"title":"Changelog","href":"/changelog"}]}]},"basePath":"","title":"Custom Avatar Best Practices - Anam","buildId":"dpl_BSPUBxEoKhhK7HzXVDPxdPvWx4xc","deploymentId":"dpl_BSPUBxEoKhhK7HzXVDPxdPvWx4xc","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-DRxXE_WT.js","DynamicMarkdown-AlxJK8VR.js","zoom-image-lightbox-B_-GSaTf.js","lightbox-handle-r17bVUz3.js"]}