PageSourceSearch

https://www.veed.io/marketing-pages-ap/_next/static/chunks/pages/api-landing-510e566f508076ee.js

js veed.io collected 2026-09-24 08:25:52 UTC 45,003 bytes, 1 lines download raw bytes

1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="be200c66-ea57-4462-9907-84d829bbb153",e._sentryDebugIdIdentifier="sentry-dbid-be200c66-ea57-4462-9907-84d829bbb153")}catch(e){}}(),(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9490],{198:(e,t,s)=>{"use strict";s.d(t,{w:()=>m});var n=s(4930),a=s(33234),l=s(68092),r=s(11309),i=s(92546),o=s(61396);let d=e=>{let{locales:t}=e,s=(0,o.Y)();return(0,n.jsxs)(a.W,{as:"div",className:"relative font-swissnow text-hp3-text text-sm",children:[(0,n.jsxs)(a.W.Button,{className:"grid cursor-pointer grid-flow-col items-center gap-1 text-start leading-[110%] transition",children:[(0,i.Qk)(s),(0,n.jsx)(r.Vr3,{className:"h-3 w-3"})]}),(0,n.jsx)(a.W.Items,{as:"ul",unmount:!1,className:"absolute bottom-full mb-2 grid max-h-96 grid-flow-row gap-0.5 overflow-y-auto rounded-lg bg-white p-4 text-neutral-600 shadow-xl ltr:left-0 lg:ltr:right-0 lg:ltr:left-auto rtl:right-0 lg:rtl:right-auto lg:rtl:left-0",children:t.filter(e=>e.locale.toLocaleLowerCase()!==s.toLocaleLowerCase()).map(e=>({...e,text:(0,i.Qk)(e.locale)})).sort((e,t)=>e.text.localeCompare(t.text)).map(e=>(0,n.jsx)(a.W.Item,{as:"li",className:"grid w-full",children:t=>{let{active:s}=t;return(0,n.jsx)("a",{href:e.link,className:(0,l.cx)("whitespace-nowrap rounded-md p-2 font-medium text-sm no-underline transition hover:text-black",s?"bg-neutral-100":"bg-white"),children:e.text})}},e.locale))})]})},c=[{label:"YouTube",href:"https://www.youtube.com/veedstudio"},{label:"LinkedIn",href:"https://www.linkedin.com/company/veedhq/"},{label:"X / Twitter",href:"https://twitter.com/veedstudio"},{label:"Instagram",href:"https://www.instagram.com/veedstudio/"},{label:"TikTok",href:"https://www.tiktok.com/@veedstudio"},{label:"Email",href:"mailto:[email protected]"}],p=e=>{let{href:t,className:s,children:a}=e;return(0,n.jsx)("a",{href:t,className:s,children:a})},u=e=>{var t;let{category:s}=e;return(0,n.jsxs)("div",{className:"flex flex-col gap-4 lg:gap-8",children:[(0,n.jsx)("p",{className:"font-normal text-hp3-text text-sm",children:s.label}),(0,n.jsx)("div",{className:"flex flex-col gap-4",children:null==(t=s.links)?void 0:t.map((e,t)=>{let{label:s,link:a}=e;return(0,n.jsx)(p,{href:a,className:"text-pretty text-hp3-text-subtle text-sm no-underline hover:text-hp3-text hover:no-underline",children:s},t)})})]})},x=()=>(0,n.jsxs)("div",{className:"flex flex-col gap-4 lg:gap-8",children:[(0,n.jsx)("p",{className:"font-normal text-hp3-text text-sm",children:"Connect"}),(0,n.jsx)("div",{className:"flex flex-col gap-4",children:c.map(e=>{let{label:t,href:s}=e;return(0,n.jsx)(p,{href:s,className:"text-hp3-text-subtle text-sm no-underline hover:text-hp3-text hover:no-underline",children:t},t)})})]}),m=e=>{let{footerData:t,locales:s}=e,a=t.categories[t.categories.length-3],l=t.categories[t.categories.length-2],r=t.categories[t.categories.length-1],i=t.categories.slice(0,t.categories.length-3);return(0,n.jsxs)("footer",{className:"relative mx-auto mt-12 flex max-w-[1200px] flex-col items-center justify-between px-3 font-normal",children:[(0,n.jsxs)("div",{className:"grid grid-cols-2 grid-rows-[repeat(3,fit-content(100%))] gap-x-4 gap-y-7 self-stretch text-sm lg:w-full lg:grid-cols-5 lg:grid-rows-none lg:gap-y-4",children:[i.map((e,t)=>(0,n.jsx)("div",{className:"flex flex-col",children:(0,n.jsx)(u,{category:e})},t)),(0,n.jsxs)("div",{className:"flex flex-col gap-7",children:[a&&(0,n.jsx)(u,{category:a}),l&&(0,n.jsx)(u,{category:l})]}),(0,n.jsxs)("div",{className:"flex flex-col gap-7",children:[r&&(0,n.jsx)(u,{category:r}),(0,n.jsx)(x,{})]})]}),(0,n.jsxs)("div",{className:"my-12 flex w-full flex-col gap-4 lg:flex-row lg:items-center lg:justify-between",children:[(0,n.jsx)("p",{className:"text-hp3-text-subtle text-xs",children:"\xa9 Copyright ".concat(new Date().getFullYear()," VEED")}),s&&s.length>1&&(0,n.jsx)(d,{locales:s})]})]})}},78322:(e,t,s)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/api-landing",function(){return s(94409)}])},79075:(e,t,s)=>{"use strict";s.d(t,{j:()=>l});var n=s(96757),a=s(92546);let l=()=>{let{locale:e}=(0,n.useRouter)();return(0,a.u6)(null!=e?e:"en")}},85117:(e,t,s)=>{"use strict";s.d(t,{h:()=>i});var n=s(4930),a=s(61333),l=s(45828),r=s(79075);let i=e=>{let{totalItems:t,activeIndex:s,onPrev:i,onNext:o,autoplayInterval:d,className:c,dotColor:p="rgba(18,18,18,0.12)",activeColor:u="#121212",chevronBgColor:x="#f2f1f0",chevronIconColor:m="#121212",prevLabel:h,nextLabel:f}=e,g=(0,r.j)()===l.O.RTL,b=g?a.fOo:a.irw,v=g?a.irw:a.fOo;return(0,n.jsxs)("div",{className:c,children:[d&&(0,n.jsx)("style",{children:"\n          @keyframes carousel-progress {\n            from { width: 0; }\n            to { width: 100%; }\n          }\n        "}),(0,n.jsxs)("div",{className:"flex items-center justify-between px-4",children:[(0,n.jsx)("div",{className:"w-[68px]"}),(0,n.jsx)("div",{className:"flex items-center gap-[2px]",children:Array.from({length:t},(e,t)=>(0,n.jsx)("div",{className:"p-[6px]",children:t===s?(0,n.jsx)("div",{className:"h-1 w-10 overflow-hidden rounded-sm",style:{backgroundColor:p},children:d?(0,n.jsx)("div",{className:"h-1 rounded-sm",style:{backgroundColor:u,animation:"carousel-progress ".concat(d,"ms linear forwards")}},"".concat(s,"-").concat(d)):(0,n.jsx)("div",{className:"h-1 w-full rounded-sm",style:{backgroundColor:u}})}):(0,n.jsx)("div",{className:"size-1 rounded-sm",style:{backgroundColor:p}})},t))}),(0,n.jsxs)("div",{className:"flex items-center gap-1",children:[(0,n.jsxs)("button",{type:"button",onClick:i,className:"flex size-8 cursor-pointer items-center justify-center rounded-full",style:{backgroundColor:x,color:m},children:[(0,n.jsx)(b,{size:14}),h&&(0,n.jsx)("span",{className:"sr-only",children:h})]}),(0,n.jsxs)("button",{type:"button",onClick:o,className:"flex size-8 cursor-pointer items-center justify-center rounded-full",style:{backgroundColor:x,color:m},children:[(0,n.jsx)(v,{size:14}),f&&(0,n.jsx)("span",{className:"sr-only",children:f})]})]})]})]})}},94409:(e,t,s)=>{"use strict";s.r(t),s.d(t,{__N_SSG:()=>K,default:()=>Y});var n=s(4930),a=s(87072),l=s(12438),r=s(198),i=s(65607),o=s(65162),d=s(13949);let c=[{question:"What type of APIs does VEED provide?",answer:"VEED provides REST APIs for AI video features such as avatars, lip sync, and background removal."},{question:"Are VEED APIs synchronous or asynchronous?",answer:"Video processing runs asynchronously. API requests return a job ID so applications can track rendering status."},{question:"Do the APIs support webhooks?",answer:"Yes. Webhooks can notify your application when video processing is complete."},{question:"What video formats are supported?",answer:"VEED APIs support common video formats used in web and social applications."},{question:"Can VEED APIs scale for high-volume workloads?",answer:"Yes. VEED's infrastru
1cture is designed to handle large-scale video processing workloads."},{question:"What is an AI video generation API?",answer:"An AI video generation API lets you create and edit videos programmatically using inputs like text, images, audio, or video, without building your own video pipeline."},{question:"How do I connect to a video generation API?",answer:"You connect to a video generation API by sending requests to an endpoint with your inputs and API key, then receiving a generated video or job result in response."}],p=e=>{let{isOpen:t}=e;return(0,n.jsx)("div",{className:"flex size-6 shrink-0 items-center justify-center rounded-xl bg-white/[0.08]",children:(0,n.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:(0,d.cn)("transition-transform duration-200",t&&"rotate-45"),children:[(0,n.jsx)("path",{d:"M8 3V13",stroke:"white",strokeOpacity:"0.3",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M3 8H13",stroke:"white",strokeOpacity:"0.3",strokeWidth:"1.5"})]})})},u=e=>{let{question:t,answer:s,isOpen:a,onToggle:l}=e;return(0,n.jsxs)("button",{type:"button",onClick:l,"aria-expanded":a,className:"flex w-full cursor-pointer flex-col overflow-hidden rounded-2xl bg-[#333] p-4 text-left",children:[(0,n.jsxs)("div",{className:"flex w-full items-center gap-2.5",children:[(0,n.jsx)("p",{className:(0,d.cn)("min-w-0 flex-1 font-medium font-swissnow text-base text-white leading-none tracking-[-0.08px] md:overflow-visible md:whitespace-normal",!a&&"truncate"),children:t}),(0,n.jsx)(p,{isOpen:a})]}),(0,n.jsx)("div",{className:(0,d.cn)("grid transition-[grid-template-rows,opacity] duration-300 ease-in-out",a?"grid-rows-[1fr] opacity-100":"grid-rows-[0fr] opacity-0"),children:(0,n.jsx)("div",{className:"overflow-hidden",children:(0,n.jsx)("p",{className:"pt-4 pb-4 font-normal font-swissnow text-[#aaa7a7] text-base leading-[136%] tracking-[-0.08px]",children:s})})})]})},x=()=>{let[e,t]=(0,o.useState)(-1);return(0,n.jsx)("section",{id:"faqs",className:"relative bg-[#121212] py-20 md:py-[100px]",children:(0,n.jsxs)("div",{className:"mx-auto max-w-[1920px] px-4 md:px-6 xl:max-w-[1408px] xl:px-4 min-[1440px]:px-0",children:[(0,n.jsx)("h2",{className:"mb-10 text-left font-normal font-swissnow text-[26px] text-white leading-[90%] tracking-[-1.04px] md:mb-12 md:text-center md:font-medium md:text-[40px] md:leading-[96%] md:tracking-[-1.2px]",children:"Questions & answers:"}),(0,n.jsx)("div",{className:"mx-auto md:max-w-[779px]",children:(0,n.jsx)("div",{className:"flex flex-col gap-1",children:c.map((s,a)=>(0,n.jsx)(u,{question:s.question,answer:s.answer,isOpen:e===a,onToggle:()=>(s=>{t(e===s?-1:s)})(a)},s.question))})})]})})},m=(e,t,s)=>"".concat("https://cdn-site-assets.veed.io","/").concat(t,"/").concat(t).concat(s),h=[{label:"Fabric 1.0",category:"IMAGE TO VIDEO",title:"Fabric 1.0",description:"Animate any image or subject using a prompt and audio. Generate video with synced lip movement, head motion, and natural body movement",href:"https://fal.ai/models/veed/fabric-1.0",video:m("fabric_496d93e298","fabric_416c107846",".mp4"),thumbnail:m("fabric_thumb_2601fd1857","fabric_thumb_1cfa85ed06",".jpg"),hasAudio:!0},{label:"Subtitles",category:"VIDEO TO VIDEO",title:"Subtitles",description:"World's best dynamic subtitle styles - In (almost) every language, with any font\nBurnt in or VIA SRT.",href:"https://fal.ai/models/veed/subtitles",video:m("subtitles_876302d8c1","subtitles_4cdecf69a2",".mp4"),thumbnail:m("subtitles_thumb_cb31949d5e","subtitles_thumb_f27dd03dcc",".jpg"),hasAudio:!0},{label:"Lip Sync 2.0",category:"VIDEO TO VIDEO",title:"Lip Sync 2.0",description:"Sync any video to new audio with perfect lip movements. Works with any face, any language.",href:"https://fal.ai/models/veed/lipsync/v2",video:m("lipsync_69cff4bb42","lipsync_78b95fcffb",".mp4"),thumbnail:m("lipsync_thumb_4b0bc2615b","lipsync_thumb_0eed2e6e9f",".jpg"),hasAudio:!0},{label:"Green Screen",category:"VIDEO TO VIDEO",title:"Green Screen",description:"Remove video backgrounds and replace with a solid green screen. Clean edges, fast processing.",href:"https://fal.ai/models/veed/video-background-removal/green-screen",video:m("greenscreen_fc001bde17","greenscreen_cda5728788",".mp4"),thumbnail:m("greenscreen_thumb_610e4bc8e1","greenscreen_thumb_6f2da29cb3",".jpg")}
1,{label:"Background Removal",category:"VIDEO TO VIDEO",title:"Background Removal",description:"Remove video backgrounds with transparency. Supports VP9 alpha for clean compositing.",href:"https://fal.ai/models/veed/video-background-removal",video:m("bg_removal_1210001347","bg_removal_9f321ce4e5",".mp4"),thumbnail:m("bg_removal_thumb_821c818f03","bg_removal_thumb_949037b325",".jpg")}],f=[{name:"OpusClip",src:m("opusclip_0b482a8b1d","opusclip_2ac03cd57d",".png"),height:31},{name:"Freepik",src:m("freepik_64283245bc","freepik_a29e178052",".png"),height:18},{name:"ElevenLabs",src:m("elevenlabs_a6fe107c90","elevenlabs_f69cea737b",".png"),height:18},{name:"Picsart",src:m("picsart_e19ce48e65","picsart_6a9656d0b4",".png"),height:21},{name:"WaveSpeed",src:m("wavespeed_62874e22fd","wavespeed_924f2d1a05",".png"),height:20},{name:"HeyGen",src:m("heygen_a66f428c79","heygen_d42071a6b0",".png"),height:20},{name:"Persona AI",src:m("personaai_43097fbed2","personaai_b985efd725",".png"),height:30},{name:"Captions",src:m("captions_3035bd8042","captions_3fc8ea7ec9",".png"),height:33},{name:"Descript",src:m("descript_87d5298b87","descript_f0a95683d7",".png"),height:26},{name:"Krea AI",src:m("kreaai_e79d60984c","kreaai_5dad16cd0b",".png"),height:27}],g=()=>(0,n.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,n.jsx)("path",{d:"M1 13L13 1M13 1H3M13 1V11",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),b=()=>(0,n.jsx)(n.Fragment,{children:f.map(e=>(0,n.jsx)("img",{alt:e.name,src:e.src,style:{height:e.height},className:"w-auto shrink-0 object-contain brightness-0 invert",loading:"lazy"},e.name))}),v=()=>(0,n.jsxs)("div",{className:"relative mx-auto w-full max-w-[1200px] overflow-hidden",children:[(0,n.jsx)("div",{className:"pointer-events-none absolute top-0 left-0 z-10 h-full w-[60px] md:w-[177px]",style:{background:"linear-gradient(90deg, #121212 0.56%, rgba(18, 18, 18, 0) 100%)"},"aria-hidden":"true"}),(0,n.jsx)("div",{className:"pointer-events-none absolute top-0 right-0 z-10 h-full w-[60px] md:w-[177px]",style:{background:"linear-gradient(270deg, #121212 0.56%, rgba(18, 18, 18, 0) 100%)"},"aria-hidden":"true"}),(0,n.jsx)("div",{className:"flex h-16 items-center overflow-hidden",children:(0,n.jsxs)("div",{className:"flex shrink-0 animate-marquee items-center",children:[(0,n.jsx)("div",{className:"flex shrink-0 items-center gap-14 pr-14 md:gap-[110px] md:pr-[110px]",children:(0,n.jsx)(b,{})}),(0,n.jsx)("div",{className:"flex shrink-0 items-center gap-14 pr-14 md:gap-[110px] md:pr-[110px]",children:(0,n.jsx)(b,{})})]})})]}),w=()=>(0,n.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,n.jsx)("polygon",{points:"11 5 6 9 2 9 2 15 6 15 11 19 11 5",fill:"currentColor"}),(0,n.jsx)("line",{x1:"23",y1:"9",x2:"17",y2:"15",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"}),(0,n.jsx)("line",{x1:"17",y1:"9",x2:"23",y2:"15",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})]}),j=()=>(0,n.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,n.jsx)("polygon",{points:"11 5 6 9 2 9 2 15 6 15 11 19 11 5",fill:"currentColor"}),(0,n.jsx)("path",{d:"M19.07 4.93a10 10 0 0 1 0 14.14",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"}),(0,n.jsx)("path",{d:"M15.54 8.46a5 5 0 0 1 0 7.07",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})]}),y=e=>{let{item:t,isMuted:s,onToggleMute:a}=e,l=(0,o.useRef)(null),r=(0,o.useCallback)(e=>{e.stopPropagation(),a()},[a]);return(0,n.jsx)("div",{className:"mx-auto w-full max-w-[361px] overflow-hidden rounded-xl border border-[#96ff1a] bg-[#121212] p-2 md:max-w-[711px] md:rounded-3xl md:py-2 md:pr-2 md:pl-4",children:(0,n.jsxs)("div",{className:"flex flex-col md:flex-row md:items-center md:justify-between",children:[(0,n.jsxs)("div",{className:"flex min-h-[168px] flex-col gap-6 px-2 pt-6 pb-4 md:h-[133px] md:min-
1h-0 md:w-[246px] md:shrink-0 md:p-0",children:[(0,n.jsx)("p",{className:"font-bold font-swissnow text-[#77777e] text-[10px] uppercase tracking-[-0.4px]",children:t.category}),(0,n.jsxs)("div",{className:"relative flex items-center gap-2",children:[(0,n.jsx)("p",{className:"whitespace-nowrap font-editorial text-[32px] text-white not-italic leading-[0.65] tracking-[-0.64px]",children:t.title}),(0,n.jsx)("a",{href:t.href,target:"_blank",rel:"noopener noreferrer",className:"flex size-6 shrink-0 items-center justify-center rounded-full bg-white text-[#121212] no-underline","aria-label":"Go to ".concat(t.title," API"),children:(0,n.jsx)(g,{})})]}),(0,n.jsx)("p",{className:"font-swissnow text-[#77777e] text-[14px] leading-[1.2] tracking-[-0.28px]",children:t.description})]}),(0,n.jsxs)("div",{className:"relative overflow-hidden rounded-lg border border-[rgba(0,0,0,0.1)] border-dashed bg-[#333] md:h-[193px] md:w-[345px] md:rounded-[14.7px]",children:[(0,n.jsx)("video",{ref:l,className:"size-full object-cover",autoPlay:!0,loop:!0,muted:s,playsInline:!0,preload:"auto",poster:t.thumbnail,children:(0,n.jsx)("source",{src:t.video,type:"video/mp4"})}),t.hasAudio&&(0,n.jsx)("button",{type:"button",onClick:r,className:"absolute top-1.5 right-1.5 z-10 flex size-8 items-center justify-center overflow-hidden rounded-lg bg-white/90 text-neutral-900 shadow-[0px_1px_2px_-1px_rgba(68,68,70,0.15),0px_2px_5px_0px_rgba(68,68,70,0.05)] backdrop-blur-[4px]","aria-label":s?"Unmute video":"Mute video",children:s?(0,n.jsx)(w,{}):(0,n.jsx)(j,{})})]})]})})},_=()=>{let[e,t]=(0,o.useState)(0),[s,a]=(0,o.useState)(!0),[l,r]=(0,o.useState)(!1),[i,d]=(0,o.useState)(!0),c=(0,o.useRef)(null),p=(0,o.useCallback)(()=>{let e=c.current;e&&(r(e.scrollLeft>0),d(e.scrollLeft+e.clientWidth<e.scrollWidth-1))},[]),u=h[e];return(0,n.jsxs)("section",{className:"relative overflow-hidden bg-[#121212] pb-[40px]",children:[(0,n.jsx)("div",{className:"pointer-events-none absolute inset-0 md:hidden",style:{backgroundImage:"radial-gradient(circle, rgba(255,255,255,0.15) 1px, transparent 1px)",backgroundSize:"10px 10px"},"aria-hidden":"true"}),(0,n.jsx)("div",{className:"pointer-events-none absolute inset-0 hidden md:block",style:{backgroundImage:"radial-gradient(circle, rgba(255,255,255,0.35) 1px, transparent 1px)",backgroundSize:"15px 15px"},"aria-hidden":"true"}),(0,n.jsx)("div",{className:"pointer-events-none absolute inset-0 opacity-90",style:{background:"radial-gradient(100% 80% at 50% 53%, transparent 0%, rgb(18, 18, 18) 60%)"},"aria-hidden":"true"}),(0,n.jsxs)("div",{className:"relative mx-auto flex max-w-[1920px] flex-col items-center px-4 pt-[120px] md:px-6 xl:max-w-[1408px] xl:px-4 min-[1440px]:px-0",children:[(0,n.jsxs)("div",{className:"flex flex-col items-center gap-6 text-center md:gap-8",children:[(0,n.jsxs)("h1",{className:"max-w-[784px] font-normal text-[32px] text-white leading-none tracking-[-1.6px] md:text-[44px] md:tracking-[-2.64px]",children:[(0,n.jsxs)("span",{className:"font-swissnow tracking-[-0.48px]",children:["Build with the"," "]}),(0,n.jsxs)("span",{className:"font-editorial tracking-[-0.32px]",children:["most powerful"," "]}),(0,n.jsx)("span",{className:"font-swissnow tracking-[-0.48px]",children:"video APIs"})]}),(0,n.jsx)("p",{className:"max-w-[361px] font-swissnow text-[#aeafb2] text-[16px] leading-[1.28] tracking-[-0.08px] md:max-w-[652px] md:text-[20px] md:leading-[24px] md:tracking-[-0.1px]",children:"Image-to-video, lip sync, background removal, and green screen. Developer-first APIs that drop straight into your stack."})]}),(0,n.jsxs)("div",{className:"mt-[56px] flex w-full flex-col items-center gap-0 md:mt-[72px]",children:[(0,n.jsxs)("div",{className:"relative w-full max-w-[361px] md:max-w-none",children:[(0,n.jsx)("div",{ref:c,onScroll:p,className:"scrollbar-hide flex gap-2 overflow-x-auto md:flex-wrap md:justify-center",children:h.map((s,a)=>(0,n.jsx)("button",{type:"button",onClick:e=>{t(a);let s=c.current;if(s){let t=e.currentTarget,n=t.offsetLeft-s.clientWidth/2+t.offsetWidth/2;s.scrollTo({left:n,behavior:"smooth"})}},className:"h-[42px] shrink-0 cursor-pointer rounded-full px-[17px] font-medium font-swissnow text-[14px] leading-[1.4] tracking-[-0.5px] transition-colors duration-150 md:text-[16
1px] md:leading-[22.4px] md:tracking-[-0.08px] ".concat(e===a?"bg-[#96ff1a] text-[#121212]":"border border-[#333] bg-[#121212] text-[#444446]"),children:s.label},s.label))}),l&&(0,n.jsx)("div",{className:"pointer-events-none absolute top-0 left-0 h-full w-12 bg-gradient-to-r from-[#121212] to-transparent md:hidden","aria-hidden":"true"}),i&&(0,n.jsx)("div",{className:"pointer-events-none absolute top-0 right-0 h-full w-12 bg-gradient-to-l from-[#121212] to-transparent md:hidden","aria-hidden":"true"})]}),(0,n.jsx)("div",{className:"mt-[21px] w-full",children:(0,n.jsx)(y,{item:u,isMuted:s,onToggleMute:()=>a(e=>!e)},u.label)})]}),(0,n.jsx)("div",{className:"-mx-4 mt-[40px] w-[calc(100%+2rem)] md:mx-0 md:w-full",children:(0,n.jsx)(v,{})})]})]})},N=["Fabric 1.0","Subtitles","Lip Sync 2.0","Green Screen","Background Removal"],k=["node.js","Python","HTTP(cURL)"],I=[{number:"01",title:"Get your API key",description:"Sign up on fal.ai and grab your API key."},{number:"02",title:"Install the SDK",description:"Add the fal.ai client to your project with npm, yarn, or pnpm."},{number:"03",title:"Send your first request",description:"Pass your media URL and parameters. Get processed video back in seconds."},{number:"04",title:"Scale to production",description:"Usage-based pricing with no minimums. Process one video or thousands."}],P={"Fabric 1.0":{"node.js":'import { fal } from "@fal-ai/client";\n\nconst result = await fal.subscribe(\n  "veed/fabric-1.0",\n  {\n    input: {\n      audio_url: "https://example.com/audio.mp3",\n      image_url: "https://example.com/photo.png",\n      resolution: "720p"\n    },\n  }\n);\nconsole.log(result.data);',Python:'import fal_client\n\ndef on_queue_update(update):\n    if isinstance(update, fal_client.InProgress):\n        for log in update.logs:\n           print(log["message"])\n\nresult = fal_client.subscribe(\n    "veed/fabric-1.0",\n    arguments={\n        "image_url": "https://v3.fal.media/files/koala/NLVPfOI4XL1cWT2PmmqT3_Hope.png",\n        "audio_url": "https://v3.fal.media/files/elephant/Oz_g4AwQvXtXpUHL3Pa7u_Hope.mp3",\n        "resolution": "720p"\n    },\n    with_logs=True,\n    on_queue_update=on_queue_update,\n)\nprint(result)',"HTTP(cURL)":'response=$(curl --request POST \\\n  --url https://queue.fal.run/veed/fabric-1.0 \\\n  --header "Authorization: Key $FAL_KEY" \\\n  --header "Content-Type: application/json" \\\n  --data \'{\n     "image_url": "https://v3.fal.media/files/koala/NLVPfOI4XL1cWT2PmmqT3_Hope.png",\n     "audio_url": "https://v3.fal.media/files/elephant/Oz_g4AwQvXtXpUHL3Pa7u_Hope.mp3",\n     "resolution": "720p"\n   }\')\nREQUEST_ID=$(echo "$response" | grep -o \'"request_id": *"[^"]*"\' | sed \'s/"request_id": *//; s/"//g\')'},Subtitles:{"node.js":'import { fal } from "@fal-ai/client";\n\nconst result = await fal.subscribe("veed/subtitles", {\n  input: {\n    video_url: "https://v3b.fal.media/files/b/0a967ce5/iARc_J0kLN9OEmiXnxT3l_substyle-example-input.mp4",\n    preset: "glass"\n  },\n  logs: true,\n  onQueueUpdate: (update) => {\n    if (update.status === "IN_PROGRESS") {\n      update.logs.map((log) => log.message).forEach(console.log);\n    }\n  },\n});\nconsole.log(result.data);\nconsole.log(result.requestId);',Python:'import fal_client\n\ndef on_queue_update(update):\n    if isinstance(update, fal_client.InProgress):\n        for log in update.logs:\n           print(log["message"])\n\nresult = fal_client.subscribe(\n    "veed/subtitles",\n    arguments={\n        "video_url": "https://v3b.fal.media/files/b/0a967ce5/iARc_J0kLN9OEmiXnxT3l_substyle-example-input.mp4",\n        "preset": "glass"\n    },\n    with_logs=True,\n    on_queue_update=on_queue_update,\n)\nprint(result)',"HTTP(cURL)":'response=$(curl --request POST \\\n  --url https://queue.fal.run/veed/subtitles \\\n  --header "Authorization: Key $FAL_KEY" \\\n  --header "Content-Type: application/json" \\\n  --data \'{\n     "video_url": "https://v3b.fal.media/files/b/0a967ce5/iARc_J0kLN9OEmiXnxT3l_substyle-example-input.mp4",\n     "preset": "glass"\n   }\')\nREQUEST_ID=$(echo "$response" | grep -o \'"request_id": *"[^"]*"\' | sed \'s/"request_id": *//; s/"//g\')'},"Lip Sync 2.0":{"node.js":'import { fal } from "@fal-ai/client";\n\nconst result = await fal.subscribe("veed/lipsync/v2", {\n  input: {\n    video_url: "https://v3.fal.media/files/monkey/q1fDPhrpfjfsaRmbhTed4_influencer.mp4",\n    audio_url: "https://v3.fal.media/files/rabbit/Ql3ade3wEKlZXRQLRbhxm_tts.mp3"\n  },\n  logs: true,\n  onQueueUpdate: (update) => {\n    if (update.status === "IN_PROGRESS") {\n      update.logs.map((log) => log.message).forEach(console.log);\n    }\n  },\n});\nconsole.log(result.data);\nconsole.log(result.requestId);',Python:'import fal_client\n\ndef on_queue_update(update):\n    if isinstance(update, fal_client.InProgress):\n        for log in update.logs:\n           print(log["message"])\n\nresult = fal_client.subscribe(\n    "veed/lipsync/v2",\n    arguments={\n        "video_url": "https://v3.fal.media/files/monkey/q1fDPhrpfjfsaRmbhTed4_influencer.mp4",\n        "audio_url": "https://v3.fal.media/files/rabbit/Ql3ade3wEKlZXRQLRbhxm_tts.mp3"\n    },\n    with_logs=True,\n    on_queue_update=on_queue_update,\n)\nprint(result)',"HTTP(cURL)":'response=$(curl --request POST \\\n  --url https://queue.fal.run/veed/lipsync/v2 \\\n  --header "Authorization: Key $FAL_KEY" \\\n  --header "Content-Type: application/json" \\\n  --data \'{\n     "video_url": "https://v3.fal.media/files/monkey/q1fDPhrpfjfsaRmbhTed4_influencer.mp4",\n     "audio_url": "https://v3.fal.media/files/rabbit/Ql3ade3wEKlZXRQLRbhxm_tts.mp3"\n   }\')\nREQUEST_ID=$(echo "$response" | grep -o \'"request_id": *"[^"]*"\' | sed \'s/"request_id": *//; s/"//g\')'},"Green Screen":{"node.js":'import { fal } from "@fal-ai/client";\n\nconst result = await fal.subscribe("veed/video-background-removal/green-screen", {\n  input: {\n    video_url: "https://v3b.fal.media/files/b/0a849c38/zoA0frujpZUkj07NtXytv_jessica.mp4"\n  },\n  logs: true,\n  onQueueUpdate: (update) => {\n    if (update.status === "IN_PROGRESS") {\n      update.logs.map((log) => log.message).forEach(console.log);\n    }\n  },\n});\nconsole.log(result.data);\nconsole.log(result.requestId);',Python:'import fal_client\n\ndef on_queue_update(update):\n    if isinstance(update, fal_client.InProgress):\n        for log in update.logs:\n           print(log["message"])\n\nresult = fal_client.subscribe(\n    "veed/video-background-removal/green-screen",\n    arguments={\n        "video_url": "https://v3b.fal.media/files/b/0a849c38/zoA0frujpZUkj07NtXytv_jessica.mp4"\n    },\n    with_logs=True,\n    on_queue_update=on_queue_update,\n)\nprint(result)',"HTTP(cURL)":'response=$(curl --request POST \\\n  --url https://queue.fal.run/veed/video-background-removal/green-screen \\\n  --header "Authorization: Key $FAL_KEY" \\\n  --header "Content-Type: application/json" \\\n  --data \'{\n     "video_url": "https://v3b.fal.media/files/b/0a849c38/zoA0frujpZUkj07NtXytv_jessica.mp4"\n   }\')\nREQUEST_ID=$(echo "$response" | grep -o \'"request_id": *"[^"]*"\' | sed \'s/"request_id": *//; s/"//g\')'}
1,"Background Removal":{"node.js":'import { fal } from "@fal-ai/client";\n\nconst result = await fal.subscribe("veed/video-background-removal", {\n  input: {\n    video_url: "https://v3b.fal.media/files/b/0a847700/NYnvFeP13ehgSgqMDV_PL_stock.mp4"\n  },\n  logs: true,\n  onQueueUpdate: (update) => {\n    if (update.status === "IN_PROGRESS") {\n      update.logs.map((log) => log.message).forEach(console.log);\n    }\n  },\n});\nconsole.log(result.data);\nconsole.log(result.requestId);',Python:'import fal_client\n\ndef on_queue_update(update):\n    if isinstance(update, fal_client.InProgress):\n        for log in update.logs:\n           print(log["message"])\n\nresult = fal_client.subscribe(\n    "veed/video-background-removal",\n    arguments={\n        "video_url": "https://v3b.fal.media/files/b/0a847700/NYnvFeP13ehgSgqMDV_PL_stock.mp4"\n    },\n    with_logs=True,\n    on_queue_update=on_queue_update,\n)\nprint(result)',"HTTP(cURL)":'response=$(curl --request POST \\\n  --url https://queue.fal.run/veed/video-background-removal \\\n  --header "Authorization: Key $FAL_KEY" \\\n  --header "Content-Type: application/json" \\\n  --data \'{\n     "video_url": "https://v3b.fal.media/files/b/0a847700/NYnvFeP13ehgSgqMDV_PL_stock.mp4"\n   }\')\nREQUEST_ID=$(echo "$response" | grep -o \'"request_id": *"[^"]*"\' | sed \'s/"request_id": *//; s/"//g\')'}},E=()=>(0,n.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[(0,n.jsx)("rect",{x:"5",y:"3",width:"8",height:"10",rx:"1.5",stroke:"currentColor",strokeWidth:"1.2"}),(0,n.jsx)("path",{d:"M5 5H4C3.44772 5 3 5.44772 3 6V13C3 13.5523 3.44772 14 4 14H10C10.5523 14 11 13.5523 11 13V12",stroke:"currentColor",strokeWidth:"1.2"})]}),S=e=>{let{number:t,title:s,description:a}=e;return(0,n.jsxs)("div",{className:"flex items-start gap-5",children:[(0,n.jsx)("div",{className:"flex size-10 shrink-0 items-center justify-center rounded-full bg-[#d6ffa6]",children:(0,n.jsx)("span",{className:"font-swissnow text-[#121212] text-[14px] leading-none",children:t})}),(0,n.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,n.jsx)("h3",{className:"font-swissnow text-[#d6ffa6] text-[24px] leading-none tracking-[-0.48px]",children:s}),(0,n.jsx)("p",{className:"font-swissnow text-[#aeafb2] text-[16px] leading-[1.4] tracking-[-0.08px]",children:a})]})]})},T=e=>{let{activeLang:t,onLangChange:s,code:a,onCopy:l,copied:r}=e;return(0,n.jsxs)("div",{className:"w-full overflow-clip rounded-2xl bg-[#1e1e1e] shadow-[0px_8px_40px_0px_rgba(0,0,0,0.12)]",children:[(0,n.jsxs)("div",{className:"hidden items-center gap-4 border-white/[0.06] border-b px-4 py-3 md:flex",children:[(0,n.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[(0,n.jsx)("span",{className:"size-3 rounded-full bg-[#ff5f57]"}),(0,n.jsx)("span",{className:"size-3 rounded-full bg-[#febc2e]"}),(0,n.jsx)("span",{className:"size-3 rounded-full bg-[#28c840]"})]}),(0,n.jsx)("div",{className:"flex flex-1 items-center gap-[5px]",children:k.map(e=>(0,n.jsx)("button",{type:"button",onClick:()=>s(e),className:"cursor-pointer rounded-full bg-white/40 px-[9px] font-mono text-[14px] text-white leading-[21px] transition-opacity duration-150 ".concat(t===e?"opacity-100":"opacity-50"),children:e},e))}),(0,n.jsxs)("button",{type:"button",onClick:l,className:"flex shrink-0 items-center gap-1.5 font-mono text-[13.9px] text-[rgba(255,255,255,0.4)] transition-opacity duration-150 hover:opacity-70",children:[(0,n.jsx)(E,{}),(0,n.jsx)("span",{children:r?"Copied!":"Copy"})]})]}),(0,n.jsxs)("div",{className:"flex flex-col border-white/[0.05] border-b md:hidden",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between px-5 py-3",children:[(0,n.jsxs)("div",{className:"flex items-center gap-[6px]",children:[(0,n.jsx)("span",{className:"size-[10px] rounded-full bg-[#ff5f57]"}),(0,n.jsx)("span",{className:"size-[10px] rounded-full bg-[#febc2e]"}),(0,n.jsx)("span",{className:"size-[10px] rounded-full bg-[#28c840]"})]}),(0,n.jsxs)("button",{type:"button",onClick:l,className:"flex items-center gap-1.5 font-mono text-[13.9px] text-[rgba(255,255,255,0.4)] transition-opacity duration-150 hover:opacity-70",children:[(0,n.jsx)(E,{}),(0,n.jsx)("span",{children:r?"Copied!":"Copy"})]})]}),(0,n.jsx)("div",{className:"flex items-center gap-[5px] px-5 pb-7",children:k.map(e=>(0,n.jsx)("button",{type:"button",onClick:()=>s(e),className:"cursor-pointer rounded-full bg-white/40 px-[9px] font-mono text-[14px] text-white leading-[21px] transition-opacity duration-150 ".concat(t===e?"opacity-100":"opacity-50"),children:e},e))})]}),(0,n.jsx)("div",{className:"scrollbar-hide overflow-x-auto px-6 py-7",children:(0,n.jsx)("pre",{className:"m-0",children:(0,n.jsx)("code",{className:"whitespace-pre font-mono text-[#d4d4d4] text-[13.9px] leading-[1.6]",children:a})})})]})},C=()=>{let[e,t]=(0,o.useState)("Fabric 1.0"),[s,a]=(0,o.useState)("node.js"),[l,r]=(0,o.useState)(!1),[i,d]=(0,o.useState)(!1),[c,p]=(0,o.useState)(!0),u=(0,o.useRef)(null),x=(0,o.useCallback)(()=>{let e=u.current;e&&(d(e.scrollLeft>0),p(e.scrollLeft+e.clientWidth<e.scrollWidth-1))},[]),m=P[e][s];return(0,n.jsx)("section",{id:"how-it-works",className:"relative bg-[#101810] py-20 lg:py-[72px]",children:(0,n.jsx)("div",{className:"mx-auto max-w-[1920px] px-4 md:px-6 xl:max-w-[1408px] xl:px-4 min-[1440px]:px-0",children:(0,n.jsxs)("div",{className:"mx-auto max-w-[1200px]",children:[(0,n.jsxs)("h2",{className:"mb-10 font-normal text-[#d6ffa6] text-[32px] leading-none tracking-[-1.92px] md:text-[44px] md:tracking-[-2.64px] lg:mb-[15px]",children:[(0,n.jsx)("span",{className:"font-editorial",children:"How"}),(0,n.jsx)("span",{className:"font-swissnow",children:" it works"})]}),(0,n.jsxs)("div",{className:"flex flex-col gap-[70px] lg:flex-row lg:items-start lg:gap-[38px]",children:[(0,n.jsx)("div",{className:"flex flex-col gap-4 lg:w-[476px] lg:shrink-0 lg:gap-8 lg:pt-[68px]",children:I.map(e=>
1(0,n.jsx)(S,{number:e.number,title:e.title,description:e.description},e.number))}),(0,n.jsxs)("div",{className:"flex w-full flex-col gap-6 md:mx-auto md:max-w-[672px] lg:mx-0 lg:min-w-0 lg:max-w-none lg:flex-1",children:[(0,n.jsxs)("div",{className:"relative",children:[(0,n.jsx)("div",{ref:u,onScroll:x,className:"scrollbar-hide flex justify-start gap-1 overflow-x-auto lg:flex-wrap lg:justify-start lg:gap-2",children:N.map(s=>(0,n.jsx)("button",{type:"button",onClick:e=>{t(s);let n=u.current;if(n){let t=e.currentTarget,s=t.offsetLeft-n.clientWidth/2+t.offsetWidth/2;n.scrollTo({left:s,behavior:"smooth"})}},className:"h-9 shrink-0 cursor-pointer rounded-full px-6 font-medium font-swissnow text-[14px] leading-[1.4] tracking-[-0.5px] transition-colors duration-150 lg:h-auto lg:px-[17px] lg:py-[10px] lg:text-[16px] ".concat(e===s?"bg-[#d6ffa6] text-[#083300]":"border border-[#333] bg-[#101810] text-[#444446]"),children:s},s))}),i&&(0,n.jsx)("div",{className:"pointer-events-none absolute top-0 left-0 h-full w-16 bg-gradient-to-r from-[#101810] to-transparent lg:hidden","aria-hidden":"true"}),c&&(0,n.jsx)("div",{className:"pointer-events-none absolute top-0 right-0 h-full w-16 bg-gradient-to-l from-[#101810] to-transparent lg:hidden","aria-hidden":"true"})]}),(0,n.jsx)("div",{className:"w-full",children:(0,n.jsx)(T,{activeLang:s,onLangChange:a,code:m,onCopy:()=>{navigator.clipboard.writeText(m).then(()=>{r(!0),setTimeout(()=>r(!1),2e3)})},copied:l})})]})]})]})})})};var q=s(27244),A=s(39838),L=s(66284),R=s(85117);let D=[{category:"Image to video",name:"Fabric 1.0",href:"https://fal.ai/models/veed/fabric-1.0",tiers:[{label:"Regular 480p",price:"$0.08",unit:"/ second"},{label:"Regular 720p",price:"$0.15",unit:"/ second"},{label:"Fast 480p",price:"$0.10",unit:"/ second"},{label:"Fast 720p",price:"$0.20",unit:"/ second"}]},{category:"Video to video",name:"Subtitles",href:"https://fal.ai/models/veed/subtitles",tiers:[{label:"Basic, up to 1080p",price:"$0.10",unit:"/ minute"},{label:"Basic, above 1080p",price:"$0.20",unit:"/ minute"},{label:"Dynamic, up to 1080p",price:"$0.20",unit:"/ minute"},{label:"Dynamic, above 1080p",price:"$0.40",unit:"/ minute"}]},{category:"Video to video",name:"Lip Sync 2.0",href:"https://fal.ai/models/veed/lipsync/v2",tiers:[{label:"Standard",price:"$0.07",unit:"/ second"}]},{category:"Video to video",name:"Green Screen",href:"https://fal.ai/models/veed/video-background-removal/green-screen",tiers:[{label:"Standard",price:"$0.025",unit:"/ 30 frames"}]},{category:"Video to video",name:"Background Removal",href:"https://fal.ai/models/veed/video-background-removal",nameClassName:"text-[31px] tracking-[-1.24px] whitespace-nowrap md:tracking-[-0.62px]",tiers:[{label:"Standard",price:"$0.015",unit:"/ 30 frames"},{label:"Refine edges",price:"$0.0225",unit:"/ 30 frames"},{label:"Fast",price:"$0.008",unit:"/ 30 frames"},{label:"Fast refine edges",price:"$0.012",unit:"/ 30 frames"}]}],O={type:"spring",stiffness:300,damping:30},V=D.length,z=()=>(0,n.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,n.jsx)("path",{d:"M1 13L13 1M13 1H3M13 1V11",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),$=e=>{let{category:t,name:s,href:a,tiers:l,nameClassName:r,compact:i=!1}=e;return(0,n.jsxs)("a",{href:a,target:"_blank",rel:"noopener noreferrer",className:"group relative flex w-full flex-col overflow-clip rounded-2xl bg-[#f2f1f0] p-6 transition-colors duration-300 ease-out hover:bg-[#121212] ".concat(i?"items-start gap-8":"h-[306px] justify-between gap-6"),children:[(0,n.jsx)("div",{className:"absolute top-2.5 right-2.5 flex size-8 items-center justify-center rounded-full bg-[#121212] text-white transition-colors duration-300 ease-out group-hover:bg-white group-hover:text-[#121212]",children:(0,n.jsx)(z,{})}),(0,n.jsxs)("div",{className:"flex flex-col gap-6",children:[(0,n.jsx)("p",{className:"font-bold font-swissnow text-[#121212] text-xs uppercase tracking-[-0.48px] transition-colors duration-300 ease-out group-hover:text-[#aeafb2]",children:t}),(0,n.jsx)("p",{className:"font-editorial text-[#121212] leading-none transition-colors duration-300 ease-out group-hover:text-white ".concat(null!=r?r:"text-[32px] tracking-[-1.28px] md:tracking-[-0.64px]"),children:s})]}),(0,n.jsx)("div",{className:"flex w-full flex-col gap-4",children:l.map(e=>(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsx)("p",{className:"font-swissnow text-[#121212] text-sm tracking-[-0.56px] transition-colors duration-300 ease-out group-hover:text-[#aeafb2]",children:e.label}),(0,n.jsxs)("div",{className:"flex items-end gap-0.5",children:[(0,n.jsx)("p",{className:"font-editorial text-2xl text-[#121212] leading-none tracking-[-0.96px] transition-colors duration-300 ease-out group-hover:text-white",children:e.price}),(0,n.jsx)("p",{className:"font-swissnow text-[#77777e] text-[10px] uppercase tracking-[-0.4px] transition-colors duration-300 ease-out group-hover:text-[#6b6b70]",children:e.unit})]})]},e.label))})]})},W=(e,t,s)=>{let n=((t-e)%s+s)%s;return n>s/2?n-s:n},F=()=>{let[e,t]=(0,o.useState)(0),[s,a]=(0,o.useState)(!1),l=(0,o.useRef)(null),r=(0,o.useRef)(0),i=(0,o.useRef)(!1),d=(0,o.useRef)(0),c=(0,o.useRef)(D.map(()=>(0,q.OQ)(0)));(0,o.useEffect)(()=>{let e=l.current;if(!e)return;let t=new IntersectionObserver(e=>{var t;let[s]=e;return a(null!=(t=null==s?void 0:s.isIntersecting)&&t)},{threshold:.3});return t.observe(e),()=>t.disconnect()},[]),(0,o.useEffect)(()=>{let t=d.current;d.current=e;let s=Math.ceil(V/2);D.forEach((n,a)=>{let l=W(t,a,V),r=W(e,a,V),i=Math.abs(r-l)>V/2,o=c.current[a];o&&(i&&o.jump(r>
10?(s+1)*310:-(310*(s+1))),(0,A.i)(o,310*r,O))})},[e]);let p=(0,o.useCallback)(()=>{t(e=>e>=1?e-1:V-1)},[]),u=(0,o.useCallback)(()=>{t(e=>e<V-1?e+1:0)},[]);(0,o.useEffect)(()=>{if(!s)return;let e=setTimeout(u,5e3);return()=>clearTimeout(e)},[e,s,u]);let x=(0,o.useCallback)(e=>{var t,s;r.current=null!=(s=null==(t=e.touches[0])?void 0:t.clientX)?s:0,i.current=!1},[]),m=(0,o.useCallback)(e=>{var t,s;Math.abs((null!=(s=null==(t=e.touches[0])?void 0:t.clientX)?s:0)-r.current)>10&&(i.current=!0)},[]),h=(0,o.useCallback)(e=>{var t,s;let n=null!=(s=null==(t=e.changedTouches[0])?void 0:t.clientX)?s:0,a=r.current-n;Math.abs(a)>50&&(a>0?u():p())},[u,p]);return(0,n.jsxs)("section",{id:"pricing",ref:l,className:"relative overflow-hidden pb-20 md:py-[72px]",children:[(0,n.jsx)("div",{className:"mx-auto max-w-[1920px] px-4 md:px-6 xl:max-w-[1408px] xl:px-4 min-[1440px]:px-0",children:(0,n.jsxs)("div",{className:"flex flex-col items-center gap-4 text-center",children:[(0,n.jsx)("h2",{className:"max-w-[362px] font-normal font-swissnow text-[32px] text-hp3-text leading-none tracking-[-0.96px] md:max-w-none md:text-[40px] md:tracking-[-1.2px]",children:"Simple, transparent pricing"}),(0,n.jsxs)("p",{className:"max-w-[362px] font-swissnow text-base text-hp3-text-subtle leading-[1.28] tracking-[-0.08px] md:max-w-none md:leading-[24px]",children:["Pay only for what you use. ",(0,n.jsx)("br",{className:"md:hidden"}),"No subscriptions, no minimums."]})]})}),(0,n.jsx)("div",{className:"mx-auto mt-6 flex w-[294px] flex-col gap-4 md:hidden",children:D.map(e=>(0,n.jsx)($,{category:e.category,name:e.name,href:e.href,tiers:e.tiers,nameClassName:"nameClassName"in e?e.nameClassName:void 0,compact:!0},e.name))}),(0,n.jsx)("div",{className:"mt-6 hidden touch-pan-y justify-center md:mt-8 md:flex",onTouchStart:x,onTouchMove:m,onTouchEnd:h,children:(0,n.jsx)("div",{className:"relative flex h-[306px] items-center justify-center",children:D.map((e,t)=>(0,n.jsx)(L.P.div,{className:"flex-none",style:{position:0===t?"relative":"absolute",width:294,x:c.current[t]},children:(0,n.jsx)($,{category:e.category,name:e.name,href:e.href,tiers:e.tiers,nameClassName:"nameClassName"in e?e.nameClassName:void 0})},e.name))})}),(0,n.jsx)("div",{className:"mx-auto hidden max-w-[1920px] px-4 md:block md:px-6 xl:max-w-[1408px] xl:px-4 min-[1440px]:px-0",children:(0,n.jsx)(R.h,{totalItems:V,activeIndex:e,onPrev:p,onNext:u,autoplayInterval:s?5e3:void 0,dotColor:"#F2F1F0",activeColor:"#121212",chevronBgColor:"#121212",chevronIconColor:"#ffffff",className:"mx-auto mt-6 max-w-[1200px]"})})]})},M=((e,t,s)=>"".concat("https://cdn-site-assets.veed.io","/").concat(t,"/").concat(t).concat(s))("duck_9e87f1b73f","duck_26af20eb83",".png"),U=[{title:"Affordable, usage-based pricing",description:"Pay per second, minute or per frame depending on the API. No subscriptions, no minimums. Transparent pricing that scales with your volume."},{title:"Production-grade output",description:"Studio-quality results across all APIs — accurate lip sync, clean edges, 4K support, and professional output formats including VP9 with alpha."},{title:"Simple, developer-first integration",description:"Minimal input parameters, standard media formats, and straightforward responses. Start building in minutes, not days."}],Q=e=>{let{title:t,description:s}=e;return(0,n.jsxs)("div",{className:"flex h-[188px] flex-col items-start justify-between overflow-clip rounded-xl bg-[#121212] p-6",children:[(0,n.jsx)("h3",{className:"font-swissnow text-2xl text-white leading-[1.2] tracking-[-0.72px]",children:t}),(0,n.jsx)("p",{className:"font-swissnow text-[#aeafb2] text-base leading-[1.2] tracking-[-0.08px]",children:s})]})},X=()=>(0,n.jsx)("section",{id:"why-choose-us",className:"relative px-4 py-20 md:px-6 md:pt-[4.5rem] md:pb-0 xl:px-4 min-[1440px]:px-0",children:(0,n.jsxs)("div",{className:"mx-auto max-w-[1920px] xl:max-w-[1408px]",children:[(0,n.jsxs)("div",{className:"flex flex-col items-center gap-4 text-center",children:[(0,n.jsxs)("h2",{className:"whitespace-nowrap font-normal font-swissnow text-[#262525] text-[2rem] leading-[100%] tracking-[-0.06rem] md:text-[40px] md:tracking-[-1.2px]",children:[(0,n.jsx)("span",{children:"Why developers"})," ",(0,n.jsx)("span",{className:"font-editorial md:tracking-[-0.8px]",children:"choose us"})]}),(0,n.jsx)("p",{className:"font-swissnow text-[#77777e] text-[16px] leading-[1.28] tracking-[-0.08px] md:text-[#4d4d51] md:leading-[24px]",children:"Ship video features faster with APIs built for production workloads."})]}),(0,n.jsxs)("div",{className:"relative mt-5",children:[(0,n.jsx)("div",{className:"pointer-events-none relative -mx-4 mb-[-12rem] md:mx-auto md:max-w-[420px] lg:mb-0 lg:max-w-[514px]",children:(0,n.jsx)("img",{alt:"",src:M,className:"w-full"})}),(0,n.jsx)("div",{className:"relative z-10 mx-auto grid max-w-[361px] gap-4 lg:absolute lg:inset-x-0 lg:bottom-[5rem] lg:mx-auto lg:max-w-[1200px] lg:grid-cols-3",children:U.map(e=>
1(0,n.jsx)(Q,{title:e.title,description:e.description},e.title))})]})]})}),H="".concat("https://cdn-site-assets.veed.io","/").concat("OG_API_db2bc9323f","/").concat("OG_API_db2bc9323f",".jpg"),B={title:"Try VEED Fabric",href:"https://fal.ai/models/veed/fabric-1.0"},G=e=>{let{navbarV2Data:t,footerData:s,staticContent:o,locale:d}=e;return(0,n.jsxs)(l.P,{locales:[],locale:d,breadcrumbData:void 0,navbarV2Data:null,footerData:null,hideAppBanner:!0,className:"bg-white",contentClassName:"max-w-none",allowOverflow:!0,children:[(0,n.jsx)(a.W8,{title:"AI Video API for Generation, Lip Sync 2.0 & Editing | VEED API",description:"Integrate VEED's AI video APIs. Build and scale high-performance systems for developers with Fabric 1.0 & Lip Sync 2.0. Affordable usage-based pricing.",locales:[],ogImageUrl:H,overridePathname:"/api"}),(0,n.jsx)(i.Y,{navbarV2Data:{...t,signup:B,dashboard:B},variant:"dark",locale:d}),(0,n.jsx)("div",{className:"flex flex-col",children:(0,n.jsxs)("div",{className:"flex w-full flex-col",children:[(0,n.jsx)(_,{}),(0,n.jsx)(C,{}),(0,n.jsx)(X,{}),(0,n.jsx)(F,{}),(0,n.jsx)(x,{})]})}),(0,n.jsx)("div",{className:"pt-4",children:(0,n.jsx)(r.w,{footerData:s})})]})};var K=!0;let Y=e=>{let{navbarV2Data:t,footerData:s,staticContent:a,locale:l}=e;return(0,n.jsx)(G,{navbarV2Data:t,footerData:s,staticContent:a,locale:l})}}},e=>{e.O(0,[420,7215,5998,9519,9749,6860,8778,9600,3374,8278,2438,636,6593,8792],()=>e(e.s=78322)),_N_E=e.O()}]);

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.