If none of the templates is close to what you want, describe your own character. The agent builds it with you step by step, covering how the character looks, sounds, talks, and moves, and what it says first. You can also give the character an app, such as a game or a product list, to use while talking with viewers.
Create the character
1
Describe the character
Open Agents on platform.vivix.ai and describe your character in the message box: who they are, how they look and sound, and what they should do with the people they talk to.
The message box on the Agent home page. Use + to attach files.
Create a friendly English tutor in her late twenties who chats in English and switches to Chinese when needed. She wears a cream knit sweater in a bright study room, speaks warmly at a slow pace, and asks a follow-up question after each answer.
2
Attach references (optional)
Click + to attach images or other files, such as a face or outfit reference, a prop, or a product photo. Tell the agent what each file is for.
3
Answer the agent's questions
Send your message, and Agent creates a new project and gets to work. If something important isn’t clear, the agent asks you first. Just answer in the chat.
4
Review what it makes
Generated images and voice samples show up in the chat as the agent works. If you like one image, ask the agent to build on it; if not, ask for another option.
5
Try the character
Open the Live preview panel and click Talk to character to have a conversation. Talking to the character uses credits.
Refine by chatting
Ask for one change at a time, and mention anything that should stay the same. Here are some requests that work well:
Goal
Example request
Conversation style
Keep replies short and direct, with an occasional dry joke.
Keep the conversation going
Set the character to ask relevant follow-up questions.
Catchphrase
Have the character occasionally say “Now that’s interesting.”
Gestures
Design a welcoming gesture with the character’s arms spread wide.
Listening
Add gentle nods while the character listens.
Props
Attach an image: “Use this reference to give the character this camera.”
Product in hand
Attach a product image: “Use this product reference to prepare an image of the character holding it.”
Several props
Attach several images: “Use each of these as a separate prop, named the way I’ve labeled them.”
Movement
Design an action where the character takes two steps toward the camera.
Walk and talk
Set up the character to speak while walking, with the camera following.
Camera
Set up full-body and medium shots, switching to the medium shot for key points.
For content the character should deliver the same way every time, such as a scripted greeting or a song with a dance, see Perform specific content. For games, product lists, and other interactive panels, see Build an app the character can use.
Add an app
Once the character looks and sounds right, you can give it an app, such as a mini game, a product list, or a set of activities to choose from. The app appears next to the character. Viewers can use it, and the character uses it too and reacts to what viewers pick. Describe what the app shows, how it works, and what the character should do with it:
Add a product list with my three products next to the character. When a viewer picks a product, have the character introduce it and show its price.
Your project saves every change as you go. When you’re happy with the character, click Share at the top of the preview panel:
Copy link publishes the character as its own page and copies the link.
Share to community also lists it publicly under a name you choose.
Share becomes available once the character has its first image. You can keep working on the character after you share it.Signed-in visitors can click Remix on a character page to make their own copy and change it however they like.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Vivix API Platform","description":"Build real-time interactive avatars, worlds, and blazing fast video generation with the Vivix API.","colors":{"primary":"#202124","light":"#E8EAED","dark":"#202124"},"logo":{"light":"https://mintcdn.com/vivix-20d305ce/_pH0P9NPGXmrYjpb/logo/light.svg?fit=max\u0026auto=format\u0026n=_pH0P9NPGXmrYjpb\u0026q=85\u0026s=baf0ff5242cbe15c7109578472ce97da","dark":"https://mintcdn.com/vivix-20d305ce/_pH0P9NPGXmrYjpb/logo/dark.svg?fit=max\u0026auto=format\u0026n=_pH0P9NPGXmrYjpb\u0026q=85\u0026s=589e9a9cf678ffb3e4d02b257709d2b2","href":"https://platform.vivix.ai"},"favicon":"https://mintcdn.com/vivix-20d305ce/_pH0P9NPGXmrYjpb/favicon.png?fit=max\u0026auto=format\u0026n=_pH0P9NPGXmrYjpb\u0026q=85\u0026s=5c253eff0d790be37c1e534f29b580b0","appearance":{"default":"light","strict":true},"background":{"color":{"light":"#F9F6F4","dark":"#141413"}},"navbar":{"primary":{"type":"button","label":"Developer Platform","href":"https://platform.vivix.ai"}},"seo":{"indexing":"navigable"},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"vivix-20d305ce","hasAudioNarration":false,"actualSubdomain":"vivix-20d305ce","customDomains":["docs.vivix.ai"],"gitSource":{"type":"gitlab","owner":"vivix-labs","repo":"vivix-api-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"projectId":689,"hostUrl":"https://gitlab.vivix.work","mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6af736e036896a78e7f6275c","clientVersion":"0.0.4143","searchFilterCounts":[{"language":"default","tag":"API","count":73},{"language":"default","tag":"A1: Streaming Avatar","count":64},{"language":"default","tag":"API reference","count":45},{"language":"default","tag":"Server events","count":22},{"language":"default","tag":"Client events","count":8},{"language":"default","tag":"Integrate your app","count":7},{"language":"default","tag":"Agent","count":5},{"language":"default","tag":"Characters","count":5},{"language":"default","tag":"Sessions","count":5},{"language":"default","tag":"Voices","count":5}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":":root{--vivix-bg: #f9f6f4;--vivix-active: #e9e5e0;--vivix-line: #ddd8d3;--vivix-ink: #313131;--vivix-muted: #70757d;--vivix-note-bg: #f6f6f6}#sidebar-content li[data-active]>a{background-color:var(--vivix-active)!important;color:#202124!important}.callout[data-callout-type=\"note\"]{background-color:var(--vivix-note-bg)!important;border:0!important;border-left:3px solid var(--vivix-muted)!important;border-radius:6px!important}.callout[data-callout-type=\"note\"] [data-component-part=\"callout-content\"],.callout[data-callout-type=\"note\"] [data-component-part=\"callout-icon\"] svg{color:var(--vivix-ink)!important}#navbar{background-color:var(--vivix-bg);border-color:var(--vivix-line)}.columns>div>figure[data-name=\"frame\"]{height:100%}#w1-reference-pricing-note{background-color:#f0ece8;border-left:3px solid #b6aba0;border-radius:6px;padding:10px 14px;color:#5f6368;font-size:14px;line-height:1.5}#w1-reference-pricing-note strong{color:var(--vivix-ink);font-weight:600}.persona-map{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:16px;margin:28px 0 36px;color:#313131;font-size:13px;line-height:1.5}.persona-group-label{grid-column:1 / -1;color:#61716a;font-size:12px;font-weight:600}.persona-group-label:not(:first-child){margin-top:8px}.persona-speech{grid-column:1 / -1}.persona-outcome{display:flex;flex-direction:column;padding:20px;border:1px solid #ddd8d3;border-radius:16px;background:#f5f1ed}.persona-inputs{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:20px}.persona-inputs a,.persona-single-input{display:flex;flex-direction:column;gap:6px;text-decoration:none!important;border-bottom:0!important;color:#313131!important;font-weight:400}.persona-inputs a:hover .persona-module-title,.persona-single-input:hover .persona-module-title{text-decoration:underline}.persona-inputs a:focus-visible,.persona-single-input:focus-visible{outline:2px solid #617d79;outline-offset:4px;border-radius:3px}.persona-module-title{font-size:15px;line-height:1.4;font-weight:700}.persona-connector{margin:16px 0;text-align:center;color:#7b9788;font-size:23px;line-height:1}.persona-dialogue-scene{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center}.persona-speech-example{display:flex;flex-direction:column;gap:12px}.persona-viewer{color:#61716a;font-size:13px}.persona-reply{padding:14px 16px;border-radius:14px 14px 14px 3px;background:#fffaf5;border:1px solid #ddd8d3;font-size:15px;line-height:1.5}.persona-scene-caption{margin-top:12px;color:#576962;font-size:13px;line-height:1.6}.persona-map .persona-behavior-scene{width:100%;height:auto;margin:0}.persona-scene-labels{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;color:#576962;font-size:13px;text-align:center}@media (max-width: 540px){.persona-map,.persona-inputs,.persona-dialogue-scene{grid-template-columns:minmax(0, 1fr)}.persona-speech,.persona-group-label{grid-column:1}.persona-dialogue-scene{gap:12px}}"}],"page":{"pagePath":"agent/create-character/from-scratch","slug":"/agent/create-character/from-scratch","pageMetadata":{"title":"Start from scratch","description":null,"href":"/agent/create-character/from-scratch"},"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`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Frame,Heading,OptimizedImage,Step,Steps,Table,Tip}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`If none of the templates is close to what you want, describe your own character. The agent builds it with you step by step, covering how the character looks, sounds, talks, and moves, and what it says first. You can also give the character an app, such as a game or a product list, to use while talking with viewers.`}),`\n`,_jsx(Heading,{level:`2`,id:`create-the-character`,children:`Create the character`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Describe the character`,children:[_jsxs(_components.p,{children:[`Open `,_jsx(_components.strong,{children:`Agents`}),` on `,_jsx(_components.a,{href:`https://platform.vivix.ai`,children:`platform.vivix.ai`}),` and describe your character in the message box: who they are, how they look and sound, and what they should do with the people they talk to.`]}),_jsx(Frame,{caption:`The message box on the Agent home page. Use + to attach files.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/vivix-20d305ce/BgA5EDt1AAw3iK5a/images/agent/agent-home-v2.webp?fit=max\u0026auto=format\u0026n=BgA5EDt1AAw3iK5a\u0026q=85\u0026s=c6e5c57feb7914555f46e0cfec7e41b1`,alt:`Agent home page with a message box and a row of template cards`,\"data-og-width\":`1751`,width:`1751`,\"data-og-height\":`1246`,height:`1246`,\"data-path\":`images/agent/agent-home-v2.webp`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/vivix-20d305ce/BgA5EDt1AAw3iK5a/images/agent/agent-home-v2.webp?w=280\u0026fit=max\u0026auto=format\u0026n=BgA5EDt1AAw3iK5a\u0026q=85\u0026s=8e390ecb98135c9ebc6a74e57caf0688 280w, https://mintcdn.com/vivix-20d305ce/BgA5EDt1AAw3iK5a/images/agent/agent-home-v2.webp?w=560\u0026fit=max\u0026auto=format\u0026n=BgA5EDt1AAw3iK5a\u0026q=85\u0026s=43e41b37ab68e06da794cc2fe6e96447 560w, https://mintcdn.com/vivix-20d305ce/BgA5EDt1AAw3iK5a/images/agent/agent-home-v2.webp?w=840\u0026fit=max\u0026auto=format\u0026n=BgA5EDt1AAw3iK5a\u0026q=85\u0026s=1aa12c17b76ffbbabbaa35a098ce9fec 840w, https://mintcdn.com/vivix-20d305ce/BgA5EDt1AAw3iK5a/images/agent/agent-home-v2.webp?w=1100\u0026fit=max\u0026auto=format\u0026n=BgA5EDt1AAw3iK5a\u0026q=85\u0026s=b0fa4d3998f790fa75973284a404761d 1100w, https://mintcdn.com/vivix-20d305ce/BgA5EDt1AAw3iK5a/images/agent/agent-home-v2.webp?w=1650\u0026fit=max\u0026auto=format\u0026n=BgA5EDt1AAw3iK5a\u0026q=85\u0026s=807b97ba1189b94e42451a232836d4d5 1650w, https://mintcdn.com/vivix-20d305ce/BgA5EDt1AAw3iK5a/images/agent/agent-home-v2.webp?w=2500\u0026fit=max\u0026auto=format\u0026n=BgA5EDt1AAw3iK5a\u0026q=85\u0026s=56cbc74ac912f8c99d064c4f67f2fc12 2500w`})}),_jsx(CodeBlock,{filename:``,wrap:`true`,numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Create a friendly English tutor in her late twenties who chats in English and switches to Chinese when needed. She wears a cream knit sweater in a bright study room, speaks warmly at a slow pace, and asks a follow-up question after each answer.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})})]}),_jsx(Step,{title:`Attach references (optional)`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`+`}),` to attach images or other files, such as a face or outfit reference, a prop, or a product photo. Tell the agent what each file is for.`]})}),_jsx(Step,{title:`Answer the agent's questions`,children:_jsx(_components.p,{children:`Send your message, and Agent creates a new project and gets to work. If something important isn’t clear, the agent asks you first. Just answer in the chat.`})}),_jsx(Step,{title:`Review what it makes`,children:_jsx(_components.p,{children:`Generated images and voice samples show up in the chat as the agent works. If you like one image, ask the agent to build on it; if not, ask for another option.`})}),_jsx(Step,{title:`Try the character`,children:_jsxs(_components.p,{children:[`Open the `,_jsx(_components.strong,{children:`Live preview`}),` panel and click `,_jsx(_components.strong,{children:`Talk to character`}),` to have a conversation. Talking to the character uses credits.`]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`refine-by-chatting`,children:`Refine by chatting`}),`\n`,_jsx(_components.p,{children:`Ask for one change at a time, and mention anything that should stay the same. Here are some requests that work well:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Goal`}),_jsx(_components.th,{children:`Example request`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Conversation style`}),_jsx(_components.td,{children:`Keep replies short and direct, with an occasional dry joke.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Keep the conversation going`}),_jsx(_components.td,{children:`Set the character to ask relevant follow-up questions.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Catchphrase`}),_jsx(_components.td,{children:`Have the character occasionally say “Now that’s interesting.”`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Gestures`}),_jsx(_components.td,{children:`Design a welcoming gesture with the character’s arms spread wide.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Listening`}),_jsx(_components.td,{children:`Add gentle nods while the character listens.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Props`}),_jsx(_components.td,{children:`Attach an image: “Use this reference to give the character this camera.”`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Product in hand`}),_jsx(_components.td,{children:`Attach a product image: “Use this product reference to prepare an image of the character holding it.”`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Several props`}),_jsx(_components.td,{children:`Attach several images: “Use each of these as a separate prop, named the way I’ve labeled them.”`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Movement`}),_jsx(_components.td,{children:`Design an action where the character takes two steps toward the camera.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Walk and talk`}),_jsx(_components.td,{children:`Set up the character to speak while walking, with the camera following.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Camera`}),_jsx(_components.td,{children:`Set up full-body and medium shots, switching to the medium shot for key points.`})]})]})]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`For content the character should deliver the same way every time, such as a scripted greeting or a song with a dance, see `,_jsx(_components.a,{href:`/agent/capabilities/performance`,children:`Perform specific content`}),`. For games, product lists, and other interactive panels, see `,_jsx(_components.a,{href:`/agent/capabilities/app`,children:`Build an app the character can use`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`add-an-app`,children:`Add an app`}),`\n`,_jsx(_components.p,{children:`Once the character looks and sounds right, you can give it an app, such as a mini game, a product list, or a set of activities to choose from. The app appears next to the character. Viewers can use it, and the character uses it too and reacts to what viewers pick. Describe what the app shows, how it works, and what the character should do with it:`}),`\n`,_jsx(CodeBlock,{filename:``,wrap:`true`,numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Add a product list with my three products next to the character. When a viewer picks a product, have the character introduce it and show its price.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[`Try it by talking to the character in the `,_jsx(_components.strong,{children:`Live preview`}),` panel. For more ideas, see `,_jsx(_components.a,{href:`/agent/capabilities/app`,children:`Build an app the character can use`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`share`,children:`Share`}),`\n`,_jsxs(_components.p,{children:[`Your project saves every change as you go. When you’re happy with the character, click `,_jsx(_components.strong,{children:`Share`}),` at the top of the preview panel:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Copy link`}),` publishes the character as its own page and copies the link.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Share to community`}),` also lists it publicly under a name you choose.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Share becomes available once the character has its first image. You can keep working on the character after you share it.`}),`\n`,_jsxs(_components.p,{children:[`Signed-in visitors can click `,_jsx(_components.strong,{children:`Remix`}),` on a character page to make their own copy and change it however they like.`]})]})}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":{"config":{},"pageMetadata":{"title":"Start from scratch","description":null,"href":"/agent/create-character/from-scratch"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Create the character","slug":"create-the-character","depth":2,"children":[]},{"title":"Refine by chatting","slug":"refine-by-chatting","depth":2,"children":[]},{"title":"Add an app","slug":"add-an-app","depth":2,"children":[]},{"title":"Share","slug":"share","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"vivix-20d305ce","siteName":"Vivix API Platform","title":"Start from scratch - Vivix API Platform","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-06T16:37:25.204Z","originalFileLocation":"agent/create-character/from-scratch.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=\"light\";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=\"application-name\" content=\"Vivix API Platform\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/vivix-20d305ce/4XVG5hka1siEhate/_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=\"/mintlify-assets/_mintlify/favicons/vivix-20d305ce/4XVG5hka1siEhate/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/vivix-20d305ce/4XVG5hka1siEhate/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/vivix-20d305ce/4XVG5hka1siEhate/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/vivix-20d305ce/4XVG5hka1siEhate/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/vivix-20d305ce/4XVG5hka1siEhate/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/vivix-20d305ce/4XVG5hka1siEhate/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/vivix-20d305ce/4XVG5hka1siEhate/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/vivix-20d305ce/4XVG5hka1siEhate/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Start from scratch - Vivix API Platform\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Vivix API Platform\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.vivix.ai/agent/create-character/from-scratch\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://vivix-20d305ce.mintlify.site/_mintlify/api/og/v2?division=Create+a+character\u0026amp;title=Start+from+scratch\u0026amp;theme=c0ba66fadb8405a2f081edcf\u0026amp;signature=c33a52dce043f2554591693cdb1bf601f78297d1231bc29f42d4afac0418e4b4\">\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=\"Start from scratch - Vivix API Platform\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://vivix-20d305ce.mintlify.site/_mintlify/api/og/v2?division=Create+a+character\u0026amp;title=Start+from+scratch\u0026amp;theme=c0ba66fadb8405a2f081edcf\u0026amp;signature=c33a52dce043f2554591693cdb1bf601f78297d1231bc29f42d4afac0418e4b4\">\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=\"/mintlify-assets/_mintlify/favicons/vivix-20d305ce/4XVG5hka1siEhate/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Vivix API Platform\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#202124\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.vivix.ai/agent/create-character/from-scratch\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/agent/create-character/from-scratch.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.vivix.ai/#organization\",\"name\":\"Vivix API Platform\",\"url\":\"https://docs.vivix.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/vivix-20d305ce/_pH0P9NPGXmrYjpb/logo/light.svg?fit=max\u0026auto=format\u0026n=_pH0P9NPGXmrYjpb\u0026q=85\u0026s=baf0ff5242cbe15c7109578472ce97da\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.vivix.ai#website\",\"name\":\"Vivix API Platform\",\"url\":\"https://docs.vivix.ai\",\"publisher\":{\"@id\":\"https://docs.vivix.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.vivix.ai/agent/create-character/from-scratch#webpage\",\"url\":\"https://docs.vivix.ai/agent/create-character/from-scratch\",\"name\":\"Start from scratch\",\"dateModified\":\"2026-11-06T16:37:25.204Z\",\"isPartOf\":{\"@id\":\"https://docs.vivix.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.vivix.ai/agent/create-character/from-scratch#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.vivix.ai/agent/create-character/from-scratch#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Create a character\",\"item\":\"https://docs.vivix.ai/agent/create-character/from-template\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Start from scratch\",\"item\":\"https://docs.vivix.ai/agent/create-character/from-scratch\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.vivix.ai/agent/create-character/from-scratch#article\",\"headline\":\"Start from scratch\",\"name\":\"Start from scratch\",\"url\":\"https://docs.vivix.ai/agent/create-character/from-scratch\",\"mainEntityOfPage\":{\"@id\":\"https://docs.vivix.ai/agent/create-character/from-scratch#webpage\"},\"dateModified\":\"2026-11-06T16:37:25.204Z\",\"publisher\":{\"@id\":\"https://docs.vivix.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.vivix.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Vivix API Platform\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Vivix API Platform\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/agent/create-character/from-scratch.md","siteName":"Vivix API Platform","nav":{"global":null,"tabs":[{"tab":"API","icon":"code","pages":[{"title":"API","href":"/overview/introduction"}]},{"tab":"Agent","icon":"robot","groups":[{"group":"Get started","pages":[{"title":"Agent overview","sidebarTitle":"Overview","href":"/agent/overview"}]},{"group":"Create a character","pages":[{"title":"Start from a template","description":null,"href":"/agent/create-character/from-template"},{"title":"Start from scratch","href":"/agent/create-character/from-scratch"}]},{"group":"Character capabilities","pages":[{"title":"Build an app the character can use","sidebarTitle":"Build an app","description":null,"href":"/agent/capabilities/app"},{"title":"Perform specific content","sidebarTitle":"Perform specific content","href":"/agent/capabilities/performance"}]}]}]},"basePath":"","title":"Start from scratch - Vivix API Platform","buildId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","deploymentId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-D2acuaLg.js","DynamicMarkdown-Co5nikxh.js","zoom-image-lightbox-BbK2OBGL.js","lightbox-handle-r17bVUz3.js"]}