PageSourceSearch

https://oeneo.ai/ai-image-generator

html oeneo.ai collected 2026-10-05 16:11:22 UTC 125,660 bytes, 112 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"/><link rel="preload" as="image" href="/brand/logo.svg"/><link rel="preload" as="image" href="/images/logos/flux.svg"/><link rel="preload" as="image" href="/images/logos/ideogram.svg"/><link rel="preload" as="image" href="/images/logos/openai.svg"/><link rel="preload" as="image" href="/images/logos/grok.svg"/><link rel="preload" as="image" href="/images/logos/microsoft.png"/><link rel="preload" as="image" href="https://cdn.oeneo.ai/resource/ai-image-generator/cartoon-boy.webp" imageSizes="(min-width: 1024px) 15rem, (min-width: 768px) 12rem, 8rem" fetchPriority="high"/><link rel="preload" as="image" href="https://cdn.oeneo.ai/resource/gpt-image-2/08-30-young-adult-asia-women.webp" imageSizes="(min-width: 1024px) 15rem, (min-width: 768px) 12rem, 8rem" fetchPriority="high"/><title>Free AI Image Generator — Text to Image AI | Oeneo AI</title><meta name="theme-color" content="#09090b"/><meta name="description" content="Free AI image generator with 20+ models for text-to-image and image-to-image creation. Compare GPT Image 2, Nano Banana, Seedream and FLUX in one workspace."/><meta property="og:type" content="website"/><meta property="og:site_name" content="Oeneo AI"/><meta property="og:locale" content="en"/><meta property="og:locale:alternate" content="zh_CN"/><meta property="og:title" content="Free AI Image Generator — Text to Image AI | Oeneo AI"/><meta property="og:description" content="Free AI image generator with 20+ models for text-to-image and image-to-image creation. Compare GPT Image 2, Nano Banana, Seedream and FLUX in one workspace."/><meta property="og:url" content="https://oeneo.ai/ai-image-generator"/><meta property="og:image" content="https://cdn.oeneo.ai/visuals/og.webp"/><meta name="twitter:title" content="Free AI Image Generator — Text to Image AI | Oeneo AI"/><meta name="twitter:description" content="Free AI image generator with 20+ models for text-to-image and image-to-image creation. Compare GPT Image 2, Nano Banana, Seedream and FLUX in one workspace."/><meta name="twitter:url" content="https://oeneo.ai/ai-image-generator"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:image" content="https://cdn.oeneo.ai/visuals/og.webp"/><link rel="modulepreload" href="/assets/main-BVeaUmEJ.js"/><link rel="modulepreload" href="/assets/ai-image-generator-DVp-v2fF.js"/><link rel="modulepreload" href="/assets/faq-R81VDQAb.js"/><link rel="modulepreload" href="/assets/final-cta-section-CatElopu.js"/><link rel="modulepreload" href="/assets/output-showcase-section-CnRxojt4.js"/><link rel="modulepreload" href="/assets/related-tools-section-DmiPYcSA.js"/><link rel="modulepreload" href="/assets/split-image-fan-nVwzSaV6.js"/><link rel="modulepreload" href="/assets/tool-features-section-CIh4Pw2o.js"/><link rel="modulepreload" href="/assets/tool-page-header-BHXS-Y5L.js"/><link rel="modulepreload" href="/assets/tool-steps-section-B4MHLEY4.js"/><link rel="modulepreload" href="/assets/tool-trust-strip-DPsZPahu.js"/><link rel="modulepreload" href="/assets/use-cases-section-C9jo6a1K.js"/><link rel="modulepreload" href="/assets/image-generator-workbench-Baj8e99K.js"/><link rel="modulepreload" href="/assets/IconFileTypePng-BjYXaMGs.js"/><link rel="modulepreload" href="/assets/IconReceiptRefund-PNEe0cvA.js"/><link rel="modulepreload" href="/assets/IconBuildingStore-CeUuWrk3.js"/><link rel="modulepreload" href="/assets/IconDeviceMobile-8hQ4uQVI.js"/><link rel="modulepreload" href="/assets/analytics-diMhel4P.js"/><link rel="modulepreload" href="/assets/skeleton-ChuuxPGC.js"/><link rel="modulepreload" href="/assets/IconAlertTriangle-DWq3RBsQ.js"/><link rel="modulepreload" href="/assets/IconArrowRight-C3mkZMZZ.js"/><link rel="modulepreload" href="/assets/textarea-OChHmoah.js"/><link rel="modulepreload" href="/assets/use-generation-upload-C2BWABcw.js"/><link rel="modulepreload" href="/assets/generation-history-B_mFlBVU.js"/><link rel="modulepreload" href="/assets/generated-image-card-CLRatOv8.js"/><link rel="modulepreload" href="/assets/handoff-storage-CCCvg7MR.js"/>
1<link rel="modulepreload" href="/assets/image-to-video-navigation-kemVA56-.js"/><link rel="modulepreload" href="/assets/image-edit-action-buttons-DXSPpB_S.js"/><link rel="modulepreload" href="/assets/IconCopy-CRqbQ6h1.js"/><link rel="modulepreload" href="/assets/IconAdjustmentsHorizontal-bHrPT2aC.js"/><link rel="modulepreload" href="/assets/IconClock-Bd0oeuhd.js"/><link rel="modulepreload" href="/assets/IconCalendar-ftKr-l-K.js"/><link rel="modulepreload" href="/assets/parameter-controls-DEhE-N3q.js"/><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"/><link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"/><link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"/><link rel="icon" href="/favicon.ico"/><link rel="manifest" href="/manifest.json"/><link rel="canonical" href="https://oeneo.ai/ai-image-generator"/><link rel="alternate" hrefLang="en" href="https://oeneo.ai/ai-image-generator"/><link rel="alternate" hrefLang="zh-CN" href="https://oeneo.ai/zh/ai-image-generator"/><link rel="alternate" hrefLang="x-default" href="https://oeneo.ai/ai-image-generator"/><link rel="stylesheet" href="/assets/styles-CahVGl2N.css"/>
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"SoftwareApplication","name":"AI Image Generator","description":"A browser-based AI image generator for text prompts, reference images, model comparison, and 1K–4K creative outputs across 20+ models.","url":"https://oeneo.ai/ai-image-generator","applicationCategory":"DesignApplication","operatingSystem":"Web"}</script>
1</head><body>
1<script>(function() {
2  try {
3    var theme = localStorage.getItem('theme') || 'dark';
4    var systemTheme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
5    var resolved = theme === 'system' ? systemTheme : theme;
6    document.documentElement.classList.add(resolved);
7  } catch (e) {
8    document.documentElement.classList.add('dark');
9  }
10})();;document.currentScript.remove()</script>
10<div data-slot="sidebar-wrapper" style="--sidebar-width:calc(var(--spacing) * 56);--sidebar-width-icon:4rem" class="group/sidebar-wrapper w-full has-data-[variant=inset]:bg-sidebar min-h-svh flex"><div class="group peer hidden text-sidebar-foreground md:block" data-state="expanded" data-collapsible="" data-variant="sidebar" data-side="left" data-slot="sidebar"><div data-slot="sidebar-gap" class="relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear group-data-[collapsible=offcanvas]:w-0 group-data-[side=right]:rotate-180 group-data-[collapsible=icon]:w-(--sidebar-width-icon)"></div><div data-slot="sidebar-container" data-side="left" class="fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear data-[side=left]:left-0 data-[side=left]:group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)] data-[side=right]:right-0 data-[side=right]:group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)] md:flex group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=right]:border-l group-data-[side=left]:border-r-0"><div data-sidebar="sidebar" data-slot="sidebar-inner" class="flex size-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:shadow-sm group-data-[variant=floating]:ring-1 group-data-[variant=floating]:ring-sidebar-border"><div data-slot="sidebar-header" data-sidebar="header" class="flex flex-col gap-2 p-2 h-16 justify-center"><ul data-slot="sidebar-menu" data-sidebar="menu" class="flex w-full min-w-0 flex-col gap-0"><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative"><a data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" href="/" class="peer/menu-button group/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:p-2! focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:font-medium data-active:text-sidebar-accent-foreground [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 [&amp;&gt;span:last-child]:truncate hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-8 text-sm data-[slot=sidebar-menu-button]:!p-1.5 group-data-[collapsible=icon]:size-10! group-data-[collapsible=icon]:mx-auto"><img src="/brand/logo.svg" alt="Oeneo AI logo" class="rounded-md dark:hidden size-6 shrink-0" width="32" height="32" decoding="async"/><img src="/brand/logo.svg" alt="Oeneo AI logo" class="rounded-md hidden dark:block size-6 shrink-0" width="32" height="32" decoding="async"/><span class="truncate font-semibold text-lg group-data-[collapsible=icon]:hidden">Oeneo AI</span></a></li></ul></div><div data-slot="sidebar-content" data-sidebar="content" class="no-scrollbar flex min-h-0 flex-1 flex-col gap-0 overflow-auto group-data-[collapsible=icon]:overflow-hidden"><div data-slot="sidebar-group" data-sidebar="group" class="relative flex w-full min-w-0 flex-col p-2"><div data-slot="sidebar-group-content" data-sidebar="group-content" class="w-full text-sm"><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 id="base-ui-_R_39iqaoq_" data-base-ui-tooltip-trigger="" data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" href="/" class="peer/menu-button group/menu-button flex w-full items-center gap-2 overflow-hidden p-2 text-left ring-sidebar-ring outline-hidden group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:font-medium data-active:text-sidebar-accent-foreground [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 [&amp;&gt;span:last-child]:truncate hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-10 rounded-xl px-3 text-sm font-medium transition-colors duration-200 group-data-[collapsible=icon]:mx-auto"><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="tabler-icon tabler-icon-sparkles size-4"><path d="M16 18a2 2 0 0 1 2 2a2 2 0 0 1 2 -2a2 2 0 0 1 -2 -2a2 2 0 0 1 -2 2m0 -12a2 2 0 0 1 2 2a2 2 0 0 1 2 -2a2 2 0 0 1 -2 -2a2 2 0 0 1 -2 2m-7 12a6 6 0 0 1 6 -6a6 6 0 0 1 -6 -6a6 6 0 0 1 -6 6a6 6 0 0 1 6 6"></path></svg><span>Create</span></a></li><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative"><a id="base-ui-_R_3aiqaoq_" data-base-ui-tooltip-trigger="" data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" data-active="" class="peer/menu-button group/menu-button flex w-full items-center gap-2 overflow-hidden p-2 text-left ring-sidebar-ring outline-hidden group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! focu
10s-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:font-medium data-active:text-sidebar-accent-foreground [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 [&amp;&gt;span:last-child]:truncate hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-10 rounded-xl px-3 text-sm font-medium transition-colors duration-200 group-data-[collapsible=icon]:mx-auto active" href="/ai-image-generator" data-status="active" aria-current="page"><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="tabler-icon tabler-icon-photo size-4"><path d="M15 8h.01"></path><path d="M3 6a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v12a3 3 0 0 1 -3 3h-12a3 3 0 0 1 -3 -3v-12"></path><path d="M3 16l5 -5c.928 -.893 2.072 -.893 3 0l5 5"></path><path d="M14 14l1 -1c.928 -.893 2.072 -.893 3 0l3 3"></path></svg><span>AI Image</span></a></li><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative"><a id="base-ui-_R_3biqaoq_" data-base-ui-tooltip-trigger="" data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" href="/ai-video-generator" class="peer/menu-button group/menu-button flex w-full items-center gap-2 overflow-hidden p-2 text-left ring-sidebar-ring outline-hidden group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:font-medium data-active:text-sidebar-accent-foreground [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 [&amp;&gt;span:last-child]:truncate hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-10 rounded-xl px-3 text-sm font-medium transition-colors duration-200 group-data-[collapsible=icon]:mx-auto"><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="tabler-icon tabler-icon-video size-4"><path d="M15 10l4.553 -2.276a1 1 0 0 1 1.447 .894v6.764a1 1 0 0 1 -1.447 .894l-4.553 -2.276v-4"></path><path d="M3 8a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v8a2 2 0 0 1 -2 2h-8a2 2 0 0 1 -2 -2l0 -8"></path></svg><span>AI Video</span></a></li><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative"><button type="button" id="base-ui-_R_dciqaoq_" data-base-ui-tooltip-trigger="" data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" aria-expanded="false" aria-label="Show or hide image tools" class="peer/menu-button group/menu-button flex w-full items-center gap-2 overflow-hidden p-2 text-left ring-sidebar-ring outline-hidden group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:font-medium data-active:text-sidebar-accent-foreground [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 [&amp;&gt;span:last-child]:truncate hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-10 rounded-xl px-3 text-sm font-medium transition-colors duration-200 group-data-[collapsible=icon]:mx-auto"><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="tabler-icon tabler-icon-tools size-4" aria-hidden="true"><path d="M3 21h4l13 -13a1.5 1.5 0 0 0 -4 -4l-13 13v4"></path><path d="M14.5 5.5l4 4"></path><path d="M12 8l-5 -5l-4 4l5 5"></path><path d="M7 8l-1.5 1.5"></path><path d="M16 12l5 5l-4 4l-5 -5"></path><path d="M16 17l-1.5 1.5"></path></svg><span>Image Tools</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="tabler-icon tabler-icon-chevron-down ml-auto size-4 transition-transform duration-200 " aria-hidden="true"><path d="M6 9l6 6l6 -6"></path></svg></button></li><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative"><button type="button" id="base-ui-_R_ddiqaoq_" data-base-ui-tooltip-trigger="" data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" aria-expanded="false" aria-label="Show or hide video tools" class="peer/menu-button group/menu-button flex w-full items-center gap-2 overflow-hidden p-2 text-left ring-sidebar-ring outline-hidden group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! focu
10s-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:font-medium data-active:text-sidebar-accent-foreground [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 [&amp;&gt;span:last-child]:truncate hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-10 rounded-xl px-3 text-sm font-medium transition-colors duration-200 group-data-[collapsible=icon]:mx-auto"><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="tabler-icon tabler-icon-movie size-4" aria-hidden="true"><path d="M4 6a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -12"></path><path d="M8 4l0 16"></path><path d="M16 4l0 16"></path><path d="M4 8l4 0"></path><path d="M4 16l4 0"></path><path d="M4 12l16 0"></path><path d="M16 8l4 0"></path><path d="M16 16l4 0"></path></svg><span>Video Tools</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="tabler-icon tabler-icon-chevron-down ml-auto size-4 transition-transform duration-200 " aria-hidden="true"><path d="M6 9l6 6l6 -6"></path></svg></button></li></ul></div></div><div data-slot="sidebar-group" data-sidebar="group" class="relative flex w-full min-w-0 flex-col p-2"><div data-slot="sidebar-group-label" data-sidebar="group-label" class="flex h-8 shrink-0 items-center rounded-md px-2 text-sidebar-foreground/70 ring-sidebar-ring outline-hidden transition-[margin,opacity] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 focus-visible:ring-2 [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 text-xs font-medium uppercase tracking-wider">Assets</div><div data-slot="sidebar-group-content" data-sidebar="group-content" class="w-full text-sm"><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 id="base-ui-_R_rkqaoq_" data-base-ui-tooltip-trigger="" data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" href="/creations" class="peer/menu-button group/menu-button flex w-full items-center gap-2 overflow-hidden p-2 text-left ring-sidebar-ring outline-hidden group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:font-medium data-active:text-sidebar-accent-foreground [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 [&amp;&gt;span:last-child]:truncate hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-10 rounded-xl px-3 text-sm font-medium transition-colors duration-200 group-data-[collapsible=icon]:mx-auto"><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="tabler-icon tabler-icon-folder size-4"><path d="M5 4h4l3 3h7a2 2 0 0 1 2 2v8a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-11a2 2 0 0 1 2 -2"></path></svg><span>My Creations</span></a></li></ul></div></div><div data-slot="sidebar-group" data-sidebar="group" class="relative flex w-full min-w-0 flex-col p-2"><div data-slot="sidebar-group-label" data-sidebar="group-label" class="flex h-8 shrink-0 items-center rounded-md px-2 text-sidebar-foreground/70 ring-sidebar-ring outline-hidden transition-[margin,opacity] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 focus-visible:ring-2 [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 text-xs font-medium uppercase tracking-wider">Models</div><div data-slot="sidebar-group-content" data-sidebar="group-content" 
10class="w-full text-sm"><ul data-slot="sidebar-menu" data-sidebar="menu" class="flex w-full min-w-0 flex-col gap-0"><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative"><button type="button" id="base-ui-_R_ddaaoq_" data-base-ui-tooltip-trigger="" data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="default" aria-expanded="true" aria-label="Show or hide image models" class="peer/menu-button group/menu-button flex w-full items-center gap-2 overflow-hidden p-2 text-left ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:font-medium data-active:text-sidebar-accent-foreground [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 [&amp;&gt;span:last-child]:truncate hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-10 rounded-xl px-3 text-sm font-medium group-data-[collapsible=icon]:mx-auto"><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="tabler-icon tabler-icon-stack-2 size-4" aria-hidden="true"><path d="M12 4l-8 4l8 4l8 -4l-8 -4"></path><path d="M4 12l8 4l8 -4"></path><path d="M4 16l8 4l8 -4"></path></svg><span>Image 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="tabler-icon tabler-icon-chevron-down ml-auto size-4 transition-transform duration-200 rotate-180" aria-hidden="true"><path d="M6 9l6 6l6 -6"></path></svg></button><ul data-slot="sidebar-menu-sub" data-sidebar="menu-sub" class="mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5 group-data-[collapsible=icon]:hidden mt-1"><li data-slot="sidebar-menu-sub-item" data-sidebar="menu-sub-item" class="group/menu-sub-item relative"><a data-slot="sidebar-menu-sub-button" data-sidebar="menu-sub-button" data-size="md" href="/models/flux-3-image" class="flex min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground ring-sidebar-ring outline-hidden group-data-[collapsible=icon]:hidden hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[size=md]:text-sm data-[size=sm]:text-xs data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 [&amp;&gt;svg]:text-sidebar-accent-foreground h-10"><img src="/images/logos/flux.svg" alt="" width="16" height="16" aria-hidden="true" class="size-4 object-contain dark:invert"/><span>FLUX 3 Image</span></a></li><li data-slot="sidebar-menu-sub-item" data-sidebar="menu-sub-item" class="group/menu-sub-item relative"><a data-slot="sidebar-menu-sub-button" data-sidebar="menu-sub-button" data-size="md" href="/models/ideogram-4-5" class="flex min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground ring-sidebar-ring outline-hidden group-data-[collapsible=icon]:hidden hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[size=md]:text-sm data-[size=sm]:text-xs data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 [&amp;&gt;svg]:text-sidebar-accent-foreground h-10"><img src="/images/logos/ideogram.svg" alt="" width="16" height="16" aria-hidden="true" class="size-4 object-contain dark:invert"/><span>Ideogram 4.5</span></a></li><li data-slot="sidebar-menu-sub-item" data-sidebar="menu-sub-item" class="group/menu-sub-item relative"><a data-slot="sidebar-menu-sub-button" data-sidebar="menu-sub-button" data-size="md" href="/models/gpt-image-2.5-flare" class="flex min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground ring-sidebar-ring outline-hidden group-data-[collapsible=icon]:hidden hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[size=md]:text-sm data-[size=sm]:text-xs data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 [&amp;&gt;svg]:text-sidebar-accent-foreground h-10"><img src="/images/logos/openai.svg" alt="" width="16" height="16" aria-hidden="true" class="size-4 object-contain"/><span>GPT Image 2.5 Flare</span></a></li><li data-slot="sidebar-menu-sub-item" data-sidebar="menu-sub-item" class="group/menu-sub-item relative"><a data-slot="sidebar-menu-sub-button" data-sidebar="menu-sub-button" data-size="md" href="/models/gpt-image-2.5-sunburst" class="flex min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground ring-sidebar-ring outline-hidden group-data-[collapsible=icon]:hidden hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[size=md]:text-sm data-[size=sm]:text-xs data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 [&amp;&gt;svg]:text-sidebar-accent-foreground h-10"><img src="/images/logos/openai.svg" alt="" width="16" height="16" aria-hidden="true" class="size-4 object-contain"/><span>GPT Image 2.5 Sunburst</span></a></li><li data-slot="sidebar-menu-sub-item" data-sidebar="menu-sub-item" class="group/menu-sub-item relative"><a data-slot="sidebar-menu-sub-button" data-sidebar="menu-sub-button" data-size="md" href="/models/grok-imagine-2" class="flex min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground ring-sidebar-ring outline-hidden group-data-[collapsible=icon]:hidden hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[size=md]:text-sm data-[size=sm]:text-xs data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 [&amp;&gt;svg]:text-sidebar-accent-foreground h-10"><img src="/images/logos/grok.svg" alt="" width="16" height="16" aria-hidden="true" class="size-4 object-contain"/><span>Grok Imagine 2</span></a></li><li data-slot="sidebar-menu-sub-item" data-sidebar="menu-sub-item" class="group/menu-sub-item relative"><a data-slot="sidebar-menu-sub-button" data-sidebar="menu-sub-button" data-size="md" href="/models/mai-image-2.5-pro" class="flex min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground ring-sidebar-ring outline-hidden group-data-[collapsible=icon]:hidden hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[size=md]:text-sm data-[size=sm]:text-xs data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground [&amp;&gt;span:last-child]:truncate [&amp;&gt;svg]:size-4 [&amp;&gt;svg]:shrink-0 [&amp;&gt;svg]:text-sidebar-accent-foreground h-10"><img src="/images/logos/microsoft.png" alt="" width="16" height="16" aria-hidden="true" class="size-4 object-contain"/><span>MAI Image 2.5 Pro</span></a></li></ul></li></ul></div></div></div><div data-slot="sidebar-footer" data-sidebar="footer" class="p-2 flex shrink-0 flex-col gap-4"><ul data-slot="sidebar-menu" data-sidebar="menu" class="flex w-full min-w-0 flex-col gap-0" aria-hidden="true"><li data-slot="sidebar-menu-item" data-sidebar="menu-item" class="group/menu-item relative"><button type="button" data-slot="sidebar-menu-button" data-sidebar="menu-button" data-size="lg" class="peer/menu-button group/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:font-medium data-active:text-sidebar-accent-foreground [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 [&amp;&gt;span:last-child]:truncate hover:bg-sidebar-accent hover:text-sidebar-accent-foreground h-12 text-sm group-data-[collapsible=icon]:p-0! bg-muted animate-pulse group-data-[collapsible=icon]:mx-auto" disabled=""><span class="size-4"></span><span class="flex-1"></span></button></li></ul></div></div></div></div><main data-slot="sidebar-inset" class="relative w-full min-w-0 flex-1 bg-background 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 flex-col"><div class="sticky top-0 z-30"><header class="relative z-20 flex h-16 min-h-16 shrink-0 items-center gap-3 px-4 py-2.5 transition-colors duration-300 sm:px-6 border-b border-border/60 bg-background/80 backdrop-blur-md"><div class="flex min-w-0 flex-1 items-center gap-3">
10<button type="button" tabindex="0" data-slot="sidebar-trigger" data-sidebar="trigger" class="group/button inline-flex items-center justify-center border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50 size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg -ml-1 shrink-0"><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="tabler-icon tabler-icon-layout-sidebar "><path d="M4 6a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -12"></path><path d="M9 4l0 16"></path></svg><span class="sr-only">Toggle Sidebar</span></button><div class="flex min-w-0 items-center gap-2"></div></div><div class="flex items-center gap-2"><button type="button" tabindex="0" data-slot="popover-trigger" aria-label="Notifications" data-base-ui-click-trigger="" id="base-ui-_R_6l9ioq_" aria-haspopup="dialog" aria-expanded="false" class="group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50 size-8"><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="tabler-icon tabler-icon-bell size-5"><path d="M10 5a2 2 0 1 1 4 0a7 7 0 0 1 4 6v3a4 4 0 0 0 2 3h-16a4 4 0 0 0 2 -3v-3a7 7 0 0 1 4 -6"></path><path d="M9 17v1a3 3 0 0 0 6 0v-1"></path></svg></button><button type="button" tabindex="0" data-slot="popover-trigger" data-base-ui-click-trigger="" id="base-ui-_R_6n9ioq_" aria-haspopup="dialog" aria-expanded="false" class="group/button inline-flex shrink-0 items-center justify-center border bg-clip-padding font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50 h-7 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-3.5 gap-2 border-warning/30 bg-warning/10 text-warning hover:border-warning hover:bg-warning/50 hover:text-warning opacity-70"><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="tabler-icon tabler-icon-coins size-4"><path d="M9 14c0 1.657 2.686 3 6 3s6 -1.343 6 -3s-2.686 -3 -6 -3s-6 1.343 -6 3"></path><path d="M9 14v4c0 1.656 2.686 3 6 3s6 -1.344 6 -3v-4"></path><path d="M3 6c0 1.072 1.144 2.062 3 2.598s4.144 .536 6 0c1.856 -.536 3 -1.526 3 -2.598c0 -1.072 -1.144 -2.062 -3 -2.598s-4.144 -.536 -6 0c-1.856 .536 -3 1.526 -3 2.598"></path><path d="M3 6v10c0 .888 .772 1.45 2 2"></path><path d="M3 11c0 .888 .772 1.45 2 2"></path></svg><span class="font-medium tabular-nums text-base">0</span></button><span><button type="button" tabindex="0" data-slot="button" aria-label="Log in" class="group/button inline-flex shrink-0 items-center justify-center border bg-clip-padding font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-
10px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50 h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&amp;_svg:not([class*=&#x27;size-&#x27;])]: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="tabler-icon tabler-icon-login size-4"><path d="M15 8v-2a2 2 0 0 0 -2 -2h-7a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h7a2 2 0 0 0 2 -2v-2"></path><path d="M21 12h-13l3 -3"></path><path d="M11 15l-3 -3"></path></svg><span class="hidden sm:inline">Log in</span></button></span></div></header></div><div class="flex min-h-full flex-col"><div class="flex-1"><!--$--><main class="flex-1 overflow-hidden"><div class="container mx-auto max-w-7xl isolate px-4 pt-6 pb-6 sm:px-6 sm:pt-8 sm:pb-7 xl:px-8"><div class="mx-auto max-w-6xl text-center"><h1 class="text-4xl font-medium leading-[1.1] tracking-tight text-balance sm:text-5xl lg:text-[3.5rem]">AI Image Generator</h1><p class="mx-auto mt-3 max-w-2xl text-base leading-7 text-pretty text-muted-foreground sm:text-lg">Turn a rough brief, product reference, or visual idea into a usable asset across 19 models, then compare directions and refine the winner in one workspace.</p><ul class="mt-4 flex flex-wrap items-center justify-center gap-2"><li><span class="inline-flex items-center gap-2 rounded-full border border-primary/25 bg-primary/10 px-3 py-1.5 text-xs font-medium text-foreground sm:text-sm">Campaign concepts</span></li><li><span class="inline-flex items-center gap-2 rounded-full border border-primary/25 bg-primary/10 px-3 py-1.5 text-xs font-medium text-foreground sm:text-sm">Product variations</span></li><li><span class="inline-flex items-center gap-2 rounded-full border border-primary/25 bg-primary/10 px-3 py-1.5 text-xs font-medium text-foreground sm:text-sm">Social adaptations across 19 models</span></li><li><span class="inline-flex items-center gap-2 rounded-full border border-primary/25 bg-primary/10 px-3 py-1.5 text-xs font-medium text-foreground sm:text-sm">Editorial studies</span></li></ul></div></div><div class="mx-auto w-full max-w-6xl scroll-mt-24 px-4 pb-8"><div id="generator-ui" class="space-y-8 scroll-mt-24"><div class="rounded-xl bg-card p-4 shadow-xl sm:p-5"><form><div><div class="mb-5 lg:hidden"><div class="space-y-3"><div class="flex items-start justify-between gap-3"><div><p class="text-xs font-semibold uppercase text-muted-foreground">Reference images<!-- --> (Optional)</p></div><span class="shrink-0 rounded-full border bg-background px-2 py-1 text-xs tabular-nums text-muted-foreground">0<!-- -->/<!-- -->16</span></div><div class="flex flex-wrap gap-2"><button type="button" aria-label="Add" class="flex size-16 shrink-0 cursor-pointer flex-col items-center justify-center gap-0.5 rounded-md border border-dashed bg-transparent text-[0.7rem] text-muted-foreground transition-colors hover:border-primary/50 hover:bg-primary/5 hover:text-foreground focus-visible:outline-none focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-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="tabler-icon tabler-icon-photo-plus size-4"><path d="M15 8h.01"></path><path d="M12.5 21h-6.5a3 3 0 0 1 -3 -3v-12a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v6.5"></path><path d="M3 16l5 -5c.928 -.893 2.072 -.893 3 0l4 4"></path><path d="M14 14l1 -1c.67 -.644 1.45 -.824 2.182 -.54"></path><path d="M16 19h6"></path><path d="M19 16v6"></path></svg>Add</button></div><input type="file" multiple="" accept="image/png,image/jpeg,image/webp" class="sr-only"/></div></div><div class="hidden lg:block"><div><div class="flex min-h-16 flex-wrap items-start gap-2 pb-2"><button type="button" aria-label="Add" class="flex size-16 shrink-0 cursor-pointer flex-col items-center justify-center gap-0.5 rounded-md border border-dashed bg-transparent text-center text-[0.7rem] text-muted-foreground outline-none transition-colors hover:border-primary/50 hover:bg-primary/5 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-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="tabler-icon tabler-icon-photo-plus size-4"><path d="M15 8h.01"></path><path d="M12.5 21h-6.5a3 3 0 0 1 -3 -3v-12a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v6.5"></path><path d="M3 16l5 -5c.928 -.893 2.072 -.893 3 0l4 4"></path><path d="M14 14l1 -1c.67 -.644 1.45 -.824 2.182 -.54"></path><path d="M16 19h6"></path><path d="M19 16v6"></path></svg><span>Add</span></button></div><input type="file" multiple="" accept="image/png,image/jpeg,image/webp" class="sr-only"/></div></div><div data-slot="form-item" class="grid gap-2 space-y-2"><div class="flex items-center justify-between lg:sr-only"><label data-slot="form-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 data-[error=true]:text-destructive text-xs font-semibold uppercase text-muted-foreground" data-error="false" for="_R_4kimioq_-form-item">Prompt</label><span class="text-xs tabular-nums text-muted-foreground">0<!-- -->/5000</span></div><div class="rounded-lg bg-background/60 lg:rounded-none lg:bg-transparent"><textarea data-slot="textarea" class="flex field-sizing-content w-full border-input bg-transparent transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 min-h-[2lh] max-h-32 resize-none overflow-y-auto rounded-none border-0 p-0 text-base leading-relaxed shadow-none focus-visible:ring-0 disabled:bg-transparent md:text-base dark:bg-transparent dark:disabled:bg-transparent" name="prompt" rows="2" placeholder="Describe a brilliant idea ..." id="_R_4kimioq_-form-item" aria-describedby="_R_4kimioq_-form-item-description" aria-invalid="false"></textarea></div></div><div class="mt-3 hidden items-center gap-2 lg:flex"><button type="button" tabindex="0" data-slot="popover-trigger" data-base-ui-click-trigger="" id="base-ui-_R_qekimioq_" aria-haspopup="dialog" aria-expanded="false" class="group/button inline-flex shrink-0 items-center rounded-lg border border-transparent bg-clip-padding whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-
10px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 min-w-0 justify-start gap-2 bg-muted/40 px-3 font-medium h-10 max-w-56 text-sm [&amp;&gt;img]:size-5"><img src="/images/logos/openai.svg" alt="" width="24" height="24" class="size-6 rounded-md object-contain"/><span class="min-w-0 truncate">GPT Image 2</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="tabler-icon tabler-icon-chevron-down ml-auto size-4 text-muted-foreground"><path d="M6 9l6 6l6 -6"></path></svg></button><button type="button" tabindex="0" data-slot="popover-trigger" data-base-ui-click-trigger="" id="base-ui-_R_qmkimioq_" aria-haspopup="dialog" aria-expanded="false" aria-label="Parameters: auto, 1, 1K" class="group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 h-10 min-w-0 gap-1.5 bg-muted/40 px-2 text-sm"><span class="flex size-4 items-center justify-center text-muted-foreground"><span class="block rounded-[2px] border border-current" style="width:14px;height:14px"></span></span><span>Auto</span><span class="text-muted-foreground">·</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="tabler-icon tabler-icon-photo size-3.5 text-muted-foreground"><path d="M15 8h.01"></path><path d="M3 6a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v12a3 3 0 0 1 -3 3h-12a3 3 0 0 1 -3 -3v-12"></path><path d="M3 16l5 -5c.928 -.893 2.072 -.893 3 0l5 5"></path><path d="M14 14l1 -1c.928 -.893 2.072 -.893 3 0l3 3"></path></svg><span>1</span><span class="text-muted-foreground">·</span><span>1K</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="tabler-icon tabler-icon-chevron-down size-3.5 text-muted-foreground"><path d="M6 9l6 6l6 -6"></path></svg></button><span class="text-xs tabular-nums text-muted-foreground">0<!-- -->/5000</span><button type="submit" data-disabled="" tabindex="0" disabled="" data-slot="button" class="group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 bg-primary text-primary-foreground [a]:hover:bg-primary/80 gap-1.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 ml-auto h-10 px-3 text-xs"><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="tabler-icon tabler-icon-photo "><path d="M15 8h.01"></path><path d="M3 6a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v12a3 3 0 0 1 -3 3h-12a3 3 0 0 1 -3 -3v-12"></path><path d="M3 16l5 -5c.928 -.893 2.072 -.893 3 0l5 5"></path><path d="M14 14l1 -1c.928 -.893 2.072 -.893 3 0l3 3"></path></svg>
10Generate image<span class="rounded-full bg-primary-foreground/15 px-2 py-0.5 text-xs tabular-nums">2 cr</span></button></div></div><div class="mt-5 space-y-5 lg:hidden"><section><p class="mb-2 text-xs font-semibold uppercase text-muted-foreground">Model</p><button type="button" tabindex="0" data-slot="popover-trigger" data-base-ui-click-trigger="" id="base-ui-_R_dj4imioq_" aria-haspopup="dialog" aria-expanded="false" class="group/button inline-flex shrink-0 items-center rounded-lg border border-transparent bg-clip-padding text-sm whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 h-11 min-w-0 justify-start gap-2 bg-muted/40 px-3 font-medium w-full"><img src="/images/logos/openai.svg" alt="" width="24" height="24" class="size-6 rounded-md object-contain"/><span class="min-w-0 truncate">GPT Image 2</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="tabler-icon tabler-icon-chevron-down ml-auto size-4 text-muted-foreground"><path d="M6 9l6 6l6 -6"></path></svg></button></section><div class="space-y-5"><section><p class="font-semibold uppercase text-muted-foreground mb-2 text-xs">Aspect ratio</p><div class="grid gap-1 rounded-lg p-1 grid-cols-4 sm:grid-cols-7"><button type="button" aria-pressed="true" class="flex min-w-0 cursor-pointer items-center justify-center rounded-md border px-2 gap-2 py-2 outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 min-h-11 text-sm border-primary/50 bg-primary/10 font-semibold text-foreground"><span class="flex flex-col items-center gap-1"><span class="block rounded-[3px] border-2 border-primary" style="width:20px;height:20px"></span><span class="text-xs">Auto</span></span></button><button type="button" aria-pressed="false" class="flex min-w-0 cursor-pointer items-center justify-center rounded-md border px-2 gap-2 py-2 font-medium outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 min-h-11 text-sm border-transparent bg-muted/50 text-muted-foreground hover:bg-accent hover:text-foreground"><span class="flex flex-col items-center gap-1"><span class="block rounded-[3px] border-2 border-current" style="width:20px;height:20px"></span><span class="text-xs">1:1</span></span></button><button type="button" aria-pressed="false" class="flex min-w-0 cursor-pointer items-center justify-center rounded-md border px-2 gap-2 py-2 font-medium outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 min-h-11 text-sm border-transparent bg-muted/50 text-muted-foreground hover:bg-accent hover:text-foreground"><span class="flex flex-col items-center gap-1"><span class="block rounded-[3px] border-2 border-current" style="width:20px;height:15px"></span><span class="text-xs">4:3</span></span></button><button type="button" aria-pressed="false" class="flex min-w-0 cursor-pointer items-center justify-center rounded-md border px-2 gap-2 py-2 font-medium outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 min-h-11 text-sm border-transparent bg-muted/50 text-muted-foreground hover:bg-accent hover:text-foreground"><span class="flex flex-col items-center gap-1"><span class="block rounded-[3px] border-2 border-current" style="width:15px;height:20px"></span><span class="text-xs">3:4</span></span></button><button type="button" aria-pressed="false" class="flex min-w-0 cursor-pointer items-center justify-center rounded-md border px-2 gap-2 py-2 font-medium outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 min-h-11 text-sm border-transparent bg-muted/50 text-muted-foreground hover:bg-accent hover:text-foreground"><span class="flex flex-col items-center gap-1"><span class="block rounded-[3px] border-2 border-current" style="width:20px;height:11.25px"></span><span class="text-xs">16:9</span></span></button><button type="button" aria-pressed="false" class="flex min-w-0 cursor-pointer items-center justify-center rounded-md border px-2 gap-2 py-2 font-medium outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 min-h-11 text-sm border-transparent bg-muted/50 text-muted-foreground hover:bg-accent hover:text-foreground"><span class="flex flex-col items-center gap-1"><span class="block rounded-[3px] border-2 border-current" style="width:11.25px;height:20px"></span><span class="text-xs">9:16</span></span></button><button type="button" aria-pressed="false" class="flex min-w-0 cursor-pointer items-center justify-center rounded-md border px-2 gap-2 py-2 font-medium outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 min-h-11 text-sm border-transparent bg-muted/50 text-muted-foreground hover:bg-accent hover:text-foreground"><span class="flex flex-col items-center gap-1"><span class="block rounded-[3px] border-2 border-current" style="width:20px;height:8.571428571428571px"></span><span class="text-xs">21:9</span></span></button><button type="button" aria-pressed="false" class="flex min-w-0 cursor-pointer items-center justify-center rounded-md border px-2 gap-2 py-2 font-medium outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 min-h-11 text-sm border-transparent bg-muted/50 text-muted-foreground hover:bg-accent hover:text-foreground"><span class="flex flex-col items-center gap-1"><span class="block rounded-[3px] border-2 border-current" style="width:8.571428571428571px;height:20px"></span><span class="text-xs">9:21</span></span></button></div></section><section><p class="font-semibold uppercase text-muted-foreground mb-2 text-xs">Number of images</p><div class="grid grid-cols-4 gap-1 rounded-lg p-1"><button type="button" aria-pressed="true" class="flex min-w-0 cursor-pointer items-center justify-center rounded-md border px-2 gap-2 py-2 outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 min-h-11 text-sm border-primary/50 bg-primary/10 font-semibold text-foreground">1</button><button type="button" aria-pressed="false" class="flex min-w-0 cursor-pointer items-center justify-center rounded-md border px-2 gap-2 py-2 font-medium outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 min-h-11 text-sm border-transparent bg-muted/50 text-muted-foreground hover:bg-accent hover:text-foreground">2</button><button type="button" aria-pressed="false" class="flex min-w-0 cursor-pointer items-center justify-center rounded-md border px-2 gap-2 py-2 font-medium outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 min-h-11 text-sm border-transparent bg-muted/50 text-muted-foreground hover:bg-accent hover:text-foreground">3</button><button type="button" aria-pressed="false" class="flex min-w-0 cursor-pointer items-center justify-center rounded-md border px-2 gap-2 py-2 font-medium outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 min-h-11 text-sm border-transparent bg-muted/50 text-muted-foreground hover:bg-accent hover:text-foreground">4</button></div></section><section><p class="font-semibold uppercase text-muted-foreground mb-2 text-xs">Resolution</p><div class="grid gap-1 rounded-lg p-1" style="grid-template-columns:repeat(3, minmax(0, 1fr))"><button type="button" aria-pressed="true" class="flex min-w-0 cursor-pointer items-center justify-center rounded-md border px-2 gap-2 py-2 outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 min-h-11 text-sm border-primary/50 bg-primary/10 font-semibold text-foreground">1K</button><button type="button" aria-pressed="false" class="flex min-w-0 cursor-pointer items-center justify-center rounded-md border px-2 gap-2 py-2 font-medium outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 min-h-11 text-sm border-transparent bg-muted/50 text-muted-foreground hover:bg-accent hover:text-foreground">2K</button><button type="button" aria-pressed="false" class="flex min-w-0 cursor-pointer items-center justify-center rounded-md border px-2 gap-2 py-2 font-medium outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 min-h-11 text-sm border-transparent bg-muted/50 text-muted-foreground hover:bg-accent hover:text-foreground">4K</button></div></section><section><p class="font-semibold uppercase text-muted-foreground mb-2 text-xs">Quality</p><div class="grid gap-1 rounded-lg p-1 grid-cols-3"><button type="button" aria-pressed="true" class="flex min-w-0 cursor-pointer items-center justify-center rounded-md border px-2 gap-2 py-2 outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 min-h-11 text-sm border-primary/50 bg-primary/10 font-semibold text-foreground">low</button><button type="button" aria-pressed="false" class="flex min-w-0 cursor-pointer items-center justify-center rounded-md border px-2 gap-2 py-2 font-medium outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 min-h-11 text-sm border-transparent bg-muted/50 text-muted-foreground hover:bg-accent hover:text-foreground">medium</button><button type="button" aria-pressed="false" class="flex min-w-0 cursor-pointer items-center justify-center rounded-md border px-2 gap-2 py-2 font-medium outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 min-h-11 text-sm border-transparent bg-muted/50 text-muted-foreground hover:bg-accent hover:text-foreground">high</button></div></section><section><p class="font-semibold uppercase text-muted-foreground mb-2 text-xs">Output format</p><div class="grid gap-1 rounded-lg p-1" style="grid-template-columns:repeat(3, minmax(0, 1fr))"><button type="button" aria-pressed="true" class="flex min-w-0 cursor-pointer items-center justify-center rounded-md border px-2 gap-2 py-2 outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 min-h-11 text-sm border-primary/50 bg-primary/10 font-semibold text-foreground">PNG</button><button type="button" aria-pressed="false" class="flex min-w-0 cursor-pointer items-center justify-center rounded-md border px-2 gap-2 py-2 font-medium outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 min-h-11 text-sm border-transparent bg-muted/50 text-muted-foreground hover:bg-accent hover:text-foreground">JPEG</button><button type="button" aria-pressed="false" class="flex min-w-0 cursor-pointer items-center justify-center rounded-md border px-2 gap-2 py-2 font-medium outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 min-h-11 text-sm border-transparent bg-muted/50 text-muted-foreground hover:bg-accent hover:text-foreground">WEBP</button></div></section></div><button type="submit" data-disabled="" tabindex="0" disabled="" data-slot="button" class="group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-
10px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 bg-primary text-primary-foreground [a]:hover:bg-primary/80 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 h-12 w-full text-base"><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="tabler-icon tabler-icon-photo "><path d="M15 8h.01"></path><path d="M3 6a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v12a3 3 0 0 1 -3 3h-12a3 3 0 0 1 -3 -3v-12"></path><path d="M3 16l5 -5c.928 -.893 2.072 -.893 3 0l5 5"></path><path d="M14 14l1 -1c.928 -.893 2.072 -.893 3 0l3 3"></path></svg>Generate image<span class="rounded-full bg-primary-foreground/15 px-2 py-0.5 text-xs tabular-nums">2 cr</span></button></div></form></div></div></div><div aria-hidden="true" class="relative overflow-hidden px-4 pb-2 sm:px-6 sm:pb-4 xl:px-8"><div class="mx-auto flex h-72 max-w-5xl items-center justify-center sm:h-96 md:h-120"><ul class="flex items-center"><li class="relative w-[7.5rem] shrink-0 sm:w-[10.5rem] md:w-[13.5rem] lg:w-[17rem]" style="z-index:1;transform:rotate(-11deg) translateY(-16px)"><div class="origin-center transition-transform duration-300 ease-out hover:-translate-y-2 hover:scale-[1.03] motion-reduce:transition-none"><div class="relative aspect-3/4 overflow-hidden rounded-2xl bg-muted shadow-[0_18px_40px_-18px_rgba(15,23,42,0.55)] dark:shadow-[0_20px_48px_-16px_rgba(0,0,0,0.85)]"><img src="https://cdn.oeneo.ai/resource/ai-image-generator/cartoon-boy.webp" alt="" width="768" height="1024" sizes="(min-width: 1024px) 15rem, (min-width: 768px) 12rem, 8rem" loading="eager" decoding="async" fetchPriority="high" class="absolute inset-0 size-full object-cover"/></div></div></li><li class="relative w-[7.5rem] shrink-0 sm:w-[10.5rem] md:w-[13.5rem] lg:w-[17rem] -ml-7 sm:-ml-9 md:-ml-12 lg:-ml-16" style="z-index:2;transform:rotate(-4.5deg) translateY(22px)"><div class="origin-center transition-transform duration-300 ease-out hover:-translate-y-2 hover:scale-[1.03] motion-reduce:transition-none"><div class="relative aspect-3/4 overflow-hidden rounded-2xl bg-muted shadow-[0_18px_40px_-18px_rgba(15,23,42,0.55)] dark:shadow-[0_20px_48px_-16px_rgba(0,0,0,0.85)]"><img src="https://cdn.oeneo.ai/resource/gpt-image-2/08-30-young-adult-asia-women.webp" alt="" width="768" height="1024" sizes="(min-width: 1024px) 15rem, (min-width: 768px) 12rem, 8rem" loading="eager" decoding="async" fetchPriority="high" class="absolute inset-0 size-full object-cover"/></div></div></li><li class="relative w-[7.5rem] shrink-0 sm:w-[10.5rem] md:w-[13.5rem] lg:w-[17rem] -ml-7 sm:-ml-9 md:-ml-12 lg:-ml-16" style="z-index:3;transform:rotate(2.5deg) translateY(-16px)"><div class="origin-center transition-transform duration-300 ease-out hover:-translate-y-2 hover:scale-[1.03] motion-reduce:transition-none"><div class="relative aspect-3/4 overflow-hidden rounded-2xl bg-muted shadow-[0_18px_40px_-18px_rgba(15,23,42,0.55)] dark:shadow-[0_20px_48px_-16px_rgba(0,0,0,0.85)]"><img src="https://cdn.oeneo.ai/resource/ai-image-generator/girl-with-cat.webp" alt="" width="768" height="1024" sizes="(min-width: 1024px) 15rem, (min-width: 768px) 12rem, 8rem" loading="lazy" decoding="async" fetchPriority="auto" class="absolute inset-0 size-full object-cover"/></div></div></li><li class="relative w-[7.5rem] shrink-0 sm:w-[10.5rem] md:w-[13.5rem] lg:w-[17rem] -ml-7 sm:-ml-9 md:-ml-12 lg:-ml-16" style="z-index:4;transform:rotate(9deg) translateY(20px)"><div class="origin-center transition-transform duration-300 ease-out hover:-translate-y-2 hover:scale-[1.03] motion-reduce:transition-none"><div class="relative aspect-3/4 overflow-hidden rounded-2xl bg-muted shadow-[0_18px_40px_-18px_rgba(15,23,42,0.55)] dark:shadow-[0_20px_48px_-16px_rgba(0,0,0,0.85)]"><img src="https://cdn.oeneo.ai/resource/ai-image-generator/squirrel-paint.webp" alt="" width="768" height="1024" sizes="(min-width: 1024px) 15rem, (min-width: 768px) 12rem, 8rem" loading="lazy" decoding="async" fetchPriority="auto" class="absolute inset-0 size-full object-cover"/>
10</div></div></li></ul></div></div><section aria-label="AI image generation capabilities, pricing, and billing information" class="py-10 sm:pb-14"><div class="container mx-auto max-w-7xl px-4 sm:px-6 xl:px-8"><dl class="mx-auto grid max-w-6xl overflow-hidden rounded-2xl border bg-card shadow-sm sm:grid-cols-2 lg:grid-cols-4"><div class="border-b border-border/70 p-5 last:border-b-0 sm:[&amp;:nth-child(odd)]:border-r lg:border-b-0 lg:border-r lg:last:border-r-0"><dt class="flex items-center gap-2 text-xs font-semibold uppercase tracking-[0.12em] text-muted-foreground"><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="tabler-icon tabler-icon-layers-linked size-4 text-primary" aria-hidden="true"><path d="M19 8.268a2 2 0 0 1 1 1.732v8a2 2 0 0 1 -2 2h-8a2 2 0 0 1 -2 -2v-8a2 2 0 0 1 2 -2h3"></path><path d="M5 15.734a2 2 0 0 1 -1 -1.734v-8a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v8a2 2 0 0 1 -2 2h-3"></path></svg>Model choice</dt><dd class="mt-3 text-base font-semibold text-foreground">19 models, one workspace</dd><dd class="mt-1 text-sm leading-6 text-muted-foreground">Compare GPT Image 2, Nano Banana, Seedream, FLUX, Qwen, Grok, MAI Image, and Z-Image without opening another app.</dd></div><div class="border-b border-border/70 p-5 last:border-b-0 sm:[&amp;:nth-child(odd)]:border-r lg:border-b-0 lg:border-r lg:last:border-r-0"><dt class="flex items-center gap-2 text-xs font-semibold uppercase tracking-[0.12em] text-muted-foreground"><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="tabler-icon tabler-icon-photo-plus size-4 text-primary" aria-hidden="true"><path d="M15 8h.01"></path><path d="M12.5 21h-6.5a3 3 0 0 1 -3 -3v-12a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v6.5"></path><path d="M3 16l5 -5c.928 -.893 2.072 -.893 3 0l4 4"></path><path d="M14 14l1 -1c.67 -.644 1.45 -.824 2.182 -.54"></path><path d="M16 19h6"></path><path d="M19 16v6"></path></svg>Reference input</dt><dd class="mt-3 text-base font-semibold text-foreground">Text + up to 16 images</dd><dd class="mt-1 text-sm leading-6 text-muted-foreground">Use references to hold identity, product shape, palette, or composition steady while the prompt changes the scene.</dd></div><div class="border-b border-border/70 p-5 last:border-b-0 sm:[&amp;:nth-child(odd)]:border-r lg:border-b-0 lg:border-r lg:last:border-r-0"><dt class="flex items-center gap-2 text-xs font-semibold uppercase tracking-[0.12em] text-muted-foreground"><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="tabler-icon tabler-icon-file-type-png size-4 text-primary" aria-hidden="true"><path d="M14 3v4a1 1 0 0 0 1 1h4"></path><path d="M5 12v-7a2 2 0 0 1 2 -2h7l5 5v4"></path><path d="M20 15h-1a2 2 0 0 0 -2 2v2a2 2 0 0 0 2 2h1v-3"></path><path d="M5 18h1.5a1.5 1.5 0 0 0 0 -3h-1.5v6"></path><path d="M11 21v-6l3 6v-6"></path></svg>Output</dt><dd class="mt-3 text-base font-semibold text-foreground">1K / 2K / 4K · PNG, JPEG, WebP</dd><dd class="mt-1 text-sm leading-6 text-muted-foreground">Choose the ratio and resolution that match a feed post, product page, presentation, or campaign layout. Downloads have no visible watermark.</dd></div><div class="border-b border-border/70 p-5 last:border-b-0 sm:[&amp;:nth-child(odd)]:border-r lg:border-b-0 lg:border-r lg:last:border-r-0"><dt class="flex items-center gap-2 text-xs font-semibold uppercase tracking-[0.12em] text-muted-foreground"><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="tabler-icon tabler-icon-receipt-refund size-4 text-primary" aria-hidden="true"><path d="M5 21v-16a2 2 0 0 1 2 -2h10a2 2 0 0 1 2 2v16l-3 -2l-2 2l-2 -2l-2 2l-2 -2l-3 2"></path><path d="M15 14v-2a2 2 0 0 0 -2 -2h-4l2 -2m0 4l-2 -2"></path></svg>Task protection</dt><dd class="mt-3 text-base font-semibold text-foreground">Failures refunded</dd><dd class="mt-1 text-sm leading-6 text-muted-foreground">The task remains in your history, while credits are returned automatically when a provider fails.</dd></div></dl></div></section><section id="examples" class="bg-muted/25 py-16 sm:py-24"><div class="container mx-auto max-w-7xl px-4 sm:px-6 xl:px-8"><div class="reveal-hidden mx-auto max-w-3xl text-center"><p class="text-xs font-semibold uppercase tracking-[0.14em] text-accent-foreground">Prompt-to-output examples</p><h2 class="mt-4 text-5xl font-bold leading-[0.98] tracking-normal text-balance sm:text-6xl">See how one brief becomes different kinds of visual work</h2><p class="mt-4 text-base leading-7 text-muted-foreground sm:text-lg">Each example pairs a finished image with the prompt behind it. Use the directions as starting points for campaigns, product pages, social posts, and visual development.</p></div><div class="mx-auto mt-10 grid max-w-6xl gap-4 auto-rows-[18rem] sm:grid-cols-2 sm:auto-rows-[21rem] lg:grid-cols-3"><div class="reveal-hidden min-h-0 sm:row-span-2 lg:row-span-2"><figure class="group relative size-full overflow-hidden rounded-2xl border bg-card shadow-sm"><img src="https://cdn.oeneo.ai/resource/ai-image-generator/sai-editorial.webp" alt="AI-generated fashion editorial with dramatic studio lighting and an art-directed composition" width="768" height="768" sizes="(min-width: 1024px) 32vw, (min-width: 640px) 50vw, 100vw" loading="lazy" decoding="async" class="size-full object-cover transition-transform duration-300 group-hover:scale-[1.025] motion-reduce:transition-none"/><div aria-hidden="true" class="absolute inset-0 bg-linear-to-t from-background via-background/10 to-transparent"></div><figcaption class="absolute inset-x-0 bottom-0 p-4 sm:p-5"><span class="inline-flex rounded-full border border-border/70 bg-background/85 px-2.5 py-1 text-[0.65rem] font-semibold uppercase tracking-[0.12em] text-foreground backdrop-blur">Editorial</span>
10<h3 class="mt-3 text-lg font-semibold text-foreground">Fashion campaign direction</h3><p class="mt-1 line-clamp-2 text-xs leading-5 text-muted-foreground"><span class="font-semibold text-foreground">Prompt used<!-- -->:<!-- --> </span>Create a high-fashion editorial portrait with directional studio light, sculptural styling, a deep burgundy palette, and enough negative space for a magazine headline.</p></figcaption></figure></div><div class="reveal-hidden min-h-0" style="animation-delay:60ms"><figure class="group relative size-full overflow-hidden rounded-2xl border bg-card shadow-sm"><img src="https://cdn.oeneo.ai/resource/ai-image-generator/sai-product.webp" alt="AI-generated product photograph with a clean set and controlled commercial lighting" width="768" height="768" sizes="(min-width: 1024px) 28vw, (min-width: 640px) 50vw, 100vw" loading="lazy" decoding="async" class="size-full object-cover transition-transform duration-300 group-hover:scale-[1.025] motion-reduce:transition-none"/><div aria-hidden="true" class="absolute inset-0 bg-linear-to-t from-background via-background/10 to-transparent"></div><figcaption class="absolute inset-x-0 bottom-0 p-4 sm:p-5"><span class="inline-flex rounded-full border border-border/70 bg-background/85 px-2.5 py-1 text-[0.65rem] font-semibold uppercase tracking-[0.12em] text-foreground backdrop-blur">Commerce</span><h3 class="mt-3 text-lg font-semibold text-foreground">Product launch hero</h3><p class="mt-1 line-clamp-2 text-xs leading-5 text-muted-foreground"><span class="font-semibold text-foreground">Prompt used<!-- -->:<!-- --> </span>Place the supplied skincare bottle on a warm stone plinth with soft window light, accurate material reflections, a clean shadow, and room for campaign copy.</p></figcaption></figure></div><div class="reveal-hidden min-h-0" style="animation-delay:120ms"><figure class="group relative size-full overflow-hidden rounded-2xl border bg-card shadow-sm"><img src="https://cdn.oeneo.ai/resource/ai-image-generator/a3-graphic-poster.webp" alt="AI-generated graphic poster with geometric forms and bold typography styling" width="768" height="768" sizes="(min-width: 1024px) 28vw, (min-width: 640px) 50vw, 100vw" loading="lazy" decoding="async" class="size-full object-cover transition-transform duration-300 group-hover:scale-[1.025] motion-reduce:transition-none"/><div aria-hidden="true" class="absolute inset-0 bg-linear-to-t from-background via-background/10 to-transparent"></div><figcaption class="absolute inset-x-0 bottom-0 p-4 sm:p-5"><span class="inline-flex rounded-full border border-border/70 bg-background/85 px-2.5 py-1 text-[0.65rem] font-semibold uppercase tracking-[0.12em] text-foreground backdrop-blur">Graphic design</span><h3 class="mt-3 text-lg font-semibold text-foreground">Poster with a clear hierarchy</h3><p class="mt-1 line-clamp-2 text-xs leading-5 text-muted-foreground"><span class="font-semibold text-foreground">Prompt used<!-- -->:<!-- --> </span>Design an experimental cultural poster with a strict geometric hierarchy, black and cream colors, a readable event title, and a strong information order.</p></figcaption></figure></div><div class="reveal-hidden min-h-0"><figure class="group relative size-full overflow-hidden rounded-2xl border bg-card shadow-sm"><img src="https://cdn.oeneo.ai/resource/ai-image-generator/a4-lifestyle-portrait.webp" alt="AI-generated lifestyle portrait on a beach with natural light and calm color grading" width="768" height="768" sizes="(min-width: 1024px) 28vw, (min-width: 640px) 50vw, 100vw" loading="lazy" decoding="async" class="size-full object-cover transition-transform duration-300 group-hover:scale-[1.025] motion-reduce:transition-none"/><div aria-hidden="true" class="absolute inset-0 bg-linear-to-t from-background via-background/10 to-transparent"></div><figcaption class="absolute inset-x-0 bottom-0 p-4 sm:p-5"><span class="inline-flex rounded-full border border-border/70 bg-background/85 px-2.5 py-1 text-[0.65rem] font-semibold uppercase tracking-[0.12em] text-foreground backdrop-blur">Photography</span><h3 class="mt-3 text-lg font-semibold text-foreground">Lifestyle portrait study</h3><p class="mt-1 line-clamp-2 text-xs leading-5 text-muted-foreground"><span class="font-semibold text-foreground">Prompt used<!-- -->:<!-- --> </span>Create a candid beach portrait at blue hour with natural skin texture, a quiet expression, 50mm perspective, and restrained cinematic color grading.</p></figcaption></figure></div><div class="reveal-hidden min-h-0" style="animation-delay:60ms"><figure class="group relative size-full overflow-hidden rounded-2xl border bg-card shadow-sm"><img src="https://cdn.oeneo.ai/resource/ai-image-generator/a5-reference-guided.webp" alt="AI-generated artwork combining a feather reference with a cohesive visual style" width="768" height="768" sizes="(min-width: 1024px) 28vw, (min-width: 640px) 50vw, 100vw" loading="lazy" decoding="async" class="size-full object-cover transition-transform duration-300 group-hover:scale-[1.025] motion-reduce:transition-none"/><div aria-hidden="true" class="absolute inset-0 bg-linear-to-t from-background via-background/10 to-transparent"></div><figcaption class="absolute inset-x-0 bottom-0 p-4 sm:p-5"><span class="inline-flex rounded-full border border-border/70 bg-background/85 px-2.5 py-1 text-[0.65rem] font-semibold uppercase tracking-[0.12em] text-foreground backdrop-blur">Reference workflow</span>
10<h3 class="mt-3 text-lg font-semibold text-foreground">Multi-reference composition</h3><p class="mt-1 line-clamp-2 text-xs leading-5 text-muted-foreground"><span class="font-semibold text-foreground">Prompt used<!-- -->:<!-- --> </span>Use the supplied feather, material, and color references to build one balanced campaign image. Keep the defining silhouette and let the environment change.</p></figcaption></figure></div></div></div></section><section id="features" class="py-16 sm:py-24"><div class="container mx-auto max-w-7xl px-4 sm:px-6 xl:px-8"><div class="reveal-hidden mx-auto max-w-3xl text-center"><p class="text-xs font-semibold uppercase tracking-[0.14em] text-accent-foreground">A practical multi-model workflow</p><h2 class="mt-4 text-5xl font-bold leading-[0.98] tracking-normal text-balance sm:text-6xl">Compare the model, brief, and output in one place</h2><p class="mt-4 text-base leading-7 text-muted-foreground sm:text-lg">Choose the model for the task, keep the important inputs visible, and move from first draft to reviewable deliverable without rebuilding the workflow in another tool.</p></div><div class="mx-auto mt-10 grid max-w-6xl gap-4 md:grid-cols-2"><div class="reveal-hidden"><article class="flex h-full flex-col overflow-hidden rounded-2xl border bg-card shadow-sm"><div class="aspect-[16/9] overflow-hidden bg-muted/40"><img src="https://cdn.oeneo.ai/resource/ai-image-generator/a6-model-comparison.webp" alt="AI-generated train scene illustrating a cinematic image-generation direction" width="768" height="432" sizes="(min-width: 768px) 46vw, 100vw" loading="lazy" decoding="async" class="size-full object-cover"/></div><div class="flex flex-1 gap-4 p-5 sm:p-6"><span class="flex size-11 shrink-0 items-center justify-center rounded-xl bg-primary/10 text-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="tabler-icon tabler-icon-layers-linked size-5" aria-hidden="true"><path d="M19 8.268a2 2 0 0 1 1 1.732v8a2 2 0 0 1 -2 2h-8a2 2 0 0 1 -2 -2v-8a2 2 0 0 1 2 -2h3"></path><path d="M5 15.734a2 2 0 0 1 -1 -1.734v-8a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v8a2 2 0 0 1 -2 2h-3"></path></svg></span><div><p class="text-xs font-semibold uppercase tracking-[0.12em] text-primary">19 models</p><h3 class="mt-1 text-lg font-semibold">Choose the model for the job</h3><p class="mt-2 text-sm leading-6 text-muted-foreground sm:text-base sm:leading-7">Use GPT Image 2 for readable layouts, Nano Banana for everyday production, Seedream for dense or cinematic work, FLUX for material realism, and Z-Image for low-cost exploration. Compare them under one credit balance.</p></div></div></article></div><div class="reveal-hidden" style="animation-delay:80ms"><article class="flex h-full flex-col overflow-hidden rounded-2xl border bg-card shadow-sm"><div class="aspect-[16/9] overflow-hidden bg-muted/40"><img src="https://cdn.oeneo.ai/resource/ai-image-generator/a7-reference-composition.webp" alt="Reference-guided AI image showing a burgundy animal character in a night scene" width="768" height="432" sizes="(min-width: 768px) 46vw, 100vw" loading="lazy" decoding="async" class="size-full object-cover"/></div><div class="flex flex-1 gap-4 p-5 sm:p-6"><span class="flex size-11 shrink-0 items-center justify-center rounded-xl bg-primary/10 text-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="tabler-icon tabler-icon-photo-plus size-5" aria-hidden="true"><path d="M15 8h.01"></path><path d="M12.5 21h-6.5a3 3 0 0 1 -3 -3v-12a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v6.5"></path><path d="M3 16l5 -5c.928 -.893 2.072 -.893 3 0l4 4"></path><path d="M14 14l1 -1c.67 -.644 1.45 -.824 2.182 -.54"></path><path d="M16 19h6"></path><path d="M19 16v6"></path></svg></span><div><p class="text-xs font-semibold uppercase tracking-[0.12em] text-primary">Up to 16 references</p><h3 class="mt-1 text-lg font-semibold">Give the model something concrete to preserve</h3><p class="mt-2 text-sm leading-6 text-muted-foreground sm:text-base sm:leading-7">Upload a face, product, palette, pose, or layout reference, then say what must stay fixed and what may change. This is the fastest way to reduce drift across a set of variations.
10</p></div></div></article></div><div class="reveal-hidden"><article class="flex h-full flex-col overflow-hidden rounded-2xl border bg-card shadow-sm"><div class="aspect-[16/9] overflow-hidden bg-muted/40"><img src="https://cdn.oeneo.ai/resource/ai-image-generator/a8-output-controls.webp" alt="AI-generated editorial campaign image demonstrating controlled composition and aspect ratio" width="768" height="432" sizes="(min-width: 768px) 46vw, 100vw" loading="lazy" decoding="async" class="size-full object-cover"/></div><div class="flex flex-1 gap-4 p-5 sm:p-6"><span class="flex size-11 shrink-0 items-center justify-center rounded-xl bg-primary/10 text-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="tabler-icon tabler-icon-adjustments size-5" aria-hidden="true"><path d="M4 10a2 2 0 1 0 4 0a2 2 0 0 0 -4 0"></path><path d="M6 4v4"></path><path d="M6 12v8"></path><path d="M10 16a2 2 0 1 0 4 0a2 2 0 0 0 -4 0"></path><path d="M12 4v10"></path><path d="M12 18v2"></path><path d="M16 7a2 2 0 1 0 4 0a2 2 0 0 0 -4 0"></path><path d="M18 4v1"></path><path d="M18 9v11"></path></svg></span><div><p class="text-xs font-semibold uppercase tracking-[0.12em] text-primary">1K, 2K, 4K</p><h3 class="mt-1 text-lg font-semibold">Set the destination before you render</h3><p class="mt-2 text-sm leading-6 text-muted-foreground sm:text-base sm:leading-7">Choose a feed ratio, portrait crop, banner frame, resolution, format, and image count before submitting. Unsupported options disappear for the selected model instead of producing a misleading promise.</p></div></div></article></div><div class="reveal-hidden" style="animation-delay:80ms"><article class="flex h-full flex-col overflow-hidden rounded-2xl border bg-card shadow-sm"><div class="aspect-[16/9] overflow-hidden bg-muted/40"><img src="https://cdn.oeneo.ai/resource/ai-image-generator/a9-generation-record.webp" alt="AI-generated product campaign visual representing a completed creative workflow" width="768" height="432" sizes="(min-width: 768px) 46vw, 100vw" loading="lazy" decoding="async" class="size-full object-cover"/></div><div class="flex flex-1 gap-4 p-5 sm:p-6"><span class="flex size-11 shrink-0 items-center justify-center rounded-xl bg-primary/10 text-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="tabler-icon tabler-icon-clock-shield size-5" aria-hidden="true"><path d="M21 12a9 9 0 1 0 -8.98 9"></path><path d="M12 7v5l1 1"></path><path d="M22 16c0 4 -2.5 6 -3.5 6s-3.5 -2 -3.5 -6c1 0 2.5 -.5 3.5 -1.5c1 1 2.5 1.5 3.5 1.5"></path></svg></span><div><p class="text-xs font-semibold uppercase tracking-[0.12em] text-primary">Failures refunded</p><h3 class="mt-1 text-lg font-semibold">Know what happened to every task</h3><p class="mt-2 text-sm leading-6 text-muted-foreground sm:text-base sm:leading-7">Each generation keeps a task record while provider updates are reconciled. If a request times out or errors, consumed credits are returned automatically and the history remains available for review.</p></div></div></article></div></div></div></section><section id="how-it-works" class="bg-background py-16 sm:py-24"><div class="container mx-auto max-w-7xl px-4 sm:px-6 xl:px-8"><div class="reveal-hidden mx-auto max-w-3xl text-center"><p class="text-xs font-semibold uppercase tracking-[0.14em] text-accent-foreground">How it works</p><h2 class="mt-4 text-5xl font-bold leading-[0.98] tracking-normal text-foreground text-balance sm:text-6xl">From a loose idea to a usable image in four steps</h2><p class="mt-4 text-base leading-7 text-muted-foreground sm:text-lg">Start with the asset you need, protect the details that matter, and choose settings that fit where the image will be used.</p></div><div class="reveal-hidden relative mt-14" style="animation-delay:120ms"><div aria-hidden="true" class="pointer-events-none absolute inset-x-[12%] top-7 hidden h-px bg-[linear-gradient(90deg,transparent,color-mix(in_srgb,var(--primary)_45%,transparent),transparent)] lg:block"></div><ol class="relative grid gap-10 lg:gap-6 lg:grid-cols-4"><li class="relative"><div class="relative flex items-center lg:justify-center"><span aria-hidden="true" class="font-mono text-6xl font-bold leading-none text-primary/15 lg:text-7xl">01</span><span class="absolute left-0 top-1/2 flex size-3 -translate-y-1/2 roun
10ded-full bg-primary ring-4 ring-primary/15 lg:left-1/2 lg:-translate-x-1/2"></span></div><div class="mt-4 lg:text-center"><h3 class="text-lg font-semibold text-foreground">Write the visual brief</h3><p class="mt-2 text-base leading-7 text-muted-foreground">Name the subject, setting, composition, light, style, and destination. Put non-negotiable details first and avoid a disconnected pile of keywords.</p></div></li><li class="relative"><div class="relative flex items-center lg:justify-center"><span aria-hidden="true" class="font-mono text-6xl font-bold leading-none text-primary/15 lg:text-7xl">02</span><span class="absolute left-0 top-1/2 flex size-3 -translate-y-1/2 rounded-full bg-primary ring-4 ring-primary/15 lg:left-1/2 lg:-translate-x-1/2"></span></div><div class="mt-4 lg:text-center"><h3 class="text-lg font-semibold text-foreground">Add only useful references</h3><p class="mt-2 text-base leading-7 text-muted-foreground">Upload images for identity, product form, palette, pose, or layout. Give each reference a job and state what the model can reinterpret.</p></div></li><li class="relative"><div class="relative flex items-center lg:justify-center"><span aria-hidden="true" class="font-mono text-6xl font-bold leading-none text-primary/15 lg:text-7xl">03</span><span class="absolute left-0 top-1/2 flex size-3 -translate-y-1/2 rounded-full bg-primary ring-4 ring-primary/15 lg:left-1/2 lg:-translate-x-1/2"></span></div><div class="mt-4 lg:text-center"><h3 class="text-lg font-semibold text-foreground">Match model to delivery</h3><p class="mt-2 text-base leading-7 text-muted-foreground">Select the model, aspect ratio, resolution, format, and image count. The workbench shows only the controls that model accepts.</p></div></li><li class="relative"><div class="relative flex items-center lg:justify-center"><span aria-hidden="true" class="font-mono text-6xl font-bold leading-none text-primary/15 lg:text-7xl">04</span><span class="absolute left-0 top-1/2 flex size-3 -translate-y-1/2 rounded-full bg-primary ring-4 ring-primary/15 lg:left-1/2 lg:-translate-x-1/2"></span></div><div class="mt-4 lg:text-center"><h3 class="text-lg font-semibold text-foreground">Review, then export</h3><p class="mt-2 text-base leading-7 text-muted-foreground">Check faces, hands, text, logos, product details, and edges at the intended size. Download the strongest result as PNG, JPEG, or WebP.</p></div></li></ol></div></div></section><section id="use-cases" class="bg-muted/25 py-16 sm:py-24"><div class="container mx-auto max-w-7xl px-4 sm:px-6 xl:px-8"><div class="reveal-hidden mx-auto max-w-3xl text-center"><p class="text-xs font-semibold uppercase tracking-[0.14em] text-accent-foreground">Practical use cases</p><h2 class="mt-4 text-5xl font-bold leading-[0.98] tracking-normal text-balance sm:text-6xl">Built for the work around the image</h2><p class="mt-4 text-base leading-7 text-muted-foreground sm:text-lg">Use the generator to make decisions earlier, test more directions, and hand a stronger visual into production. Keep rights checks and final quality review in the loop.</p></div><div class="mx-auto mt-10 grid max-w-6xl gap-4 sm:grid-cols-2 lg:grid-cols-4"><div class="reveal-hidden"><article class="h-full rounded-2xl border bg-card p-5 shadow-sm"><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="tabler-icon tabler-icon-layout-board size-6 text-primary" aria-hidden="true"><path d="M4 6a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -12"></path><path d="M4 9h8"></path><path d="M12 15h8"></path><path d="M12 4v16"></path></svg><h3 class="mt-5 text-lg font-semibold">Campaign development</h3><p class="mt-2 text-sm leading-6 text-muted-foreground">Test visual territories, key art, and channel adaptations before a production shoot or paid-media rollout.</p><p class="mt-5 border-t pt-4 text-xs leading-5 text-muted-foreground"><span class="font-semibold uppercase tracking-[0.1em] text-foreground">Example<!-- -->:<!-- --> </span>Three seasonal launch directions prepared for a creative review.</p></article></div><div class="reveal-hidden" style="animation-delay:60ms"><article class="h-full rounded-2xl border bg-card p-5 shadow-sm"><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="tabler-icon tabler-icon-building-store size-6 text-primary" aria-hidden="true"><path d="M3 21l18 0"></path><path d="M3 7v1a3 3 0 0 0 6 0v-1m0 1a3 3 0 0 0 6 0v-1m0 1a3 3 0 0 0 6 0v-1h-18l2 -4h14l2 4"></path><path d="M5 21l0 -10.15"></path><path d="M19 21l0 -10.15"></path><path d="M9 21v-4a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v4"></path></svg><h3 class="mt-5 text-lg font-semibold">
10Product and e-commerce visuals</h3><p class="mt-2 text-sm leading-6 text-muted-foreground">Use an approved product reference to explore settings, surfaces, lighting, props, and crops while keeping the object recognisable.</p><p class="mt-5 border-t pt-4 text-xs leading-5 text-muted-foreground"><span class="font-semibold uppercase tracking-[0.1em] text-foreground">Example<!-- -->:<!-- --> </span>A product-detail hero concept with a clean background and copy space.</p></article></div><div class="reveal-hidden" style="animation-delay:120ms"><article class="h-full rounded-2xl border bg-card p-5 shadow-sm"><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="tabler-icon tabler-icon-device-mobile size-6 text-primary" aria-hidden="true"><path d="M6 5a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v14a2 2 0 0 1 -2 2h-8a2 2 0 0 1 -2 -2v-14"></path><path d="M11 4h2"></path><path d="M12 17v.01"></path></svg><h3 class="mt-5 text-lg font-semibold">Social content systems</h3><p class="mt-2 text-sm leading-6 text-muted-foreground">Adapt one creative idea to 9:16, 1:1, and 16:9 placements instead of forcing every channel to use the same crop.</p><p class="mt-5 border-t pt-4 text-xs leading-5 text-muted-foreground"><span class="font-semibold uppercase tracking-[0.1em] text-foreground">Example<!-- -->:<!-- --> </span>A coordinated launch set for feed, story, and banner placements.</p></article></div><div class="reveal-hidden" style="animation-delay:180ms"><article class="h-full rounded-2xl border bg-card p-5 shadow-sm"><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="tabler-icon tabler-icon-brush size-6 text-primary" aria-hidden="true"><path d="M3 21v-4a4 4 0 1 1 4 4h-4"></path><path d="M21 3a16 16 0 0 0 -12.8 10.2"></path><path d="M21 3a16 16 0 0 1 -10.2 12.8"></path><path d="M10.6 9a9 9 0 0 1 4.4 4.4"></path></svg><h3 class="mt-5 text-lg font-semibold">Concept art and storyboards</h3><p class="mt-2 text-sm leading-6 text-muted-foreground">Turn written scenes into visual references for characters, environments, mood, and framing that a team can discuss before production begins.</p><p class="mt-5 border-t pt-4 text-xs leading-5 text-muted-foreground"><span class="font-semibold uppercase tracking-[0.1em] text-foreground">Example<!-- -->:<!-- --> </span>Four establishing-shot options for an early storyboard review.</p></article></div></div></div></section><div id="related-tools" class="container mx-auto px-4 sm:px-6 xl:px-8 py-16 sm:py-24 max-w-7xl"><div class="reveal-hidden text-center"><h2 class="text-5xl font-bold leading-[0.98] tracking-normal text-balance sm:text-6xl">What comes after generation</h2><p class="mt-4 text-base leading-7 text-muted-foreground sm:text-lg">Oeneo AI is building the next image steps around the same creative workspace. These tools are marked clearly while their processing workflows are being completed.</p></div><div class=" mt-10 grid  gap-4 md:grid-cols-3"><div class="reveal-hidden"><article class="h-full rounded-2xl border bg-card p-5 shadow-sm"><div class="flex items-start justify-between gap-3"><span class="flex size-11 items-center justify-center rounded-xl bg-primary/10 text-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="tabler-icon tabler-icon-photo-edit size-5" aria-hidden="true"><path d="M15 8h.01"></path><path d="M11 20h-4a3 3 0 0 1 -3 -3v-10a3 3 0 0 1 3 -3h10a3 3 0 0 1 3 3v4"></path><path d="M4 15l4 -4c.928 -.893 2.072 -.893 3 0l3 3"></path><path d="M14 14l1 -1c.31 -.298 .644 -.497 .987 -.596"></path><path d="M18.42 15.61a2.1 2.1 0 0 1 2.97 2.97l-3.39 3.42h-3v-3l3.42 -3.39"></path></svg></span><span class="rounded-full border px-2.5 py-1 text-[0.65rem] font-semibold uppercase tracking-[0.1em] text-muted-foreground">Coming soon</span></div><h3 class="mt-5 text-lg font-semibold">AI Image Editor</h3><p class="mt-2 text-sm leading-6 text-muted-foreground">Make a focused change to a generated image while naming the details, composition, or identity that must remain unchanged.</p><span class="mt-5 inline-flex items-center gap-1.5 text-sm font-semibold text-primary">Edit a generated result</span></article></div><div class="reveal-hidden" style="animation-delay:60ms"><article class="h-full rounded-2xl border bg-card p-5 shadow-sm"><div class="flex items-start justify-between gap-3"><span class="flex size-11 items-center justify-center rounded-xl bg-primary/10 text-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="tabler-icon tabler-icon-eraser size-5" aria-hidden="true"><path d="M19 20h-10.5l-4.21 -4.3a1 1 0 0 1 0 -1.41l10 -10a1 1 0 0 1 1.41 0l5 5a1 1 0 0 1 0 1.41l-9.2 9.3"></path><path d="M18 13.3l-6.3 -6.3"></path></svg></span><span class="rounded-full border px-2.5 py-1 text-[0.65rem] font-semibold uppercase tracking-[0.1em] text-muted-foreground">Coming soon</span></div><h3 class="mt-5 text-lg font-semibold">
10Background Remover</h3><p class="mt-2 text-sm leading-6 text-muted-foreground">Remove the background from a product, portrait, or pet photo and continue with a transparent asset for design or commerce.</p><span class="mt-5 inline-flex items-center gap-1.5 text-sm font-semibold text-primary">Remove the background</span></article></div><div class="reveal-hidden" style="animation-delay:120ms"><article class="h-full rounded-2xl border bg-card p-5 shadow-sm"><div class="flex items-start justify-between gap-3"><span class="flex size-11 items-center justify-center rounded-xl bg-primary/10 text-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="tabler-icon tabler-icon-arrows-maximize size-5" aria-hidden="true"><path d="M16 4l4 0l0 4"></path><path d="M14 10l6 -6"></path><path d="M8 20l-4 0l0 -4"></path><path d="M4 20l6 -6"></path><path d="M16 20l4 0l0 -4"></path><path d="M14 14l6 6"></path><path d="M8 4l-4 0l0 4"></path><path d="M4 4l6 6"></path></svg></span><span class="rounded-full border px-2.5 py-1 text-[0.65rem] font-semibold uppercase tracking-[0.1em] text-muted-foreground">Coming soon</span></div><h3 class="mt-5 text-lg font-semibold">Image Upscaler</h3><p class="mt-2 text-sm leading-6 text-muted-foreground">Increase a finished image for print, storefront heroes, presentations, or larger campaign placements before delivery.</p><span class="mt-5 inline-flex items-center gap-1.5 text-sm font-semibold text-primary">Upscale a result</span></article></div></div></div><section id="faq" class="py-20 sm:py-24"><div class="container mx-auto max-w-7xl px-4"><div class="mx-auto max-w-7xl"><div class="reveal-hidden mx-auto max-w-4xl text-center"><p class="flex items-center justify-center gap-3 text-xs font-semibold uppercase tracking-[0.14em] text-accent-foreground before:h-px before:w-7 before:bg-current">AI image generator FAQ</p><h2 class="mt-4 font-bold text-foreground text-balance text-5xl leading-[0.98] tracking-normal sm:text-6xl">AI image generator questions, answered</h2><p class="mx-auto mt-4 max-w-3xl text-base leading-7 text-muted-foreground sm:text-lg">Models make different trade-offs in speed, detail, references, text, and output size. These answers explain how to choose and what the workbench actually supports.</p></div><div class="reveal-hidden mx-auto mt-10 max-w-5xl border-t border-border" style="animation-delay:120ms"><details open="" class="group border-b border-border py-6"><summary class="flex cursor-pointer list-none items-center justify-between gap-6 text-lg font-bold text-foreground marker:hidden sm:text-xl">What is an AI image generator?<span class="shrink-0 text-xl font-normal text-accent-orange transition-transform group-open:rotate-45">+</span></summary><p class="max-w-4xl pt-4 text-base leading-7 text-muted-foreground sm:text-lg">An AI image generator turns a natural-language brief into one or more images. In an image-to-image workflow, reference images give the model visual context for identity, product form, composition, or style while the prompt directs the change.</p></details><details class="group border-b border-border py-6"><summary class="flex cursor-pointer list-none items-center justify-between gap-6 text-lg font-bold text-foreground marker:hidden sm:text-xl">Is this AI image generator free?<span class="shrink-0 text-xl font-normal text-accent-orange transition-transform group-open:rotate-45">+</span></summary><p class="max-w-4xl pt-4 text-base leading-7 text-muted-foreground sm:text-lg">New accounts receive 10 credits, valid for a year, so you can test the workflow before paying. An account is required because every generation uses a paid provider endpoint.</p></details><details class="group border-b border-border py-6"><summary class="flex cursor-pointer list-none items-center justify-between gap-6 text-lg font-bold text-foreground marker:hidden sm:text-xl">Can I generate from both text and reference images?<span class="shrink-0 text-xl font-normal text-accent-orange transition-transform group-open:rotate-45">+</span></summary><p class="max-w-4xl pt-4 text-base leading-7 text-muted-foreground sm:text-lg">Yes, when the selected model supports image input. The workbench accepts one or several references up to 16, shows the active limit, and blocks uploads that model cannot use.</p></details>
10<details class="group border-b border-border py-6"><summary class="flex cursor-pointer list-none items-center justify-between gap-6 text-lg font-bold text-foreground marker:hidden sm:text-xl">Which AI image models can I use, and which should I pick?<span class="shrink-0 text-xl font-normal text-accent-orange transition-transform group-open:rotate-45">+</span></summary><p class="max-w-4xl pt-4 text-base leading-7 text-muted-foreground sm:text-lg">The workspace configures 19 models: GPT Image 2, GPT Image 2.5 Flare, GPT Image 2.5 Sunburst, Nano Banana 2, Nano Banana Pro, Seedream 5 Pro, Grok Imagine 2, FLUX.2 Pro, FLUX.2 Klein 4B, FLUX.2 Klein 9B, FLUX 3 Image, Nano Banana 2 Lite, MAI Image 2.5 Pro, MAI Image 2.5, Seedream 4.5, Qwen Image 3, Z-Image Turbo, Ideogram 4.5, Z-Image Base. Start with GPT Image 2 for readable layouts, Nano Banana for balanced daily work, Nano Banana Pro for demanding references, Seedream for dense or cinematic images, FLUX for realism, and Z-Image Turbo for inexpensive exploration.</p></details><details class="group border-b border-border py-6"><summary class="flex cursor-pointer list-none items-center justify-between gap-6 text-lg font-bold text-foreground marker:hidden sm:text-xl">How many credits does one image cost?<span class="shrink-0 text-xl font-normal text-accent-orange transition-transform group-open:rotate-45">+</span></summary><p class="max-w-4xl pt-4 text-base leading-7 text-muted-foreground sm:text-lg">Cost depends on the model, resolution, quality level, image count, and reference inputs. The exact quote for your settings appears on the Generate button before submission, and failed generations are refunded automatically.</p></details><details class="group border-b border-border py-6"><summary class="flex cursor-pointer list-none items-center justify-between gap-6 text-lg font-bold text-foreground marker:hidden sm:text-xl">What sizes and file formats are supported?<span class="shrink-0 text-xl font-normal text-accent-orange transition-transform group-open:rotate-45">+</span></summary><p class="max-w-4xl pt-4 text-base leading-7 text-muted-foreground sm:text-lg">The workspace can expose 1K, 2K, or 4K, seven aspect ratios from 1:1 to 21:9, and PNG, JPEG, or WebP. The selected model determines which options appear, and downloads have no visible watermark.</p></details><details class="group border-b border-border py-6"><summary class="flex cursor-pointer list-none items-center justify-between gap-6 text-lg font-bold text-foreground marker:hidden sm:text-xl">How do I write a better text-to-image prompt?<span class="shrink-0 text-xl font-normal text-accent-orange transition-transform group-open:rotate-45">+</span></summary><p class="max-w-4xl pt-4 text-base leading-7 text-muted-foreground sm:text-lg">Write a connected brief: subject, setting, composition, camera or medium, lighting, palette, constraints, and intended use. Put non-negotiable details first, then change one variable at a time so each result teaches you something.</p></details><details class="group border-b border-border py-6"><summary class="flex cursor-pointer list-none items-center justify-between gap-6 text-lg font-bold text-foreground marker:hidden sm:text-xl">Can I use the generated images commercially?<span class="shrink-0 text-xl font-normal text-accent-orange transition-transform group-open:rotate-45">+</span></summary><p class="max-w-4xl pt-4 text-base leading-7 text-muted-foreground sm:text-lg">Generally yes, and we do not claim ownership of the images you create here. Whether a specific image is safe to publish still depends on the selected model provider&#x27;s terms, your plan, applicable law, and the rights attached to your prompt and reference images. Clear permission for identifiable people, brands, copyrighted artwork, and third-party product imagery, and take your own legal advice for high-stakes commercial use.</p></details><details class="group border-b border-border py-6"><summary class="flex cursor-pointer list-none items-center justify-between gap-6 text-lg font-bold text-foreground marker:hidden sm:text-xl">Does Oeneo AI have its own image model?<span class="shrink-0 text-xl font-normal text-accent-orange transition-transform group-open:rotate-45">+</span></summary><p class="max-w-4xl pt-4 text-base leading-7 text-muted-foreground sm:text-lg">Not yet. Oeneo AI currently brings together configured models from several providers in one creative workspace. We will identify any first-party Oeneo AI model clearly when one is officially available.</p></details>
10<details class="group border-b border-border py-6"><summary class="flex cursor-pointer list-none items-center justify-between gap-6 text-lg font-bold text-foreground marker:hidden sm:text-xl">What happens if a generation fails?<span class="shrink-0 text-xl font-normal text-accent-orange transition-transform group-open:rotate-45">+</span></summary><p class="max-w-4xl pt-4 text-base leading-7 text-muted-foreground sm:text-lg">The task remains recorded while the failure is reconciled, and consumed credits are refunded automatically. Adjust the brief or settings, then submit a new task.</p></details></div></div></div></section><section class="py-20 sm:py-28"><div class="container mx-auto max-w-7xl px-4"><div class="reveal-hidden relative overflow-hidden rounded-3xl bg-linear-to-br from-accent-violet/30 to-accent-sky/20 p-8 text-center shadow-lg sm:p-12"><div aria-hidden="true" class="pointer-events-none absolute -bottom-20 -right-10 size-72 opacity-50"><img src="/brand/logo.svg" alt="" width="288" height="288" class="size-full"/></div><p class="relative z-10 text-xs font-semibold uppercase tracking-[0.14em] text-accent-foreground">Ready to make the next visual</p><h2 class="relative z-10 mx-auto mt-4 max-w-4xl text-5xl font-bold leading-[0.98] tracking-normal text-balance sm:text-6xl">Put one clear brief through the right model</h2><p class="relative z-10 mx-auto mt-5 max-w-2xl text-lg leading-8 text-muted-foreground sm:text-xl">Test campaign concepts, product scenes, social formats, and visual development with 10 free credits to start.</p><div class="relative z-10 mt-8 flex flex-wrap justify-center gap-3"><a href="#generator-ui" class="group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 bg-primary text-primary-foreground [a]:hover:bg-primary/80 h-9 gap-1.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 min-h-11 px-5">Start generating<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="tabler-icon tabler-icon-arrow-right size-4"><path d="M5 12l14 0"></path><path d="M13 18l6 -6"></path><path d="M13 6l6 6"></path></svg></a><a href="#examples" class="group/button inline-flex shrink-0 items-center justify-center rounded-lg border bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&amp;_svg]:pointer-events-none [&amp;_svg]:shrink-0 [&amp;_svg:not([class*=&#x27;size-&#x27;])]:size-4 border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50 h-9 gap-1.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 min-h-11 px-5">Review the examples<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="tabler-icon tabler-icon-arrow-right size-4"><path d="M5 12l14 0"></path><path d="M13 18l6 -6"></path><path d="M13 6l6 6"></path></svg></a></div></div></div></section></main>
10<script></script>
10<!--/$--></div><footer class="border-t"><div class="container mx-auto max-w-7xl px-4"><div class="grid grid-cols-2 gap-8 py-16 md:grid-cols-3 lg:grid-cols-5"><div class="col-span-full flex flex-col items-start md:col-span-2"><div class="flex items-center space-x-2"><img src="/brand/logo.svg" alt="Oeneo AI logo" class="size-8 rounded-md dark:hidden" width="32" height="32" decoding="async"/><img src="/brand/logo.svg" alt="Oeneo AI logo" class="size-8 rounded-md hidden dark:block" width="32" height="32" decoding="async"/><span class="text-xl font-semibold">Oeneo AI</span></div><p class="text-muted-foreground text-base py-2 md:pr-12">Generate images from text or create with one or multiple references using leading AI image models.</p><nav aria-label="Social links" class="flex items-center gap-4 pt-6"><a href="mailto:[email protected]" target="_blank" rel="noreferrer" aria-label="Email" class="inline-flex size-8 items-center justify-center rounded-full border border-border hover:bg-primary/10 hover:text-primary hover:border-primary/30 transition-all duration-200"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor" stroke="none" class="tabler-icon tabler-icon-mail-filled size-4"><path d="M22 7.535v9.465a3 3 0 0 1 -2.824 2.995l-.176 .005h-14a3 3 0 0 1 -2.995 -2.824l-.005 -.176v-9.465l9.445 6.297l.116 .066a1 1 0 0 0 .878 0l.116 -.066l9.445 -6.297z"></path><path d="M19 4c1.08 0 2.027 .57 2.555 1.427l-9.555 6.37l-9.555 -6.37a2.999 2.999 0 0 1 2.354 -1.42l.201 -.007h14z"></path></svg></a></nav></div><div class="col-span-1 md:col-span-1 flex flex-col items-start"><span class="text-xs font-semibold tracking-wide text-foreground/80 uppercase">Product</span><ul class="mt-4 list-inside space-y-3"><li><a data-active="true" class="text-sm text-muted-foreground transition-colors hover:text-foreground active" href="/ai-image-generator" data-status="active" aria-current="page">AI Image Generator</a></li><li><a href="/ai-video-generator" class="text-sm text-muted-foreground transition-colors hover:text-foreground">AI Video Generator</a></li><li><a href="/models/gpt-image-2" class="text-sm text-muted-foreground transition-colors hover:text-foreground">GPT Image 2</a></li><li><a href="/models/nano-banana-pro" class="text-sm text-muted-foreground transition-colors hover:text-foreground">Nano Banana Pro</a></li><li><a href="/pricing" class="text-sm text-muted-foreground transition-colors hover:text-foreground">Pricing</a></li></ul></div><div class="col-span-1 md:col-span-1 flex flex-col items-start"><span class="text-xs font-semibold tracking-wide text-foreground/80 uppercase">Image Tools</span><ul class="mt-4 list-inside space-y-3"><li><a href="/background-remover" class="text-sm text-muted-foreground transition-colors hover:text-foreground">Background Remover</a></li><li><a href="/image-upscaler" class="text-sm text-muted-foreground transition-colors hover:text-foreground">Image Upscaler</a></li><li><a href="/image-vectorizer" class="text-sm text-muted-foreground transition-colors hover:text-foreground">Image Vectorizer</a></li><li><a href="/image-denoiser" class="text-sm text-muted-foreground transition-colors hover:text-foreground">Image Denoiser</a></li></ul></div><div class="col-span-1 md:col-span-1 flex flex-col items-start"><span class="text-xs font-semibold tracking-wide text-foreground/80 uppercase">Video Tools</span><ul class="mt-4 list-inside space-y-3"><li><a href="/video-upscaler" class="text-sm text-muted-foreground transition-colors hover:text-foreground">Video Upscaler</a></li><li><a href="/video-extender" class="text-sm text-muted-foreground transition-colors hover:text-foreground">Video Extender</a></li><li><a href="/video-background-remover" class="text-sm text-muted-foreground transition-colors hover:text-foreground">Video Background Remover</a></li><li><a href="/motion-control" class="text-sm text-muted-foreground transition-colors hover:text-foreground">Motion Control</a></li></ul></div><div class="col-span-1 md:col-span-1 flex flex-col items-start"><span class="text-xs font-semibold tracking-wide text-foreground
10/80 uppercase">Resources</span><ul class="mt-4 list-inside space-y-3"><li><a href="/changelog" class="text-sm text-muted-foreground transition-colors hover:text-foreground">Changelog</a></li><li><a href="/roadmap" class="text-sm text-muted-foreground transition-colors hover:text-foreground">Roadmap</a></li><li><a href="/about" class="text-sm text-muted-foreground transition-colors hover:text-foreground">About</a></li><li><a href="/contact" class="text-sm text-muted-foreground transition-colors hover:text-foreground">Contact</a></li></ul></div><div class="col-span-1 md:col-span-1 flex flex-col items-start"><span class="text-xs font-semibold tracking-wide text-foreground/80 uppercase">Legal</span><ul class="mt-4 list-inside space-y-3"><li><a href="/cookie" class="text-sm text-muted-foreground transition-colors hover:text-foreground">Cookie Policy</a></li><li><a href="/privacy" class="text-sm text-muted-foreground transition-colors hover:text-foreground">Privacy Policy</a></li><li><a href="/terms" class="text-sm text-muted-foreground transition-colors hover:text-foreground">Terms of Service</a></li></ul></div></div></div><div class="py-8"><div class="container mx-auto max-w-7xl px-4"><div class="flex flex-wrap items-center justify-center gap-x-6 gap-y-4"><span><a href="https://fazier.com/" target="_blank"><img src="https://fazier.com/api/v1//public/badges/launch_badges.svg?badge_type=launched&theme=light" width="60" alt="Fazier badge" loading="lazy" decoding="async" fetchpriority="low" /></a></span><span><a href="https://startupfa.me/" target="_blank"><img src="https://startupfa.me/badges/featured-badge.webp" alt="AI Texture - Featured on Startup Fame" style="width: 85.5px; height: 27px;" loading="lazy" decoding="async" fetchpriority="low" /></a></span><span><a href="https://twelve.tools/" target="_blank"><img src="https://twelve.tools/badge0-white.svg" alt="Featured on Twelve Tools" width="100" height="27" loading="lazy" decoding="async" fetchpriority="low"></a></span><span><a href="https://code.market/" title="ai tools code.market"><img src="https://code.market/assets/manage-product/featured-logo-bright.svg" alt="ai tools code.market" width="70" loading="lazy" decoding="async" fetchpriority="low" /> </a></span><span><a href="https://turbo0.com/item/oeneo-ai" target="_blank" rel="noopener noreferrer"><img src="https://img.turbo0.com/badge-listed-light.svg" alt="Listed on Turbo0" style="height: 27px; width: auto;" loading="lazy" decoding="async" fetchpriority="low" /></a></span><span><a href="https://startupfa.st/" target="_blank" title="Powered by Startup Fast">
11    <img
12      src="https://startupfa.st/images/badges/powered-by-light.svg"
13      alt="Powered by Startup Fast"
14      width="75"
15      height="22"
16      loading="lazy"
17      decoding="async"
18      fetchpriority="low"
19    />
20  </a></span><span><a href="https://wtai.cc/" target="_blank" rel="noopener noreferrer">wtai.cc</a></span><span><a href="https://findly.tools/oeneo-ai?utm_source=oeneo-ai" target="_blank" rel="noopener noreferrer">
21    <img src="https://findly.tools/badges/findly-tools-badge-light.svg" alt="Featured on Findly.tools" style="width: 87.5px; height: 27.5px;" loading="lazy" decoding="async" fetchpriority="low" />
22  </a></span><span><a href="https://dang.ai/" target="_blank" rel="dofollow noopener" style="display:inline-block;text-decoration:none;"><img src="https://assets.dang.ai/badges/dang-verified-dark.png" alt="Verified on DANG!" width="75" height="27" style="display:block;width:75px;max-width:100%;height:auto;border:0;outline:none;text-decoration:none;" loading="lazy" decoding="async" fetchpriority="low" /></a></span><span><a
23    class="inline-block size-6"
24    href="https://www.toolpilot.ai/"
25    target="_blank"
26    rel="noopener noreferrer"
27    title="ToolPilot"
28  >
29    <img
30      class="block size-6 dark:hidden"
31      src="https://cdn.shopify.com/s/files/1/0764/4872/7318/files/tp-b-i_1280x1280_crop_center.svg?v=1695883732"
32      alt="ToolPilot"
33      width="24"
34      height="24"
35      loading="lazy"
36      decoding="async"
37      fetchpriority="low"
38    />
39    <img
40      class="hidden size-6 dark:block"
41      src="https://cdn.shopify.com/s/files/1/0764/4872/7318/files/tp-w-i_1280x1280_crop_center.svg?v=1695883771"
42      alt="ToolPilot"
43      width="24"
44      height="24"
45      loading="lazy"
46      decoding="async"
47      fetchpriority="low"
48    />
49  </a></span><span><a
50    href="https://goodaitools.com/ai/oeneo"
51    target="_blank"
52    rel="noopener noreferrer"
53    class="inline-block"
54  >
55    <img
56      class="h-8 w-auto dark:hidden"
57      src="https://goodaitools.com/assets/images/badge.png"
58      alt="Good AI Tools"
59      height="24"
60      loading="lazy"
61      decoding="async"
62      fetchpriority="low"
63    />
64    <img
65      class="hidden h-8 w-auto dark:block"
66      src="https://goodaitools.com/assets/images/badge-dark.png"
67      alt="Good AI Tools"
68      height="24"
69      loading="lazy"
70      decoding="async"
71      fetchpriority="low"
72    />
73  </a></span><span><a title="All The Best AI Tools" href="https://allinai.tools/">All in AI Tools</a></span><span><a href="https://similarlabs.com/" target="_blank">
74    <img src="https://similarlabs.com/similarlabs-embed-badge-dark.svg" alt="List on Similarlabs" width="80" height="24" loading="lazy" decoding="async" fetchpriority="low" />
75  </a></span><span><a href="https://wired.business/" target="_blank"><img src="https://wired.business/badge0-dark.svg" alt="Featured on Wired Business" width="120" height="24" loading="lazy" decoding="async" fetchpriority="low"></a></span><span><a href="https://showmebest.ai/" target="_blank"><img src="https://showmebest.ai/badge/feature-badge-dark.webp" alt="Featured on ShowMeBestAI" width="120" height="22" loading="lazy" decoding="async" fetchpriority="low"></a></span><span><a href="https://verifieddr.com/" target="_blank"><img src="https://verifieddr.com/badge/oeneo-ai.svg?metric=truedr" alt="Verified DR - Verified Domain Rating for oeneo.ai" width="120" height="24" loading="lazy" decoding="async" fetchpriority="low" /></a></span><span><a href="https://drchecker.net/item/oeneo.ai" target="_blank" rel="noopener noreferrer">
76    <img src="https://drchecker.net/api/badge?domain=oeneo.ai"
77    alt="DR Checker - Domain Rating" style="height: 24px; width: auto;" loading="lazy" decoding="async" fetchpriority="low" />
78  </a></span><span><a href="https://newtool.site/" target="_blank" rel="noopener noreferrer">
79    <img src="https://newtool.site/badges/newtool-light.svg" alt="Featured on NewTool.site" height = "15px" width = "90px" loading="lazy" decoding="async" fetchpriority="low" />
80  </a></span><span><a href="https://firstlook.tools" target="_blank"><img src="https://firstlook.tools/badge/badge_dark.svg" alt="Featured on First Look" width="120" height="27" loading="lazy" decoding="async" fetchpriority="low" /></a>  </span><span><a href="https://openhunts.com" target="_blank" title="OpenHunts Club">
81  <img alt="OpenHunts Club Member" height="105" src="https://cdn.openhunts.com/badges/club.webp" style="width: 90px; height: auto;" width="90px" loading="lazy" decoding="async" fetchpriority="low">
82</a></span><span><a href="https://dofollow.tools" target="_blank"><img src="https://dofollow.tools/badge/badge_dark.svg" alt="Featured on Dofollow.Tools" width="120" height="27" loading="lazy" decoding="async" fetchpriority="low" /></a></span></div></div></div><div class="border-t py-8"><div class="container mx-auto max-w-7xl flex flex-col items-center gap-3 px-4"><span class="text-muted-foreground text-sm">© <!-- -->2026<!-- --> <!-- -->Oeneo AI<!-- -->.<!-- --> <!-- -->All Rights Reserved</span></div></div></footer></div><!--$--><!--/$--></main></div>
82<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:[]};
83;$_TSR.router=($R=>$R[0]={manifest:$R[1]={routes:$R[2]={__root__:$R[3]={preloads:$R[4]=["/assets/main-BVeaUmEJ.js"],assets:$R[5]=[$R[6]={tag:"script",attrs:$R[7]={type:"module",async:!0},children:"import(\"/assets/main-BVeaUmEJ.js\")"}]},"/(workspace)/ai-image-generator":$R[8]={preloads:$R[9]=["/assets/ai-image-generator-DVp-v2fF.js","/assets/faq-R81VDQAb.js","/assets/final-cta-section-CatElopu.js","/assets/output-showcase-section-CnRxojt4.js","/assets/related-tools-section-DmiPYcSA.js","/assets/split-image-fan-nVwzSaV6.js","/assets/tool-features-section-CIh4Pw2o.js","/assets/tool-page-header-BHXS-Y5L.js","/assets/tool-steps-section-B4MHLEY4.js","/assets/tool-trust-strip-DPsZPahu.js","/assets/use-cases-section-C9jo6a1K.js","/assets/image-generator-workbench-Baj8e99K.js","/assets/IconFileTypePng-BjYXaMGs.js","/assets/IconReceiptRefund-PNEe0cvA.js","/assets/IconBuildingStore-CeUuWrk3.js","/assets/IconDeviceMobile-8hQ4uQVI.js","/assets/analytics-diMhel4P.js","/assets/skeleton-ChuuxPGC.js","/assets/IconAlertTriangle-DWq3RBsQ.js","/assets/IconArrowRight-C3mkZMZZ.js","/assets/textarea-OChHmoah.js","/assets/use-generation-upload-C2BWABcw.js","/assets/generation-history-B_mFlBVU.js","/assets/generated-image-card-CLRatOv8.js","/assets/handoff-storage-CCCvg7MR.js","/assets/image-to-video-navigation-kemVA56-.js","/assets/image-edit-action-buttons-DXSPpB_S.js","/assets/IconCopy-CRqbQ6h1.js","/assets/IconAdjustmentsHorizontal-bHrPT2aC.js","/assets/IconClock-Bd0oeuhd.js","/assets/IconCalendar-ftKr-l-K.js","/assets/parameter-controls-DEhE-N3q.js"]}}},matches:$R[10]=[$R[11]={i:"__root__/",u:1791214905624,s:"success",ssr:!0},$R[12]={i:"/(workspace)/ai-image-generator/ai-image-generator",u:1791214905624,s:"success",ssr:!0}],lastMatchId:"/(workspace)/ai-image-generator/ai-image-generator",dehydratedData:$R[13]={queryStream:$R[14]=($R[15]=(e) => new ReadableStream({ start: (r) => {
84  e.on({ next: (a2) => {
85    try {
86      r.enqueue(a2);
87    } catch (t) {
88    }
89  }, throw: (a2) => {
90    r.error(a2);
91  }, return: () => {
92    try {
93      r.close();
94    } catch (a2) {
95    }
96  } });
97} }))($R[16]=($R[17]=() => {
98  let e = [], r = [], t = true, n2 = false, a2 = 0, s = (l, g, S) => {
99    for (S = 0; S < a2; S++) r[S] && r[S][g](l);
100  }, i = (l, g, S, d) => {
101    for (g = 0, S = e.length; g < S; g++) d = e[g], !t && g === S - 1 ? l[n2 ? "return" : "throw"](d) : l.next(d);
102  }, u = (l, g) => (t && (g = a2++, r[g] = l), i(l), () => {
103    t && (r[g] = r[a2], r[a2--] = void 0);
104  });
105  return { __SEROVAL_STREAM__: true, on: (l) => u(l), next: (l) => {
106    t && (e.push(l), s(l, "next"));
107  }, throw: (l) => {
108    t && (e.push(l), s(l, "throw"), t = false, n2 = false, r.length = 0);
109  }, return: (l) => {
110    t && (e.push(l), s(l, "return"), t = false, n2 = true, r.length = 0);
111  } };
112})())}})($R["tsr"]);document.currentScript.remove()</script>
112<script type="module" async="">import("/assets/main-BVeaUmEJ.js")</script>
112<script>($R=>$R[16].return(void 0))($R["tsr"]);$_TSR.e();document.currentScript.remove()</script>
112</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.