[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"navigation_en":3,"/docs/features/ai-data":144},[4,16,91,117,127],{"title":5,"path":6,"stem":7,"children":8,"icon":15},"Getting Started","/docs/get-started","docs/1.get-started/1.index",[9,11],{"title":10,"path":6,"stem":7},"Introduction",{"title":12,"path":13,"stem":14},"Setup","/docs/get-started/setup","docs/1.get-started/2.setup","mage:fast-forward-fill",{"title":17,"icon":18,"path":19,"stem":20,"children":21,"page":90},"Features","ic:baseline-cable","/docs/features","docs/2.features",[22,26,30,34,38,42,46,50,54,58,62,66,70,74,78,82,86],{"title":23,"path":24,"stem":25},"Database","/docs/features/database","docs/2.features/01.database",{"title":27,"path":28,"stem":29},"Authentication","/docs/features/auth","docs/2.features/02.auth",{"title":31,"path":32,"stem":33},"Payments","/docs/features/payments","docs/2.features/03.payments",{"title":35,"path":36,"stem":37},"Admin Panel","/docs/features/admin-panel","docs/2.features/04.admin-panel",{"title":39,"path":40,"stem":41},"AI","/docs/features/ai","docs/2.features/05.ai",{"title":43,"path":44,"stem":45},"Customization","/docs/features/customization","docs/2.features/06.customization",{"title":47,"path":48,"stem":49},"Storage","/docs/features/storage","docs/2.features/07.storage",{"title":51,"path":52,"stem":53},"Email","/docs/features/email","docs/2.features/08.email",{"title":55,"path":56,"stem":57},"Languages","/docs/features/languages","docs/2.features/09.languages",{"title":59,"path":60,"stem":61},"SEO","/docs/features/seo","docs/2.features/10.seo",{"title":63,"path":64,"stem":65},"Blogs","/docs/features/blogs","docs/2.features/11.blogs",{"title":67,"path":68,"stem":69},"Documentation","/docs/features/documentation","docs/2.features/12.documentation",{"title":71,"path":72,"stem":73},"Cron Jobs","/docs/features/cron-jobs","docs/2.features/13.cron-jobs",{"title":75,"path":76,"stem":77},"Error Handling","/docs/features/error-handling","docs/2.features/14.error-handling",{"title":79,"path":80,"stem":81},"Analytics","/docs/features/analytics","docs/2.features/15.analytics",{"title":83,"path":84,"stem":85},"PWA","/docs/features/pwa","docs/2.features/15.pwa",{"title":87,"path":88,"stem":89},"Customer Support","/docs/features/customer-support","docs/2.features/16.customer-support",false,{"title":92,"icon":93,"path":94,"stem":95,"children":96,"page":90},"Tutorials","ic:baseline-library-books","/docs/tutorials","docs/3.tutorials",[97,101,105,109,113],{"title":98,"path":99,"stem":100},"Project Structure","/docs/tutorials/project-structure","docs/3.tutorials/1.project-structure",{"title":102,"path":103,"stem":104},"Page Routes","/docs/tutorials/page-routes","docs/3.tutorials/2.page-routes",{"title":106,"path":107,"stem":108},"API Calls","/docs/tutorials/api-calls","docs/3.tutorials/3.api-calls",{"title":110,"path":111,"stem":112},"State Management","/docs/tutorials/state-management","docs/3.tutorials/4.state-management",{"title":114,"path":115,"stem":116},"Legal Pages by GPT","/docs/tutorials/legal-pages-by-gpt","docs/3.tutorials/5.legal-pages-by-gpt",{"title":118,"icon":119,"path":120,"stem":121,"children":122,"page":90},"Formatting & Linting","ic:baseline-format-align-left","/docs/formatting-and-linting","docs/4.formatting-and-linting",[123],{"title":124,"path":125,"stem":126},"Overview","/docs/formatting-and-linting/overview","docs/4.formatting-and-linting/1.overview",{"title":128,"icon":129,"path":130,"stem":131,"children":132,"page":90},"Deployment","ic:baseline-rocket-launch","/docs/deployment","docs/5.deployment",[133,136,140],{"title":124,"path":134,"stem":135},"/docs/deployment/overview","docs/5.deployment/1.overview",{"title":137,"path":138,"stem":139},"Vercel","/docs/deployment/vercel","docs/5.deployment/2.vercel",{"title":141,"path":142,"stem":143},"Cloudflare Workers","/docs/deployment/cloudflare","docs/5.deployment/3.cloudflare",{"page":145,"surround":327},{"id":146,"title":39,"body":147,"description":319,"extension":320,"head":321,"meta":322,"navigation":323,"ogImage":321,"path":40,"robots":321,"schemaOrg":321,"seo":324,"sitemap":325,"stem":41,"__hash__":326},"docs_en/docs/2.features/05.ai.md",{"type":148,"value":149,"toc":314},"minimark",[150,155,171,174,265,269,273,310],[151,152,154],"h2",{"id":153},"tools","Tools",[156,157,158],"ul",{},[159,160,161,170],"li",{},[162,163,164],"strong",{},[165,166,169],"a",{"href":167,"target":168},"https://openrouter.ai","_blank","OpenRouter"," – Access multiple AI models for chat, text, and images.",[151,172,12],{"id":173},"setup",[175,176,177,183,190,210],"ol",{},[159,178,179,180,182],{},"Sign up at ",[165,181,169],{"href":167,"target":168},".",[159,184,185,186,189],{},"Create an ",[162,187,188],{},"API Key"," in Account → API Keys.",[159,191,192,193],{},"Add the environment variable:\n",[194,195,200],"pre",{"className":196,"code":197,"language":198,"meta":199,"style":199},"language-env.local shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","OPENROUTER_API_KEY=\"your-openrouter-api-key\"\n","env.local","",[201,202,203],"code",{"__ignoreMap":199},[204,205,208],"span",{"class":206,"line":207},"line",1,[204,209,197],{},[159,211,212,213],{},"Select your default model in the config:\n",[194,214,219],{"className":215,"code":216,"filename":217,"language":218,"meta":199,"style":199},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","ai: {\n    model: 'openai/gpt-4o', // You can switch to any model from openrouter.ai/models\n},\n","shared/config.ts","ts",[201,220,221,234,259],{"__ignoreMap":199},[204,222,223,227,231],{"class":206,"line":207},[204,224,226],{"class":225},"sBMFI","ai",[204,228,230],{"class":229},"sMK4o",":",[204,232,233],{"class":229}," {\n",[204,235,237,240,242,245,249,252,255],{"class":206,"line":236},2,[204,238,239],{"class":225},"    model",[204,241,230],{"class":229},[204,243,244],{"class":229}," '",[204,246,248],{"class":247},"sfazB","openai/gpt-4o",[204,250,251],{"class":229},"'",[204,253,254],{"class":229},",",[204,256,258],{"class":257},"sHwdD"," // You can switch to any model from openrouter.ai/models\n",[204,260,262],{"class":206,"line":261},3,[204,263,264],{"class":229},"},\n",[151,266,268],{"id":267},"usage","Usage",[270,271,272],"p",{},"ShipAhead includes ready-to-use AI pages so you don’t have to code:",[156,274,275,288,299],{},[159,276,277,280,281,284,287],{},[162,278,279],{},"AI Chat"," – ",[201,282,283],{},"/app/pages/ai/chat.vue",[285,286],"br",{},"\nA ready made chat interface powered by your configured AI model.",[159,289,290,280,293,296,298],{},[162,291,292],{},"AI Text Generator",[201,294,295],{},"/app/pages/ai/text.vue",[285,297],{},"\nEnter text, generate output, and see results instantly. The API prompt and user input are combined in one request.",[159,300,301,280,304,307,309],{},[162,302,303],{},"AI Image Generator",[201,305,306],{},"/app/pages/ai/image.vue",[285,308],{},"\nGenerate images from prompts using supported models.",[311,312,313],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}",{"title":199,"searchDepth":236,"depth":236,"links":315},[316,317,318],{"id":153,"depth":236,"text":154},{"id":173,"depth":236,"text":12},{"id":267,"depth":236,"text":268},"Enable AI features in your app for chat, text generation, and image creation using OpenRouter.","md",null,{},true,{"title":39,"description":319},{"loc":40},"Qf7ByEtih3Et2xT1DOuaGC6XoSsKqoxCfT1QfiP08po",[328,330],{"title":35,"path":36,"stem":37,"description":329,"children":-1},"Set up the Admin Panel dashboard in your app to manage users, revenue, and subscriptions.",{"title":43,"path":44,"stem":45,"description":331,"children":-1},"Customize the logo, colors, favicon, NuxtUI theme, and font family in your app to match your brand."]