PageSourceSearch

https://obira.ai/assets/VideoAI-WSq6rPEL.js

js obira.ai collected 2026-10-05 14:18:27 UTC 3,407 bytes, 1 lines download raw bytes

1import{d as s,j as e,V as a,S as n}from"./index-rAX3QnXR.js";import{M as d,I as l}from"./main-layout-7_jXdzVt.js";import{T as c}from"./tool-card-DNqRRzt5.js";import{C as t}from"./circle-play-D-z0ByQz.js";import{P as m}from"./pen-line-DioEt2lj.js";import"./sidebar-nTfLNBKB.js";import"./use-mobile-DO0UBDoe.js";import"./input-BLjouiqp.js";import"./separator-C78WrdyQ.js";import"./sheet-CviHgDhL.js";import"./skeleton-0tna-S0P.js";import"./panel-left-BE1Qa4iG.js";import"./usePWAInstall-Dv94Sj7c.js";import"./palette-C8yQ1w5R.js";import"./share-2-DcbrQ9Dw.js";import"./megaphone-CGQqdncY.js";import"./download-DB_BU8Fi.js";import"./popover-DaRwy_X1.js";import"./scroll-area-Ixikvvvr.js";import"./index-BdQq_4o_.js";import"./EmbedContext-DZ3GYvpG.js";const p=[{title:"Storyboard Builder",description:"Direct a full commercial by connecting AI-generated scenes",icon:n,route:"/video-storyboard"},{title:"Text to Video",description:"Quick clip from a text prompt (single scene)",icon:t,route:"/sora-video-generation"},{title:"Image to Video",description:"Animate static images into dynamic videos",icon:l,route:"/sora-video-generation"},{title:"Modify Video",description:"Edit and transform existing videos with AI",icon:m,route:"/modify-video"}],r={generation:{gradient:"from-[hsl(214_45%_40%)]/20 to-[hsl(214_45%_40%)]/5",hoverGlow:"via-[hsl(214_45%_40%)]/15",iconGradient:"from-[hsl(214_45%_32%)] to-[hsl(214_45%_45%)]",accentColor:"bg-[hsl(214_45%_40%)]",borderColor:"border-[hsl(214_45%_40%)]/30"}};function M(){const o=s();return e.jsx(d,{children:e.jsxs("div",{className:"relative min-h-screen bg-gradient-to-br from-background via-background to-primary/5",children:[e.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(circle_at_50%_120%,hsl(var(--primary))_0%,transparent_50%)] opacity-5"}),e.jsxs("div",{className:"relative z-10 max-w-5xl mx-auto p-6 space-y-8",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-3 mb-1",children:[e.jsx("div",{className:"w-10 h-10 rounded-xl flex items-center justify-center bg-primary/10",children:e.jsx(a,{className:"h-5 w-5 text-primary"})}),e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl font-bold text-foreground",children:"AI Videos"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Generate, edit, and create videos with AI-powered tools"})]})]}),e.jsx("div",{className:"h-px mt-4 bg-gradient-to-r from-primary/30 via-primary/15 to-transparent"})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-8 h-8 rounded-lg flex items-center justify-center bg-gradient-to-br from-[hsl(214_45%_32%)] to-[hsl(214_45%_45%)]",children:e.jsx(t,{className:"h-4 w-4 text-white"})}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold text-foreground",children:"Video Generation"}),e.jsx("p",{className:"text-xs text-muted-foreground",children:"Turn text, images, or existing videos into new content"})]})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:p.map(i=>e.jsx(c,{title:i.title,description:i.description,icon:i.icon,onClick:()=>o(i.route),gradientClass:r.generation.gradient,hoverGlow:r.generation.hoverGlow,iconColor:r.generation.iconGradient,accentColor:r.generation.accentColor,borderColor:r.generation.borderColor},i.title))})]})]})]})})}export{M as default};

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.