PageSourceSearch

https://soutine.ai/image-to-video

html soutine.ai collected 2026-10-05 12:39:06 UTC 220,267 bytes, 24 lines download raw bytes

1<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"/><link rel="preload" as="image" href="/brand/soutine-wordmark-gradient.png"/><link rel="stylesheet" href="/assets/globals-BX6bUJAr.css" data-precedence="default"/><link rel="stylesheet" href="/assets/workspace-shell-BLXq_8u6.css" data-precedence="default"/><link rel="stylesheet" href="/assets/workspace-footer-BLpacMov.css" data-precedence="default"/><link id="workspace-content-stylesheet" rel="stylesheet" href="/assets/workspace-DM9VY1PZ.css" data-precedence="default"/><title>AI Image to Video Generator | Soutine</title><meta name="theme-color" content="#964397"/><meta name="description" content="Bring still images to life with AI motion, animation, and cinematic video generation."/><meta property="og:title" content="AI Image to Video Generator | Soutine"/><meta property="og:description" content="Bring still images to life with AI motion, animation, and cinematic video generation."/><meta property="og:image" content="https://soutine.ai/brand/soutine-og.png"/><meta property="og:site_name" content="Soutine"/><meta property="og:type" content="website"/><meta property="og:locale" content="en_US"/><meta property="og:locale:alternate" content="zh_CN"/><meta property="og:url" content="https://soutine.ai/image-to-video"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="AI Image to Video Generator | Soutine"/><meta name="twitter:description" content="Bring still images to life with AI motion, animation, and cinematic video generation."/><meta name="twitter:image" content="https://soutine.ai/brand/soutine-og.png"/><link rel="modulepreload" href="/assets/index-Df1ImChr.js"/><link rel="modulepreload" href="/assets/rolldown-runtime-Cyuzqnbw.js"/><link rel="modulepreload" href="/assets/react-BXs6Vsj-.js"/><link rel="modulepreload" href="/assets/router-runtime-BFKTlJQ2.js"/><link rel="modulepreload" href="/assets/createServerFn-RcuTD8o7.js"/><link rel="modulepreload" href="/assets/shell-utils-TR-Fic4T.js"/><link rel="modulepreload" href="/assets/workspace-visibility-wIrevWBZ.js"/><link rel="modulepreload" href="/assets/urls-DSJMWXxD.js"/><link rel="modulepreload" href="/assets/_locale-8enEKTvd.js"/><link rel="modulepreload" href="/assets/auth-client-Mn74PrKN.js"/><link rel="modulepreload" href="/assets/use-locale-switch-C0Fd6oVi.js"/><link rel="modulepreload" href="/assets/payment-flow-provider-yCSTvxCa.js"/><link rel="modulepreload" href="/assets/critical-runtime-loaders-lxPYJfOy.js"/><link rel="modulepreload" href="/assets/daily-check-in-welcome-modal-context-TCBIE5Ym.js"/><link rel="modulepreload" href="/assets/_locale-UxhHuZdG.js"/><link rel="modulepreload" href="/assets/_workspace-CS3_HKQJ.js"/><link rel="modulepreload" href="/assets/dist-D9xAOd3x.js"/><link rel="modulepreload" href="/assets/tooltip-B1yi8rLI.js"/><link rel="modulepreload" href="/assets/useQuery-DwBEl_Sf.js"/><link rel="modulepreload" href="/assets/workspace-public-page-Czor332k.js"/><link rel="modulepreload" href="/assets/shared-icons-JHAM4Y6y.js"/><link rel="modulepreload" href="/assets/dashboard-header-AOifDQ3G.js"/><link rel="modulepreload" href="/assets/ModelBrandIcon-1uB99mv-.js"/><link rel="modulepreload" href="/assets/seo-navigation-YF3y_yYZ.js"/><link rel="modulepreload" href="/assets/use-campaign-OWZvTvRi.js"/><link rel="modulepreload" href="/assets/use-credits-CxmC5ucA.js"/><link rel="modulepreload" href="/assets/use-payment-BP-Ij1Jn.js"/><link rel="modulepreload" href="/assets/_content-DzZXSneD.js"/><link rel="modulepreload" href="/assets/image-to-video-DMJsTYT1.js"/><link rel="modulepreload" href="/assets/Generator-BM0P9bf4.js"/><link rel="modulepreload" href="/assets/workspace-page-hero-DIN_Wgf8.js"/><link rel="modulepreload" href="/assets/workspace-page-CaLCMHFx.js"/><link rel="modulepreload" href="/assets/workspace-page-configs-Bmge9_9H.js"/><link rel="icon" href="/brand/soutine-mark.png" sizes="512x512" type="image/png"/><link rel="manifest" href="/site.webmanifest"/>
1<link rel="canonical" href="https://soutine.ai/image-to-video"/><link rel="alternate" hrefLang="en" href="https://soutine.ai/image-to-video"/><link rel="alternate" hrefLang="de" href="https://soutine.ai/de/image-to-video"/><link rel="alternate" hrefLang="es" href="https://soutine.ai/es/image-to-video"/><link rel="alternate" hrefLang="fr" href="https://soutine.ai/fr/image-to-video"/><link rel="alternate" hrefLang="zh" href="https://soutine.ai/zh/image-to-video"/><link rel="alternate" hrefLang="x-default" href="https://soutine.ai/image-to-video"/>
1<script>globalThis.__zod_globalConfig={...(globalThis.__zod_globalConfig||{}),jitless:true};</script>
1<script>(function(){try{var t=localStorage.getItem('theme')||'system';if(t==='system')t=window.matchMedia('(prefers-color-scheme: dark)').matches?'dark':'light';document.documentElement.classList.remove('light','dark');document.documentElement.classList.add(t);}catch(e){}})()</script>
1<script>(function(){try{var r=document.documentElement;var d=localStorage.getItem("marketing-banner:dismissed-id")==="creator-boost-aug-2026";if(d)r.setAttribute("data-marketing-banner-dismissed",'');else r.removeAttribute("data-marketing-banner-dismissed");}catch(e){}})()</script>
1<script>var __name=window.__name||function(target,value){try{return Object.defineProperty(target,"name",{value:value,configurable:true})}catch(e){return target}};window.__name=__name;</script>
1<script>(function(){var w=window,k='__soutineHomeHeroInteraction',a='__soutineHomeHeroCaptureEnabled',z='__soutineHomeHeroObserver',h='[data-home-hero-capture]',p='textarea.panel-input',i=function(e){return e&&e.closest&&e.closest(h)},o=function(v){w[k]=Object.assign({},w[k]||{},v);dispatchEvent(new Event('home:hero-interaction'))},q=function(f){var r=document.querySelector(h),d=f&&f.dataset;return r&&(f instanceof HTMLTextAreaElement?r.querySelector(p):d&&d.heroTabId?r.querySelector('[data-hero-tab-id="'+d.heroTabId+'"]'):null)},s=function(b){var d=b.dataset;return d.heroTabId||d.heroAction||d.heroInspirationIndex||b.classList.contains('panel-go')||b.closest('[data-generator-field="model"]')},u=function(e){if(!w[a])return;var t=e.type==='selectionchange'?document.activeElement:e.target;if(!(t instanceof HTMLTextAreaElement)||!t.matches('textarea.panel-input')||!i(t))return;o({focusElement:t,prompt:t.value,selectionEnd:t.selectionEnd,selectionStart:t.selectionStart})},v=function(e){var y=e.type==='keydown';if(!w[a]||y&&e.key!=='Enter'&&e.key!==' '||!y&&(e.button||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey))return;var t=e.target;if(!(t instanceof Element)||!i(t))return;var b=t.closest('button,[role="button"],[role="tab"]');if(!b||b.hasAttribute('disabled')||b.getAttribute('aria-disabled')==='true'||!s(b))return;var r=i(t),x=r&&r.querySelector(p);e.preventDefault();e.stopPropagation();o(Object.assign({activationElement:b,prompt:x?x.value:(w[k]||{}).prompt},y||document.activeElement===b?{focusElement:b}:{}))};w[a]=true;document.addEventListener('focusin',function(e){if(!w[a])return;var t=e.target;if(!(t instanceof HTMLElement)||!i(t))return;o(Object.assign({focusElement:t},t instanceof HTMLTextAreaElement?{prompt:t.value,selectionEnd:t.selectionEnd,selectionStart:t.selectionStart}:{}))},true);document.addEventListener('input',u,true);document.addEventListener('select',u,true);document.addEventListener('selectionchange',u,true);document.addEventListener('click',v,true);document.addEventListener('keydown',v,true);var m=new MutationObserver(function(){if(!w[a])return;var s=w[k],f=s&&s.focusElement;if(!f||f.isConnected)return;if(f instanceof HTMLTextAreaElement){s.prompt=f.value;s.selectionStart=f.selectionStart;s.selectionEnd=f.selectionEnd}var t=q(f);if(!t)return;if(t instanceof HTMLTextAreaElement&&s.prompt!==undefined){t.value=s.prompt;t.setSelectionRange(s.selectionStart||0,s.selectionEnd||s.selectionStart||0)}t.focus({preventScroll:true});s.focusElement=t});w[z]=m;m.observe(document,{childList:true,subtree:true})})()</script>
1</head><body class="font-sans antialiased">
1<script>((e6, r6, s9, u5, d4, m6, l6, h5) => {
2      let c6 = document.documentElement, v4 = ["light", "dark"];
3      function p5(i5) {
4        (Array.isArray(e6) ? e6 : [e6]).forEach((y6) => {
5          let k6 = y6 === "class", S6 = k6 && m6 ? d4.map((f4) => m6[f4] || f4) : d4;
6          k6 ? (c6.classList.remove(...S6), c6.classList.add(i5)) : c6.setAttribute(y6, i5);
7        }), R5(i5);
8      }
9      __name(p5, "p");
10      function R5(i5) {
11        h5 && v4.includes(i5) && (c6.style.colorScheme = i5);
12      }
13      __name(R5, "R");
14      function a6() {
15        return window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
16      }
17      __name(a6, "a");
18      if (u5) p5(u5);
19      else try {
20        let i5 = localStorage.getItem(r6) || s9;
21        p5(l6 && i5 === "system" ? a6() : i5);
22      } catch (i5) {
23      }
24    })("class","theme","dark",null,["light","dark"],null,true,true)</script>
24<div aria-hidden="true" data-route-top-loader="" class="pointer-events-none fixed inset-x-0 top-0 z-[var(--z-tooltip)] h-[3px] overflow-visible"><div data-route-top-loader-bar="" class="h-full origin-left rounded-r-full transition-[transform,opacity] duration-300 ease-out" style="background:linear-gradient(90deg, var(--primary), var(--ring), color-mix(in oklab, var(--primary) 58%, white));box-shadow:0 0 0 1px color-mix(in oklab, var(--primary) 45%, white), 0 0 12px color-mix(in srgb, var(--primary) 78%, transparent), 0 0 24px color-mix(in srgb, var(--ring) 48%, transparent);opacity:0;transform:scaleX(0)"></div></div><!--$--><output aria-hidden="true" aria-live="polite" class="pointer-events-none opacity-0 transition-opacity duration-150 ease-out motion-reduce:transition-none" data-route-loading-overlay="" data-visible="false"><div class="fixed inset-0 z-[var(--z-popover)] flex items-center justify-center bg-background/45 backdrop-blur-[4px] dark:bg-background/55"><div class="flex flex-col items-center gap-3 text-foreground"><span aria-hidden="true" class="size-6 animate-spin rounded-full border-2 border-primary/25 border-t-primary motion-reduce:animate-none"></span><span class="text-sm font-medium">Loading...</span></div></div></output><div data-route-content="true"><div data-workspace="true" class="flex min-h-screen flex-col"><nav class="sr-only" aria-label="Site navigation for search engines"><p>Site Navigation</p><ul><li><a href="/">Home</a></li><li><a href="/text-to-video">Text to Video</a></li><li><a href="/image-to-video">Image to Video</a></li><li><a href="/text-to-image">Text to Image</a></li><li><a href="/image-to-image">Image to Image</a></li><li><a href="/ai-video-upscaler">AI Video Upscaler</a></li><li><a href="/models">AI Models</a></li><li><a href="/models/qwen-image-2-1">Qwen Image 2.1</a></li><li><a href="/models/nano-banana">Nano Banana</a></li><li><a href="/models/nano-banana-2-lite">Nano Banana 2 Lite</a></li><li><a href="/models/nano-banana-pro">Nano Banana Pro</a></li><li><a href="/models/gpt-image-2.5">GPT Image 2.5</a></li></ul></nav><div data-slot="sidebar-wrapper" style="--sidebar-width:240px;--sidebar-width-icon:3rem" class="group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex w-full flex-col flex-1 min-h-0"><div class="flex flex-1 min-h-screen w-full"><div class="group peer text-sidebar-foreground hidden md:block" data-state="expanded" data-layout-collapsible="" data-collapsible="" data-preview="closed" data-variant="inset" data-side="left" data-slot="sidebar"><div data-slot="sidebar-gap" class="relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear motion-reduce:transition-none group-data-[layout-collapsible=offcanvas]:w-0 group-data-[side=right]:rotate-180 group-data-[layout-collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]"></div><div data-slot="sidebar-container" class="fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear motion-reduce:transition-none group-data-[preview=open]:z-30 md:flex left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)] p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)] group-data-[side=left]:border-r group-data-[side=right]:border-l dark:group-data-[side=left]:border-white/[0.08]"><div data-sidebar="sidebar" data-slot="sidebar-inner" class="bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm group-data-[preview=open]:shadow-lg motion-reduce:transition-none"><div data-slot="sidebar-header" data-sidebar="header" class="flex p-2 h-14 shrink-0 flex-row items-center gap-1 border-b border-border/40 px-3 py-2 group-data-[collapsible=icon]:px-1"><button data-slot="button" class="inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg:not([class*=&#x27;
24size-&#x27;])]:size-4 [&amp;_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:hover:bg-accent/50 relative size-10 h-fit aspect-square cursor-pointer select-none rounded-full border-0 bg-transparent p-0 text-foreground/75 shadow-none hover:bg-transparent hover:text-foreground group/sidebar-toggle shrink-0" type="button" data-workspace-sidebar-trigger="true" aria-expanded="true" aria-label="Collapse Sidebar" title="Collapse Sidebar"><span class="relative size-[22px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu absolute inset-0 size-[22px] transition-opacity duration-150 group-hover/sidebar-toggle:opacity-0 group-focus-visible/sidebar-toggle:opacity-0"><line x1="4" x2="20" y1="12" y2="12"></line><line x1="4" x2="20" y1="6" y2="6"></line><line x1="4" x2="20" y1="18" y2="18"></line></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-left absolute inset-0 size-[22px] opacity-0 transition-opacity duration-150 group-hover/sidebar-toggle:opacity-100 group-focus-visible/sidebar-toggle:opacity-100"><path d="m15 18-6-6 6-6"></path></svg></span></button><a data-workspace-brand="true" aria-label="Soutine home" href="/" class="flex min-w-0 items-center pl-1 group-data-[collapsible=icon]:hidden"><img src="/brand/soutine-wordmark-gradient.png" alt="Soutine" title="Soutine" width="1167" height="256" data-brand-wordmark="true" class="w-auto object-contain h-6 max-w-28"/></a></div><div data-slot="sidebar-content" data-sidebar="content" class="flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-y-auto px-2 py-2"><ul data-slot="sidebar-menu" data-sidebar="menu" class="flex w-full min-w-0 flex-col gap-1"><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative"><a title="Home" data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" data-active="false" data-state="closed" href="/" class="peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left outline-hidden ring-sidebar-ring transition-[width,height,padding] focus-visible:ring-[3px] active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-medium data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-10 md:h-9 px-3 text-sm data-[active=true]:bg-sidebar-primary/10 data-[active=true]:text-sidebar-foreground data-[active=true]:ring-1 data-[active=true]:ring-inset data-[active=true]:ring-sidebar-primary/25 data-[active=true]:hover:bg-sidebar-primary/15 dark:data-[active=true]:bg-sidebar-primary/15 dark:data-[active=true]:ring-sidebar-primary/30 dark:data-[active=true]:hover:bg-sidebar-primary/20"><span class="flex size-4 shrink-0 items-center justify-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-house size-4 shrink-0"><path d="M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"></path><path d="M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path></svg></span><span class="truncate group-data-[collapsible=icon]:hidden">Home</span></a></li><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative"><a title="Create" data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" data-active="false" data-state="closed" href="/create" class="peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left outline-hidden ring-sidebar-ring transition-[width,height,padding] focus-visible:ring-[3px] active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-medium data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-10 md:h-9 px-3 text-sm data-[active=true]:bg-sidebar-primary/10 data-[active=true]:text-sidebar-foreground data-[active=true]:ring-1 data-[active=true]:ring-inset data-[active=true]:ring-sidebar-primary/25 data-[active=true]:hover:bg-sidebar-primary/15 dark:data-[active=true]:bg-sidebar-primary/15 dark:data-[active=true]:ring-sidebar-primary/30 dark:data-[active=true]:hover:bg-sidebar-primary/20"><span class="flex size-4 shrink-0 items-center justify-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-plus size-4 shrink-0"><circle cx="12" cy="12" r="10"></circle><path d="M8 12h8"></path><path d="M12 8v8"></path></svg></span><span class="truncate group-data-[collapsible=icon]:hidden">Create</span></a></li><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative"><a title="My Creations" data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" data-active="false" data-state="closed" href="/my-creations" class="peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left outline-hidden ring-sidebar-ring transition-[width,height,padding] focus-visible:ring-[3px] active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-medium data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-10 md:h-9 px-3 text-sm data-[active=true]:bg-sidebar-primary/10 data-[active=true]:text-sidebar-foreground data-[active=true]:ring-1 data-[active=true]:ring-inset data-[active=true]:ring-sidebar-primary/25 data-[active=true]:hover:bg-sidebar-primary/15 dark:data-[active=true]:bg-sidebar-primary/15 dark:data-[active=true]:ring-sidebar-primary/30 dark:data-[active=true]:hover:bg-sidebar-primary/20"><span class="flex size-4 shrink-0 items-center justify-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-images size-4 shrink-0"><path d="M18 22H4a2 2 0 0 1-2-2V6"></path><path d="m22 13-1.296-1.296a2.41 2.41 0 0 0-3.408 0L11 18"></path><circle cx="12" cy="8" r="2"></circle><rect width="16" height="16" x="6" y="2" rx="2"></rect></svg></span><span class="truncate group-data-[collapsible=icon]:hidden">My Creations</span></a></li><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative pt-1"><div data-state="closed" data-slot="collapsible"><button data-slot="collapsible-trigger" data-sidebar="menu-button" data-size="default" data-active="false" class="peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left outline-hidden ring-sidebar-ring transition-[width,height,padding] focus-visible:ring-[3px] active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-10 md:h-9 px-3 text-sm font-medium" disabled="" title="AI Image" t
24ype="button" aria-controls="radix-_R_157j2p9cq_" aria-expanded="false" data-state="closed"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-images size-4"><path d="M18 22H4a2 2 0 0 1-2-2V6"></path><path d="m22 13-1.296-1.296a2.41 2.41 0 0 0-3.408 0L11 18"></path><circle cx="12" cy="8" r="2"></circle><rect width="16" height="16" x="6" y="2" rx="2"></rect></svg><span class="truncate group-data-[collapsible=icon]:hidden">AI Image</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right ml-auto size-3.5 shrink-0 transition-transform motion-reduce:transition-none group-data-[collapsible=icon]:hidden"><path d="m9 18 6-6-6-6"></path></svg></button><div data-state="closed" id="radix-_R_157j2p9cq_" hidden="" data-slot="collapsible-content"></div></div></li><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative pt-1"><div data-state="open" data-slot="collapsible"><button data-slot="collapsible-trigger" data-sidebar="menu-button" data-size="default" data-active="false" class="peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left outline-hidden ring-sidebar-ring transition-[width,height,padding] focus-visible:ring-[3px] active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-10 md:h-9 px-3 text-sm font-medium text-sidebar-primary" disabled="" title="AI Video" type="button" aria-controls="radix-_R_1d7j2p9cq_" aria-expanded="true" data-state="open"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clapperboard size-4"><path d="M20.2 6 3 11l-.9-2.4c-.3-1.1.3-2.2 1.3-2.5l13.5-4c1.1-.3 2.2.3 2.5 1.3Z"></path><path d="m6.2 5.3 3.1 3.9"></path><path d="m12.4 3.4 3.1 4"></path><path d="M3 11h18v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Z"></path></svg><span class="truncate group-data-[collapsible=icon]:hidden">AI Video</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right ml-auto size-3.5 shrink-0 transition-transform motion-reduce:transition-none group-data-[collapsible=icon]:hidden rotate-90"><path d="m9 18 6-6-6-6"></path></svg></button><div data-state="open" id="radix-_R_1d7j2p9cq_" data-slot="collapsible-content"><ul data-slot="sidebar-menu" data-sidebar="menu" class="flex min-w-0 flex-col ml-4 w-auto gap-0.5 py-1 pl-2 group-data-[collapsible=icon]:hidden"><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative"><a title="Text to Video" data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" data-active="false" data-state="closed" href="/text-to-video" class="peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left outline-hidden ring-sidebar-ring transition-[width,height,padding] focus-visible:ring-[3px] active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-medium data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-10 px-3 data-[active=true]:bg-sidebar-primary/10 data-[active=true]:text-sidebar-foreground data-[active=true]:ring-1 data-[active=true]:ring-inset data-[active=true]:ring-sidebar-primary/25 data-[active=true]:hover:bg-sidebar-primary/15 dark:data-[active=true]:bg-sidebar-primary/15 dark:data-[active=true]:ring-sidebar-primary/30 dark:data-[active=true]:hover:bg-sidebar-primary/20 md:h-8 text-[13px]"><span class="flex size-4 shrink-0 items-center justify-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clapperboard size-3.5 shrink-0"><path d="M20.2 6 3 11l-.9-2.4c-.3-1.1.3-2.2 1.3-2.5l13.5-4c1.1-.3 2.2.3 2.5 1.3Z"></path><path d="m6.2 5.3 3.1 3.9"></path><path d="m12.4 3.4 3.1 4"></path><path d="M3 11h18v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Z"></path></svg></span><span class="truncate group-data-[collapsible=icon]:hidden">Text to Video</span></a></li><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative"><a aria-current="page" title="Image to Video" data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" data-active="true" data-state="closed" href="/image-to-vi
24deo" class="peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left outline-hidden ring-sidebar-ring transition-[width,height,padding] focus-visible:ring-[3px] active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-medium data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-10 px-3 data-[active=true]:bg-sidebar-primary/10 data-[active=true]:text-sidebar-foreground data-[active=true]:ring-1 data-[active=true]:ring-inset data-[active=true]:ring-sidebar-primary/25 data-[active=true]:hover:bg-sidebar-primary/15 dark:data-[active=true]:bg-sidebar-primary/15 dark:data-[active=true]:ring-sidebar-primary/30 dark:data-[active=true]:hover:bg-sidebar-primary/20 md:h-8 text-[13px]"><span class="flex size-4 shrink-0 items-center justify-center text-sidebar-primary"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-film size-3.5 shrink-0"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M7 3v18"></path><path d="M3 7.5h4"></path><path d="M3 12h18"></path><path d="M3 16.5h4"></path><path d="M17 3v18"></path><path d="M17 7.5h4"></path><path d="M17 16.5h4"></path></svg></span><span class="truncate group-data-[collapsible=icon]:hidden font-semibold">Image to Video</span></a></li></ul></div></div></li><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative pt-1"><div data-state="closed" data-slot="collapsible"><button data-slot="collapsible-trigger" data-sidebar="menu-button" data-size="default" data-active="false" class="peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left outline-hidden ring-sidebar-ring transition-[width,height,padding] focus-visible:ring-[3px] active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-10 md:h-9 px-3 text-sm font-medium" disabled="" title="Enhance &amp; Restore" type="button" aria-controls="radix-_R_1l7j2p9cq_" aria-expanded="false" data-state="closed"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-expand size-4"><path d="m15 15 6 6"></path><path d="m15 9 6-6"></path><path d="M21 16.2V21h-4.8"></path><path d="M21 7.8V3h-4.8"></path><path d="M3 16.2V21h4.8"></path><path d="m3 21 6-6"></path><path d="M3 7.8V3h4.8"></path><path d="M9 9 3 3"></path></svg><span class="truncate group-data-[collapsible=icon]:hidden">Enhance &amp; Restore</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right ml-auto size-3.5 shrink-0 transition-transform motion-reduce:transition-none group-data-[collapsible=icon]:hidden"><path d="m9 18 6-6-6-6"></path></svg></button><div data-state="closed" id="radix-_R_1l7j2p9cq_" hidden="" data-slot="collapsible-content"></div></div></li><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative pt-1"><div data-state="open" data-slot="collapsible"><button data-slot="collapsible-trigger" data-sidebar="menu-button" data-size="default" data-active="false" class="peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left outline-hidden ring-sidebar-ring transition-[width,height,padding] focus-visible:ring-[3px] active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-10 md:h-9 px-3 text-sm font-medium" disabled="" title="AI Models" type="button" aria-controls="radix-_R_1t7j2p9cq_" aria-expanded="true" data-state="open"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layers size-4"><path d="M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z"></path><path d="M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12"></path><path d="M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17"></path></svg><span class="truncate group-data-[collapsible=icon]:hidden">AI Models</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right ml-auto size-3.5 shrink-0 transition-transform motion-reduce:transition-none group-data-[collapsible=icon]:hidden rotate-90"><path d="m9 18 6-6-6-6"></path></svg></button><div data-state="open" id="radix-_R_1t7j2p9cq_" data-slot="collapsible-content"><ul data-slot="sidebar-menu" data-sidebar="menu" class="flex min-w-0 flex-col ml-4 w-auto gap-0.5 py-1 pl-2 group-data-[collapsible=icon]:hidden"><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative"><a title="Kling 4" data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" data-active="false" data-state="closed" href="/models/kling-4" class="peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left outline-hidden ring-sidebar-ring transition-[width,height,padding] focus-visible:ring-[3px] active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-medium data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-10 px-3 data-[active=true]:bg-sidebar-primary/10 data-[active=true]:text-sidebar-foreground data-[active=true]:ring-1 data-[active=true]:ring-inset data-[active=true]:ring-sidebar-primary/25 data-[active=true]:hover:bg-sidebar-primary/15 dark:data-[active=true]:bg-sidebar-primary/15 dark:data-[active=true]:ring-sidebar-primary/30 dark:data-[active=true]:hover:bg-sidebar-primary/20 md:h-8 text-[13px]"><span class="flex size-4 shrink-0 items-center justify-center"><span class="flex shrink-0 items-center justify-center overflow-hidden text-[10px] font-semibold text-muted-foreground border-black/10 model-brand-icon--theme-aware size-4 rounded-sm border-0 bg-transparent [&amp;_picture]:p-0" aria-hidden="true" data-model-brand="kuaishou"><picture class="flex h-full w-full p-1 items-center justify-center"><img src="/brand/models/kling-symbol.svg" alt="" height="24" width="24" class="max-h-full object-contain max-w-full model-brand-icon--dark-contrast"/></picture></span></span><span class="truncate group-data-[collapsible=icon]:hidden">Kling 4</span></a></li><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative">
24<a title="Qwen Image 2.1" data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" data-active="false" data-state="closed" href="/models/qwen-image-2-1" class="peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left outline-hidden ring-sidebar-ring transition-[width,height,padding] focus-visible:ring-[3px] active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-medium data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-10 px-3 data-[active=true]:bg-sidebar-primary/10 data-[active=true]:text-sidebar-foreground data-[active=true]:ring-1 data-[active=true]:ring-inset data-[active=true]:ring-sidebar-primary/25 data-[active=true]:hover:bg-sidebar-primary/15 dark:data-[active=true]:bg-sidebar-primary/15 dark:data-[active=true]:ring-sidebar-primary/30 dark:data-[active=true]:hover:bg-sidebar-primary/20 md:h-8 text-[13px]"><span class="flex size-4 shrink-0 items-center justify-center"><span class="flex shrink-0 items-center justify-center overflow-hidden text-[10px] font-semibold text-muted-foreground border-black/10 model-brand-icon--theme-aware size-4 rounded-sm border-0 bg-transparent [&amp;_picture]:p-0" aria-hidden="true" data-model-brand="alibaba"><picture class="flex h-full w-full p-1 items-center justify-center"><img src="/brand/models/alibaba-cloud-symbol.svg" alt="" height="24" width="24" class="max-h-full object-contain max-w-full"/></picture></span></span><span class="truncate group-data-[collapsible=icon]:hidden">Qwen Image 2.1</span><span class="ml-auto shrink-0 text-[10px] font-medium text-sidebar-primary group-data-[collapsible=icon]:hidden">New</span></a></li><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative"><a title="Nano Banana" data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" data-active="false" data-state="closed" href="/models/nano-banana" class="peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left outline-hidden ring-sidebar-ring transition-[width,height,padding] focus-visible:ring-[3px] active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-medium data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-10 px-3 data-[active=true]:bg-sidebar-primary/10 data-[active=true]:text-sidebar-foreground data-[active=true]:ring-1 data-[active=true]:ring-inset data-[active=true]:ring-sidebar-primary/25 data-[active=true]:hover:bg-sidebar-primary/15 dark:data-[active=true]:bg-sidebar-primary/15 dark:data-[active=true]:ring-sidebar-primary/30 dark:data-[active=true]:hover:bg-sidebar-primary/20 md:h-8 text-[13px]"><span class="flex size-4 shrink-0 items-center justify-center"><span class="flex shrink-0 items-center justify-center overflow-hidden text-[10px] font-semibold text-muted-foreground border-black/10 model-brand-icon--theme-aware size-4 rounded-sm border-0 bg-transparent [&amp;_picture]:p-0" aria-hidden="true" data-model-brand="google"><picture class="flex h-full w-full p-1 items-center justify-center"><img src="/brand/models/google-deepmind-symbol.svg" alt="" height="24" width="24" class="max-h-full object-contain max-w-full model-brand-icon--dark-contrast"/></picture></span></span><span class="truncate group-data-[collapsible=icon]:hidden">Nano Banana</span></a></li><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative"><a title="Nano Banana 2 Lite" data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" data-active="false" data-state="closed" href="/models/nano-banana-2-lite" class="peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left outline-hidden ring-sidebar-ring transition-[width,height,padding] focus-visible:ring-[3px] active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-medium data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-10 px-3 data-[active=true]:bg-sidebar-primary/10 data-[active=true]:text-sidebar-foreground data-[active=true]:ring-1 data-[active=true]:ring-inset data-[active=true]:ring-sidebar-primary/25 data-[active=true]:hover:bg-sidebar-primary/15 dark:data-[active=true]:bg-sidebar-primary/15 dark:data-[active=true]:ring-sidebar-primary/30 dark:data-[active=true]:hover:bg-sidebar-primary/20 md:h-8 text-[13px]"><span class="flex size-4 shrink-0 items-center justify-center"><span class="flex shrink-0 items-center justify-center overflow-hidden text-[10px] font-semibold text-muted-foreground border-black/10 model-brand-icon--theme-aware size-4 rounded-sm border-0 bg-transparent [&amp;_picture]:p-0" aria-hidden="true" data-model-brand="google"><picture class="flex h-full w-full p-1 items-center justify-center"><img src="/brand/models/google-deepmind-symbol.svg" alt="" height="24" width="24" class="max-h-full object-contain max-w-full model-brand-icon--dark-contrast"/></picture></span></span><span class="truncate group-data-[collapsible=icon]:hidden">Nano Banana 2 Lite</span></a></li><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative"><a title="Nano Banana Pro" data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" data-active="false" data-state="closed" href="/models/nano-banana-pro" class="peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left outline-hidden ring-sidebar-ring transition-[width,height,padding] focus-visible:ring-[3px] active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-medium data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-10 px-3 data-[active=true]:bg-sidebar-primary/10 data-[active=true]:text-sidebar-foreground data-[active=true]:ring-1 data-[active=true]:ring-inset data-[active=true]:ring-sidebar-primary/25 data-[active=true]:hover:bg-sidebar-primary/15 dark:data-[active=true]:bg-sidebar-primary/15 dark:data-[active=true]:ring-sidebar-primary/30 dark:data-[active=true]:hover:bg-sidebar-primary/20 md:h-8 text-[13px]"><span class="flex size-4 shrink-0 items-center justify-center"><span class="flex shrink-0 items-center justify-center overflow-hidden text-[10px] font-semibold text-muted-foreground border-black/10 model-brand-icon--theme-aware size-4 rounded-sm border-0 bg-transparent [&amp;_picture]:p-0" aria-hidden="true" data-model-brand="google"><picture class="flex h-full w-full p-1 items-center justify-center"><img src="/brand/models/google-deepmind-symbol.svg" alt="" height="24" width="24" class="max-h-full object-contain max-w-full model-brand-icon--dark-contrast"/></picture></span></span><span class="truncate group-data-[collapsible=icon]:hidden">Nano Banana Pro</span></a></li><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative"><a title="GPT Image 2.5" data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" data-active="false" data-state="closed" href="/models/gpt-image-2.5" class="peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left outline-hidden ring-sidebar-ring transition-[width,height,padding] focus-visible:ring-[3px] active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-medium data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-10 px-3 data-[active=true]:bg-sidebar-primary/10 data-[active=true]:text-sidebar-foreground data-[active=true]:ring-1 data-[active=true]:ring-inset data-[active=true]:ring-sidebar-primary/25 data-[active=true]:hover:bg-sidebar-primary/15 dark:data-[active=true]:bg-sidebar-primary/15 dark:data-[active=true]:ring-sidebar-primary/30 dark:data-[active=true]:hover:bg-sidebar-primary/20 md:h-8 text-[13px]"><span class="flex size-4 shrink-0 items-center justify-center"><span class="flex shrink-0 items-center justify-center overflow-hidden text-[10px] font-semibold text-muted-foreground border-black/10 model-brand-icon--theme-aware size-4 rounded-sm border-0 bg-transparent [&amp;
24_picture]:p-0" aria-hidden="true" data-model-brand="openai"><picture class="flex h-full w-full p-1 items-center justify-start overflow-hidden"><img src="/svg/openai.svg" alt="" height="24" width="24" class="max-h-full object-contain h-full max-w-none w-auto model-brand-icon--dark-contrast"/></picture></span></span><span class="truncate group-data-[collapsible=icon]:hidden">GPT Image 2.5</span><span class="ml-auto shrink-0 text-[10px] font-medium text-sidebar-primary group-data-[collapsible=icon]:hidden">New</span></a></li><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative"><a title="View all models" data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" data-active="false" data-state="closed" href="/models" class="peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left outline-hidden ring-sidebar-ring transition-[width,height,padding] focus-visible:ring-[3px] active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-medium data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-10 px-3 data-[active=true]:bg-sidebar-primary/10 data-[active=true]:text-sidebar-foreground data-[active=true]:ring-1 data-[active=true]:ring-inset data-[active=true]:ring-sidebar-primary/25 data-[active=true]:hover:bg-sidebar-primary/15 dark:data-[active=true]:bg-sidebar-primary/15 dark:data-[active=true]:ring-sidebar-primary/30 dark:data-[active=true]:hover:bg-sidebar-primary/20 md:h-8 text-[13px]"><span class="flex size-4 shrink-0 items-center justify-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layers size-4 shrink-0"><path d="M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z"></path><path d="M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12"></path><path d="M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17"></path></svg></span><span class="truncate group-data-[collapsible=icon]:hidden">View all models</span></a></li></ul></div></div></li><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative pt-1"><div data-state="closed" data-slot="collapsible"><button data-slot="collapsible-trigger" data-sidebar="menu-button" data-size="default" data-active="false" class="peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left outline-hidden ring-sidebar-ring transition-[width,height,padding] focus-visible:ring-[3px] active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-10 md:h-9 px-3 text-sm font-medium" disabled="" title="Prompts &amp; Ideas" type="button" aria-controls="radix-_R_257j2p9cq_" aria-expanded="false" data-state="closed"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles size-4"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg><span class="truncate group-data-[collapsible=icon]:hidden">Prompts &amp; Ideas</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right ml-auto size-3.5 shrink-0 transition-transform motion-reduce:transition-none group-data-[collapsible=icon]:hidden"><path d="m9 18 6-6-6-6"></path></svg></button><div data-state="closed" id="radix-_R_257j2p9cq_" hidden="" data-slot="collapsible-content"></div></div></li></ul></div><div data-slot="sidebar-footer" data-sidebar="footer" class="flex flex-col p-2 shrink-0 border-t border-border/40 px-2 py-2 gap-1"><ul data-slot="sidebar-menu" data-sidebar="menu" class="flex w-full min-w-0 flex-col gap-1" data-sidebar-commerce="true"><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative flex items-center gap-1"><a aria-label="Credits" data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" data-active="false" data-state="closed" href="/settings/credits" class="peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left outline-hidden ring-sidebar-ring transition-[width,height,padding] focus-visible:ring-[3px] active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-10 px-3 text-sm font-medium data-[active=true]:bg-sidebar-accent"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-coins size-4 shrink-0 text-sidebar-primary"><circle cx="8" cy="8" r="6"></circle><path d="M18.09 10.37A6 6 0 1 1 10.34 18"></path><path d="M7 6h1v4"></path><path d="m16.71 13.88.7.71-2.82 2.82"></path></svg><span class="group-data-[collapsible=icon]:hidden">Credits</span></a><a aria-label="Get more credits" title="Get more credits" href="/pricing" class="flex size-9 shrink-0 items-center justify-center rounded-full bg-sidebar-primary/10 text-sidebar-primary hover:bg-sidebar-primary/20 focus-visible:outline focus-visible:outline-2 focus-visible:outline-ring group-data-[collapsible=icon]:hidden"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus size-4"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg></a></li><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative"><a aria-label="Billing" data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" data-active="false" data-state="closed" href="/settings/billing" class="peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left outline-hidden ring-sidebar-ring transition-[width,height,padding] focus-visible:ring-[3px] active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-10 px-3 text-sm font-medium data-[active=true]:bg-sidebar-accent"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-credit-card size-4 shrink-0"><rect width="20" height="14" x="2" y="5" rx="2"></rect>
24<line x1="2" x2="22" y1="10" y2="10"></line></svg><span class="group-data-[collapsible=icon]:hidden">Billing</span></a></li></ul></div></div></div></div><div class="bg-background relative flex w-full flex-1 flex-col md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2 flex min-w-0 flex-1 flex-col [overflow:clip] md:m-2 md:ml-0 md:rounded-xl md:shadow-sm" data-slot="sidebar-inset"><main class="flex min-w-0 flex-1 flex-col"><div class="flex-1 pb-[calc(4.5rem+env(safe-area-inset-bottom))] md:pb-0"><div data-workspace-content-boundary="true" style="display:contents"><div data-workspace-content="true" style="display:contents"><header data-workspace-header="true" class="sticky top-0 z-10 flex h-[62px] shrink-0 items-center gap-2 border-b bg-background/95 backdrop-blur-sm transition-[width,height] ease-linear md:h-14"><div class="flex w-full items-center gap-1 px-4 lg:gap-2 lg:px-6"><div class="flex min-w-0 items-center gap-1 md:hidden"><button data-slot="button" class="inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 shrink-0 [&amp;_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:hover:bg-accent/50 relative size-10 h-fit aspect-square cursor-pointer select-none rounded-full border-0 bg-transparent p-0 text-foreground/75 shadow-none hover:bg-transparent hover:text-foreground group/sidebar-toggle md:hidden" type="button" data-workspace-sidebar-trigger="true" aria-expanded="true" aria-label="Collapse Sidebar" title="Collapse Sidebar"><span class="relative size-[22px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu absolute inset-0 size-[22px] transition-opacity duration-150 group-hover/sidebar-toggle:opacity-0 group-focus-visible/sidebar-toggle:opacity-0"><line x1="4" x2="20" y1="12" y2="12"></line><line x1="4" x2="20" y1="6" y2="6"></line><line x1="4" x2="20" y1="18" y2="18"></line></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-left absolute inset-0 size-[22px] opacity-0 transition-opacity duration-150 group-hover/sidebar-toggle:opacity-100 group-focus-visible/sidebar-toggle:opacity-100"><path d="m15 18-6-6 6-6"></path></svg></span></button><a href="/" class="flex min-w-0 items-center"><img src="/brand/soutine-wordmark-gradient.png" alt="Soutine" title="Soutine" width="1167" height="256" data-brand-wordmark="true" class="w-auto object-contain h-6 max-w-28"/></a></div><div class="hidden items-center gap-1 md:flex lg:gap-2"><nav aria-label="breadcrumb" data-slot="breadcrumb"><ol data-slot="breadcrumb-list" class="text-muted-foreground flex flex-wrap items-center gap-1.5 break-words sm:gap-2.5 text-base font-medium"><li data-slot="breadcrumb-item" class="inline-flex items-center gap-1.5"><a data-slot="breadcrumb-link" href="/" class="hover:text-foreground transition-colors">Home</a></li><li data-slot="breadcrumb-separator" role="presentation" aria-hidden="true" class="[&amp;&gt;svg]:size-3.5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right"><path d="m9 18 6-6-6-6"></path></svg></li><li data-slot="breadcrumb-item" class="inline-flex items-center gap-1.5"><span data-slot="breadcrumb-page" role="link" aria-disabled="true" aria-current="page" class="text-foreground font-normal">Image to Video</span></li></ol></nav></div><div class="ml-auto flex items-center gap-2 pl-4"><div class="flex min-w-0 items-center justify-end gap-x-3"><div class="hidden min-w-0 items-center justify-end gap-x-1 lg:flex" data-marketing-navbar-utility="true"><button data-slot="button" class="inline-flex items-center justify-center whitespace-nowrap font-medium transition-all disabled:pointer-events-none [&amp;_svg]:pointer-events-none [&amp;_svg:not([class*=&#x27;
24size-&#x27;])]:size-4 shrink-0 [&amp;_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive hover:bg-accent dark:hover:bg-accent/50 text-sm gap-1.5 has-[&gt;svg]:px-3 size-8 p-0 rounded-full cursor-pointer text-muted-foreground hover:text-foreground disabled:opacity-100" type="button" aria-haspopup="menu" aria-busy="false"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sun rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2"></path><path d="M12 20v2"></path><path d="m4.93 4.93 1.41 1.41"></path><path d="m17.66 17.66 1.41 1.41"></path><path d="M2 12h2"></path><path d="M20 12h2"></path><path d="m6.34 17.66-1.41 1.41"></path><path d="m19.07 4.93-1.41 1.41"></path></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon absolute rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg><span class="sr-only">Toggle mode</span></button><button data-slot="button" class="inline-flex items-center justify-center whitespace-nowrap font-medium transition-all disabled:pointer-events-none [&amp;_svg]:pointer-events-none [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 shrink-0 [&amp;_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive hover:bg-accent dark:hover:bg-accent/50 text-sm gap-1.5 has-[&gt;svg]:px-3 size-8 p-0 rounded-full cursor-pointer text-muted-foreground hover:text-foreground disabled:opacity-100" type="button" aria-haspopup="menu" aria-busy="false"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages size-3.5"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg><span class="sr-only">Switch language</span></button></div><div class="flex items-center gap-2 overflow-visible"><span id="_R_ldarj2p9cq_" class="sr-only">New users receive 8 free credits after signing up.</span></div></div></div></div></header><div class="flex flex-1 flex-col"><div class="@container/main flex flex-1 flex-col gap-2"><div class="flex flex-col gap-4 py-4 md:gap-6 md:py-6"><div class="px-4 lg:px-6"><div class="mx-auto w-full max-w-screen-2xl space-y-10"><div class="relative"><div aria-hidden="true" class="pointer-events-none absolute left-1/2 top-0 h-[28rem] w-[64rem] -translate-x-1/2 bg-[radial-gradient(ellipse,rgba(230,60,100,0.12),rgba(124,92,255,0.07)_38%,transparent_70%)]"></div><div class="relative mx-auto max-w-4xl text-center"><h1 class="mx-auto max-w-4xl text-balance text-[2.441rem] font-bold leading-[1.1] tracking-[-0.025em] text-foreground sm:text-[3.052rem]">Image to Video</h1><p class="mx-auto mt-4 max-w-2xl text-pretty text-base leading-7 text-muted-foreground">Animate a still image into motion clips with product and scene continuity.</p></div></div><section class="flex flex-col h-full" data-task-restore-state="idle"><div class="h-full space-y-6 sm:space-y-8"><div class="relative flex h-full min-h-[560px] flex-col gap-4 lg:h-[min(900px,calc(100dvh-8rem))] lg:min-h-[40rem] lg:flex-row lg:items-stretch lg:gap-6"><div class="flex w-full flex-shrink-0 flex-col rounded-lg border border-border bg-card shadow-xl shadow-black/10 dark:shadow-white/5 lg:h-full lg:min-h-0 lg:w-[clamp(19rem,38%,30rem)]"><div class="min-h-0 flex-1 space-y-8 p-6 lg:overflow-y-auto" data-generator-control-body="true" data-selected-model="" data-selected-task="text_to_image"><div class="space-y-3"><div class="flex items-center justify-between"><div class="flex items-center gap-2"><div class="w-2 h-2 bg-gradient-to-r from-[#7c5cff] to-primary rounded-full animate-pulse"></div><span class="text-lg font-medium text-foreground">Video Generation</span></div></div><p class="text-xs text-muted-foreground leading-relaxed">Bring static images to life</p></div><div class="relative w-full overflow-x-clip"><div aria-hidden="true" class="pointer-events-none invisible absolute top-0 left-0 flex border p-1"><span class="whitespace-nowrap px-3 py-2.5 text-sm font-medium">Image to Video</span><span class="whitespace-nowrap px-3 py-2.5 text-sm font-medium">Reference to Video</span></div><div class="flex w-full overflow-x-auto rounded-xl border bg-muted/50 p-1" role="tablist"><button type="button" role="tab" aria-selected="true" class="relative whitespace-nowrap rounded-lg px-3 py-2.5 text-sm font-medium transition-colors flex-1 text-primary-foreground"><div class="absolute inset-0 rounded-lg bg-primary shadow-sm"></div><span class="relative z-10 block">Image to Video</span></button><button type="button" role="tab" aria-selected="false" class="relative whitespace-nowrap rounded-lg px-3 py-2.5 text-sm font-medium transition-colors flex-1 text-muted-foreground hover:bg-background/70 hover:text-foreground"><span class="relative z-10 block">Reference to Video</span></button></div></div><div class="space-y-3" data-generator-field="model" data-selected-model="" data-selected-task=""><label class="block text-sm font-medium text-foreground" for="_R_8b2qarj2p9cq_">Select Model</label><button data-slot="popover-trigger" class="inline-flex cursor-pointer items-center gap-2 whitespace-nowrap rounded-full text-sm transition-all disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg:not([class*=&#x27;
24size-&#x27;])]:size-4 shrink-0 [&amp;_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 has-[&gt;svg]:px-4 h-11 w-full justify-between bg-background px-3 text-left font-normal" type="button" id="_R_8b2qarj2p9cq_" disabled="" aria-invalid="false" aria-expanded="false" aria-haspopup="listbox" aria-controls="radix-_R_58b2qarj2p9cq_" data-state="closed"><span class="flex min-w-0 items-center gap-2"><span class="min-w-0 truncate">Please select a model</span></span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down size-4 shrink-0 text-muted-foreground"><path d="m6 9 6 6 6-6"></path></svg></button></div><div class="space-y-3" data-generator-field="prompt"><div class="flex justify-between items-center"><label data-slot="label" class="flex items-center gap-2 select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50 text-sm font-medium text-foreground" for="prompt">Prompt</label><span class="text-xs font-medium px-1.5 py-0.5 rounded-full bg-muted text-muted-foreground">0<!-- -->/<!-- -->2000</span></div><textarea data-slot="textarea" class="focus-visible:border-ring aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content w-full border px-3 py-2 text-base shadow-xs outline-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm resize-none min-h-[120px] max-h-[240px] overflow-y-auto bg-background text-foreground placeholder:text-muted-foreground focus-visible:ring-1 focus-visible:ring-primary rounded-md transition-all duration-200 border-border" data-replay-visible="true" id="prompt" placeholder="Describe what you want to generate..." aria-invalid="false"></textarea></div><div class="border-t pt-4"><div class="flex items-center justify-between"><span class="text-sm font-medium text-muted-foreground">Generation Options</span><div class="flex items-center gap-3"><div class="flex items-center gap-2"><button type="button" class="text-xs text-muted-foreground cursor-help py-2" aria-haspopup="dialog" aria-expanded="false" aria-controls="radix-_R_mib2qarj2p9cq_" data-state="closed" data-slot="popover-trigger">Watermark</button><button type="button" role="switch" aria-checked="true" data-state="checked" value="on" data-slot="switch" class="peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border border-border bg-muted p-0.5 shadow-xs outline-none transition-colors focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=unchecked]:bg-muted dark:data-[state=unchecked]:border-input dark:data-[state=unchecked]:bg-input/80 relative after:absolute after:-inset-2.5 after:content-[&#x27;&#x27;]" aria-label="Watermark"><span data-state="checked" data-slot="switch-thumb" class="pointer-events-none block size-4 rounded-full bg-background shadow-sm ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=checked]:bg-primary-foreground data-[state=unchecked]:translate-x-0 dark:data-[state=unchecked]:bg-foreground"></span></button><input type="checkbox" aria-hidden="true" style="transform:translateX(-100%);position:absolute;pointer-events:none;opacity:0;margin:0" tabindex="-1" checked="" value="on"/></div><div class="flex items-center gap-2"><button type="button" class="text-xs text-muted-foreground cursor-help py-2" aria-haspopup="dialog" aria-expanded="false" aria-controls="radix-_R_qib2qarj2p9cq_" data-state="closed" data-slot="popover-trigger">Public</button><button type="button" role="switch" aria-checked="true" data-state="checked" value="on" data-slot="switch" class="peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border border-border bg-muted p-0.5 shadow-xs outline-none transition-colors focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=unchecked]:bg-muted dark:data-[state=unchecked]:border-input dark:data-[state=unchecked]:bg-input/80 relative after:absolute after:-inset-2.5 after:content-[&#x27;&#x27;]" aria-label="Public"><span data-state="checked" data-slot="switch-thumb" class="pointer-events-none block size-4 rounded-full bg-background shadow-sm ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=checked]:bg-primary-foreground data-[state=unchecked]:translate-x-0 dar
24k:data-[state=unchecked]:bg-foreground"></span></button><input type="checkbox" aria-hidden="true" style="transform:translateX(-100%);position:absolute;pointer-events:none;opacity:0;margin:0" tabindex="-1" checked="" value="on"/></div></div></div></div></div><div class="rounded-b-lg border-t border-border bg-card p-4 md:px-6 lg:sticky lg:bottom-0 lg:z-10" data-generator-submit-bar="true"><div class="space-y-1.5"><div class="flex items-center gap-1.5"><div class="group flex-1" data-state="closed" data-slot="tooltip-trigger"><button data-slot="button" class="inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm disabled:pointer-events-none [&amp;_svg]:pointer-events-none [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 shrink-0 [&amp;_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive bg-primary hover:bg-primary/90 px-6 has-[&gt;svg]:px-4 w-full h-11 nova-gradient text-white font-bold rounded-full border-0 shadow-[0_6px_20px_rgba(230,60,100,0.35)] hover:opacity-90 transition-opacity cursor-pointer disabled:opacity-60 disabled:cursor-not-allowed" type="button"><span class="inline-flex items-center gap-1.5">Generate<span aria-hidden="true">·</span><svg viewBox="0 0 24 24" width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg" class="shrink-0 size-4" aria-hidden="true" focusable="false"><use href="/brand/repeated-icons.svg#credit"></use></svg><span class="inline-flex items-center gap-1 whitespace-nowrap tabular-nums" data-credit-price=""><span>0</span></span></span></button></div></div></div></div></div><div class="flex min-h-0 flex-1 flex-col overflow-hidden rounded-lg border border-border bg-card lg:h-full"><div data-results-panel="true" class="flex-1 flex flex-col h-full bg-card min-h-0"><div data-results-stage="true" class="shrink-0 overflow-hidden h-[360px] md:h-[clamp(360px,42vh,460px)]"><div class="flex h-full w-full items-center justify-center overflow-hidden"><div class="h-full w-full overflow-hidden"><div class="relative flex h-full w-full items-center justify-center overflow-hidden bg-[#f3f3f7] dark:bg-[#0a0a0a]"><div aria-hidden="true" class="absolute inset-0 opacity-80 dark:opacity-100" style="background:radial-gradient(ellipse 70% 55% at 50% 42%, rgb(from var(--primary) r g b / 0.10) 0%, transparent 70%)"></div><div aria-hidden="true" class="absolute inset-0 opacity-60 dark:opacity-80" style="background:radial-gradient(ellipse 40% 35% at 18% 18%, rgb(from var(--gradient-blue) r g b / 0.08) 0%, transparent 60%), radial-gradient(ellipse 45% 40% at 82% 78%, rgb(from var(--gradient-pink) r g b / 0.10) 0%, transparent 65%)"></div><div aria-hidden="true" class="absolute inset-0 opacity-[0.35] dark:opacity-[0.18]" style="background-image:linear-gradient(to right, rgb(from var(--foreground) r g b / 0.04) 1px, transparent 1px), linear-gradient(to bottom, rgb(from var(--foreground) r g b / 0.04) 1px, transparent 1px);background-size:28px 28px;mask-image:radial-gradient(ellipse 75% 70% at 50% 50%, black 20%, transparent 75%);-webkit-mask-image:radial-gradient(ellipse 75% 70% at 50% 50%, black 20%, transparent 75%)"></div><div class="relative z-10 flex w-full max-w-[28rem] flex-col items-center px-5 py-6 text-center"><div aria-hidden="true" class="relative mb-6 w-full max-w-[15.5rem]"><div class="absolute -inset-3 rounded-2xl bg-primary/10 blur-2xl dark:bg-primary/15"></div><div class="relative overflow-hidden rounded-2xl border border-border/70 bg-background/70 shadow-[0_12px_40px_-18px_rgb(0_0_0_/_0.35)] backdrop-blur-md dark:border-white/10 dark:bg-white/[0.03]"><div class="relative aspect-[4/3] w-full"><div class="absolute inset-0" style="background:linear-gradient(145deg, rgb(from var(--primary) r g b / 0.06) 0%, transparent 42%, rgb(from var(--gradient-blue) r g b / 0.08) 100%)"></div><div class="absolute inset-x-6 top-6 h-2.5 rounded-full bg-foreground
24/[0.06] dark:bg-white/[0.07]"></div><div class="absolute inset-x-10 top-11 h-2 rounded-full bg-foreground/[0.04] dark:bg-white/[0.05]"></div><div class="absolute bottom-5 left-5 right-5 h-[42%] rounded-xl border border-dashed border-foreground/10 bg-foreground/[0.03] dark:border-white/10 dark:bg-white/[0.04]"></div><div class="absolute inset-0 flex items-center justify-center"><div class="flex h-12 w-12 items-center justify-center rounded-full border border-primary/25 bg-background/80 shadow-sm backdrop-blur-sm dark:bg-black/50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-image h-5 w-5 text-primary"><rect width="18" height="18" x="3" y="3" rx="2" ry="2"></rect><circle cx="9" cy="9" r="2"></circle><path d="m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"></path></svg></div></div><span class="absolute left-2.5 top-2.5 h-3 w-3 border-l-2 border-t-2 border-primary/35"></span><span class="absolute right-2.5 top-2.5 h-3 w-3 border-r-2 border-t-2 border-primary/35"></span><span class="absolute bottom-2.5 left-2.5 h-3 w-3 border-b-2 border-l-2 border-primary/35"></span><span class="absolute bottom-2.5 right-2.5 h-3 w-3 border-b-2 border-r-2 border-primary/35"></span></div></div></div><h3 class="text-lg font-semibold tracking-tight text-foreground">Nothing on stage yet</h3><p class="mt-2 max-w-full text-sm leading-relaxed text-muted-foreground sm:whitespace-nowrap">Describe what you want on the left. Your result will land in this frame.</p><ol class="mt-5 flex flex-wrap items-center justify-center gap-1.5"><li class="flex items-center gap-1.5"><span class="inline-flex items-center gap-1.5 rounded-full border border-border/70 bg-background/80 px-2.5 py-1 text-[11px] font-medium text-muted-foreground backdrop-blur-sm dark:bg-white/[0.04]"><span class="flex h-4 w-4 items-center justify-center rounded-full bg-primary/12 text-[10px] font-semibold text-primary">1</span>Prompt</span></li><li class="flex items-center gap-1.5"><span aria-hidden="true" class="mx-0.5 h-px w-3 bg-border"></span><span class="inline-flex items-center gap-1.5 rounded-full border border-border/70 bg-background/80 px-2.5 py-1 text-[11px] font-medium text-muted-foreground backdrop-blur-sm dark:bg-white/[0.04]"><span class="flex h-4 w-4 items-center justify-center rounded-full bg-primary/12 text-[10px] font-semibold text-primary">2</span>Generate</span></li><li class="flex items-center gap-1.5"><span aria-hidden="true" class="mx-0.5 h-px w-3 bg-border"></span><span class="inline-flex items-center gap-1.5 rounded-full border border-border/70 bg-background/80 px-2.5 py-1 text-[11px] font-medium text-muted-foreground backdrop-blur-sm dark:bg-white/[0.04]"><span class="flex h-4 w-4 items-center justify-center rounded-full bg-primary/12 text-[10px] font-semibold text-primary">3</span>Result</span></li></ol></div></div></div></div></div><div class="min-h-[280px] flex-1 overflow-hidden border-t border-border/50"><div class="h-full flex flex-col md:flex-1 min-h-[150px] md:min-h-[240px]"><div class="p-2 md:p-3 flex items-center justify-between border-b border-border/30 flex-shrink-0"><div class="flex items-center gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-history h-3.5 w-3.5 md:h-4 md:w-4"><path d="M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"></path><path d="M3 3v5h5"></path><path d="M12 7v5l4 2"></path></svg><span class="text-xs md:text-sm font-medium">Recent History</span><span class="hidden md:inline text-[11px] font-medium text-muted-foreground">0 running · 0 done</span></div><div class="flex items-center gap-2"><button data-slot="button" class="inline-flex cursor-pointer items-center justify-center whitespace-nowrap rounded-full font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg:not([class*=&#x27;
24size-&#x27;])]:size-4 shrink-0 [&amp;_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 px-4 gap-1.5 has-[&gt;svg]:px-3 h-10 text-xs md:h-7" type="button" disabled="">View All</button><button data-slot="button" class="inline-flex cursor-pointer items-center justify-center whitespace-nowrap rounded-full font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 shrink-0 [&amp;_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 text-sm gap-1.5 has-[&gt;svg]:px-3 h-10 w-10 p-0 md:h-7 md:w-auto md:px-3" type="button" disabled=""><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-refresh-cw h-3 w-3 md:mr-1"><path d="M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path><path d="M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"></path><path d="M8 16H3v5"></path></svg><span class="hidden md:inline">Refresh</span></button></div></div><div class="flex-1 min-h-0"><div class="flex items-center justify-center text-sm text-muted-foreground min-h-[120px] md:min-h-[264px]">No history yet</div></div></div></div></div></div></div></div></section></div></div></div></div></div></div></div></div></main></div><nav data-mobile-tab-bar="true" class="fixed bottom-0 inset-x-0 z-40 md:hidden bg-background/95 backdrop-blur-xl border-t border-border/20 pb-[max(0.75rem,env(safe-area-inset-bottom))] pt-1.5"><div class="flex items-end justify-around px-8"><a href="/" class="flex flex-col items-center gap-1 pb-0.5 transition-colors text-muted-foreground hover:text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-house size-6"><path d="M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"></path><path d="M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path></svg><span class="text-[11px] font-medium">Home</span></a><a href="/create" class="-mt-4 flex flex-col items-center gap-1"><div class="size-12 rounded-full flex items-center justify-center bg-primary shadow-lg shadow-primary/40 transition-transform duration-150 active:scale-90"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles size-5 text-primary-foreground"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg></div><span class="text-[11px] font-medium mt-0.5 text-primary">Create</span></a><a href="/settings/profile" class="flex flex-col items-center gap-1 pb-0.5 transition-colors text-muted-foreground hover:text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user size-6"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-[11px] font-medium">Me</span></a></div></nav></div></div></div></div>
24<script>(function(a,f){let l;try{l=JSON.parse(sessionStorage.getItem(a)||"{}")}catch{return}const n=l?.[f||history.state?.__TSR_key];let c=!1;for(const t in n){const e=n[t],o=e?.scrollX,s=e?.scrollY;if(Number.isFinite(o)&&Number.isFinite(s)){if(t==="window")scrollTo(o,s),c=!0;else if(t)try{const r=document.querySelector(t);r&&(r.scrollLeft=o,r.scrollTop=s)}catch{}}}if(c)return;const i=location.hash.slice(1);if(i){const t=history.state?.__hashScrollIntoViewOptions??!0;if(t){const e=document.getElementById(i);e&&e.scrollIntoView(t)}return}scrollTo(0,0)})("tsr-scroll-restoration-v1_3");document.currentScript.remove()</script>
24<!--/$--><section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false"></section>
24<script class="$tsr" id="$tsr-stream-barrier">(self.$R=self.$R||{})["tsr"]=[];self.$_TSR={h(){this.hydrated=!0,this.c()},e(){this.streamEnded=!0,this.c()},c(){this.hydrated&&this.streamEnded&&(delete self.$_TSR,delete self.$R.tsr)},p(e){this.initialized?e():this.buffer.push(e)},buffer:[]};$_TSR.router=($R=>$R[0]={manifest:$R[1]={routes:$R[2]={__root__:$R[3]={preloads:$R[4]=["/assets/index-Df1ImChr.js","/assets/rolldown-runtime-Cyuzqnbw.js","/assets/react-BXs6Vsj-.js","/assets/router-runtime-BFKTlJQ2.js","/assets/createServerFn-RcuTD8o7.js","/assets/shell-utils-TR-Fic4T.js","/assets/workspace-visibility-wIrevWBZ.js","/assets/urls-DSJMWXxD.js"],scripts:$R[5]=[$R[6]={attrs:$R[7]={type:"module",async:!0,src:"/assets/index-Df1ImChr.js"}}]},"/$locale":$R[8]={preloads:$R[9]=["/assets/_locale-8enEKTvd.js","/assets/auth-client-Mn74PrKN.js","/assets/use-locale-switch-C0Fd6oVi.js","/assets/payment-flow-provider-yCSTvxCa.js","/assets/critical-runtime-loaders-lxPYJfOy.js","/assets/daily-check-in-welcome-modal-context-TCBIE5Ym.js","/assets/_locale-UxhHuZdG.js"]},"/$locale/_workspace":$R[10]={preloads:$R[11]=["/assets/_workspace-CS3_HKQJ.js","/assets/dist-D9xAOd3x.js","/assets/tooltip-B1yi8rLI.js","/assets/useQuery-DwBEl_Sf.js","/assets/workspace-public-page-Czor332k.js","/assets/shared-icons-JHAM4Y6y.js","/assets/dashboard-header-AOifDQ3G.js","/assets/ModelBrandIcon-1uB99mv-.js","/assets/seo-navigation-YF3y_yYZ.js","/assets/use-campaign-OWZvTvRi.js","/assets/use-credits-CxmC5ucA.js","/assets/use-payment-BP-Ij1Jn.js"]},"/$locale/_workspace/_content":$R[12]={preloads:$R[13]=["/assets/_content-DzZXSneD.js"]},"/$locale/_workspace/_content/image-to-video":$R[14]={preloads:$R[15]=["/assets/image-to-video-DMJsTYT1.js","/assets/Generator-BM0P9bf4.js","/assets/workspace-page-hero-DIN_Wgf8.js","/assets/workspace-page-CaLCMHFx.js","/assets/workspace-page-configs-Bmge9_9H.js"]}}}
24,matches:$R[16]=[$R[17]={i:"__root__�",u:1791203946444,s:"success",l:$R[18]={privacyRegion:"explicit-consent"},ssr:!0},$R[19]={i:"�$locale�en",u:1791203946444,s:"success",l:$R[20]={locale:"en",messages:$R[21]={Docs:$R[22]={toc:"Table of Contents",search:"Search docs",lastUpdate:"Last updated on",searchNoResult:"No results",previousPage:"Previous",nextPage:"Next",chooseLanguage:"Select language"},NotFoundPage:$R[23]={title:"404",message:"Sorry, the page you are looking for does not exist.",backToHome:"Back to home"},ErrorPage:$R[24]={title:"Oops! Something went wrong!",tryAgain:"Try again",backToHome:"Back to home"},ContactPage:$R[25]={seo:$R[26]={title:"Contact",description:"Email the Soutine team for product, account, billing, or generation support."},title:"Contact Soutine",subtitle:"Questions about generation, credits, billing, or your account? Email us and we'll help you find the next step.",card:$R[27]={label:"Support email",primaryCta:"Open email app",secondaryCta:"Copy email",copied:"Copied",copySuccess:"Support email copied",copyFailed:"Couldn't copy the address. Select it above and copy it manually.",fallbackHint:"If no email app opens, copy the address above and send your message from any email client."},legal:$R[28]={title:"Company information",companyName:"Company name",registeredAddress:"Registered address"},include:$R[29]={title:"What to include",items:$R[30]={account:"The email on your Soutine account, if you have one",context:"The page, feature, model, or task involved",details:"What happened, what you expected, and any useful screenshots"}},selfServe:$R[31]={title:"Faster answers",description:"Many common questions are already covered here.",faq:"FAQ",pricing:"Pricing & credits"},mailto:$R[32]={subject:"Support request — Soutine",body:"Hi Soutine team,\n\n[Describe your question or issue here]\n\n---\nAccount email (if you have one):\nPage, feature, model, or task:"}},Newsletter:$R[33]={title:"Newsletter",subtitle:"Join the community",description:"Subscribe to our newsletter for the latest news and updates",form:$R[34]={email:"Email",subscribe:"Subscribe",subscribing:"Subscribing...",success:"Subscribed successfully",fail:"Failed to subscribe",emailValidation:"Please enter a valid email address"}},Privacy:$R[35]={banner:$R[36]={title:"Privacy controls",explicit:"We use product analytics to improve the experience. Session replay may include prompts, uploads, and generated results, but never passwords or payment details. Essential error and performance monitoring remains active.",defaultOn:"Product analytics and session replay are enabled. Replays may include prompts, uploads, and generated results, but never passwords or payment details. Essential error and performance monitoring remains active.",accept:"Allow analytics and replay",analyticsOnly:"Analytics only",reject:"Reject analytics",disableReplay:"Turn off replay",acknowledge:"Got it"},settings:$R[37]={title:"Privacy and analytics",description:"Control product analytics and session replay. Turning off analytics also turns off replay.",analytics:"Product analytics",analyticsDescription:"Helps us understand feature usage and conversion paths.",replay:"Session replay",replayDescription:"May include prompts, uploads, and generated results, but never passwords or payment details.",monitoring:"Error and performance monitoring",monitoringDescription:"Always active to detect failures and performance problems. Sensitive request data is removed before reporting.",alwaysOn:"Always on"}},AuthPage:$R[38]={login:$R[39]={title:"Login",welcomeBack:"Welcome back",email:"Email",emailPlaceholder:"[email protected]",password:"Password",signIn:"Sign In",signUpHint:"Don't have an account? Sign up",forgotPassword:"Forgot Password?",signInWithGoogle:"Sign In with Google",signInWithGitHub:"Sign In with GitHub",showPassword:"Show password",hidePassword:"Hide password",or:"Or continue with",emailRequired:"Please enter your email",passwordRequired:"Please enter your password",captchaInvalid:"Captcha verification failed",captchaError:"Captcha verification error",loginWithPassword:"Password",loginWithOtp:"Verification Code",sendVerificationCode:"Send Code",sendVerificationCodeFailed:"Failed to send verification code",enterVerificationCode:"Enter 6-digit code",verificationCodeSent:"Verification code sent to",checkYourEmail:"Check your email",resendCode:"Resend",resendCodeIn:"Resend in {seconds}s",verifyAndLogin:"Verify & Sign In",verifyCodeFailed:"Failed to verify code",loginSuccess:"Login successful",loginFailed:"Login failed, please try again.",backToEmail:"← Back to email input",otpRequired:"Please enter the verification code",otpInvalid:"Invalid verification code",otpExpired:"Verification code has expired, please resend",otpMaxAttemptsReached:"Too many failed attempts, please resend verification code",remainingAttempts:"Invalid code, {attempts} attempts remaining",timeRemaining:"Expires in {minutes}:{seconds}",codeExpiryNotice:"Code expires in {minutes} minutes",socialLogin:"Social Login",emailLogin:"Email Login"},register:$R[40]={title:"Register",subtitle:"Create an account to get started",createAccount:"Create an account",email:"Email",emailPlaceholder:"[email protected]",password:"Password",passwordPlaceholder:"******",signUp:"Sign Up",signUpWithGoogle:"Sign Up with Google",or:"Or continue with",signInHint:"Already have an account? Sign in",checkEmail:"Please check your email inbox",showPassword:"Show password",hidePassword:"Hide password",emailRequired:"Please enter your email",passwordRequired:"Please enter your password",captchaInvalid:"Captcha verification failed",captchaError:"Captcha verification error",captchaRequired:"Please complete the captcha",emailAlreadyRegistered:"This email is already registered. Please log in or reset your password.",termsRequired:"Please accept the Terms of Service and Privacy Policy",acceptTermsPrefix:"I agree to the",registerFailed:"Registration failed, please try again."},forgotPassword:$R[41]={title:"Forgot Password",description:"Enter your email and we'll send you a verification code.",email:"Email",emailPlaceholder:"[email protected]",send:"Send verification code",backToLogin:"Back to login",checkEmail:"Please check your email inbox for the verification code",emailRequired:"Please enter your email",captchaRequired:"Please complete the captcha"},resetPassword:$R[42]={title:"Reset Password",email:"Email",emailPlaceholder:"[email protected]",emailRequired:"Please enter your email",otp:"Verification code",otpPlaceholder:"6-digit code",otpInvalid:"Please enter the 6-digit verification code",password:"Password",reset:"Reset password",backToLogin:"Back to login",showPassword:"Show password",hidePassword:"Hide password",minLength:"Password must be at least 8 characters",success:"Password reset successfully",missingToken:"Enter the verification code sent to your email to reset your password.",invalidToken:"This reset link is invali
24d or has expired. You can request a new verification code.",requestNewLink:"Request a new code",requestNewCode:"Request a new code",strength:$R[43]={weak:"Weak",fair:"Fair",good:"Good",strong:"Strong"}},recoveryErrors:$R[44]={invalidCode:"The verification code is invalid. Check the code and try again.",expiredCode:"The verification code has expired. Request a new code to continue.",rateLimited:"Too many attempts. Wait a moment before trying again.",generic:"We couldn't complete the request. Please try again."},error:$R[45]={title:"Oops! Something went wrong!",tryAgain:"Please try again.",backToLogin:"Back to login",checkEmail:"Please check your email inbox",contactSupport:"Contact support"},common:$R[46]={termsOfService:"Terms of Service",privacyPolicy:"Privacy Policy",byClickingContinue:"By clicking continue, you agree to our ",and:" and "},socialConsent:$R[47]={title:"Before you continue",description:"To create an account, you need to agree to our terms.",acceptTermsPrefix:"I agree to the",continueButton:"Continue",cancelButton:"Cancel"},reConsent:$R[48]={title:"We've updated our terms",description:"Our Terms of Service and Privacy Policy have been updated. Please review and accept them to continue using the service.",acceptTermsPrefix:"I have read and agree to the",acceptButton:"Accept and Continue",signOutButton:"Sign Out",success:"Terms accepted. Welcome back!",error:"Failed to accept terms. Please try again."},brandedLogin:$R[49]={title:"Welcome to {siteName}",subtitle:"Sign in to start your AI creation journey",noLoginMethods:"No login method is currently enabled.",registerBonus:"{credits} Free Credits for New Users",bonusValidity:"Valid for {days} days",dailyCheckIn:"Daily Check-in",creditsPerDay:"credits/day",streakRewards:"Streak Rewards",upTo:"Up to",continueWithEmail:"Continue with Email",continueWithGoogle:"Continue with Google",continueWithGitHub:"Continue with GitHub",signUpWithGoogle:"Sign up with Google",signUpWithGitHub:"Sign up with GitHub",signInSubtitle:"Log in to keep creating with {siteName}.",registerSubtitle:"Start generating in seconds — no card required.",bonusBanner:"Sign up now and get \x3Cstrong>{credits} free credits\x3C/strong> to start creating.",createPasswordPlaceholder:"Create a password",createAccount:"Create account",securityCheck:"Security check…",logIn:"Log In",orDivider:"or",signUpTitle:"Sign up now and get {credits} free credits",signUpTitleDefault:"Create your account",signUpSubtitle:"Enter your details to create an account",dontHaveAccount:"Don't have an account yet?",signUpLink:"Sign up",alreadyHaveAccount:"Already have an account?",logInLink:"Log in here",back:"Back",signInFailed:"Sign-in failed. Please check your credentials and try again.",signUpFailed:"Sign-up failed. Please try again in a moment."},showcase:$R[50]={headline:"Where a single prompt\nbecomes image, video\n& sound.",bonus:"Get \x3Cstrong>{credits} free credits\x3C/strong> on sign up — no card required.",bonusFallback:"One account, one credit balance — every tool included."},success:$R[51]={badge:"Welcome to {siteName}",title:"You're in — gift unlocked",description:"Your registration credits are ready. Jump into the studio and start creating.",creditsLabel:"Registration gift",creditsUnit:"credits added to your balance",expiresAt:"Valid until {date}",cta:"Start creating",autoRedirect:"Taking you to the studio in {seconds}s…"}},BlogPage:$R[52]={seo:$R[53]={title:"Blog",description:"Guides, product updates, and tips on AI generation, prompting, and building with our tools."},title:"Blog",eyebrow:"The Blog",description:"Latest news and updates from our team",subtitle:"Latest news and updates from our team",author:"Author",categories:"Categories",tableOfContents:"Table of Contents",readTime:"{minutes} min read",all:"All",noPostsFound:"No posts found",allPosts:"All Posts",morePosts:"More Posts"},Marketing:$R[54]={banner:$R[55]={label:"Promotions",close:"Close promotion",creatorBoostYearly:$R[56]={message:"Save up to 40% when you choose yearly billing.",compactMessage:"Save up to 40% yearly",ctaLabel:"See yearly plans"}},avatar:$R[57]={dashboard:"Dashboard",billing:"Billing",credits:"Credits",settings:"Settings",membership:"Membership"},legalTabs:$R[58]={navLabel:"Legal",privacy:"Privacy",terms:"Terms",refund:"Refunds",cookies:"Cookies",acceptableUse:"Acceptable Use"}},LegalPage:$R[59]={badge:$R[60]={terms:"Terms · Billing and rights",refund:"Refunds · Eligibility and requests",privacy:"Privacy · Data protection",cookie:"Cookies · Storage and controls",acceptableUse:"Acceptable use · Content rules"},meta:$R[61]={lastRevised:"Last revised",estimatedRead:"About {minutes} min read"},toc:$R[62]={tableOfContents:"Table of contents",onThisPage:"On this page",jumpToSection:"Jump to section"},highlights:$R[63]={refund:$R[64]={title:"At a glance",item1Title:"First subscription: 7 days",item1Desc:"Request within 7 days of your first paid subscription charge. Unused access is fully refund
24able; used access is refunded proportionally.",item2Title:"Credit packages: 7 days",item2Desc:"Unused packages qualify for a full refund within 7 days of purchase. Partly used packages qualify for a proportional refund of the unused remainder.",item3Title:"Request by email",item3Desc:"Send your account email, transaction ID, and reason to [email protected]. We confirm within 2 business days.",item4Title:"Original payment method",item4Desc:"Approved refunds are processed to the original payment method within 5–10 business days, subject to the payment provider."},terms:$R[65]={title:"At a glance",item1Title:"Subscriptions renew automatically",item1Desc:"Cancel in Settings → Billing to stop future charges. Paid access continues until the current period ends.",item2Title:"3-day payment grace period",item2Desc:"If renewal fails, paid features stay available for 3 days. New subscription credits wait until payment recovers.",item3Title:"Credit packs stay separate",item3Desc:"One-time credit packages are not cancelled with a subscription and follow their own validity.",item4Title:"7-day refund window",item4Desc:"Unused first-time purchases can be fully refunded within 7 days. Used credits are refunded in proportion."},privacy:$R[66]={title:"At a glance",item1Title:"What we collect",item1Desc:"Account details, payment status, and AI inputs/outputs needed to run the service. We do not store full card numbers.",item2Title:"Generations are private by default",item2Desc:"Assets are accessed through your account, signed downloads, or share links you control.",item3Title:"Analytics can be turned off",item3Desc:"First-party analytics are on by default. Stop future analytics in Settings → Security.",item4Title:"Your data rights",item4Desc:"Request access, correction, export, or deletion at [email protected]."},cookie:$R[67]={title:"At a glance",item1Title:"Essential storage",item1Desc:"Sign-in, security, and checkout cookies are required for the service to work.",item2Title:"Preferences",item2Desc:"Language, theme, and workspace layout can be remembered on your device.",item3Title:"First-party analytics",item3Desc:"We use first-party identifiers, not advertising cookies. You can opt out in Settings → Security.",item4Title:"Browser controls",item4Desc:"You can delete or block cookies in your browser. Blocking essentials may break sign-in or payment."},acceptableUse:$R[68]={title:"At a glance",item1Title:"Six prohibited categories",item1Desc:"NSFW, gore, hate speech, CSAM, deepfakes/impersonation, and IP infringement are not allowed.",item2Title:"Zero tolerance for CSAM",item2Desc:"Child-sexual content and related material is blocked and may be reported to authorities.",item3Title:"Report abuse",item3Desc:"Email [email protected] with a link or task ID. We review reports as quickly as we can.",item4Title:"We can refuse or remove",item4Desc:"We may refuse a generation, remove content, restrict features, or close an account."}},bottom:$R[69]={refundTitle:"Need to request a refund?",refundDesc:"Email [email protected] with your account email, transaction ID, and reason.",termsTitle:"Questions about billing or these terms?",termsDesc:"Write to [email protected] for subscriptions, refunds, or account questions.",privacyTitle:"Questions about your privacy rights?",privacyDesc:"Contact [email protected] for access, deletion, or policy details.",cookieTitle:"Questions about cookies?",cookieDesc:"Email [email protected] if you need help with storage or analytics controls.",acceptableUseTitle:"Need to report content?",acceptableUseDesc:"Send the URL or task ID to [email protected]. We treat child-safety reports as urgent.",contactSupport:"Email support"},sidebar:$R[70]={inquiriesTitle:"Legal inquiries",inquiriesDesc:"For policy questions, data requests, or compliance, email:",allPoliciesTitle:"All policies",termsLabel:"Terms of Service",refundLabel:"Refund Policy",privacyLabel:"Privacy Policy",cookieLabel:"Cookie Policy",acceptableUseLabel:"Acceptable Use",backToTop:"Back to top"}},Settings:$R[71]={Credits:$R[72]={balance:$R[73]={title:"Credit Balance",description:"Your credit balance",creditsAdded:"Credits have been added to your account",retry:"Retry",expiringCredits:"{credits} credits expiring in the next {days} days"},transactions:$R[74]={search:"Search credit transactions...",paymentIdCopied:"Payment ID copied to clipboard",columns:$R[75]={columns:"Columns",type:"Type",amount:"Amount",remainingAmou
24nt:"Remaining Amount",description:"Description",paymentId:"Payment ID",expirationDate:"Expiration Date",expirationDateProcessedAt:"Expiration Date Processed At",createdAt:"Created At",updatedAt:"Updated At"},types:$R[76]={MONTHLY_REFRESH:"Monthly Refresh",REGISTER_GIFT:"Register Gift",PURCHASE:"Purchased Credits",USAGE:"Consumed Credits",EXPIRE:"Expired Credits",SUBSCRIPTION_RENEWAL:"Subscription Renewal"},detailViewer:$R[77]={title:"Credit Transaction Detail",close:"Close"}},packages:$R[78]={title:"Credit Packages",description:"One-time credits that never expire. Eligible generations include watermark-free image exports.",popular:"Popular",purchase:"Purchase",checkoutFailed:"Failed to create checkout session",loading:"Loading..."}}},Dashboard:$R[79]={dashboard:$R[80]={title:"Dashboard"},sidebar:$R[81]={links:$R[82]={home:"Home",create:"Create",myCreations:"My Creations",templates:"Templates",effects:"Effects",checkIn:"Daily Check-in",settings:"Settings",admin:"Admin",pricing:"Pricing",models:"Models",viewAllModels:"View all models",me:"Me",getMoreCredits:"Get more credits"},groups:$R[83]={video:"AI Video",image:"AI Image",audio:"Audio",threeD:"3D",enhance:"Enhance & Restore",models:"AI Models",inspiration:"Prompts & Ideas"},creation:$R[84]={text_to_video:"Text to Video",image_to_video:"Image to Video",text_to_image:"Text to Image",image_to_image:"Image to Image",image_upscaler:"Image Upscaler",image_unblur:"Unblur Image",old_photo_restoration:"Restore Old Photos",ai_video_upscaler:"AI Video Upscaler",qwen_prompts:"Qwen Image 2.1 Prompts",seedance_prompts:"Seedance Prompts",text_to_speech:"Text to Speech",voice_clone:"Voice Clone",music_generator:"Music Generator",text_to_3d:"Text to 3D",image_to_3d:"Image to 3D",banana_prompts:"Nano Banana Prompts"},createHub:$R[85]={subtitle:"Choose a creation mode to get started"},creationDescriptions:$R[86]={text_to_video:"Turn prompts into short-form video concepts for ads, demos, and campaigns.",image_to_video:"Animate a still image into motion clips with product and scene continuity.",text_to_image:"Create polished visuals from a prompt for social, ads, and landing pages.",image_to_image:"Upload a reference image to restyle, refine, or localize a creative direction.",image_upscaler:"Enlarge and sharpen an image with a prompt-free AI workflow.",image_unblur:"Recover clarity from soft, compressed, or mildly blurred photos.",old_photo_restoration:"Repair scratches, fading, noise, and blur in old photographs.",ai_video_upscaler:"Upscale video to 4K and clean up compression, noise, and blur.",text_to_speech:"Generate spoken audio from scripts for narration, previews, and explainers.",voice_clone:"Clone a voice profile for repeatable spoken content and brand consistency.",music_generator:"Create background tracks and music concepts for content, ads, and demos.",text_to_3d:"Build a quick 3D concept from a prompt for product ideas and scene blocking.",image_to_3d:"Turn a reference image into a 3D starting point for modeling and visualization.",effects:"Apply creative effects and filters to transform your existing media."},settingsItems:$R[87]={profile:"Profile",notifications:"Notifications",credits:"Credits",billing:"Billing",security:"Security"}},admin:$R[88]={title:"Admin",dashboard:$R[89]={title:"Dashboard"},orders:$R[90]={title:"Orders"},generations:$R[91]={title:"Generations"},kieTest:$R[92]={title:"KIE API Test",description:"Use the task tabs above the Generator to test every enabled KIE image, video, speech, music, and upscale capability. Requests use your real credits, tasks, webhooks, storage, and history."},roi:$R[93]={title:"Acquisition & Revenue"},observability:$R[94]={title:"Observability"},users:$R[95]={title:"Users",fakeData:"Note: Faked data for demonstration, some features are disabled",error:"Failed to get users",search:"Search users...",columns:$R[96]={columns:"Columns",name:"Name",email:"Email",role:"Role",createdAt:"Created At",customerId:"Customer ID",status:"Status",banReason:"Ban Reason",banExpires:"Ban Expires"},admin:"Admin",user:"User",email:$R[97]={verified:"Email Verified",unverified:"Email Unverified"},emailCopied:"Email copied to clipboard",banned:"Banned",active:"Active",joined:"Joined at",updated:"Updated at",ban:$R[98]={reason:"Ban Reason",reasonPlaceholder:"Enter the reason for banning this user",defaultReason:"Spamming",never:"Never",expires:"Ban Expires",selectDate:"Select Date",button:"Ban User",success:"User has been banned",error:"Failed to ban user"},unban:$R[99]={button:"Unban User",success:"User has been unbanned",error:"Failed to unban user"},close:"Close"},paymentTest:$R[100]={title:"Payment validation",description:"Admin-only Waffo checkout for verifying payments and credit delivery.",notice:"Live mode charges real money. Local Test mode does not. The subscription renews automatically until canceled. Taxes may be added at checkout.",subscription:"Internal test subscription",perMonth:"/ month",subscriptionCredits:"{credits} credits per paid billing cycle",subscriptionTerms:"Credit expiration follows the regular subscription billing-cycle rules. Standard usage rates, one concurrent generation. Use an account without an existing paid subscription.",subscribe:"Subscribe with Waffo",creditPack:"Internal test credit pack",once:"/ purchase",packCredits:"{credits} credits, no expiration",packTerms:"One-time payment. Follows the same purchase eligibility and credit rules as regular credit packs.",buyCredits:"Buy credits with Waffo",billing:"Manage subscription and cancellation",credits:"View credit balance and transactions"}},settings:$R[101]={title:"Settings",profile:$R[102]={title:"Profile",description:"Manage your account information",avatar:$R[103]={title:"Avatar",description:"Click upload button to upload a custom one",recommendation:"An avatar is o
24ptional but strongly recommended",uploading:"Uploading...",uploadAvatar:"Upload Avatar",success:"Avatar updated successfully",fail:"Failed to update avatar"},name:$R[104]={title:"Name",description:"Please enter your display name",placeholder:"Enter your name",minLength:"Please use 3 characters at minimum",maxLength:"Please use 30 characters at maximum",hint:"Please use 3-30 characters for your name",success:"Name updated successfully",fail:"Failed to update name",saving:"Saving...",save:"Save"}},membership:$R[105]={title:"Membership",description:"View your membership tier and benefits",currentTier:"Current tier",tierDescription:"You are currently on the {tier} plan.",freeDescription:"Enjoy the Free plan with limited features.",nextBilling:"Next billing date",noRenewalDate:"No renewal date",periodEnd:"Current period ends",scheduledDowngrade:"Scheduled to downgrade on {date}.",scheduledUpgrade:"Scheduled to upgrade on {date}.",trialEnds:"Trial ends",manageBilling:"Manage billing",viewPricing:"Explore plans",loading:"Loading membership…",noSubscription:"You have not subscribed yet.",upgradeCta:"Upgrade plan",benefits:"Plan benefits",limits:"Plan limits",billingCta:"Open billing center",historicalInvoicesCta:"Contact support for historical invoices",pricingCta:"Compare plans",paymentPastDueTitle:"Payment past due — plan access is in grace",graceNotice:"Your current paid plan remains available until {date}. Update your payment method to avoid interruption.",scheduledChangeTitle:"Scheduled plan change",undoScheduledChange:"Undo change",undoScheduledChangeTitle:"Keep your current plan?",undoScheduledChangeDescription:"This removes the scheduled switch to {plan} on {date}. Your current plan and billing cycle will continue.",confirmUndoScheduledChange:"Undo scheduled change",keepScheduledChange:"Keep scheduled change",undoScheduledChangeSuccess:"Scheduled plan change removed",undoScheduledChangeFailed:"Failed to remove the scheduled plan change",scheduledPlanFallback:"the selected plan"},billing:$R[106]={title:"Billing",description:"Manage your subscription and billing details",status:$R[107]={active:"Active",trial:"Trial",free:"Free",lifetime:"Lifetime",canceled:"Canceled"},interval:$R[108]={month:"month",year:"year",oneTime:"one-time",monthly:"Monthly",yearly:"Yearly"},currentPlan:$R[109]={title:"Current Plan",description:"Your current plan details",noPlan:"You have no active plan"},CustomerPortalButton:$R[110]={loading:"Loading...",createCustomerPortalFailed:"The billing portal is temporarily unavailable. Please contact support for historical invoices."},price:"Price:",periodStartDate:"Period start date:",nextBillingDate:"Next billing date:",trialEnds:"Trial ends:",freePlanMessage:"You are currently on the free plan with limited features",lifetimeMessage:"You have lifetime access to all premium features",manageSubscription:"Manage Subscription and Billing",manageBilling:"Manage Billing",historicalInvoicesCta:"Contact support for historical invoices",managePlan:"Manage Plan",subscriptionSettings:"Subscription settings",cancelSubscriptionHint:"Turn off auto-renewal. Your access remains active until this billing period ends.",upgradePlan:"Upgrade Plan",retry:"Retry",errorMessage:"Failed to get data",paymentSuccess:"Payment successful",planName:"Plan",billingInterval:"Billing Interval",priceLabel:"Price",subscriptionDuration:"Subscribed for",currentPeriod:"Current Period",nextRenewal:"Next Renewal",nextCharge:"Next Charge",daysRemaining:"Days Remaining",expiresOn:"Expires On",subscribedSince:"Subscribed Since",autoRenew:"Auto Renew",autoRenewEnabled:"Enabled",autoRenewDisabled:"Disabled",trialRemaining:"Trial Remaining",trialEndsOn:"Trial Ends",firstChargeAfterTrial:"First Charge After Trial",yearlyDiscount:"Yearly Savings",daysCount:"{count} days",restoreSubscription:"Restore Subscription",subscriptionCanceled:"Subscription Canceled",cancelSubscription:"Cancel subscription",cancelSubscriptionTitle:"Cancel subscription?",cancelSubscriptionDescription:"Your paid features remain available until {date}. Auto-renewal will be turned off immediately.",cancelTrialDescription:"Your trial benefits remain available until {date}. Auto-renewal will be turned off and you will not be charged after the trial.",confirmCancelSubscription:"Schedule cancellation",keepSubscription:"Keep subscription",cancelSubscriptionSuccess:"Subscription cancellation scheduled",cancelSubscriptionFailed:"Failed to cancel subscription",resumeSubscription:"Resume subscription",resumeSubscriptionTitle:"Resume auto-renewal?",resumeSubscriptionDescription:"Your subscription will continue after {date}, and the saved payment method will be charged for the next billing period.",resumeTrialDescription:"Your trial will c
24ontinue until {date}. You will not be charged before the trial ends.",confirmResumeSubscription:"Resume subscription",keepCancellation:"Keep cancellation",resumeSubscriptionSuccess:"Subscription resumed",resumeSubscriptionFailed:"Failed to resume subscription",currentPeriodEndFallback:"the end of this billing period",serviceExpiring:"Service Expiring Soon",periodRange:"{start} - {end}",perMonth:"/month",perYear:"/year"},credits:$R[111]={title:"Credits",description:"Manage your credit transactions",tabs:$R[112]={balance:"Balance",transactions:"Transactions"},balance:$R[113]={title:"Credit Balance",description:"Your credit balance",credits:"Credits",creditsDescription:"You have {credits} credits",creditsExpired:"Credits expired",creditsAdded:"Credits have been added to your account",viewTransactions:"View Credit Transactions",retry:"Retry",expiringCredits:"{credits} credits expiring in the next {days} days"},packages:$R[114]={title:"Credit Packages",description:"One-time credits that never expire. Eligible generations include watermark-free image exports.",purchase:"Purchase",processing:"Processing...",popular:"Popular",completePurchase:"Complete Your Purchase",failedToFetchCredits:"Failed to fetch credits",failedToCreatePaymentIntent:"Failed to create payment intent",failedToInitiatePayment:"Failed to initiate payment",cancel:"Cancel",purchaseFailed:"Purchase credits failed",checkoutFailed:"Failed to create checkout session",loading:"Loading...",pay:"Pay"},transactions:$R[115]={title:"Credit Transactions",error:"Failed to get credit transactions",search:"Search credit transactions...",paymentIdCopied:"Payment ID copied to clipboard",columns:$R[116]={columns:"Columns",id:"ID",type:"Type",description:"Description",amount:"Amount",remainingAmount:"Remaining Amount",paymentId:"Payment ID",expirationDate:"Expiration Date",expirationDateProcessedAt:"Expiration Date Processed At",createdAt:"Created At",updatedAt:"Updated At"},types:$R[117]={MONTHLY_REFRESH:"Monthly Refresh",REGISTER_GIFT:"Register Gift",PURCHASE:"Purchased Credits",USAGE:"Consumed Credits",EXPIRE:"Expired Credits",SUBSCRIPTION_RENEWAL:"Subscription Renewal",LIFETIME_MONTHLY:"Lifetime Monthly"},detailViewer:$R[118]={title:"Credit Transaction Detail",close:"Close"},expired:"Expired",never:"Never"}},notification:$R[119]={title:"Notification",description:"Manage your notification preferences",newsletter:$R[120]={title:"Newsletter Subscription",description:"Manage your newsletter subscription preferences",label:"Subscribe to newsletter",hint:"You can change your subscription preferences at any time",emailRequired:"Email is required to subscribe to the newsletter",subscribeSuccess:"Successfully subscribed to the newsletter",subscribeFail:"Failed to subscribe to the newsletter",unsubscribeSuccess:"Successfully unsubscribed from the newsletter",unsubscribeFail:"Failed to unsubscribe from the newsletter",error:"An error occurred while updating your subscription"}},security:$R[121]={title:"Security",description:"Manage your security settings",updatePassword:$R[122]={title:"Change Password",description:"Enter your current password and a new password",currentPassword:"Current Password",currentRequired:"Current password is required",newPassword:"New Password",newMinLength:"Password must be at least 8 characters",hint:"Please use at least 8 characters for password",showPassword:"Show password",hidePassword:"Hide password",success:"Password updated successfully",fail:"Failed to update password",saving:"Saving...",save:"Save"},resetPassword:$R[123]={title:"Reset Password",description:"Reset password to enable email login",info:"Resetting your password will allow you to sign in using your email and password in addition to your social login methods. You will receive an email with instructions to reset your password",button:"Reset Password"},deleteAccount:$R[124]={title:"Delete Account",description:"Permanently remove your account and all of its contents",warning:"This action is not reversible, so please continue with caution",button:"Delete Account",confirmTitle:"Delete Account",confirmDescription:"Are you sure you want to delete your account? This action cannot be undone.",confirm:"Delete",cancel:"Cancel",deleting:"Deleting...",success:"Account deleted successfully",fail:"Failed to delete account",requestSubject:"Account Deletion Request",unavailable:"Contact Support"}}},upgrade:$R[125]={title:"Upgrade",description:"Upgrade to Pro to access all features",button:"Upgrade"},creation:$R[126]={title:"My Creations"},templates:$R[127]={subtitle:"A rich library of professional templates for faster creation",comingSoonTitle:"Templates coming soon",comingSoonDesc:"We're preparing a rich library of professional templates to make creating even faster!"},effects:$R[128]={subtitle:"Powerful effects and filters to make your creations shine",comingSoonTitle:"Effects coming soon",comingSoonDesc:"We're building powerful effects and filters to make your work stand out!"}},dailyCheckIn:$R[129]={header:$R[130]={checkInNow:"Check in now",checkInShort:"Check in",streak:"Day {days}",streakShort:"D{days}",checkedIn:"Checked in",checkedInShort:"Checked",loading:"Loading",loadFailed:"Check-in unavailable",available:"Day {day}/{total} · Claim +{credits}",availableShort:"D{day} +{credits}",claimed:"Day {day}/{total} · Claimed +{credits}",claimedShort:"D{day} claimed"},title:"Daily Check-in",subtitle:"A 7-day reward cycle. Missing a day only forfeits that day's reward.",status:$R[131]={notCheckedIn:"You haven't checked in today yet.",checkedIn:"Great! You earned +{total} credits today.",loadFailed:"Failed to load check-in status.",refreshing:"Refreshing...",updated:"Status up to date"},streak:$R[132]={current:"Cycle Day {days}",max:"Cycle progress: {days} days"},rewards:$R[133]={base:"Base +{base}",bonus:"Special +{bonus}",today:"Today's reward +{total}",specialDay:"High-reward day"}
24,nextMilestone:$R[134]={title:"Next high-reward day",detail:"Day {days} adds +{credits} credits",completed:"All reward days are shown"},stats:$R[135]={totalCredits:"Total credits: {credits}",cycleCredits:"Earned this cycle",cycleCreditsValue:"{credits}/{total} credits"},time:$R[136]={countdown:"Resets in",resetSoon:"Resetting soon",resetInHours:"Resets in {hours}h",resetInHoursAndMinutes:"Resets in {hours}h {minutes}m",resetInMinutes:"Resets in {minutes}m",lessThanMinute:"Less than a minute",nextResetAt:"Resets at {time}"},actions:$R[137]={checkIn:"Check in now",checking:"Checking...",checked:"Checked today"},toast:$R[138]={success:"Check-in successful! You earned +{total} credits.",error:"Check-in failed, please try again",reminder:"Don't forget to check in today!"},reminder:$R[139]={badge:"Today's reward is ready"},history:$R[140]={button:"View history",title:"Check-in history",description:"Review recent check-ins and the credits you actually earned.",historyTitle:"Recent check-ins",rewardsTitle:"Special rewards",empty:"No check-in records yet.",rewardsEmpty:"No special rewards have been claimed yet.",streakLabel:"Cycle Day {days}",dayLabel:"Day {days}",statsSummary:"Showing {streak} records · {credits} credits earned",baseReward:"Base +{credits}",bonusReward:"Special +{credits}",recordCreatedAt:"Recorded at {time}",rewardMilestone:"Claimed the Day {days} special reward",rewardCredits:"+{credits} credits",rewardAchievedAt:"Achieved at {time}",rewardExpiresAt:"Expires at {time}"},cycle:$R[141]={title:"Reward cycle",currentCycle:"Cycle {cycle}",summary:"Day {day}/{total}",completed:"Cycle complete",daysRemaining:"{days, plural, one {# day remaining} other {# days remaining}}",finishedCycles:"Ended cycles: {count}",maxReward:"Maximum this cycle",maxRewardValue:"{credits} credits"},calendar:$R[142]={title:"This cycle's rewards",dayLabel:"Day {day}",today:"Today",checked:"Checked in",missed:"Missed",pending:"Pending",future:"Future",legend:$R[143]={checked:"Done",missed:"Miss",future:"Future"}},welcome:$R[144]={title:"Daily check-in for free credits",description:"Claim the reward for each day. Missing a day only forfeits that day's credits.",headline:"Claim up to \x3Chighlight>{credits} credits\x3C/highlight> every 7 days",registerGift:$R[145]={title:"Welcome Gift Received!",description:"You've received {credits} credits as a welcome bonus (valid for {days} days)",credits:"credits",canGenerate:"= 1 Fast video"},benefits:$R[146]={title:"Why check in?",baseReward:"Daily bonus: +{credits} credits just for checking in",keepStreak:"Missing a day does not affect tomorrow, but missed rewards cannot be reclaimed",redeem:"Use credits to generate AI content without spending a cent"},rewards:$R[147]={title:"7-day rewards",subtitle:"Claim each day's reward for up to 30 credits per cycle.",days:"Day",credits:"Bonus",dayEntry:"Day {days}",creditEntry:"+{credits} credits",dayShort:"D{day}",dayLabel:"Day {day}"},tableMore:"View full milestones",cta:$R[148]={title:"Ready to claim today's reward?",loading:"Loading your check-in status...",keepItUp:"You're on Day {days} of this cycle. Claim today's reward.",start:"Start your first cycle now and earn your welcome bonus."},actions:$R[149]={later:"Maybe later",checkInNow:"Check in now",viewStatus:"View status",claimToday:"Claim +{credits}
24 credits",alreadyClaimed:"Already claimed today",nextClaimIn:"Next check-in in {time}",loginToStartCheckIn:"Log in to start check-in"},stats:$R[150]={streakLabel:"Current cycle",streakValue:"{days}/{total} days",cycleCreditsLabel:"Credits this cycle",cycleCreditsValue:"{credits}",checkedPrefix:"Checked in:",checkedDays:"Claimed {days} days",earnedCredits:"Earned {credits} credits",cycleDay:"Day {day}/{total}"},dayState:$R[151]={checked:"Checked in",missed:"Missed",pending:"Ready to claim",future:"Upcoming"},milestone:$R[152]={next:"Next milestone: Day {days} · +{credits} bonus credits"}},table:$R[153]={accessibility:$R[154]={dragHandle:"Drag to reorder",selectAll:"Select all",selectRow:"Select row",openMenu:"Open menu"},headers:$R[155]={header:"Header",type:"Section Type",status:"Status",target:"Target",limit:"Limit",reviewer:"Reviewer"},toast:$R[156]={saving:"Saving {header}",success:"Done",error:"Error"},placeholders:$R[157]={assignReviewer:"Assign reviewer",selectView:"Select a view",selectType:"Select a type",selectStatus:"Select a status",selectReviewer:"Select a reviewer"},views:$R[158]={outline:"Outline",pastPerformance:"Past Performance",keyPersonnel:"Key Personnel",focusDocuments:"Focus Documents"},actions:$R[159]={customizeColumns:"Customize Columns",columns:"Columns",addSection:"Add Section",edit:"Edit",copy:"Make a copy",favorite:"Favorite",delete:"Delete",submit:"Submit",done:"Done"},statusOptions:$R[160]={done:"Done",inProgress:"In Progress",notStarted:"Not Started"},typeOptions:$R[161]={tableOfContents:"Table of Contents",executiveSummary:"Executive Summary",technicalApproach:"Technical Approach",design:"Design",capabilities:"Capabilities",focusDocuments:"Focus Documents",narrative:"Narrative",coverPage:"Cover Page"},empty:"No results.",chart:$R[162]={trend:"Trending up by 5.2% this month",description:"Showing total visitors for the last 6 months. This is just some random text to test the layout. It spans multiple lines and should wrap around."},form:$R[163]={header:"Header",type:"Type",status:"Status",target:"Target",limit:"Limit",reviewer:"Reviewer"},pagination:$R[164]={rowsSelected:"{selected} of {total} row(s) selected.",rowsPerPage:"Rows per page",page:"Page {page} of {total}",first:"Go to first page",previous:"Go to previous page",next:"Go to next page",last:"Go to last page"}},chart:$R[165]={description:"An interactive area chart",title:"Total Visitors",subtitleLong:"Total for the last 3 months",subtitleShort:"Last 3 months",range:$R[166]={"90d":"Last 3 months","30d":"Last 30 days","7d":"Last 7 days"},ariaSelect:"Select a value",series:$R[167]={visitors:"Visitors",desktop:"Desktop",mobile:"Mobile"}},sectionCards:$R[168]={revenue:$R[169]={title:"Total Revenue",trend:"Trending up this month",subtitle:"Visitors for the last 6 months"},customers:$R[170]={title:"New Customers",trend:"Down 20% this period",subtitle:"Acquisition needs attention"},accounts:$R[171]={title:"Active Accounts",trend:"Strong user retention",subtitle:"Engagement exceed targets"},growth:$R[172]={title:"Growth Rate",trend:"Steady performance increase",subtitle:"Meets growth projections"}}},Mail:$R[173]={common:$R[174]={team:"{name} Team",copyright:"©️ {year} All Rights Reserved."},verifyEmail:$R[175]={title:"Hi, {name}.",body:"Please click the link below to verify your email address.",confirmEmail:"Confirm email",subject:"Verify your email"},forgotPassword:$R[176]={title:"Hi, {name}.",body:"Please click the link below to reset your password.",resetPassword:"Reset password",subject:"Reset your password"},subscribeNewsletter:$R[177]={body:"Thank you for subscribing to the newsletter. We will keep you updated with the latest news and updates.",subject:"Thanks for subscribing"},subscriptionRenewalReminder:$R[178]={title:"Hi, {name}.",body:"Your {productName} subscription renews on {renewalDate}.",amount:"Upcoming charge: {amount}.",cancelHelp:"You can manage or cancel your subscription before the renewal date from billing settings.",manageBilling:"Manage billing",support:"Questions? Contact {supportEmail}.",subject:"Your subscription renews soon"}
24,subscriptionCancelConfirmation:$R[179]={title:"Hi, {name}.",body:"Your {productName} subscription is scheduled to cancel. You can keep using paid features until {periodEnd}.",amount:"Canceled recurring charge: {amount}.",manageBilling:"Open billing settings",support:"Questions? Contact {supportEmail}.",subject:"Your subscription cancellation is scheduled"},paymentFailed:$R[180]={title:"Hi, {name}.",body:"Your payment for {productName} failed. You are in a grace period until {gracePeriodEnd}. Please update your payment method to keep your subscription active.",graceNote:"During the grace period you can continue using your current plan. New billing cycle credits will be issued after payment is recovered.",updatePayment:"Update payment method",support:"Questions? Contact {supportEmail}.",subject:"Action required: Payment failed"},gracePeriodEnding:$R[181]={title:"Hi, {name}.",body:"Your {productName} grace period ends on {gracePeriodEnd}. Please update your payment method before then.",consequence:"If payment is not recovered before the grace period ends, your account will be downgraded to the free plan.",updatePayment:"Update payment method",support:"Questions? Contact {supportEmail}.",subject:"Reminder: Your grace period ends tomorrow"},gracePeriodEnded:$R[182]={title:"Hi, {name}.",body:"Your {productName} grace period has ended and your account has been downgraded to the free plan.",packagesNote:"Any one-time credit packages you purchased are not affected and remain available until their own expiry date.",reactivate:"Reactivate subscription",support:"Questions? Contact {supportEmail}.",subject:"Your subscription has been downgraded"},paymentRecovered:$R[183]={title:"Hi, {name}.",body:"Great news! Your payment for {productName} was successfully recovered.",creditsNote:"Previous grace period credits have been cleared and your new billing cycle credits are now available.",nextRenewal:"Your next renewal is on {nextRenewalDate}.",manageBilling:"Manage billing",support:"Questions? Contact {supportEmail}.",subject:"Payment recovered — subscription restored"},refundProcessed:$R[184]={title:"Hi, {name}.",body:"Your refund of {refundAmount} for {productName} has been processed.",accessNote:"Any associated subscription credits or access may have been revoked. If you have questions about your refund, please contact support.",support:"Questions? Contact {supportEmail}.",subject:"Your refund has been processed"},verificationOtp:$R[185]={greeting:"Hello,","sign-in":$R[186]={body:"Use the following verification code to sign in to your account:"},"email-verification":$R[187]={body:"Use the following verification code to verify your email address:"},"forget-password":$R[188]={body:"Use the following verification code to reset your password:"},expiryNotice:"This verification code will expire in 10 minutes.",securityNotice:"If you didn't request this code, please ignore this email.",footer:"For your security, do not share this code with anyone.",subject:"Your verification code"}},CreationPage:$R[189]={title:"My Creations",subtitle:"Manage all content you generate.",breadcrumbs:$R[190]={home:"Home"},privacyTitle:"Private Space",privacyDescription:"All content shown here is only visible to you.",filters:$R[191]={source:"Source",taskType:"Type",status:"Status",model:"Model"},reset:"Reset",emptyTitle:"No creations yet",emptyDescription:"Start a new creation or refresh to load the latest tasks.",startCreating:"Start Creating",loginToStart:"Login to Start",goToGenerator:"Open generator",refresh:"Refresh",noMoreContent:"No more content",deleteTitle:"Delete this creation?",deleteDescription:"It will disappear from your history and cannot be restored. Soutine keeps the record and file as soft-deleted data and does not physically purge them.",deleteConfirm:"Delete creation",deleting:"Deleting…",cancelDelete:"Cancel",deleteSuccess:"Creation deleted",deleteFailed:"Failed to delete creation",gallery:$R[192]={loadMore:"Load more",loading:"Loading…"},toolbar:$R[193]={all:"All",images:"Images",videos:"Videos",audio:"Audio",sortNewest:"Newest",sortOldest:"Oldest",sort:"Sort",itemCount:"{count} items"},detail:$R[194]={title:"Creation Details",description:"View generation results, prompts, and parameter information.",n
24oResult:"No result",video:"Video",thumbnail:"Preview thumbnail",copyPrompt:"Copy prompt",downloading:"Downloading...",download:"Download",promptCopied:"Prompt copied",promptTitle:"Prompt",parametersTitle:"Generation Parameters",taskStatus:"Task Status",creditsUsed:"Credits Used",errorTitle:"Error Message",model:"Model",preview:"Creation result preview"},card:$R[195]={noDownloadFile:"No downloadable file",downloadFailed:"Download failed",preview:"Creation result preview",noPreview:"No preview",noPrompt:"No prompt",viewDetails:"View details",downloading:"Downloading...",download:"Download",credits:"credits",video:"Video",music:"Music",variants:"variants",status:$R[196]={completed:"Completed",processing:"Processing",pending:"Pending",running:"Running",failed:"Failed"},more:"More",copyPrompt:"Copy prompt",promptCopied:"Prompt copied",copyFailed:"Copy failed",delete:"Delete",audio:"Audio",image:"Image"},filterOptions:$R[197]={dateRange:$R[198]={placeholder:"Time range",all:"All time","24h":"Last 24 hours","7d":"Last 7 days","30d":"Last 30 days"},scope:$R[199]={all:"All sources",generator:"Homepage creation",workspace:"Workspace"},taskType:$R[200]={all:"All types",textToImage:"Text to Image",imageToImage:"Image to Image",textToVideo:"Text to Video",imageToVideo:"Image to Video",textToMusic:"Music Generation"},status:$R[201]={all:"All status",completed:"Completed",processing:"Processing",failed:"Failed"},model:$R[202]={all:"All models"}},errorTitle:"Failed to load creations",errorDescription:"Something went wrong while loading your creations. Please check your connection and try again.",retry:"Retry"},PaySuccessPage:$R[203]={label:"Payment successful",title:"You're all set! 🎉",subscriptionActive:"Your subscription is active.",creditsAdded:"\x3Chighlight>{amount} credits\x3C/highlight> have been added to your balance.",plan:"Plan",subscription:"Subscription",credits:"Credits",status:"Status",active:"Active",goToStudio:"Go to studio",returnHome:"Return to home",processingLabel:"Payment received",processingTitle:"Finalizing your purchase",processingDescription:"We are confirming your payment and delivering your benefits. You can safely continue while this finishes.",processingStatus:"Processing",continueToDestination:"Continue"},common:$R[204]={ui:$R[205]={login:"Sign In",logout:"Log out",signUp:"Sign up",startForFree:"Start for Free",language:"Switch language",navigationMenu:"Navigation menu",mode:$R[206]={label:"Toggle mode",light:"Light",dark:"Dark",system:"System"},theme:$R[207]={label:"Toggle theme",default:"Default",blue:"Blue",green:"Green",amber:"Amber",neutral:"Neutral",yellow:"Studio Yellow"},copy:"Copy",copyUid:"Copy UID",copyUidSuccess:"UID copied to clipboard",copyUidFailed:"Failed to copy UID",saving:"Saving...",save:"Save",loading:"Loading...",cancel:"Cancel",logoutFailed:"Failed to log out",download:"Download",downloading:"Downloading...",downloadSuccess:"Download successful",downloadFailed:"Download failed",downloadImageStarted:"Image download started",downloadVideoStarted:"Video download started",downloadRetry:"File download failed, please try again later",downloadOpenedInNewTab:"Download failed, opened in new tab",downloadNetworkError:"Download failed, possibly due to network issues or CORS restrictions",noDownloadableFile:"No file available for download",playFailed:"Playback failed",videoPlayError:"Unable to play video, please check your network connection",video:"Video",image:"Image"},errors:$R[208]={generic:"An error occurred, please try again later",network:"Network error, please check your connection",timeout:"Request timeout, please try again"},table:$R[209]={totalRecords:"Total {count} records",noResults:"No results",loading:"Loading...",columns:"Columns",rowsPerPage:"Rows per page",page:"Page",firstPage:"First Page",lastPage:"Last Page",nextPage:"Next Page",previousPage:"Previous Page",ascending:"Asc",descending:"Desc",resetSorting:"Reset sorting",hideColumn:"Hide column",clearFilters:"Clear filters",toggleColumns:"Toggle columns",viewOptions:"View options",searchColumns:"Search columns",noColumns:"No columns available"},nav:$R[210]={pricing:$R[211]={title:"Pricing"},imageAi:$R[212]={title:"Image AI"},videoAi:$R[213]={title:"Video AI"},audioAi:$R[214]={title:"Audio AI"},seedancePrompts:$R[215]={title:"Seedance Prompts"},models:$R[216]={title:"AI Models",viewAll:"All Models",imageModels:"Image Models",videoModels:"Video Models",audioModels:"Audio Models"},badges:$R[217]={hot:"Hot",new:"New"},myCreations:$R[218]={title:"My Creations"},seoHeading:"Site navigation",pages:$R[219]={title:"Pages",items:$R[220]={contact:$R[221]={title:"Contact",description:"Get in touch with our team for support or inquiries"},cookiePolicy:$R[222]={title:"Cookie Policy",description:"How we use the cookies on our website"},privacyPolicy:$R[223]={title:"Privacy Policy",description:"How we protect and handle your data"},termsOfService:$R[224]={title:"Terms of Service",description:"The legal agreement between you and our company"},acceptableUse:$R[225]={title:"Acceptable Use Policy",description:"Content standards for AI generation on this service"}}}},footer:$R[226]={tagline:"AI image and video creation studio.",navLabel:"Footer navigation",imageTools:$R[227]={title:"Image Tools"},imageModels:$R[228]={title:"Image Models"},videoTools:$R[229]={title:"Video Tools"},videoModels:$R[230]={title:"Video Models"},audioTools:$R[231]={title:"Audio & 3D"},models:$R[232]={viewAll:"All Models",title:"AI Models"},product:$R[233]={title:"Product",items:$R[234]={features:"Features",pricing:"Pricing",qwenPrompts:"Qwen Image 2.1 Prompts",bananaPrompts:"Banana Prompts",faq:"FAQ",blog:"Blog",contact:"Contact"}},legal:$R[235]={items:$R[236]={cookiePolicy:"Cookie Policy",privacyPolicy:"Privacy Policy",termsOfService:"Terms of Service",refundPolicy:"Refund Policy",acceptableUse:"Acceptable Use"}},startCreating:"Start creating free",allRightsReserved:"All Rights Reserved."},header:$R[237]={upgradeMembership:"Upgrade",addCredits:"Add Credits",viewCredits:"View Credits",freeCreditsGift:"Get {credits} free credits",claimCheckInCredits:"Claim +{credits} credits",creditsTitle:"Credits",availableCredits:"Available Credits",freeCredits:"Free credits",loginForMoreCredits:"Log in to earn more free credits!",getMore:"Get More",checkInClaimCta:"Check In & Claim {credits} Credits",contactUs:"Contact us",contactPrompt:"Questions about our service?",subscriptionCredits:"Subscription Credits",otherCredits:"Other 
24credits",closeCreditsPanel:"Close",dailyRewards:"Daily rewards",registrationGiftLabel:"{credits} free credits",registrationGiftBadge:"+{credits}",registrationGiftDescription:"New users receive {credits} free credits after signing up."},"user-menu":$R[238]={creditsBalance:"Credits Balance",menuLabel:"Account menu",accountMenu:"Open account menu for {name}",premiumAccountMenu:"Open account menu for {name}, paid member",premiumStatus:"Paid member",profileMenu:"Profile",pricing:"Pricing",contactUs:"Contact Us",creditsActions:"Credits actions",upgradeMembership:"Upgrade",addCredits:"Add Credits",addMore:"Add More",noCreditsLeft:"No credits left",profile:$R[239]={signInPrompt:"Sign in to view your profile",signIn:"Sign In",myCreations:"My Creations",editProfile:"Edit profile",billing:"Billing",credits:"Credits",notifications:"Notifications",upgradePlan:"Upgrade Plan",appearance:"Appearance",quickLinks:"Quick links",myCreationsDesc:"Everything you've generated",editProfileDesc:"Update your name and avatar",billingDesc:"Plan, payment & invoices",creditsDesc:"Balance, usage & top-ups",notificationsDesc:"Email & product updates"}},membership:$R[240]={badge:$R[241]={free:"Free",starter:"Starter",pro:"Pro",max:"Max",loading:"Checking membership…"},actions:$R[242]={viewMembership:"Membership center",manageBilling:"Manage billing",viewPricing:"View pricing"},status:$R[243]={active:"Active subscription",trial:"Trial ends on {date}",scheduledDowngrade:"Scheduled to downgrade on {date}",scheduledUpgrade:"Scheduled to upgrade on {date}",scheduledIntervalChange:"Billing cycle will change on {date}",scheduledPlanChange:"Plan change scheduled for {date}",cancelAtPeriodEnd:"Will cancel at period end",pastDue:"Payment past due"}},models:$R[244]={home:"Home",models:"Models",featuresTitle:"Key capabilities",faqTitle:"Frequently asked questions",relatedTitle:"Related models",allModels:"All models",openInTool:"Open in the full workspace",readMore:"Learn more about {modelName}",taskTypeLabels:$R[245]={text_to_image:"Text to Image",image_to_image:"Image Editing",text_to_video:"Text to Video",image_to_video:"Image to Video",text_to_speech:"Text to Speech",text_to_music:"Music Generation"}},pricing:$R[246]={catalog:$R[247]={freeModelQuote:"free",yearlyBenefits:$R[248]={title:"Why choose yearly?",note:"Savings compare one annual payment with 12 monthly payments of the same plan. Usage benefits vary by plan.",savings:"Lower annual cost",discounts:"Model credit benefits",perks:"Included plan features",saving:"Save {amount}/year with {plan}",modelBenefit:"{plan}: {benefit}",concurrency:"{plan}: {count} concurrent generations"},includedCreditNote:"Included in this plan. No credits are consumed.",viewFullComparison:"View full plan comparison",basicSpecNote:"GPT Image 2 and Nano Banana 2: Basic applies to 1K only. 2K / 4K use credits with your plan discount.",basic1KLabel:"Basic · 1K",discountBadge:"{percent}% OFF",compareTitle:"Compare plans",compareDescription:"Actual billing amounts, credit allowances and usage benefits for each option.",details:"Details",modelExamples:"AI Models",exampleNote:"Examples use the specifications shown. Your actual price depends on the selected settings.",creditAmount:"{amount} credits",included:"Included",includedScope:"{scope} · UNLIMITED",autoImage:"Auto image generation",fixedNote:"The fixed credit amount is charged for each generation. Model eligibility and account limits still apply.",fixedScope:"{scope} · {credits, plural, one {# credit} other {# credits}} per generation",fixedBadge:"{credits, plural, one {# credit} other {# credits}}",discountScope:"{scope} · {percent}% OFF",allModels:"All models",selectedModels:"Eligible models",notIncluded:"—",usageNote:"Included usage applies only to eligible models. Account and concurrency limits still apply.",groups:$R[249]={otherBasic:"Other Basic models",basic:"Basic models",sota:"SOTA models"},credits:$R[250]={month:"{amount} credits each month",year:"{amount} credits each year",once:"{amount} credits, one-time"},limits:$R[251]={concurrentGenerations:"{count} concurrent generations"},capabilities:$R[252]={originalDownload:"Watermark-free image exports",commercialUse:"Commercial use"},billing:$R[253]={month:"Billed monthly",year:"Billed yearly",once:"One-time payment"},examples:$R[254]={nanoBanana:"Nano Banana 2 Lite · default image settings",seedanceMini:"Seedance 2 Mini · 480p 
24· 5s",fluxKlein:"FLUX.2 Klein 4B · default image settings",defaultImage:"Text to image · default model settings · one output.",defaultVideo:"Text to video · default model settings. Actual cost varies with duration and resolution.",video480p5s:"Text to video · 480p · 5 seconds.",backgroundRemoval:"Background removal · one image · default model settings.",imageUpscale:"Image upscale · one image · default model settings."},unlimited:"UNLIMITED",viewMoreModels:"View More Models",viewLessModels:"Show Fewer Models",modelInfo:"Pricing details for {model}",benefitInfo:"Benefit details",discountNote:"This discount reduces the credits charged per generation, not the subscription price. Exclusions and model settings may apply.",creditsLabel:"credits",featuresLabel:"Features",priceLabel:"Price",concurrencyLabel:"Concurrent generations",creditsRow:"Credits",video:"Video Models",image:"Image Models",scrollHint:"Scroll horizontally to compare all plans.",perMonth:"/month",bestValue:"Best value",monthly:"Monthly",yearly:"Yearly",grantMonth:"{amount}/month",grantYear:"{amount}/year",grantOnce:"{amount} once",saveYearly:"Save {percent}%",billedYear:"{amount} billed yearly"},section:$R[255]={title:"Pricing",subtitle:"Pricing",description:"Generate images and videos. Start free, upgrade when you're ready — cancel anytime."},plans:$R[256]={free:$R[257]={name:"Free",description:"Try & Share - Explore basic features",features:$R[258]={"feature-1":"{giftCredits} credits on sign up (one-time)","feature-2":"{concurrent} concurrent task","feature-3":"Low resolution output","feature-4":"Community support"},limits:$R[259]={"limit-1":"Public generation by default","limit-2":"Watermarked output","limit-3":"No commercial use","limit-4":"Last 10 results only"}},starter:$R[260]={name:"Starter",description:"Private creation with commercial rights",features:$R[261]={"feature-1":"{credits} credits/month","feature-2":"Up to {imageCount} Nano Banana 2 Lite images","feature-3":"Up to {videoCount} Seedance 2 Mini 480p short videos","feature-4":"{concurrent} concurrent tasks","feature-5":"High resolution, no watermark","feature-6":"Private generation by default","feature-7":"Fast queue priority","feature-8":"Commercial use"}},pro:$R[262]={name:"Pro",description:"Most Popular - Full commercial rights",features:$R[263]={"feature-1":"{credits} credits/month","feature-2":"Up to {imageCount} Nano Banana 2 Lite images","feature-3":"Up to {videoCount} Seedance 2 Mini 480p short videos","feature-4":"{concurrent} concurrent tasks","feature-5":"High-resolution, watermark-free exports","feature-6":"Private generation","feature-7":"Ultra-fast queue priority","feature-8":"Full commercial license","feature-9":"Unlimited archive & folder management"},limits:$R[264]=[]},max:$R[265]={name:"Max",description:"High-volume creation with priority support",features:$R[266]={"feature-1":"{credits} credits/month","feature-2":"Up to {imageCount} Nano Banana 2 Lite images","feature-3":"Up to {videoCount} Seedance 2 Mini 480p short videos","feature-4":"{concurrent} concurrent tasks","feature-5":"Everything in Pro","feature-6":"API access & integrations","feature-7":"Advanced access controls","feature-8":"Priority technical support","feature-9":"White-label customization","feature-10":"Batch processing tools","feature-11":"Exclusive model access"},limits:$R[267]=[]},internalTest:$R[268]={name:"Internal Test",description:"400 credits per month for internal payment validation."}},creditPackages:$R[269]={starter:$R[270]={name:"Starter",description:"For occasional projects"},pro:$R[271]={name:"Pro",description:"For ongoing creative work"},max:$R[272]={name:"Max",description:"For high-volume creation"}},monthly:"Monthly",yearly:"Yearly",getStarted:"Get Started",limitedTimeOffer:"Limited Time Offer",saveWithAnnual:"Save up to {maxDiscount}% with Annual Billing",saveUpTo:"Save up to {maxDiscount}%",creditPacks:$R[273]={title:"Pay once",subtitle:"One-time credits that never expire. No subscription required.",creditsLabel:"credits",oneTime:"{price} one-time",subscriptionTab:"Subscription",payOnceTab:"Pay as you go",mostPopular:"MOST POPULAR",bestCreditValue:"BEST CREDIT VALUE",creditsPerTenDollars:"$10 = {credits} credits",neverExpire:"Never expires",useAcrossModels:"Use across available models",watermarkFree:"Watermark-free image exports",watermarkCondition:"Watermark-free originals are included when your credit-pack balance covers the full generation cost.",subscriptionNotice:"Includes watermark-free image exports and commercial-use rights. Additional concurrency, private-by-default generation, and queue priority still require a subscription.",oneTimePayment:"One-time payment"},insufficientCredits:$R[274]={title:"You're out of credits",bodyWithNeeded:"This generation needs {needed} credits. You have {balance} left. Top up to keep creating.",body:"You have {balance} left. Top up to keep creating.",drawerBodyWithNeeded:"This generation needs {needed} credits. You have {balance} left. Choose a plan to keep creating.",drawerBody:"You have {balance} left. Choose a plan to keep creating.",packLine:"{credits} credits · never expire",watermarkFree:"Eligible generations include watermark-free image exports.",bestValue:"BEST VALUE",buy:"Buy {pack} — {price}",upgradePrompt:"Need more often?",upgradeLink:"Upgrade to a plan →"},creditPolling:$R[275]={toastSuccess:"Credits are available.",successTitle:"Credits are available",successDescription:"You received {credits} credits and can use them now.",pendingTitle:"Credits are being issued",timeoutDescription:"Your credits should arrive within 1 minute. Refresh the page shortly to check again.",refresh:"Refresh n
24ow",pollingTitle:"Issuing credits...",pollingDescription:"Expected in {seconds}s ({attempts}/10)"},PricingCard:$R[276]={freePrice:"$0",perMonth:"/month",perYear:"/year",popular:"Popular",recommended:"Recommended",currentPlan:"Current Plan",yourCurrentPlan:"Your Current Plan",getStartedForFree:"Get Started For Free",getLifetimeAccess:"Get Lifetime Access",getStarted:"Get Started",comingSoon:"Coming soon",notAvailable:"Not Available",contactUs:"Contact us",planChangeContactSubject:"Plan change request: {targetPlan}",planChangeContactBody:"Hi Soutine Support,\n\nI'd like to change my current {provider} {currentPlan} subscription to {targetPlan}.\n\nThank you.",daysTrial:"{days}-day free trial",yearlyDiscount:"vs {monthlyPrice}/month, save {discountPercentage}%",saveVsMonthly:"Save {amount} vs monthly",credits:"credits",creditsPerMonth:"credits/month",creditsPerYear:"credits/year"},CheckoutButton:$R[277]={loading:"Opening payment page…",checkoutFailed:"Failed to open checkout page",checkoutPending:"Your previous payment is still being processed. Please try again in a moment."},paymentMethodDialog:$R[278]={title:"Choose a payment method",description:"Select a secure payment provider to continue.",securityNote:"Your payment is securely handled by the provider you choose.",stripe:$R[279]={name:"Stripe",description:"Secure card checkout with Stripe."},paypal:$R[280]={name:"PayPal",description:"Continue securely with your PayPal account."},waffo:$R[281]={name:"Waffo Pancake",description:"Secure hosted checkout powered by Waffo."},creem:$R[282]={name:"Creem",description:"Global checkout for digital products."},subotiz:$R[283]={name:"Subotiz",description:"Secure global checkout powered by Subotiz."}},checkoutLaunching:$R[284]={title:"Opening your secure payment page",description:"Please wait a moment.",delayedDescription:"Still preparing your payment page.",recoveryDescription:"This is taking longer than expected. Close this window and try again from the previous page.",closeWindow:"Close window"},checkoutReturn:$R[285]={completedTitle:"Payment completed",completedDescription:"Your payment is confirmed. Return to the original page to see your updated benefits.",cancelledTitle:"Payment not completed",cancelledDescription:"No completion was confirmed. Close this window and return to the original page to continue or reopen the same payment.",closingCountdown:"This window will close in {seconds, plural, one {# second} other {# seconds}}.",closeFallback:"This window did not close automatically. You can close it now.",closeNow:"Close now"},paymentFlow:$R[286]={title:"Payment details",querying:"Checking payment result...",queryingLongRunning:"Payment received. Activating your benefits...",queryingLongRunningDescription:"Payment notifications can be delayed for a few minutes. Keep this page open; we will continue checking automatically.",queryingLongPending:"Still confirming your payment...",queryingLongPendingDescription:"We have not confirmed this payment yet. Keep this page open while we continue checking automatically.",reopenPayment:"Pay again",checkAgain:"Check payment again",closeSafe:"Keep this page open while we confirm your payment. Do not start another payment.",supportPrompt:"Payment issue? Contact",popup_blockedTitle:"Open the payment page",popup_blockedDescription:"Your browser blocked the payment page. Open it to continue.",openPaymentPage:"Open payment page",successTitle:"Payment successful",successDescription:"Your benefits are now available.",creditSuccessDescription:"{credits, number} credits have been added to your balance.",done:"Done",payment_failedTitle:"Payment failed",payment_failedDescription:"Your payment was not completed. You can reopen the payment page and try again.",expiredTitle:"Payment expired",expiredDescription:"This payment session has expired. Return to pricing to start a new payment.",backToPricing:"Back to pricing",requires_attentionTitle:"Payment status needs attention",requires_attentionDescription:"We could not confirm the final payment result yet. Check again before attempting another payment, or contact support for help.",requires_attentionPayPalOwnershipDescription:"This PayPal account is already linked to another account. Please sign in with the original account to manage the subscription. Do not pay again.",failedTitle:"Payment not completed",failedDescription:"This payment expired or could not be completed. You can try again."},upgradeSuccess:"Successfully switched to {plan}",upgradeScheduled:"Plan change scheduled. You'll move to {plan} at the end of the current billing period.",upgradeCreditsPending:"Credits are being issued...",paypalApprovalRequired:"Continue in PayPal to approve this scheduled plan change.",paypalChangeApproved:"PayPal approval received. Your plan is scheduled for the next successful renewal.",paypalChangeCancelled:"The PayPal plan change was not approved. Your current plan is unchanged.",upgradeError:"Failed to upgrade subscription",processing:"Processing...",upgradeTo:"Upgrade to {plan}",downgradeTo:"Downgrade to {plan}",switchTo:"Switch to {plan}",switchToYearly:"Switch to Yearly",switchToMonthly:"Switch to Monthly",effectiveImmediately:"Effective immediately",effectiveOn:"Effective on {date}",confirmUpgrade:"Are you sure you want to switch to {plan} now?",confirmSchedule:"Schedule the change to {plan} for the end of the current billing period?",confirmUpgradeTitle:"Switch to {plan}",confirmScheduleTitle:"Schedule switch to {plan}",confirmDowngradeTitle:"Downgrade to {plan}",confirmScheduleDowngradeTitle:"Schedule downgrade to {plan}",confirmIntervalChangeTitle:"Change billing cycle for {plan}",confirmScheduleIntervalChangeTitle:"Schedule billing cycle change for {plan}",confirmUpgradeDescription:"Review the summary below before confirming this change.",confirmScheduleDescription:"We'll schedule the change. Review the summary below before confirming.",confirmUpgradeAction:"Switch now",confirmScheduleAction:"Schedule change",confirmDowngradeAction:"Schedule downgrade",confirmIntervalChangeAction:"Change billing cycle",confirmScheduleIntervalChangeAction:"Schedule cycle change",confirmCancel:"Cancel",upgradeEffectiveNow:"Effective immediately.",upgradeEffectiveScheduled:"Will take effect at the end of the current period.",confirmChangeSummary:"What happens next",confirmDueTodayLabel:"Due today",confirmDueTodayCalculated:"Calculated by Stripe at confirmation",confirmDueTodayZero:"{amount} — no charge today",confirmEffectiveLabel:"Effective",confirmNextRenewalLabel:"Next renewal",confirmCreditsAccessLabel:"Credits & access",confirmRenewalValue:"{amount} / {interval}",confirmRenewalPending:"Shown on your next invoice",confirmCreditsIncrease:"{credits} credits after the change",confirmCreditsDecrease:"{credits} credits after the scheduled change",confirmCreditsValue:"{credits} credits; plan benefits stay the same",confirmCreditsUnchanged:"Plan benefits stay the same",confirmEffectiveImmediate:"Change takes effect immediately after confirmation.",confirmEffectivePeriodEnd:"Change takes effect on {date}.",confirmEffectiveNextCycle:"the next billing cycle",confirmCurrentBilling:"Until then you stay on {amount} per {interval}.",confirmNewBilling:"Future billing: {amount} per {interval}.",confirmProrationUpgrade:"Stripe will immediately charge any remaining difference for the current cycle.",confirmProrationDowngrade:"Any remaining balance becomes credit on your next invoice.",confirmProrationGeneric:"Stripe automatically handles proration; you may see a small charge or credit.",confirmDowngradeAccess:"Current plan benefits stay active until the new plan begins.",confirmProrationDisclaimer:"All charges are handled securely by Stripe. You'll receive an email receipt once the change is processed.",confirmPayPalScheduledChange:"PayPal will ask you to approve this change. Your current plan and credits remain unchanged until the next successful renewal.",confirmPayPalDisclaimer:"No charge is made today. After PayPal approval, the new plan is billed at your next renewal.",modal:$R[287]={mostPopular:"MOST POPULAR",upgradeTitle:"Upgrade to Get More Credits",upgradeDescription:"Compare plans, billing cycles, credits, and included features before purchasing.",manageTitle:"Change your plan",manageDescription:"You are currently on {plan}. Compare plans and review the timing before switching.",manageDescriptionFallback:"Compare plans and review the timing before switching.",featuresTitle:"Included Features",purchaseNow:"Purchase Now",billedYearly:"Billed yearly",billedMonthly:"Billed monthly",saveUpTo:"Save up to {percent}%",creditsPerMonth:"credits/month",perMonth:"/month",recommended:"Recommended",saveBadge:"SAVE {percent}%",perMonthShort:"/mo",hintMonthlyLabel:"Monthly",hintCreditsValue:"{credits} credits",hintRateLabel:"Value",hintRateValue:"$10 = {credits} credits",annualNote:"Billed {amount}/year. Auto-renews, cancel anytime.",monthlyNote:"Auto-renews monthly, cancel anytime.",saveAmount:"Save {amount}",bestValueBadge:"Best value",tierSliderLabel:"Monthly credit volume",estimatedOutput:"Est. {count} generations / month"},cta:$R[288]={title:"Start creating today",description:"Get {credits} free credits on sign up. No card required.",button:"✦ Start for free"}
24,campaign:$R[289]={creatorBoostAug2026:$R[290]={name:"Creator Boost",pillA:"Creator Boost",pillB:"Annual savings",headline:"Save up to {discount}% with yearly billing",promise:"More creative capacity every month",strip:"Creator Boost · save up to {discount}% yearly",stripCountdown:"{days}d {time}",yearlySuffix:"Save up to {discount}%",ribbons:$R[291]={pro:"Creator's Choice · Perfect Balance",max:"Maximum Credits · Ultimate value"},badges:$R[292]={limitedTime:"Limited time",bestValue:"Best value",allInOne:"All-in-one"},tooltip:"Annual savings are compared with paying the same plan monthly. Actual usage varies by model credit cost.",tooltipLabel:"About this campaign",units:$R[293]={days:"Days",hours:"Hrs",minutes:"Min",seconds:"Sec"},promoBody:"Save {discount}% — {yearlyPrice}/year vs {monthlyPriceAnnual}/year monthly.",promoHighlight:"More creation capacity every month"}},confirmIntervalSwitch:"Your billing cycle changes from {from} to {to}."},generator:$R[294]={heroUi:$R[295]={referencePricingSummary:"Priced by reference image count · View pricing",referencePricingContext:"For your current quality and aspect ratio, per output image:",referencePricingCount:"{count, plural, one {# reference image} other {# reference images}}",referencePricingNote:"Adding or removing images updates the price. The Generate button shows the total for this request.",creditsUnit:"credits",imageRequired:"Upload a reference image to use this model.",addImage:"Add image",addMoreImages:"Add more reference images",imageLimit:"The selected model supports up to {max} images. Remove {remove} to continue.",batchLimit:"The selected model supports up to {max} images. This batch was not added.",rejectedFiles:"{count} files could not be added. Use PNG, JPG or WebP files under 10 MB and stay within the {max}-image limit.",unsupportedImages:"No model supports the current reference image selection.",addImages:"Add reference images",manageImages:"Manage {count} reference images",referenceImages:"Reference images",removeImage:"Remove {name}",uploadFormats:"PNG, JPG or WebP · up to 10 MB each",imageCount:"{count} images",modeSummary:"Generation mode: {mode}. {count} available models.",settings:"Settings",closePanel:"Close panel"},preview:$R[296]={badge:"Start Instantly",title:"Sign in to Generate Cinematic Videos",description:"The workspace demonstrates how authenticated users can run a credit-based product workflow from prompt to result.",bullets:$R[297]={one:"Switch between text-to-video, image-to-video, and image workflows",two:"Control physics, timing, and style with production-ready presets",three:"Manage history, templates, and collaboration in one place"},ctaPrimary:"Sign in to Try the Workspace",ctaSecondary:"View Pricing"},modeSelector:$R[298]={title:"Generation Mode"},mediaTabs:$R[299]={label:"Media type",image:"Image",video:"Video",audio:"Audio",workflow:"Workflow"},controlPanel:$R[300]={title:"Creation Console",credits:"credits",description:"Select creation mode, upload materials, enter creative descriptions, and let AI generate amazing content for you",generationOptions:"Generation Options",veoQuality:"Generation quality",watermark:"Watermark",watermarkTooltipPremium:"Choose whether to add watermark to generated content",watermarkTooltipFree:"Free users have watermark by default, upgrade to remove",public:"Public",publicTooltipPremium:"Choose whether to publicly display generated 
24works",publicTooltipFree:"Free users' works are public by default, upgrade for privacy",concurrent:"Concurrent",concurrentFull:"Concurrent full {active}/{limit}",concurrentStatus:"Concurrent {active}/{limit}",concurrentTooltip:"Running {active} tasks, max {limit} concurrent tasks allowed",upgrade:"Upgrade Plan",openMembership:"Get Membership",toast:$R[301]={generateFailed:"Generation failed",imageUploading:"Images are still uploading. Please wait before generating.",missingPrompt:"Please enter a prompt before generating.",missingImage:"Please upload at least one image before generating.",uploadFailed:"Some images failed to upload. Please retry before generating.",selectModel:"Please select a model before generating.",tooManyImages:"This model supports at most {max} images. Remove images or choose another model.",maxConcurrent:"You’ve reached the concurrent task limit ({limit}). Please wait for current tasks to finish or upgrade your plan.",generationStarted:"Generation started! Scroll down to the results area to follow the progress.",promptTooLong:"Prompt is too long (max {max} characters)",missingParameter:"Please complete {field} before generating.",invalidParameter:"The value for {field} is invalid. Please review it before generating.",audioMissing:"Please upload an audio clip (max 15 seconds).",audioTooLong:"Audio must be 15 seconds or shorter.",createTaskFailed:"Failed to create the generation task. Please try again later.",requestTimeout:"Request timed out. Please try again later.",networkError:"Network request failed. Please check your connection and try again.",veo3ReferenceModelOnly:"Reference image mode only supports the Veo3 Fast model.",veo3ReferenceAspectRatio:"Reference image mode only supports the 16:9 aspect ratio.",veo3ReferenceImageCount:"Reference image mode requires 1-3 images.",veo3FramesFirstRequired:"First & last frames mode requires at least the first frame image.",veo3FramesMaxImages:"First & last frames mode supports up to 2 images."},lipSyncRuleTitle:"Lip sync pricing",lipSyncRuleDesc:"Upload audio to get an exact estimate; pricing = rate × audio duration (≤15s).",lipSyncRate:"Current rate: {rate} credits/s @ {resolution}",videoUpscaleRuleTitle:"How video upscaling is billed",videoUpscaleRuleDesc:"Credits are charged per second of video at the selected output resolution. Duration is rounded up to whole seconds, with a 3-second minimum. We estimate after you pick a file; on upload the server reads the MP4 duration. Generate charges that stored duration, not the browser's reading.",videoUpscaleRate:"Rate: {rate} credits/s at {resolution}",videoUpscaleEstimate:"This clip is {duration}s → billed as {billed}s = {credits} credits",videoUpscaleEstimatePending:"Upload a video to price this run. Until then the estimate uses the {billed}s minimum ({credits} credits).",videoUploadTitle:"Upload video",videoUploadHint:"Click or drag an MP4 video here",removeVideo:"Remove video",videoDurationUnknown:"We couldn’t read this video’s duration. Try another MP4.",videoDurationTooLong:"This video is too long. The limit is {max} seconds.",mediaTitles:$R[302]={image:"Image Generation",video:"Video Generation",audio:"Audio Generation",workflow:"Workflow"}},resultViewer:$R[303]={title:"Generation Result Details",count:"({current}/{total})",imageLoading:"Loading image...",imageLoadingDesc:"Beautiful image coming soon",videoLoading:"Loading video...",videoLoadingDesc:"High quality video is buffering, please wait",buffering:"Buffering...",fetching:"Fetching results...",fetchingDesc:"AI is generating amazing content for you",generating:"Generating...",generatingDesc:"Please be patient, AI is creating for you...",progress:$R[304]={preparingFiles:"Preparing your files",starting:"Starting your generation",waiting:"Waiting in queue",creating:$R[305]={image:"Creating your image",video:"Creating your video",audio:"Creating your audio"},upgradeForFaster:"Upgrade for faster generation"},downloadSuccess:"File saved to downloads",downloadError:"Opened in new tab, please save manually",copyPromptSuccess:"Prompt copied",prompt:"Prompt",copy:"Copy",copied:"Copied",collapse:"Collapse",expandAll:"Expand all",download:"Download",downloading:"Downloading...",downloadImage:"Download image",downloadVideo:"Download video",openInNewWindow:"Open in new window",downloadAll:"Download all ({count})",downloadAllStart:"Starting download of {total} files",downloadAllComplete:"Download complete",downloadAllResult:"Success: {success}, Failed: {failed}
24",thumbnail:"Thumbnail",status:"Status:",statusCompleted:"Completed",statusFailed:"Failed",cost:"Cost:",costCredits:"{cost} credits",mode:"Mode:",modeTextToImage:"Text to Image",modeImageToImage:"Image to Image",modeTextToVideo:"Text to Video",modeImageToVideo:"Image to Video",modeTextToMusic:"Music Generation",image:"Image",video:"Video",audio:"Audio",audioTitle:"Track {index}",generatedResult:"Generated result",viewLarger:"View larger",resultIndex:"Result {index}",unmuteHint:"Click to unmute",close:"Close",previousResult:"Previous result",nextResult:"Next result",model:"Model",regenerate:"Regenerate",tryIt:"Try it"},resultsGrid:$R[306]={reuseParameters:"Reuse parameters",audioTitle:"Track {index}",generateFailed:"Generation failed",retry:"Retry",retrySuccess:"Retry started / credits charged",retryResolutionAdjusted:"The previous {from} resolution is unsupported and was adjusted to {to}.",retryError:"Retry failed",retryErrorDesc:"Please try again later",cloneSuccess:"Cloned to form",cloneSuccessDesc:"Please check parameters before generating",cloneError:"Clone failed",cloneErrorDesc:"Please try again later",unknownError:"Unknown error",contentViolation:"Content violation: {reason}",contentViolationDefault:"Content may violate platform guidelines, please try modifying your prompt",noResults:"No results",noResultsDesc:"Failed to fetch generation results, please retry",generateComplete:"Generation complete",resultsCount:"{count} results",viewLarger:"View larger",generatedPreview:"Generated preview",download:"Download",downloading:"Downloading...",downloadSuccess:"File saved to downloads",downloadError:"Opened in new tab, please save manually",mainResult:"Main result",clickToEnlarge:"Click to enlarge",resultIndex:"Result {index}"},history:$R[307]={title:"Generation History",emptyTitle:"No history yet",emptyDescription:"Your completed generations will appear here",searchPlaceholder:"Search prompts...",filters:$R[308]={placeholder:"Filter mode",all:"All Modes","text-to-image":"Text to Image","image-to-image":"Image to Image","text-to-video":"Text to Video","image-to-video":"Image to Video","text-to-speech":"Text to Speech","text-to-music":"Text to Music"},sort:$R[309]={placeholder:"Sort by",recent:"Recent",oldest:"Oldest",model:"Model"},status:$R[310]={success:"Success"},item:$R[311]={resultReady:"Result ready",placeholderTitle:"Generation #{id}"},noFilteredResults:"No results found",date:$R[312]={today:"Today",yesterday:"Yesterday",daysAgo:"{count} days ago"}},HistorySection:$R[313]={recentHistory:"Recent History",summary:"{running} running · {completed} done",inProgress:"In progress",completed:"Completed",viewAll:"View All",refresh:"Refresh",loading:"Loading...",loadingHistory:"Loading history...",empty:"No history yet",loadFailed:"Load failed",tryAgain:"Please try again later"},CompactHistoryItem:$R[314]={resultPreview:"Result Preview",noPreview:"No Preview",noPrompt:"No Prompt",statusCompleted:"Completed",statusFailed:"Failed",statusRunning:"Generating",statusQueued:"Queued",generating:"Generating",failed:"Failed",credits:"credits",download:"Download",downloading:"Downloading...",copyPrompt:"Copy Prompt",downloadFailed:"Download Failed",noDownloadFile:"No file available",fileSaved:"File saved",openedInNewWindow:"Opened in new window",promptCopied:"Prompt copied",moreActions:"More actions",extendVideo:"Extend video",upscaleVideo:"Upscale video"},AdvancedOptions:$R[315]={title:"Advanced Options",aspectRatio:$R[316]={label:"Aspect Ratio",placeholder:"Select aspect ratio",square:"1:1 Square",landscape:"16:9 Landscape",portrait:"3:4 Portrait"},resolution:$R[317]={label:"Resolution",placeholder:"Select resolution",low:"512px Low",medium:"768px Medium",high:"1024px High"}},PromptInput:$R[318]={label:"Prompt",placeholder:"Describe what you want to generate...",prompt:$R[319]={placeholderIdea:"Describe the vibe, genre, scene or mood; lyrics will be auto-generated",placeholderLyrics:"Write the full lyrics you want to sing",placeholderInstrumental:"Describe the desired instrumental style, mood or genre",hintAutoLyrics:"Prompt is used as creative direction; lyrics are auto-generated.",hintExactLyrics:"Custom mode + vocals: prompt will be sung verbatim as lyrics.",hintInstrumental:"Instrumental mode: prompt guides the arrangement, no vocals will be generated."}},ModelSelector:$R[320]={label:"Select Model",placeholder:"Please select a model",searchPlaceholder:"Search model family or version",noSearchResults:"No matching models",creditsPerUnit:"{credits} credits/use",defaultParameterCredits:"Default settings: {credits} credits",pricingPending:"Price pending",durationBasedLabel:"Duration-based billing",unavailable:"Unavailable",planLabels:$R[321]={authenticated:"Free",starter:"Starter",pro:"Pro",max:"Max"},modelDescriptions:$R[322]={"kling-3-0":"Kling 3.0 video generation with optional audio and first/last frames.","kling-3-0-omni":"Kling 3.0 Omni video generation with optional audio, first/last frames and up to seven reference images.","image-auto":"Automatically selects an available model for image generation and editing.","nano-banana-2-lite":"Fast low-cost image generation for the default flow","nano-banana-2":"Higher-resolution Nano Banana image generation with 1K/2K/4K output","seedream-5-lite":"Seedream 5 Lite image generation and editing at low cost","seedream-5-pro":"Seedream 5 Pro image generation and editing with 1K/2K output","gpt-image-2":"GPT Image 2 generation and editing with high prompt understanding","flux-2-pro":"Flux 2 Pro image generation and editing with 1K/2K output","wan-2-7":"Wan 2.7 video generation with 720p/1080p duration-based pricing","seedance-2-mini":"Seedance 2 Mini video generation with economical 480p/720p output","seedance-2-fast":"Seedance 2 Fast video generation for higher-speed creation","kling-v3-turbo":"Kling v3 Turbo video generation with 720p/1080p output","veo-3-1":"Veo 3.1 video generation with Fast and Quality modes","gpt-4o-image":"GPT-4o image generation and editing with variant support","flux-kontext-pro":"Flux Kontext Pro image generation and editing","flux-kontext-max":"Flux Kontext Max image generation and editing with maximum detail","wan-2-5":"Wan 2.5 video generation with updated 1:1 credit pricing","elevenlabs-tts-turbo":"ElevenLabs Turbo 2.5 fast text-to-speech","elevenlabs-tts-v2":"ElevenLabs Multilingual v2 high-fidelity text-to-speech","suno-music":"Suno music generation with request-based pricing","fal-nanobanana":"Fast generation, cost-optimized","fal-flux-
24pro":"Top-quality text-to-image model for professional creation","fal-nanobanana-img2img":"High-quality image editing powered by Google technology","fal-flux-pro-img2img":"FLUX Pro image-to-image, professional-grade image editing","kie-nanobanana":"Google fast text-to-image, low cost","kie-flux-kontext":"Flux high-quality text-to-image, supports multiple aspect ratios","kie-flux-kontext-max":"Flux flagship text-to-image, maximum quality and detail","kie-gpt4o-image":"OpenAI multimodal image generation, supports multiple variants","kie-seedream-v4":"Bytedance Seedream V4 text-to-image, multiple ratios and resolutions","kie-grok-text-to-image":"Grok Imagine text-to-image, Grok aesthetic with 6K quality","kie-nanobanana-img2img":"Google fast image editing, supports multiple image input","kie-flux-kontext-img2img":"Flux high-quality image editing","kie-flux-kontext-max-img2img":"Flux flagship image editing, precise detail control","kie-gpt4o-image-img2img":"GPT-4o image editing with mask-based precision","kie-seedream-v4-img2img":"Seedream V4 image-to-image, multi-image editing with 1K/2K/4K output","kie-qwen-image-edit":"Qwen image editing, supports multiple formats and negative prompts","kie-veo3-text2video":"KIE Veo3 high-quality text-to-video","kie-veo3-fast-text2video":"KIE Veo3 fast text-to-video","kie-runway-text2video":"KIE Runway professional text-to-video","kie-wan-v22-a14b-text2video-turbo":"Alibaba WAN 2.2 Turbo text-to-video, ultra-fast 720p/580p/480p with prompt expansion","kie-wan-v25-text2video":"WAN 2.5 text-to-video, 5s/10s with 720p/1080p output and prompt expansion","kie-grok-text-to-video":"Grok Imagine text-to-video, supports Fun/Spicy modes with callback","kie-seedance-v1-lite-text2video":"Seedance V1 Lite text-to-video, 5s/10s with 480p–1080p output","kie-seedance-v1-pro-text2video":"Seedance V1 Pro text-to-video, flagship quality with multiple aspect ratios","kie-sora2-text2video":"Sora 2 text-to-video, 10s/15s output with watermark removal","tuzi-sora2-text2video":"Tuzi Sora-2 high-quality text-to-video","kie-veo3-img2video":"KIE Veo3 image-to-video","kie-veo3-fast-img2video":"KIE Veo3 fast image-to-video","kie-runway-img2video":"KIE Runway image-to-video","kie-wan-v22-a14b-image2video-turbo":"Alibaba WAN 2.2 Turbo image-to-video, auto crop with 720p/580p/480p output","kie-wan-v25-image2video":"WAN 2.5 image-to-video, 5s/10s with 720p/1080p and negative prompt control","kie-grok-image-to-video":"Grok Imagine image-to-video, reference images with Fun/Spicy modes","kie-hailuo-v23-image2video-standard":"Hailuo 2.3 Standard image-to-video, 6s/10s at 768P/1080P","kie-hailuo-v23-image2video-pro":"Hailuo 2.3 Pro image-to-video, flagship quality, 6s/10s (1080P up to 6s)","kie-seedance-v1-lite-img2video":"Seedance V1 Lite image-to-video, first/last frame support, 5/10s output","kie-seedance-v1-pro-img2video":"Seedance V1 Pro image-to-video, flagship quality with more aspect ratios","kie-sora2-img2video":"Sora 2 image-to-video, multi-image input with watermark removal","tuzi-sora2-img2video":"Tuzi Sora-2 image-to-video","kie-elevenlabs-tts-v2":"Multilingual high-fidelity voices, ideal for regular narration","kie-elevenlabs-tts-turbo":"Turbo V2.5, forced language code support and higher speed","kie-suno-music":"Official Suno AI music generation with dual tracks and lyric sync","kie-infinitalk-from-audio":"Infinitalk audio-driven lip sync, supports 480p/720p","kie-kling-avatar-standard":"Kling Standard lip sync, 720p output","kie-kling-avatar-pro":"Kling Pro lip sync, 1080p output"}},ModelParameterControls:$R[323]={aspectRatio:"Aspect ratio",resolution:"Resolution",duration:"Duration ({unit})",outputCount:"Output count",durationUnit:$R[324]={seconds:"seconds",frames:"frames"},advancedOptions:"Advanced Options",creditsUnit:"credits",generationMode:"Generation Mode",generationModeDesc:"Quick: AI auto-generates lyrics and style. Professional: Full control over title/style/lyrics.",quickMode:"Quick",quickModeDesc:"AI auto-generates lyrics and style",professionalMode:"Professional",professionalModeDesc:"Full control over title/style/lyrics",sunoCustomModeDesc:"Advanced mode: fill style/title; with vocals + custom mode, prompt will be sung as lyrics; without custom mode lyrics are auto-generated.",sunoInstrumentalDesc:"On = instrumental only; Off = vocals. In custom mode with vocals, prompt is treated as lyrics."},badges:$R[325]={beta:"Beta"},ParameterControls:$R[326]={title:"Advanced Parameters",description:"Advanced parameters are configured automatically based on the selected model."},ImageUploader:$R[327]={title:"Upload Image",uploadHint:"Click or drag image here to upload",uploadTitle:"Upload image ({current}/{max})",limitReached:"Upload limit reached",limitReachedTitle:"Upload limit reached ({current}/{max})",maxImagesError:"The selected model supports at most {maxImages} images. Remove images or choose another model.",partialAdded:"Some images added",uploadFailed:"Upload failed",retry:"Retry",previewFailed:"Preview failed",previewFailedDescription:"Image preview failed to load",webp:$R[328]={hint:"JPG, PNG or static WebP. WebP is converted to PNG before upload.",processing:"Processing image…",cancel:"Cancel",animated:"Animated WebP is not supported. Use a static image.",invalid:"Unable to read this WebP image. Try another file.",dimensions:"This image is too large to process in your browser. Use an image up to 16 megapixels and 8192 pixels per side.",sourceTooLarge:"This image exceeds the {maxMB} MB limit.",convertedTooLarge:"The PNG exceeds {maxMB} MB after conversion. Use JPG or compress your image.",failed:"Unable to convert this image. Try a JPG or PNG file."}},FileUpload:$R[329]={title:"Upload File",uploadHint:"Click or drag file here to upload",limitReached:"Upload limit reached",partialAdded:"Some files added",uploadFailed:"Upload failed",uploadFailedDescription:"File upload failed, please retry",retry:"Retry",retryFailed:"Retry failed",retryFailedDescription:"File re-upload failed"},GenerateButton:$R[330]={generate:"Generate",generating:"Creating...",retryUploadsAndGenerate:"Retry uploads and generate",retryingUploads:"Retrying uploads...",submitting:"Submitting",insufficientCredits:"Insufficient balance (need {cost} credits)",taskInProgress:"Please wait, task in progress",combinationUnavailable:"This parameter combination is unavailable",pricePending:"Price pending",lipSyncPending:"Upload audio to show estimated credits",total:"Total"},ApiErrors:$R[331]={membershipTitle:"Membership required",membershipDescription:"This feature requires a membership. Please upgrade your account.",insufficientCreditsTitle:"Insufficient credits",insufficientCreditsDescription:"Not enough credits. Purchase credits to continue.",operationFailed:"Operation failed",createFailed:"The task could not be created. Please try again."},InsufficientCreditsGuide:$R[332]={title:"Insufficient Credits",currentCredits:"Current",requiredCredits:"Required",gap:"Need {gap} more credits",needMore:"Need {gap} more credits",daysNeeded:"Check in today for free credits",daysNeededCheckedIn:"Already checked in today",checkInNow:"Check In Now",alreadyCheckedIn:"Checked In Today",viewPlans:"View Plans",or:"or",todayRew
24ardAvailable:"Claim +{credits} credits from today's check-in",todayRewardStillShort:"Today's check-in gives +{credits} credits — still short after claiming. Upgrade is the fastest path.",alreadyCheckedInHint:"You've already checked in today. Top up credits or upgrade to keep generating."},UpgradeExplainer:$R[333]={public:$R[334]={title:"Keep your generations private",description:"Upgrade to keep your generations visible only to you.",support:"Better for drafts, client work, and ideas that are not ready to share."},watermark:$R[335]={title:"Export without a watermark",description:"Upgrade to unlock watermark-free export options.",support:"Better for portfolios, social posts, and client-ready files."},planNote:"Paid plans also include more monthly credits and faster generation queues.",viewPlans:"View plans"},PrimaryDisplayArea:$R[336]={emptyState:$R[337]={title:"Nothing on stage yet",description:"Describe what you want on the left. Your result will land in this frame.",uploadTitle:"Your result will appear here",uploadDescription:"Upload an image on the left, then start processing to preview the result here.",steps:$R[338]={prompt:"Prompt",upload:"Upload",generate:"Generate",result:"Result"}},errorState:$R[339]={title:"Generation Failed",description:"Something went wrong, please try again"}}
24,BackgroundTaskIndicator:$R[340]={generating:"{count, plural, =1 {1 task generating} other {# tasks generating}}"},HistoryList:$R[341]={recentHistory:"Recent History",viewAll:"View All",refresh:"Refresh",loading:"Loading...",empty:"No history yet",loadFailed:"Load failed",tryAgain:"Please try again later",loadMore:"Load more",loadingMore:"Loading more...",resultPreview:"Result Preview",noPreview:"No Preview",noPrompt:"No Prompt",noModel:"Unknown Model",credits:"credits",download:"Download",downloading:"Downloading...",downloadFailed:"Download Failed",noDownloadFile:"No file available",fileSaved:"File saved",openedInNewTab:"Opened in new tab",copyPrompt:"Copy Prompt",promptCopied:"Prompt copied",clonedToForm:"Cloned to form",checkParams:"Please check parameters before generating",cloneFailed:"Clone failed",retryCreated:"Retry task created",retryAgain:"Please try again later",retryFailed:"Retry failed"},HistoryPostAction:$R[342]={extendTitle:"Extend video",extendDescription:"Continue a completed Veo video using its owned provider task.",upscaleTitle:"Upscale video",upscaleDescription:"Create a 4K version of a completed Veo video.",sourceVideo:"Source video",sourceVideoPreview:"Source video {current} of {total}",sourceOutput:"Source output",selectOutput:"Use output {index}",noSourceVideo:"This task does not have an available video output.",model:"Model",credits:"{credits} credits",prompt:"Continuation prompt",promptPlaceholder:"Describe how the video should continue...",promptRequired:"Describe how you want the video to continue.",unavailable:"This action is not available for the selected task.",insufficientCredits:"Insufficient credits",createFailed:"The task could not be created. Your settings have been kept so you can try again.",cancel:"Cancel",creating:"Creating...",createExtend:"Extend video",createUpscale:"Upscale to 4K"},LipSyncAudioUploader:$R[343]={title:"Audio (required)",subtitle:"Upload audio (≤10MB, ≤15s) to drive lip sync",uploadHint:"Click to upload audio file",remove:"Remove",uploading:"Uploading...",uploadFailedTitle:"Upload failed",uploadFailedDesc:"Please try again",fileTooLargeTitle:"File too large",fileTooLargeDesc:"Max 10MB audio is allowed.",durationTooLongTitle:"Audio too long",durationTooLongDesc:"Audio duration must be ≤15s. Current: {duration}s",durationLabel:"Duration: {duration}"},modeTypes:$R[344]={text_to_image:$R[345]={label:"Text to Image",shortLabel:"Text",description:"Generate images from text descriptions"},image_to_image:$R[346]={label:"Image to Image",shortLabel:"Image",description:"Generate new images based on reference images"},image_to_text:$R[347]={label:"Image to Text",shortLabel:"OCR",description:"Extract structured text from an image"},text_to_video:$R[348]={label:"Text to Video",shortLabel:"Text",description:"Generate videos from text descriptions"},image_to_video:$R[349]={label:"Image to Video",shortLabel:"Image",description:"Bring static images to life"},text_to_speech:$R[350]={label:"Text to Speech",shortLabel:"Speech",description:"Convert scripts into natural narration"},text_to_music:$R[351]={label:"Music Generation",shortLabel:"Music",description:"Generate original music from text descriptions"},lip_sync:$R[352]={label:"Lip sync",shortLabel:"Lip Sync",description:"Generate talking avatar video from image + audio"},image_upscale:$R[353]={label:"Image Upscale",shortLabel:"Upscale",description:"Upscale and sharpen an image — no prompt needed"},image_unblur:$R[354]={label:"Unblur Image",shortLabel:"Unblur",description:"Recover clarity from a soft or mildly blurred image — no prompt needed"},old_photo_restoration:$R[355]={label:"Restore Old Photos",shortLabel:"Restore",description:"Repair common scratches, fading, noise, and blur — no prompt needed"},image_edit:$R[356]={label:"Image Edit",shortLabel:"Edit",description:"Edit an image with structured instructions"}
24,image_remove_background:$R[357]={label:"Remove Background",shortLabel:"Remove BG",description:"Remove an image background"},subject_mask:$R[358]={label:"Subject Mask",shortLabel:"Mask",description:"Create a mask for the primary subject"},reference_to_video:$R[359]={label:"Reference to Video",shortLabel:"Reference",description:"Create video from reference media"},multimodal_to_video:$R[360]={label:"Multimodal Video",shortLabel:"Multimodal",description:"Create video from multiple media inputs"},video_to_video:$R[361]={label:"Video to Video",shortLabel:"Video",description:"Transform a source video"},video_edit:$R[362]={label:"Video Edit",shortLabel:"Edit",description:"Edit an existing video"},video_extend:$R[363]={label:"Video Extend",shortLabel:"Extend",description:"Extend an existing video"},video_upscale:$R[364]={label:"Video Upscale",shortLabel:"Upscale",description:"Upscale an existing video"},motion_control:$R[365]={label:"Motion Control",shortLabel:"Motion",description:"Transfer or control motion"},music_to_video:$R[366]={label:"Music to Video",shortLabel:"Music",description:"Create a video for generated music"},text_to_dialogue:$R[367]={label:"Text to Dialogue",shortLabel:"Dialogue",description:"Create multi-speaker dialogue"},sound_generation:$R[368]={label:"Sound Generation",shortLabel:"Sound",description:"Generate sound effects from text"}},metaTitle:"AI Generator",metaDescription:"Create stunning content with our AI-powered generator.",title:"AI Generator",description:"Use AI to generate images, videos, audio, and more.",Showcase:$R[369]={inputAlt:"{title} input",resultAlt:"{title} result",titles:$R[370]={"kling-3-terrace-breakfast":"Morning on the terrace · Kling 3.0","kling-3-animated-city-stroll":"An animated city stroll · Kling 3.0","kling-3-family-movie-night":"Family movie night · Kling 3.0","generic-image-split-era-bedroom":"Split-era interior","generic-image-miniature-product":"Miniature product campaign","generic-image-anime-station":"Anime railway station","generic-video-garden-butterflies":"Butterflies and fountain","generic-video-mars-first-contact":"First contact on Mars","generic-video-rooftop-retriever":"Rooftop golden retriever","nano-banana-2-dslr-exploded-view":"Hardware exploded view","nano-banana-2-mango-infographic":"Mango smoothie infographic","nano-banana-2-coffee-machine":"Sci-fi coffee machine boss battle","seedance-2-wuxia-energy-clash":"Wuxia energy clash","seedance-2-hiking-commercial":"Cinematic hiking commercial","seedance-2-dough-sequence":"Step-by-step dough making","kling-4-d19b5b097de2503d":"Chocolate snowboard","kling-4-eb8c6cacd2456bd5":"Manga portal","kling-4-city":"An animated city stroll"},previous:"Previous example",next:"Next example",slide:"Slide {index}",loadingTitle:"Loading inspiration examples...",loadingDescription:"Amazing creations coming up, please wait",exampleResults:"Showcase",prompt:"Prompt",copyPrompt:"Copy prompt",copied:"Copied",useIt:"Use it",copy:"Copy"},simpleInput:$R[371]={fastMode:"Fast",qualityMode:"Quality",defaultPlaceholder:"Describe what you want to create...",text_to_image:$R[372]={placeholder:"Describe the image you're imagining..."},image_to_image:$R[373]={placeholder:"Describe how to transform this image..."},text_to_video:$R[374]={placeholder:"Describe the video scene you want..."},image_to_video:$R[375]={placeholder:"Describe how to bring this image to life..."},text_to_speech:$R[376]={placeholder:"Paste or write the narration to synthesize..."},text_to_music:$R[377]={placeholder:"Describe the music style, mood, and atmosphere you want..."},imageLimitReached:"Image limit reached",imageLimitReachedDesc:"Maximum {max} images allowed",imageBatchExceedsLimit:"The selected model supports at most {max} images. This batch was not added.",missingPrompt:"Please enter a prompt",imageUploading:"Images are still uploading",missingImage:"Please upload an image",uploadFailed:"Image upload failed",selectModel:"Please select a model",selectDuration:"Select duration",combinationUnavailable:"Parameter combination unavailable",pricePending:"Price pending",settings:"Generation Settings",generating:"Creating...",generate:"Generate",creditsRequired:"Credits required",credits:"Credits",lip_sync:$R[378]={placeholder:"Upload image 
24+ audio, describe your avatar"}},musicFields:$R[379]={model:$R[380]={label:"Suno Version",V3_5:$R[381]={label:"V3.5",description:"Better song structure, up to 4 minutes"},V4:$R[382]={label:"V4",description:"Improved vocal quality, up to 4 minutes"},V4_5:$R[383]={label:"V4.5",description:"Smarter prompts and faster generation, up to 8 minutes"},V4_5PLUS:$R[384]={label:"V4.5+",description:"Richer sound and more creative options, up to 8 minutes"},V5:$R[385]={label:"V5",description:"Superior musical expression and faster generation"}},style:$R[386]={label:"Music Style",placeholder:"e.g., Classical, Jazz, Electronic, Pop, Rock, Hip-hop",description:"Define the genre, mood, or artistic direction"},title:$R[387]={label:"Track Title",placeholder:"Name your music",description:"Max 80 characters"},customMode:$R[388]={label:"Custom Mode",description:"Enable advanced parameter customization"},instrumental:$R[389]={label:"Instrumental",description:"Generate music without lyrics"},negativeTags:$R[390]={label:"Exclude Styles",placeholder:"e.g., Heavy Metal, Upbeat Drums",description:"Music styles or traits to avoid"},vocalGender:$R[391]={label:"Vocal Gender",description:"Choose a preferred vocal gender (custom vocal mode only)",male:"Male",female:"Female"},styleWeight:$R[392]={label:"Style Weight",description:"Strength of adherence to specified style (0-1)"},weirdnessConstraint:$R[393]={label:"Weirdness",description:"Controls experimental/creative deviation (0-1)"},audioWeight:$R[394]={label:"Audio Weight",description:"Balance weight for audio features (0-1)"},personaId:$R[395]={label:"Persona ID",placeholder:"Enter persona ID",description:"Apply specific persona style (custom mode only)"}},TextToSpeechControls:$R[396]={promptPlaceholder:"Enter up to 5000 characters of narration...",promptHint:"Long scripts will be automatically truncated at 5000 characters per request.",voice:$R[397]={label:"Voice",description:"Current voice: {voice}",action:"Change voice",dialogTitle:"Select a voice",current:"Selected",previewPending:"Preview URL pending",preview:"Preview",use:"Use this voice",selected:"Selected"},stability:$R[398]={label:"Stability",description:"Higher values keep the tone steadier"},similarity:$R[399]={label:"Similarity boost",description:"Higher values mimic the base voice more closely"},style:$R[400]={label:"Style",description:"Adds expressiveness/emotion"},speed:$R[401]={label:"Speed",description:"0.7 = slow, 1.2 = fast"},timestamps:$R[402]={label:"Word timestamps",description:"Return per-word timestamps in result JSON"},advanced:$R[403]={title:"Advanced context",language:"Language code (ISO 639-1)",languageDisabled:"Language code only supported by Turbo V2.5",previous:"Previous text",previousPlaceholder:"Optional text that precedes this segment",next:"Next text",nextPlaceholder:"Optional text that follows this segment"}},LoadingOrb:$R[404]={pending:"Preparing",processing:"Generating",completed:"Completed"},generationType:$R[405]={label:"Generation Mode",FIRST_AND_LAST_FRAMES_2_VIDEO:"First & Last Frame Control",FIRST_AND_LAST_FRAMES_2_VIDEO_desc:"Control video start and end frames",REFERENCE_2_VIDEO:"Reference Image Generation",REFERENCE_2_VIDEO_desc:"Generate video based on reference images (veo3_fast + 16:9 only)",hint:$R[406]={firstFrameOnly:"Upload first frame only: Image animation",bothFrames:"Upload both frames: First-to-last transition",restriction:"Reference mode only supports veo3_fast model and 16:9 aspect ratio"},imageUpload:$R[407]={firstFrame:"First Frame",firstFrameRequired:"First Frame *",lastFrame:"Last Frame",lastFrameOptional:"Last Frame (Optional)",referenceImages:"Reference Images (1-3)",firstLastFrames:"First & Last Frames"}},FrameImageUploader:$R[408]={title:"Input frames",start:"Start frame",end:"End frame",startShort:"Start",endShort:"End",optional:"Optional",required:"Required",upload:"Upload {label}",add:"Add {label}",preview:"{label} preview",remove:"Remove {label}",addStartFirst:"Add a start frame first",removeStartAndEnd:"Remove start frame and optional end frame",previewError:"Unable to preview {label}
24",invalidImage:"Invalid image",fileTooLarge:"Image must be no larger than {maxMB} MB",invalidType:"Supported formats: {formats}",tooManyFiles:"Choose one image"},advancedFields:$R[409]={sound:"Audio",seed:"Seed",fixedCamera:"Fixed camera"}}},pages:$R[410]={pricing:$R[411]={faqs:$R[412]={title:"Pricing questions, answered",subtitle:"Compare plans, credits, billing, membership benefits, and payment policies before you buy.",items:$R[413]={"item-1":$R[414]={question:"Which plan should I choose?",answer:"Start with Free if you only want to try the workflow. Starter suits regular individual creation, Pro provides more credits and concurrent tasks, and Max is designed for high-volume work. Every membership includes private generation, watermark-free output, and commercial use."},"item-2":$R[415]={question:"What is the difference between a subscription and a one-time credit pack?",answer:"A subscription renews monthly or yearly and includes recurring credits plus membership benefits. A one-time pack does not renew and includes commercial-use rights plus watermark-free image exports when its balance covers the full generation cost. It does not add concurrency, private-by-default generation, or queue priority."},"item-3":$R[416]={question:"What is the difference between monthly and yearly billing?",answer:"Monthly plans are charged each month. Yearly plans charge the annual amount upfront and include the discount shown on the page. In both cases, subscription credits are issued monthly rather than all at once."},"item-4":$R[417]={question:"How many generations does each plan include?",answer:"Counts shown on the plan cards are estimates based on the displayed example models and settings. Actual usage varies by model, task, resolution, video duration, output count, and input media. The exact credit cost is shown before submission."},"item-5":$R[418]={question:"Do credits expire or roll over?",answer:"Subscription credits are issued monthly, expire on the date shown in your credits page, and do not roll over. Signup and check-in credits have separate expiry dates. Separately purchased one-time credit packs do not expire."},"item-6":$R[419]={question:"Can members use outputs commercially and keep them private?",answer:"Yes. Starter, Pro, and Max include commercial use, private-by-default generation, and watermark-free output. Outputs generated using a purchased one-time credit pack can also be used commercially and can be exported without a watermark when the pack balance covers the full generation cost. One-time packs do not include the other membership benefits."},"item-7":$R[420]={question:"Do subscriptions renew automatically, and how do I cancel?",answer:"Monthly and yearly subscriptions renew automatically. You can cancel from Settings → Billing. Cancellation stops the next renewal, while your membership normally remains active until the end of the paid billing period."},"item-8":$R[421]={question:"Can I upgrade, downgrade, or change billing intervals?",answer:"Yes. Upgrades and monthly-to-yearly changes normally take effect immediately, with the payment provider calculating any prorated difference. Downgrades and yearly-to-monthly changes normally take effect at the end of the current billing period. The confirmation screen shows the timing, renewal amount, and credit changes before you approve."},"item-9":$R[422]={question:"Are credits returned when a generation fails?",answer:"Eligible system or provider failures return the deducted credits while preserving their original expiry. A queued or processing task is not yet considered failed, so avoid duplicate submissions and contact support if it remains unresolved."},"item-10":$R[423]={question:"What if my payment is pending, my benefits are missing, or I need a refund?",answer:"If payment is still being confirmed, keep the result page open and do not pay again. Benefits are normally activated automatically after confirmation. Contact support if the status does not update. Refund eligibility depends on the payment provider, local law, and whether credits or outputs have been used; an approved refund may revoke the related membership benefits and credits."}}}},home:$R[424]={faqs:$R[425]={title:"Questions before you start creating",subt
24itle:"High-intent answers for the homepage workbench",items:$R[426]={"item-1":$R[427]={question:"What input methods are supported?",answer:"The workbench supports prompt-first creation and can expose reference-image, image editing, video, audio, or music workflows depending on the current site mode."},"item-2":$R[428]={question:"How fast is generation?",answer:"Speed depends on the selected model, media type, duration, and queue load. The homepage keeps the first prompt lightweight, while signed-in users can continue longer tasks in the workspace."},"item-3":$R[429]={question:"What is the difference between free and paid usage?",answer:"Free usage is best for testing the workflow. Paid plans add higher generation capacity, faster queues, privacy controls, commercial usage, and longer retention depending on the plan."},"item-4":$R[430]={question:"Can outputs be used commercially?",answer:"Commercial usage is available on paid plans, subject to the terms of service and the rights of any uploaded source materials."},"item-5":$R[431]={question:"How do I keep a consistent style?",answer:"Use clear prompt structure, keep reference assets consistent, reuse successful settings, and iterate from previous outputs once you are signed in."},"item-6":$R[432]={question:"Which model should I choose?",answer:"Start with the default model for the current mode. Switch models when you need a different balance of speed, quality, input type, or output format."}}},"generator-section":$R[433]={eyebrow:"Core capabilities",title:"Create Anything in Seconds",description:"Describe what you want and AI generates it — images, video, music, and voice from a single prompt."},"tools-section":$R[434]={eyebrow:"AI Tools",title:"Explore Our AI Tools",description:"A full suite of AI generators — turn text and images into visuals, video, speech, music, and 3D."},features:$R[435]={title:"Core Features",subtitle:"Explore the Template Capabilities",description:"A SaaS foundation with the core modules needed to start building quickly",items:$R[436]={"item-1":$R[437]={title:"Realistic Physics Engine",description:"Character movements, cloth simulation, fluid dynamics, and lighting changes that closely mimic real-world physics, bringing life to every frame"},"item-2":$R[438]={title:"Full Creative Control",description:"Precisely control camera movements, character consistency, and prop styles - every frame under your command from script to final cut"},"item-3":$R[439]={title:"Audio-Visual Sync",description:"Automatically generate dialogue and sound effects with intelligent lip-sync, eliminating post-production audio hassles for more efficient creation"},"item-4":$R[440]={title:"Remix Creation",description:"Apply trending templates with one click, invite friends to co-star - a new social approach to video creation that turns creation into a social game"}}},hero:$R[441]={title:"Production-ready SaaS Template",description:"Start from a configurable product foundation with authentication, payments, credits, content, and admin settings already wired together.",introduction:"Template foundation →",primary:"Start Creating Free",secondary:"Watch Demo",showcase:$R[442]={title:"See What You Can Create",description:"Explore how the template combines product workflows, billing, content, and operations in one experience"}},heroVideo:$R[443]={title:"Create Images, Video, Music & Voice with AI",description:"One studio for every AI creation — fast previews, private history, and credits that work across all tools.",cta:"Get Started Free",videoAria:"Hero background preview showcasing AI-generated creations",introduction:"Powered by 120+ AI models",microcopy:"Get {credits} free credits on sign up · no card required"},"alternating-features":$R[444]={subtitle:"Configurable SaaS product toolkit",title:"Template Feature Highlights",description:"Explore how the template combines authentication, monetization, content, and operations for SaaS products.",items:$R[445]={"item-1":$R[446]={title:"Physics-true motion staging",description:"Feature modules are organized so product builders can replace demo workflows with product-specific capabilities.",buttonText:"Watch physics in action",href:"/#creation"},"item-2":$R[447]={title:"Director-level controls",description:"Runtime settings, feature gates, and workspace routes give operators control over what users can see and do.",buttonText:"Direct every frame",href:"/#creation"},"item-3":$R[448]={title:"Audio that matches every syllable",description:"Automatic dialogue, Foley, and music cues stay perfectly aligned to mouth movements and scene beats, ready for final mixdowns.",buttonText:"Preview perfect sync",href:"/#creation"},"item-4":$R[449]={title:"Reusable remix workspace",description:"Shareable pages, content modules, and admin settings help you publish and iterate product experiences quickly.",buttonText:"Remix faster",href:"/#creation"}},mute:"Mute",unmute:"Unmute"},"media-waterfall":$R[450]={pageTitle:"AI Generated Media Showcase",title:"Media",highlight:"Waterfall",description:"Explore our collection of AI-generated images and videos in an immersive waterfall layout."},"media-generation-carousel":$R[451]={title:"AI Media Generator",description:"Use AI to turn images into cinematic motion or enhance your visual
24s with studio-grade quality.",examplesHeading:"Media generation examples",defaultExampleTitle:"Example {index}",originalImageAltPrefix:"Original image",featuresHeading:"Key capabilities",features:$R[452]={"item-1":$R[453]={title:"Image-to-video",description:"Transform still frames into smooth animations that captivate any audience."},"item-2":$R[454]={title:"Image enhancement",description:"Repair lighting, color, and detail automatically for production-ready assets."},"item-3":$R[455]={title:"AI workflow",description:"Blend AI-assisted editing with your creative flow using guided previews."}},structuredData:$R[456]={name:"AI Media Generator",description:"AI-powered toolkit for creating and enhancing visual content.",featureList:$R[457]={"item-1":"Image-to-video conversion","item-2":"Intelligent image enhancement","item-3":"AI-assisted media workflows"}},client:$R[458]={carouselAriaLabel:"AI media generation carousel",originalImageLabel:"Original image",promptLabel:"AI prompt",generatedVideoLabel:"AI generated video",generatedImageLabel:"AI generated image",originalImageAlt:"Original image: {prompt}",generatedVideoAlt:"Generated video: {prompt}",generatedImageAlt:"Generated result: {prompt}",loading:"Loading",loadErrorTitle:"Failed to load",loadErrorSubtitle:"Check your connection and try again.",mute:"Mute",unmute:"Unmute"}},"call-to-action":$R[459]={title:"Start Building",description:"Use the template foundation to move from product idea to production workflow faster.",primaryButton:"Get Started",secondaryButton:"See Demo"},twitter:$R[460]={title:"What People Are Saying",subtitle:"Join the Template Community",description:"See how makers and developers use the template foundation to ship faster"},"image-comparison":$R[461]={title:"Image to Ghibli-Style Art",description:"Turn everyday photos into enchanting, hand-painted scenes that mirror the Ghibli animation style. AI carefully analyzes your image and reimagines it with soft lighting, warm colors, and detailed brushstrokes—resembling the whimsical charm of classic Ghibli anime films.",button:"Try it Now!",originalLabel:"Original Photo",processedLabel:"Ghibli Style"},workbench:$R[462]={eyebrow:"Creative workspace",title:"Turn ideas into production-ready AI media",description:"Start from a prompt, reference image, or creative brief. The workbench keeps generation, review, and iteration in one focused flow.",primaryCta:"Start creating",secondaryCta:"View examples",proof:$R[463]={"item-1":"Prompt-first workflow","item-2":"Image, video, and audio tools","item-3":"Fast iteration workspace"},shell:$R[464]={label:"Home workbench",hint:"History and account state load after sign-in"}},"results-preview":$R[465]={title:"See what you can make",description:"Browse real outputs before you commit. Use result examples as proof of quality, style range, and prompt direction.",cta:"Explore results",eyebrow:"Results preview"},workflow:$R[466]={eyebrow:"Workflow",title:"A workspace for the whole creation loop",description:"The homepage is not just a landing page. It gives visitors a usable workbench, then explains how the product supports repeatable production.",items:$R[467]={"item-1":$R[468]={title:"Start with intent",description:"Pick the mode, add a prompt or reference, and keep the first action close to the idea."},"item-2":$R[469]={title:"Review usable outputs",description:"Results preview examples show what quality and formats are realistic before users upgrade."},"item-3":$R[470]={title:"Scale with account tools",description:"History, credits, subscriptions, and private workflows stay available in the workspace after sign-in."}}},"use-cases":$R[471]={eyebrow:"Use cases",title:"Built for high-intent production tasks",description:"Each section either proves the tool works, explains why it matters, or helps users choose the next step.",items:$R[472]={"item-1":$R[473]={title:"Ad creative",description:"Produce visual and motion directions for campaigns without waiting on a full production queue."},"item-2":$R[474]={title:"Product content",description:"Generate launch visuals, thumbnails, and variants that stay aligned with a brief."},"item-3":$R[475]={title:"Social publishing",description:"Move from idea to vertical content and shareable media faster."},"item-4":$R[476]={title:"Concept testing",description:"Explore style, framing, and format options before committing production time."}}},"final-cta":$R[477]={eyebrow:"Ready to create",title:"Start creating for free today",description:"Get {credits} free credits on sign up — no card required.",primaryCta:"Start for free",secondaryCta:"Compare plans"},landing:$R[478]={inspirations:$R[479]={"Change Outfit":"Change Outfit","Pop Art":"Pop Art","Product Restyle":"Product Restyle","Backgroun
24d Swap":"Background Swap","Red Silhouette":"Red Silhouette","Cartoon Twin":"Cartoon Twin","Photo Restoration":"Photo Restoration","Anime Vector":"Anime Vector"},promptCarousel:$R[480]={eyebrow:"Prompt examples",title:"See Nano Banana edits, input to result",description:"Browse real before-and-after examples from the All-Prompt collection.",items:$R[481]=[$R[482]={title:"Illustration to Figure",description:"A source illustration transformed into a collectible character figure scene.",inputAlt:"Illustration input for a character figure transformation",outputAlt:"Character figure transformation result"},$R[483]={title:"Fisheye Peephole Illustration",description:"An anime scene reframed through a distorted peephole perspective.",inputAlt:"Anime illustration input for a fisheye peephole transformation",outputAlt:"Fisheye peephole illustration result"},$R[484]={title:"Anime to Real Coser",description:"An anime illustration recreated as a Comiket cosplay photograph.",inputAlt:"Anime illustration input for a cosplay photograph",outputAlt:"Comiket cosplay photograph result"},$R[485]={title:"Old Photo Colorization",description:"An old photograph restored with natural color.",inputAlt:"Old photograph input for restoration and colorization",outputAlt:"Restored and colorized old photograph result"},$R[486]={title:"Character Clothing Change",description:"A person receives a new outfit while their identity and scene stay intact.",inputAlt:"Person and reference clothing input for a clothing change",outputAlt:"Character clothing change result"},$R[487]={title:"Generate image from line drawing",description:"A studio portrait adopts the pose supplied by a second reference image.",inputAlt:"Reference images for a professional studio pose change",outputAlt:"Professional studio pose change result"}]},promptControls:$R[488]={prompt:"Prompt",copy:"Copy",copied:"Copied",copyPrompt:"Copy prompt",copiedPrompt:"Copied prompt",copySuccess:"Prompt copied to clipboard",copyFailed:"Unable to copy prompt",open:"Open",showActions:"Show actions for",input:"Input",result:"Result",previous:"Previous",next:"Next"},hero:$R[489]={titlePrefix:"Create AI Images & Videos with",titleBrand:"Soutine",titleSuffix:"",titleStatement:"",description:"Soutine AI turns your ideas into polished images and videos. No technical skills or software required — just describe what you want.",tabs:$R[490]={image:"AI Image",imageShort:"Image",video:"AI Video",videoShort:"Video"},promptPlaceholder:"Describe a visual, or a shot you want to bring to life…",uploadLabel:"Reference image",generate:"Generate",inspirationLabel:"Need a starting point? Tap a prompt idea to load it into the box above.",inspirations:$R[491]={superheroInterior:$R[492]={label:"Superhero interior",prompt:"A hyper-realistic, professional interior design photograph of a modern living room inspired by a [Superhero]. The room has clean lines, a neutral color palette of greys, blacks, and whites, with accents of [Theme Color]. A large, stylized 3D wall sculpture of the [Superhero] dominates the main wall. Subtle thematic details are placed throughout the room, such as framed art prints of blueprints, a floor lamp designed to resemble a specific motif (e.g., a shield or logo), and a side table with a few well-placed props (e.g., a stylized helmet). The furniture is contemporary and minimalist, with a large, comfortable sofa and a low coffee table. Dramatic, focused lighting highlights the main wall sculpture, while warm ambient light from windows and lamps creates an inviting atmosphere. The overall style is sophisticated and elegant, a subtle homage rather than an overt fan-tribute.",alt:"Illustrative Nano Banana result showing a superhero-inspired modern living room"},expressionTransfer:$R[493]={label:"Expression transfer",prompt:"Character reference from Image 1 / Change to the expression from Image 2",alt:"Illustrative Nano Banana result transferring a reference expression to a character"},virtualMakeup:$R[494]={label:"Virtual makeup",prompt:"Apply the makeup from Image 2 to the character in Image 1, while maintaining the pose from Image 1.",alt:"Illustrative Nano Banana result applying reference makeup to a portrait"},chibiFaceShape:$R[495]={label:"Chibi face shape",prompt:"Design the character from Image 1 as a chibi version according to the face shape from Image 2",alt:"Illustrative Nano Banana result turning a portrait into a chibi character with a reference face shape"}}},showcase:$R[496]={eyebrow:"VISUAL DIRECTIONS",title:"Curated Visual Styles Powered by Nano Banana",description:"From photorealistic portraits and character consistency to high-fashion editorials, explore prompt-driven masterpieces crafted with Nano Banana AI.",tryIt:"Try it",view:"View",showMore:"Show more examples",promptCtaTitle:"Explore 1,000+ Nano Banana Prompts & Styles",promptCtaSubtitle:"Browse copy-ready prompts for portraits, anime, photo editing, and commercial design.",promptCtaButton:"Browse Prompt Library"},tools:$R[497]={eyebrow:"SOUTINE AI WORKFLOWS",title:"Create with Soutine AI from a prompt, reference, or frame",description:"Soutine AI keeps compatible models, credits, and history in one workspace, so you can move from image to motion without starting over.",items:$R[498]={text_to_image:"Use Soutine AI to turn a prompt into a first frame worth building on.",image_to_image:"Use Soutine AI to restyle or refine a reference while keeping what matters.",image_upscaler:"Enlarge details without rewriting the scene.",ai_video_upscaler:"Scale a clip to 4K and restore sharp details.",text_to_video:"Use Soutine AI to describe the scene, action, and camera movement.",image_to_video:"Carry a still image into a continuous shot."},controls:$R[499]={previous:"Previous workflow",next:"Next workflow",pause:"Pause automatic scrolling",play:"Play automatic scrolling"}},howItWorks:$R[500]={eyebrow:"HOW IT WORKS",title:"How Soutine AI takes an idea from first frame to motion",description:"Soutine AI keeps the controls focused and shows the models available for the task.",action:"Start creating",steps:$R[501]={one:$R[502]={title:"Describe or upload",description:"Start in Soutine AI by describing what you want to make, or add reference images when the selected model supports them."}
24,two:$R[503]={title:"Choose a model for the task",description:"Select from the compatible models available for this workflow. Soutine AI updates settings and image limits for the model you choose."},three:$R[504]={title:"Generate and take it further",description:"Soutine AI keeps the task in shared history, so you can download, refine, upscale, or continue in a related workflow."}}},faq:$R[505]={eyebrow:"FAQ",title:"Questions before you create",description:"Learn how Soutine AI handles creation, models, credits, membership benefits, and your work.",items:$R[506]={one:$R[507]={question:"Can I start for free without a credit card?",answer:"Yes. Sign in with Google to receive the signup credits currently shown on the page. Soutine AI does not require a credit card to get started. You can prepare a creation while signed out, but you must sign in before submitting it."},two:$R[508]={question:"What can I create with Soutine AI?",answer:"Soutine AI lets you generate images from prompts, edit or transform reference images, create videos from text or images, and upscale existing images. Available models and settings change with the selected task."},three:$R[509]={question:"Which model should I choose, and which image formats are supported?",answer:"Start with the default model if you are unsure. Soutine AI shows models compatible with the current task and updates the image and setting limits accordingly. Standard reference-image inputs support PNG, JPEG, and WebP."},four:$R[510]={question:"How long does generation take, and where can I find the result?",answer:"Generation time depends on the model, media type, resolution, duration, and queue load. After submission, you can follow the task and find its result in the matching generator and My Creations."},five:$R[511]={question:"How many credits does a generation use, and are failed tasks refunded?",answer:"The credit cost is shown before submission and may vary by model, task, resolution, duration, and input media. Eligible system or provider failures automatically return the deducted credits. If a task remains pending, avoid submitting a duplicate and contact support with the task details."},six:$R[512]={question:"What is the difference between a subscription and a one-time credit pack?",answer:"Subscriptions renew monthly or yearly and include recurring credits plus membership benefits. A one-time pack does not renew and includes commercial-use rights plus watermark-free image exports when its balance covers the full generation cost. Additional concurrency, private-by-default generation, and queue priority still require a subscription."},seven:$R[513]={question:"Do credits expire or roll over?",answer:"Subscription, signup, and check-in credits have their own expiry dates, shown on your credits page. Unused subscription credits do not automatically roll over. Separately purchased one-time credit packs do not expire."},eight:$R[514]={question:"Do subscriptions renew automatically, and how can I cancel or change plans?",answer:"Monthly and yearly subscriptions renew automatically. You can manage, upgrade, downgrade, or cancel them from Billing in Settings. Cancellation stops the next renewal, while paid access normally remains available until the end of the current billing period."},nine:$R[515]={question:"Are my creations public, and can I delete them?",answer:"Free-plan generations are public by default and include a watermark. With a Starter, Pro, or Max membership, new generations are private and watermark-free by default, and you can choose to make them public. Deleted creations currently cannot be restored by the user."},ten:$R[516]={question:"Can I use generated content commercially?",answer:"Yes. Generated content can be used commercially with an active Starter, Pro, or Max membership. Outputs generated using a purchased one-time credit pack can also be used commercially. The Free plan does not include commercial-use rights. You remain responsible for the rights to uploaded materials and for complying with applicable laws and third-party platform rules."}}},finalCta:$R[517]={eyebrow:"",title:"Create your next image or video with Soutine AI",description:"One 
24click to start. No credit card required. Get {credits} free credits now.",primaryAction:"Create with Soutine AI",secondaryAction:"View pricing",points:$R[518]={models:"All AI models unlocked",history:"Keep your work forever",card:"No credit card needed"}},featureDeepDive:$R[519]={eyebrow:"Feature deep-dive",title:"GPT Image 2.5 Before & After Showcase",description:"Upload a reference photo and describe the change. GPT Image 2.5 keeps identity, pose, and scene details, and edits the part you name.",beforeLabel:"Reference",afterLabel:"Edited",item1:$R[520]={kicker:"Identity",title:"Formalwear, same child",description:"The red sweater becomes a white tuxedo with a black bow tie. Face, pose, printed photo, and the room around it stay put.",action:"Try this edit",prompt:"Change the red sweater to a white tuxedo with a black bow tie. Keep the child's face, pose, printed photo, and the surrounding room unchanged."},item2:$R[521]={kicker:"Restyle",title:"Pet photo to stunt-dog",description:"A snapshot of a dog becomes an action-movie stuntman. Face, markings, and expression stay recognizable.",action:"Try this edit",prompt:"Turn this dog into an action-movie stuntman. Keep the dog's face, markings, and expression."},item3:$R[522]={kicker:"Scene",title:"Same bedroom, made bed",description:"The messy room is tidied and the bed is made. Furniture, lighting, and camera angle stay the same.",action:"Try this edit",prompt:"Make the bed and tidy the room. Keep the same bedroom, furniture, lighting, and camera angle."}}},"generation-result":$R[523]={loading:"Generating…",openDetails:"Open generated result details",resultAlt:"Generated result",captionsUnavailable:"Captions unavailable",failedKicker:"GENERATION NEEDS ATTENTION",failedTitle:"We couldn’t finish that result.",failedFallback:"Your credits are protected. Try again when you are ready.",retry:"Try again",retrying:"Retrying…",retryFailed:"Could not retry this task.",generatingRequest:"Generating your request…",generatingResult:"Generating your result…",generatingHint:"Stay on this page. Your result will appear here as soon as it is ready.",readyTitle:"Your result is ready",readyDescription:"Download it now, or keep editing in the studio when you want more control.",continueInStudio:"Continue in studio",download:"Download",preparing:"Preparing…",viewDetails:"View details",recentResults:"Recent results",viewDetailsForResult:"View details for result {index}",failed:"Failed",seeAllInStudio:"See all in studio"}}}}},ssr:!0},$R[524]={i:"�$locale�_workspace�en",u:1791203946444,s:"success",l:null,ssr:!0},$R[525]={i:"�$locale�_workspace�_content�en",u:1791203946444,s:"success",ssr:!0},$R[526]={i:"�$locale�_workspace�_content�image-to-video�en�image-to-video",u:1791203946444,s:"success",ssr:!0}],lastMatchId:"�$locale�_workspace�_content�image-to-video�en�image-to-video"})($R["tsr"]);$_TSR.e();document.currentScript.remove()</script>
24<script type="module" async="" src="/assets/index-Df1ImChr.js"></script>
24</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.