1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,31713,e=>{"use strict";var t=e.i(76172),s=e.i(96505);let a=(...e)=>e.filter((e,t,s)=>!!e&&""!==e.trim()&&s.indexOf(e)===t).join(" ").trim();var r={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let l=(0,s.forwardRef)(({color:e="currentColor",size:t=24,strokeWidth:l=2,absoluteStrokeWidth:i,className:n="",children:d,iconNode:o,...c},x)=>(0,s.createElement)("svg",{ref:x,...r,width:t,height:t,stroke:e,strokeWidth:i?24*Number(l)/Number(t):l,className:a("lucide",n),...c},[...o.map(([e,t])=>(0,s.createElement)(e,t)),...Array.isArray(d)?d:[d]])),i=(e,t)=>{let r=(0,s.forwardRef)(({className:r,...i},n)=>(0,s.createElement)(l,{ref:n,iconNode:t,className:a(`lucide-${e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,r),...i}));return r.displayName=`${e}`,r},n=i("Mic",[["path",{d:"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z",key:"131961"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["line",{x1:"12",x2:"12",y1:"19",y2:"22",key:"x3vr5v"}]]),d=i("Volume2",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]]),o=i("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]),c=i("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]),x=i("Pause",[["rect",{x:"14",y:"4",width:"4",height:"16",rx:"1",key:"zuxfzm"}],["rect",{x:"6",y:"4",width:"4",height:"16",rx:"1",key:"1okwgv"}]]),m=i("CircleAlert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]),p=i("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]]),h=[{id:"alloy",name:"Alloy",description:"Neutral and balanced"},{id:"echo",name:"Echo",description:"Warm and conversational"},{id:"fable",name:"Fable",description:"Expressive and dynamic"},{id:"onyx",name:"Onyx",description:"Deep and authoritative"}
1,{id:"nova",name:"Nova",description:"Friendly and upbeat"},{id:"shimmer",name:"Shimmer",description:"Clear and gentle"}],f=[{id:"wav",name:"WAV",description:"Playable output"}];function u(){let[e,a]=(0,s.useState)(""),[r,l]=(0,s.useState)("alloy"),[i,u]=(0,s.useState)("wav"),[g,b]=(0,s.useState)(!1),[j,y]=(0,s.useState)(!1),[v,w]=(0,s.useState)(null),[N,k]=(0,s.useState)(null),F=(0,s.useRef)(null),A=(0,s.useMemo)(()=>v?.audioBase64&&v.audioMimeType?`data:${v.audioMimeType};base64,${v.audioBase64}`:null,[v?.audioBase64,v?.audioMimeType]),P=async()=>{if(e.trim()){b(!0),k(null),w(null);try{let t=await fetch("/api/generate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({prompt:e,voice:r,format:i})}),s=await t.json();if(!t.ok&&!s.demo)throw Error(s.message||"Failed to generate audio");w(s)}catch(e){k(e instanceof Error?e.message:"An error occurred")}finally{b(!1)}}},E=async()=>{if(F.current)if(j)F.current.pause();else try{await F.current.play()}catch{k("Audio playback failed. Please use the browser audio controls or generate a new clip.")}};return(0,t.jsx)("div",{className:"w-full max-w-[960px] mx-auto",children:(0,t.jsxs)("div",{className:"bg-white rounded-xl shadow-[0px_0px_0px_1px_rgba(0,0,0,0.08),0px_4px_16px_rgba(0,0,0,0.08)] overflow-hidden",children:[(0,t.jsxs)("div",{className:"px-6 py-4 border-b border-[#E0DEDB] flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("div",{className:"w-8 h-8 bg-[#37322F] rounded-lg flex items-center justify-center",children:(0,t.jsx)(n,{className:"w-4 h-4 text-white"})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-[#37322F] font-semibold text-sm font-sans",children:"Audio Playground"}),(0,t.jsx)("p",{className:"text-[#605A57] text-xs font-sans",children:"Try GPT Realtime 2 instantly â no registration required"})]})]}),v?.demo&&(0,t.jsxs)("div",{className:"px-3 py-1 bg-amber-50 border border-amber-200 rounded-full flex items-center gap-1.5",children:[(0,t.jsx)(m,{className:"w-3 h-3 text-amber-600"}),(0,t.jsx)("span",{className:"text-amber-700 text-xs font-medium",children:"Demo Mode"})]})]}),(0,t.jsxs)("div",{className:"p-6 flex flex-col gap-6",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)("label",{className:"text-[#49423D] text-sm font-medium font-sans",children:"Enter your prompt"}),(0,t.jsx)("textarea",{value:e,onChange:e=>a(e.target.value),placeholder:"Type or paste text to convert to speech... Try: 'Welcome to GPT Realtime 2, the next generation of AI audio synthesis.'",className:"w-full h-32 px-4 py-3 bg-[#F7F5F3] border border-[#E0DEDB] rounded-lg text-[#37322F] text-sm font-sans placeholder:text-[#9C9590] focus:outline-none focus:ring-2 focus:ring-[#37322F]/20 focus:border-[#37322F] resize-none",disabled:g})]}),(0,t.jsxs)("div",{className:"flex flex-col sm:flex-row gap-4",children:[(0,t.jsxs)("div",{className:"flex-1 flex flex-col gap-2",children:[(0,t.jsx)("label",{className:"text-[#49423D] text-sm font-medium font-sans",children:"Voice"}),(0,t.jsx)("select",{value:r,onChange:e=>l(e.target.value),className:"w-full px-4 py-2.5 bg-[#F7F5F3] border border-[#E0DEDB] rounded-lg text-[#37322F] text-sm font-sans focus:outline-none focus:ring-2 focus:ring-[#37322F]/20 focus:border-[#37322F] cursor-pointer",disabled:g,children:h.map(e=>(0,t.jsxs)("option",{value:e.id,children:[e.name," â ",e.description]},e.id))})]}),(0,t.jsxs)("div",{className:"flex-1 flex flex-col gap-2",children:[(0,t.jsx)("label",{className:"text-[#49423D] text-sm font-medium font-sans",children:"Format"}),(0,t.jsx)("select",{value:i,onChange:e=>u(e.target.value),className:"w-full px-4 py-2.5 bg-[#F7F5F3] border border-[#E0DEDB] rounded-lg text-[#37322F] text-sm font-sans focus:outline-none focus:ring-2 focus:ring-[#37322F]/20 focus:border-[#37322F] cursor-pointer",disabled:g,children:f.map(e=>(0,t.jsxs)("option",{value:e.id,children:[e.name," â ",e.description]},e.id))})]})]}),(0,t.jsx)("button",{onClick:P,disabled:g||!e.trim(),className:"w-full h-12 px-6 bg-[#37322F] hover:bg-[#2A2520] disabled:bg-[#9C9590] text-white rounded-full font-medium text-sm font-sans transition-colors flex items-center justify-center gap-2 shadow-[0px_0px_0px_2.5px_rgba(255,255,255,0.08)_inset]",children:g?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o,{className:"w-4 h-4 animate-spin"}),"Generating audio..."]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(p,{className:"w-4 h-4"}),"Generate Audio"]})}),N&&(0,t.jsxs)("div",{className:"px-4 py-3 bg-red-50 border border-red-200 rounded-lg flex items-start gap-3",children:[(0,t.jsx)(m,{className:"w-5 h-5 text-red-500 flex-shrink-0 mt-0.5"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-red-700 text-sm font-medium font-sans",children:"Generation failed"}),(0,t.jsx)("p",{className:"text-red-600 text-sm font-sans mt-0.5",children:N})]})]}),v&&(0,t.jsxs)("div",{className:"flex flex-col gap-4 pt-4 border-t border-[#
1E0DEDB]",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsxs)("label",{className:"text-[#49423D] text-sm font-medium font-sans flex items-center gap-2",children:[(0,t.jsx)(d,{className:"w-4 h-4"}),"Transcript"]}),(0,t.jsx)("div",{className:"px-4 py-3 bg-[#F7F5F3] border border-[#E0DEDB] rounded-lg",children:(0,t.jsx)("p",{className:"text-[#37322F] text-sm font-sans whitespace-pre-wrap leading-relaxed",children:v.transcript})})]}),A?(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)("label",{className:"text-[#49423D] text-sm font-medium font-sans",children:"Audio Output"}),(0,t.jsxs)("div",{className:"flex items-center gap-4 px-4 py-3 bg-[#F7F5F3] border border-[#E0DEDB] rounded-lg",children:[(0,t.jsx)("button",{onClick:E,className:"w-10 h-10 bg-[#37322F] hover:bg-[#2A2520] rounded-full flex items-center justify-center transition-colors",children:j?(0,t.jsx)(x,{className:"w-4 h-4 text-white"}):(0,t.jsx)(c,{className:"w-4 h-4 text-white ml-0.5"})}),(0,t.jsx)("div",{className:"flex-1",children:(0,t.jsx)("audio",{ref:F,src:A,onEnded:()=>{y(!1)},onPause:()=>y(!1),onPlay:()=>y(!0),onError:()=>k("The browser could not load this audio clip. Please generate a new one."),controls:!0,preload:"metadata",className:"w-full h-8"})})]})]}):v.demo?(0,t.jsx)("div",{className:"px-4 py-3 bg-amber-50 border border-amber-200 rounded-lg",children:(0,t.jsx)("p",{className:"text-amber-700 text-sm font-sans",children:v.message||"Audio generation is disabled in demo mode. Connect your OpenRouter API key to enable real audio output."})}):null,(0,t.jsxs)("div",{className:"flex items-center gap-4 text-xs text-[#9C9590] font-sans",children:[(0,t.jsxs)("span",{children:["Provider: ",v.provider]}),(0,t.jsxs)("span",{children:["Model: ",v.model]})]})]})]})]})})}let g=i("Headphones",[["path",{d:"M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3",key:"1xhozi"}]]),b=[{title:"Voice prototypes",description:"Turn product copy, onboarding scripts, and notification text into listenable voice drafts.",icon:i("MicVocal",[["path",{d:"m11 7.601-5.994 8.19a1 1 0 0 0 .1 1.298l.817.818a1 1 0 0 0 1.314.087L15.09 12",key:"80a601"}],["path",{d:"M16.5 21.174C15.5 20.5 14.372 20 13 20c-2.058 0-3.928 2.356-6 2-2.072-.356-2.775-3.369-1.5-4.5",key:"j0ngtp"}],["circle",{cx:"16",cy:"7",r:"5",key:"d08jfb"}]])},{title:"Support audio",description:"Generate concise spoken answers for help centers, chat flows, and multilingual support queues.",icon:g},{title:"Narration drafts",description:"Create podcast intros, course narration, and short-form voiceover concepts before studio recording.",icon:i("Podcast",[["path",{d:"M16.85 18.58a9 9 0 1 0-9.7 0",key:"d71mpg"}],["path",{d:"M8 14a5 5 0 1 1 8 0",key:"fc81rn"}],["circle",{cx:"12",cy:"11",r:"1",key:"1gvufo"}],["path",{d:"M13 17a1 1 0 1 0-2 0l.5 4.5a.5.5 0 1 0 1 0Z",key:"za5kbj"}]])},{title:"Realtime agents",description:"Pair GPT-Realtime-2 with chat workflows that need streamed transcript and audio output.",icon:i("Radio",[["path",{d:"M4.9 19.1C1 15.2 1 8.8 4.9 4.9",key:"1vaf9d"}],["path",{d:"M7.8 16.2c-2.3-2.3-2.3-6.1 0-8.5",key:"u1ii0m"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}],["path",{d:"M16.2 7.8c2.3 2.3 2.3 6.1 0 8.5",key:"1j5fej"}],["path",{d:"M19.1 4.9C23 8.8 23 15.1 19.1 19",key:"10b0cb"}]])},{title:"Creative testing",description:"Compare voice, tone, and pacing quickly without signing up before the first generation.",icon:p},{title:"Developer demos",description:"Use the OpenRouter model route to validate GPT Realtime 2 audio UX inside your own app shell.",icon:d}];function j(){return(0,t.jsx)("section",{className:"w-full border-b border-[rgba(55,50,47,0.12)] px-4 md:px-12 py-16 md:py-20",children:(0,t.jsxs)("div",{className:"mx-auto flex max-w-[960px] flex-col gap-10",children:[(0,t.jsxs)("div",{className:"max-w-[640px]",children:[(0,t.jsx)("div",{className:"mb-4 inline-flex items-center rounded-full border border-[rgba(55,50,47,0.10)] bg-white px-3 py-1 text-xs font-medium text-[#37322F] shadow-[0_0_0_4px_rgba(55,50,47,0.04)]",children:"Use cases"}),(0,t.jsx)("h2",{className:"text-3xl font-semibold leading-tight tracking-tight text-[#49423D] md:text-5xl",children:"Build audio workflows around GPT Realtime 2."}),(0,t.jsx)("p",{className:"mt-4 text-base leading-7 text-[#605A57]",children:"GPT-Realtime-2 is useful wherever teams need fast speech generation, transcript feedback, and a clear path from playground test to API integration."})]}),(0,t.jsx)("div",{className:"grid gap-4 md:grid-cols-2 lg:grid-cols-3",children:b.map(e=>{let s=e.icon;
1return(0,t.jsxs)("div",{className:"rounded-lg border border-[#E0DEDB] bg-white p-5 shadow-[0_1px_0_rgba(255,255,255,0.7)_inset]",children:[(0,t.jsx)("div",{className:"mb-4 flex h-9 w-9 items-center justify-center rounded-lg bg-[#37322F] text-white",children:(0,t.jsx)(s,{className:"h-4 w-4"})}),(0,t.jsx)("h3",{className:"text-base font-semibold text-[#49423D]",children:e.title}),(0,t.jsx)("p",{className:"mt-2 text-sm leading-6 text-[#605A57]",children:e.description})]},e.title)})})]})})}let y=i("FileAudio",[["path",{d:"M17.5 22h.5a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3",key:"rslqgf"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M2 19a2 2 0 1 1 4 0v1a2 2 0 1 1-4 0v-4a6 6 0 0 1 12 0v4a2 2 0 1 1-4 0v-1a2 2 0 1 1 4 0",key:"9f7x3i"}]]),v=[{title:"Write the prompt",description:"Paste the line, script, or product message you want GPT Realtime 2 to speak.",icon:i("MessageSquareText",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}],["path",{d:"M13 8H7",key:"14i4kc"}],["path",{d:"M17 12H7",key:"16if0g"}]])},{title:"Choose output",description:"Pick a voice and format, then send the request through the local /api/generate route.",icon:i("Settings2",[["path",{d:"M20 7h-9",key:"3s1dr2"}],["path",{d:"M14 17H5",key:"gfn3mx"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]])},{title:"Stream through OpenRouter",description:"When OPENROUTER_API_KEY is configured, the route calls openai/gpt-audio and collects PCM16 SSE chunks.",icon:i("WandSparkles",[["path",{d:"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72",key:"ul74o6"}],["path",{d:"m14 7 3 3",key:"1r5n42"}],["path",{d:"M5 6v4",key:"ilb8ba"}],["path",{d:"M19 14v4",key:"blhpug"}],["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M7 8H3",key:"zfb6yr"}],["path",{d:"M21 16h-4",key:"1cnmox"}],["path",{d:"M11 3H9",key:"1obp7u"}]])},{title:"Review audio",description:"Play the returned audio, inspect the transcript, and reuse the JSON response in your app.",icon:y}];function w(){return(0,t.jsx)("section",{className:"w-full border-b border-[rgba(55,50,47,0.12)] px-4 md:px-12 py-16 md:py-20",children:(0,t.jsxs)("div",{className:"mx-auto grid max-w-[960px] gap-10 lg:grid-cols-[0.85fr_1.15fr] lg:items-start",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"mb-4 inline-flex items-center rounded-full border border-[rgba(55,50,47,0.10)] bg-white px-3 py-1 text-xs font-medium text-[#37322F]",children:"Workflow"}),(0,t.jsx)("h2",{className:"text-3xl font-semibold leading-tight tracking-tight text-[#49423D] md:text-5xl",children:"From text to playable audio in one request."}),(0,t.jsx)("p",{className:"mt-4 text-base leading-7 text-[#605A57]",children:"The landing page stays honest in demo mode and becomes a real OpenRouter audio generator as soon as the production environment receives the private API key."})]}),(0,t.jsx)("div",{className:"grid gap-3",children:v.map((e,s)=>{let a=e.icon;return(0,t.jsxs)("div",{className:"flex gap-4 rounded-lg border border-[#E0DEDB] bg-white p-5",children:[(0,t.jsx)("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-lg bg-[#F7F5F3] text-[#37322F]",children:(0,t.jsx)(a,{className:"h-5 w-5"})}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"text-xs font-medium uppercase tracking-[0.12em] text-[#9C9590]",children:["Step ",s+1]}),(0,t.jsx)("h3",{className:"mt-1 text-base font-semibold text-[#49423D]",children:e.title}),(0,t.jsx)("p",{className:"mt-1 text-sm leading-6 text-[#605A57]",children:e.description})]})]},e.title)})})]})})}let N=[{name:"Demo",price:"$0",description:"For quick browser tests without registration.",features:["Prompt to transcript demo","Voice and format controls","No account gate","Clear demo-mode disclosure"]},{name:"OpenRouter",price:"Usage",description:"For real GPT Realtime 2 audio generation.",features:["openai/gpt-audio route","Server-side API key","Streaming audio chunks","Transcript plus audio JSON"],featured:!0},{name:"Production",price:"Custom",description:"For apps that need reliability controls.",features:["Rate limiting","Prompt templates","Usage logging","Fallback and error handling"]}];function k(){return(0,t.jsxs)("section",{className:"w-full flex flex-col justify-center items-center gap-2",children:[(0,t.jsx)("div",{className:"self-stretch px-6 md:px-24 py-12 md:py-16 border-b border-[rgba(55,50,47,0.12)] flex justify-center items-center gap-6",children:(0,t.jsxs)("div",{className:"w-full max-w-[640px] px-6 py-5 overflow-hidden rounded-lg flex flex-col justify-start items-center gap-4",children:[(0,t.jsx)("div",{className:"px-[14px] py-[6px] bg-white shadow-[0px_0px_0px_4px_rgba(55,50,47,0.05)] overflow-hidden rounded-[90px] flex justify-start items-center gap-[8px] border border-[rgba(2,6,23,0.08)]",children:(0,t.jsx)("span",{className:"text-center flex justify-center flex-col text-[#37322F] text-xs font-medium leading-3 font-sans",children:"Pricing and limits"})}),(0,t.jsx)("h2",{className:"self-stretch text-center flex justify-center flex-col text-[#49423D] text-3xl md:text-5xl font-semibold leading-tight md:leading-[60px] font-sans tracking-tight",children:"Start free, connect OpenRouter when ready."}),(0,t.jsx)("p",{className:"self-stretch text-center text-[#605A57] text-base font-normal leading-7 font-sans",children:"GPT-Realtime-2 demo mode costs nothing. Real audio generation is billed by your configured OpenRouter account and model route."})]})}),(0,t.jsx)("div",{className:"self-stretch border-b border-t border-[rgba(55,50,47,0.12)] flex justify-center items-center",children:(0,t.jsxs)("div",{className:"flex justify-center items-start w-full",children:[(0,t.jsx)("div",{className:"w-12 self
1-stretch relative overflow-hidden hidden md:block","aria-hidden":"true",children:(0,t.jsx)("div",{className:"w-[162px] left-[-58px] top-[-120px] absolute flex flex-col justify-start items-start",children:Array.from({length:120}).map((e,s)=>(0,t.jsx)("div",{className:"self-stretch h-4 rotate-[-45deg] origin-top-left outline outline-[0.5px] outline-[rgba(3,7,18,0.08)] outline-offset-[-0.25px]"},s))})}),(0,t.jsx)("div",{className:"flex-1 flex flex-col md:flex-row justify-center items-stretch gap-6 py-12 md:py-0",children:N.map(e=>(0,t.jsxs)("div",{className:`flex-1 max-w-full md:max-w-none self-stretch px-6 py-6 border overflow-hidden flex flex-col justify-between items-start gap-10 ${e.featured?"bg-[#37322F] border-[rgba(55,50,47,0.12)] text-[#F0EFEE]":"bg-white border-[#E0DEDB] text-[#37322F]"}`,children:[(0,t.jsxs)("div",{className:"self-stretch flex flex-col gap-8",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:`text-lg font-medium leading-7 font-sans ${e.featured?"text-[#FBFAF9]":"text-[rgba(55,50,47,0.90)]"}`,children:e.name}),(0,t.jsx)("p",{className:`mt-2 max-w-[260px] text-sm font-normal leading-5 font-sans ${e.featured?"text-[#B2AEA9]":"text-[rgba(41,37,35,0.70)]"}`,children:e.description})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:`text-5xl font-medium leading-[60px] font-serif ${e.featured?"text-[#F0EFEE]":"text-[#37322F]"}`,children:e.price}),(0,t.jsx)("div",{className:`text-sm font-medium font-sans ${e.featured?"text-[#D2C6BF]":"text-[#847971]"}`,children:"OpenRouter"===e.name?"provider billing":"site experience"})]})]}),(0,t.jsx)("div",{className:"self-stretch flex flex-col justify-start items-start gap-2",children:e.features.map(s=>(0,t.jsxs)("div",{className:"self-stretch flex justify-start items-center gap-[13px]",children:[(0,t.jsx)("span",{className:`h-4 w-4 rounded-full border ${e.featured?"border-[#FFB36A]":"border-[#B8B0AA]"}`}),(0,t.jsx)("span",{className:`flex-1 text-[12.5px] font-normal leading-5 font-sans ${e.featured?"text-[#F0EFEE]":"text-[rgba(55,50,47,0.80)]"}`,children:s})]},s))})]},e.name))}),(0,t.jsx)("div",{className:"w-12 self-stretch relative overflow-hidden hidden md:block","aria-hidden":"true",children:(0,t.jsx)("div",{className:"w-[162px] left-[-58px] top-[-120px] absolute flex flex-col justify-start items-start",children:Array.from({length:120}).map((e,s)=>(0,t.jsx)("div",{className:"self-stretch h-4 rotate-[-45deg] origin-top-left outline outline-[0.5px] outline-[rgba(3,7,18,0.08)] outline-offset-[-0.25px]"},s))})})]})})]})}let F=[{question:"What is GPT Realtime 2?",answer:"GPT Realtime 2 is the product experience on this site for testing OpenRouter's openai/gpt-audio route through a no-registration browser playground and a private server API."},{question:"Is GPT-Realtime-2 connected to real audio generation?",answer:"Yes when OPENROUTER_API_KEY is configured on the server. Without that private environment variable, the playground returns a clearly marked demo response instead of pretending to generate real audio."},{question:"Which model does the API route use?",answer:"The production route calls OpenRouter's OpenAI-compatible chat completions endpoint with model openai/gpt-audio, streaming enabled, text plus audio modalities, and PCM16 audio output wrapped as WAV for playback."},{question:"Do I need an account to try the playground?",answer:"No. The first-screen playground can be used without registration. Production usage still depends on the site's configured OpenRouter key and provider availability."},{question:"Where should the OpenRouter API key live?",answer:"Keep it only in server-side environment variables such as OPENROUTER_API_KEY in Vercel or a local .env.local file that is excluded from Git and deployments."},{question:"Can I use GPT Realtime 2 from my own app?",answer:"Yes. The /api/generate response is JSON with transcript, audioBase64, audioMimeType, provider, model, and demo fields, so it can be adapted into your own voice UI."}];function A({className:e}){return(0,t.jsx)("svg",{className:e,width:"24",height:"24",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:(0,t.jsx)("path",{d:"m6 9 6 6 6-6",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}
1function P(){let[e,a]=(0,s.useState)([0]);return(0,t.jsx)("section",{className:"w-full flex justify-center items-start",children:(0,t.jsxs)("div",{className:"flex-1 px-4 md:px-12 py-16 md:py-20 flex flex-col lg:flex-row justify-start items-start gap-8 lg:gap-12",children:[(0,t.jsxs)("div",{className:"w-full lg:flex-1 flex flex-col justify-center items-start gap-4 lg:py-5",children:[(0,t.jsx)("h2",{className:"w-full text-[#49423D] font-semibold leading-tight md:leading-[44px] font-sans text-4xl tracking-tight",children:"GPT Realtime 2 FAQ"}),(0,t.jsx)("p",{className:"w-full text-[#605A57] text-base font-normal leading-7 font-sans",children:"Clear answers about GPT-Realtime-2, demo mode, OpenRouter setup, and the audio API."})]}),(0,t.jsx)("div",{className:"w-full lg:flex-1 flex flex-col justify-center items-center",children:(0,t.jsx)("div",{className:"w-full flex flex-col",children:F.map((s,r)=>{let l=e.includes(r);return(0,t.jsxs)("div",{className:"w-full border-b border-[rgba(73,66,61,0.16)] overflow-hidden",children:[(0,t.jsxs)("button",{onClick:()=>{a(e=>e.includes(r)?e.filter(e=>e!==r):[...e,r])},className:"w-full px-5 py-[18px] flex justify-between items-center gap-5 text-left hover:bg-[rgba(73,66,61,0.02)] transition-colors duration-200","aria-expanded":l,children:[(0,t.jsx)("span",{className:"flex-1 text-[#49423D] text-base font-medium leading-6 font-sans",children:s.question}),(0,t.jsx)(A,{className:`w-6 h-6 text-[rgba(73,66,61,0.60)] transition-transform duration-300 ease-in-out ${l?"rotate-180":"rotate-0"}`})]}),(0,t.jsx)("div",{className:`overflow-hidden transition-all duration-300 ease-in-out ${l?"max-h-96 opacity-100":"max-h-0 opacity-0"}`,children:(0,t.jsx)("div",{className:"px-5 pb-[18px] text-[#605A57] text-sm font-normal leading-6 font-sans",children:s.answer})})]},s.question)})})})]})})}let E=i("CodeXml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]]),_=i("KeyRound",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]),R=i("RadioTower",[["path",{d:"M4.9 16.1C1 12.2 1 5.8 4.9 1.9",key:"s0qx1y"}],["path",{d:"M7.8 4.7a6.14 6.14 0 0 0-.8 7.5",key:"1idnkw"}],["circle",{cx:"12",cy:"9",r:"2",key:"1092wv"}],["path",{d:"M16.2 4.8c2 2 2.26 5.11.8 7.47",key:"ojru2q"}],["path",{d:"M19.1 1.9a9.96 9.96 0 0 1 0 14.1",key:"rhi7fg"}],["path",{d:"M9.5 18h5",key:"mfy3pd"}],["path",{d:"m8 22 4-11 4 11",key:"25yftu"}]]);function D(){let e=`POST /api/generate 2{ 3 "prompt": "Welcome to GPT Realtime 2.", 4 "voice": "alloy", 5 "format": "wav" 6}`;return(0,t.jsx)("section",{className:"w-full border-b border-[rgba(55,50,47,0.12)] px-4 md:px-12 py-16 md:py-20",children:(0,t.jsxs)("div",{className:"mx-auto grid max-w-[960px] gap-8 lg:grid-cols-2 lg:items-stretch",children:[(0,t.jsxs)("div",{className:"flex flex-col justify-between rounded-lg border border-[#E0DEDB] bg-[#37322F] p-6 text-white",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"mb-4 inline-flex items-center gap-2 rounded-full bg-white/10 px-3 py-1 text-xs font-medium",children:[(0,t.jsx)(E,{className:"h-3.5 w-3.5"}),"Developer API"]}),(0,t.jsx)("h2",{className:"text-3xl font-semibold leading-tight tracking-tight md:text-5xl",children:"A small route you can inspect and extend."}),(0,t.jsx)("p",{className:"mt-4 text-sm leading-6 text-[#D8D2CC]",children:"The public UI talks to a server route that keeps the OpenRouter key private. The route returns transcript, base64 audio, MIME type, provider, model, and demo state."})]}),(0,t.jsx)("pre",{className:"mt-8 overflow-x-auto rounded-lg bg-black/20 p-4 text-xs leading-6 text-[#F7F5F3]",children:(0,t.jsx)("code",{children:e})})]}),(0,t.jsxs)("div",{className:"grid gap-4",children:[(0,t.jsxs)("div",{className:"rounded-lg border border-[#E0DEDB] bg-white p-5",children:[(0,t.jsx)("div",{className:"mb-4 flex h-9 w-9 items-center justify-center rounded-lg bg-[#F7F5F3] text-[#37322F]",children:(0,t.jsx)(_,{className:"h-4 w-4"})}),(0,t.jsx)("h3",{className:"text-base font-semibold text-[#49423D]",children:"Private key handling"}),(0,t.jsx)("p",{className:"mt-2 text-sm leading-6 text-[#605A57]",children:"Set OPENROUTER_API_KEY only in local or Vercel environment variables. It is never needed in browser code."})]}
6),(0,t.jsxs)("div",{className:"rounded-lg border border-[#E0DEDB] bg-white p-5",children:[(0,t.jsx)("div",{className:"mb-4 flex h-9 w-9 items-center justify-center rounded-lg bg-[#F7F5F3] text-[#37322F]",children:(0,t.jsx)(R,{className:"h-4 w-4"})}),(0,t.jsx)("h3",{className:"text-base font-semibold text-[#49423D]",children:"Streaming audio response"}),(0,t.jsx)("p",{className:"mt-2 text-sm leading-6 text-[#605A57]",children:"The OpenRouter request uses model openai/gpt-audio with text and audio modalities, streams PCM16 chunks, then wraps the response as WAV for browser playback."})]})]})]})})}function T(){return(0,t.jsx)("section",{className:"w-full relative overflow-hidden flex flex-col justify-center items-center gap-2",children:(0,t.jsxs)("div",{className:"self-stretch px-6 md:px-24 py-12 border-t border-b border-[rgba(55,50,47,0.12)] flex justify-center items-center gap-6 relative z-10",children:[(0,t.jsx)("div",{className:"absolute inset-0 w-full h-full overflow-hidden","aria-hidden":"true",children:(0,t.jsx)("div",{className:"w-full h-full relative",children:Array.from({length:220}).map((e,s)=>(0,t.jsx)("div",{className:"absolute h-4 w-full rotate-[-45deg] origin-top-left outline outline-[0.5px] outline-[rgba(3,7,18,0.08)] outline-offset-[-0.25px]",style:{top:`${16*s-120}px`,left:"-100%",width:"300%"}},s))})}),(0,t.jsxs)("div",{className:"w-full max-w-[620px] px-6 py-8 overflow-hidden rounded-lg flex flex-col justify-start items-center gap-6 relative z-20",children:[(0,t.jsxs)("div",{className:"self-stretch flex flex-col justify-start items-start gap-3",children:[(0,t.jsx)("h2",{className:"self-stretch text-center flex justify-center flex-col text-[#49423D] text-3xl md:text-5xl font-semibold leading-tight md:leading-[56px] font-sans tracking-tight",children:"Try GPT Realtime 2 audio now."}),(0,t.jsx)("p",{className:"self-stretch text-center text-[#605A57] text-base leading-7 font-sans font-medium",children:"Generate a demo transcript instantly, then add OPENROUTER_API_KEY to enable GPT-Realtime-2 audio output."})]}),(0,t.jsx)("a",{href:"#playground",className:"h-10 px-12 py-[6px] relative bg-[#37322F] shadow-[0px_0px_0px_2.5px_rgba(255,255,255,0.08)_inset] overflow-hidden rounded-full flex justify-center items-center cursor-pointer hover:bg-[#2A2520] transition-colors",children:(0,t.jsx)("span",{className:"flex flex-col justify-center text-white text-[13px] font-medium leading-5 font-sans",children:"Open playground"})})]})]})})}let M=[{label:"Playground",href:"#playground"},{label:"Use Cases",href:"#use-cases"},{label:"Pricing",href:"#pricing"},{label:"Docs",href:"#developers"},{label:"FAQ",href:"#faq"}];function C(){return(0,t.jsxs)("footer",{className:"w-full pt-10 flex flex-col justify-start items-start",children:[(0,t.jsxs)("div",{className:"self-stretch h-auto flex flex-col md:flex-row justify-between items-stretch pr-0 pb-8 pt-0",children:[(0,t.jsxs)("div",{className:"h-auto p-4 md:p-8 flex flex-col justify-start items-start gap-5",children:[(0,t.jsxs)("div",{className:"self-stretch flex justify-start items-center gap-3",children:[(0,t.jsx)("img",{src:"/brand/logo-brand.png",alt:"",className:"h-8 w-8 rounded-lg object-cover shadow-[0_0_0_1px_rgba(55,50,47,0.12)]"}),(0,t.jsx)("div",{className:"text-center text-[#49423D] text-xl font-semibold leading-4 font-sans",children:"GPT Realtime 2"})]}),(0,t.jsx)("p",{className:"max-w-[360px] text-[rgba(73,66,61,0.90)] text-sm font-medium leading-6 font-sans",children:"A no-registration GPT-Realtime-2 audio playground with an OpenRouter-ready server route."})]}),(0,t.jsx)("nav",{className:"self-stretch p-4 md:p-8 flex flex-wrap justify-start md:justify-end items-start gap-3 md:gap-4",children:M.map(e=>(0,t.jsx)("a",{href:e.href,className:"rounded-full border border-[rgba(55,50,47,0.10)] bg-white px-4 py-2 text-[#49423D] text-sm font-normal leading-5 font-sans hover:text-[#37322F] transition-colors",children:e.label},e.href))})]}),(0,t.jsx)("div",{className:"self-stretch h-12 relative overflow-hidden border-t border-b border-[rgba(55,50,47,0.12)]",children:(0,t.jsx)("div",{className:"absolute inset-0 w-full h-full overflow-hidden","aria-hidden":"true",children:(0,t.jsx)("div",{className:"w-full h-full relative",children:Array.from({length:160}).map((e,s)=>(0,t.jsx)("div",{className:"absolute w-[300px] h-16 border border-[rgba(3,7,18,0.08)]",style:{left:`${300*s-600}px`,top:"-120px",transform:"rotate(-45deg)",transformOrigin:"top left"}},s))})})})]})}let O=i("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),S=i("Menu",[["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}],["line",{x1:"4",x2:"20",y1:"6",y2:"6",key:"1owob3"}],["line",{x1:"4",x2:"20",y1:"18",y2:"18",key:"yk5zj1"}]]),I=i("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}
6],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);function G({icon:e,text:s}){return(0,t.jsxs)("div",{className:"px-[14px] py-[6px] bg-white shadow-[0px_0px_0px_4px_rgba(55,50,47,0.05)] overflow-hidden rounded-[90px] flex justify-start items-center gap-[8px] border border-[rgba(2,6,23,0.08)] shadow-xs",children:[(0,t.jsx)("div",{className:"w-[14px] h-[14px] relative overflow-hidden flex items-center justify-center",children:e}),(0,t.jsx)("div",{className:"text-center flex justify-center flex-col text-[#37322F] text-xs font-medium leading-3 font-sans",children:s})]})}function q({title:e,description:s,icon:a,isActive:r,progress:l,onClick:i}){return(0,t.jsx)("div",{onClick:i,className:`flex-1 min-w-[200px] px-4 md:px-6 py-5 cursor-pointer transition-all duration-300 border-l border-r border-[rgba(55,50,47,0.12)] md:border-l-0 md:first:border-l first:border-l ${r?"bg-white":"bg-transparent hover:bg-white/50"}`,children:(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsx)("div",{className:"w-full h-0.5 bg-[rgba(50,45,43,0.08)] overflow-hidden rounded-full",children:(0,t.jsx)("div",{className:"h-full bg-[#37322F] transition-all duration-100 ease-linear",style:{width:r?`${l}%`:"0%"}})}),(0,t.jsxs)("div",{className:"flex items-start gap-3",children:[(0,t.jsx)("div",{className:"w-8 h-8 bg-[#37322F]/5 rounded-lg flex items-center justify-center flex-shrink-0",children:a}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-[#49423D] text-sm font-semibold leading-6 font-sans",children:e}),(0,t.jsx)("p",{className:"text-[#605A57] text-[13px] font-normal leading-[22px] font-sans",children:s})]})]})]})})}
6e.s(["default",0,function(){let[e,a]=(0,s.useState)(0),[r,l]=(0,s.useState)(0),[i,o]=(0,s.useState)(!1),c=(0,s.useRef)(!0);(0,s.useEffect)(()=>{let e=setInterval(()=>{c.current&&l(e=>e>=100?(c.current&&a(e=>(e+1)%3),0):e+2)},100);return()=>{clearInterval(e),c.current=!1}},[]),(0,s.useEffect)(()=>()=>{c.current=!1},[]);let x=[{title:"Natural voices",description:"Six distinct AI voices with human-like intonation and emotion.",icon:(0,t.jsx)(d,{className:"w-4 h-4 text-[#37322F]"})},{title:"Instant generation",description:"Streaming audio responses with transcript feedback.",icon:(0,t.jsx)(O,{className:"w-4 h-4 text-[#37322F]"})},{title:"Developer ready",description:"Simple REST API with SDKs for every major language.",icon:(0,t.jsx)(E,{className:"w-4 h-4 text-[#37322F]"})}];return(0,t.jsx)("div",{className:"w-full min-h-screen relative bg-[#F7F5F3] overflow-x-hidden flex flex-col justify-start items-center",children:(0,t.jsx)("div",{className:"relative flex flex-col justify-start items-center w-full",children:(0,t.jsxs)("div",{className:"w-full max-w-none px-4 sm:px-6 md:px-8 lg:px-0 lg:max-w-[1060px] lg:w-[1060px] relative flex flex-col justify-start items-start min-h-screen",children:[(0,t.jsx)("div",{className:"w-[1px] h-full absolute left-4 sm:left-6 md:left-8 lg:left-0 top-0 bg-[rgba(55,50,47,0.12)] shadow-[1px_0px_0px_white] z-0"}),(0,t.jsx)("div",{className:"w-[1px] h-full absolute right-4 sm:right-6 md:right-8 lg:right-0 top-0 bg-[rgba(55,50,47,0.12)] shadow-[1px_0px_0px_white] z-0"}),(0,t.jsxs)("div",{className:"self-stretch pt-[9px] overflow-hidden border-b border-[rgba(55,50,47,0.06)] flex flex-col justify-center items-center gap-4 sm:gap-6 md:gap-8 lg:gap-[66px] relative z-10",children:[(0,t.jsxs)("div",{className:"w-full h-12 sm:h-14 md:h-16 lg:h-[84px] absolute left-0 top-0 flex justify-center items-center z-20 px-6 sm:px-8 md:px-12 lg:px-0",children:[(0,t.jsx)("div",{className:"w-full h-0 absolute left-0 top-6 sm:top-7 md:top-8 lg:top-[42px] border-t border-[rgba(55,50,47,0.12)] shadow-[0px_1px_0px_white]"}),(0,t.jsxs)("div",{className:"w-full max-w-[calc(100%-32px)] sm:max-w-[calc(100%-48px)] md:max-w-[calc(100%-64px)] lg:max-w-[700px] lg:w-[700px] h-10 sm:h-11 md:h-12 py-1.5 sm:py-2 px-3 sm:px-4 md:px-4 pr-2 sm:pr-3 bg-[#F7F5F3] backdrop-blur-sm shadow-[0px_0px_0px_2px_white] overflow-hidden rounded-[50px] flex justify-between items-center relative z-30",children:[(0,t.jsxs)("div",{className:"flex justify-center items-center",children:[(0,t.jsxs)("div",{className:"flex justify-start items-center gap-1",children:[(0,t.jsx)("img",{src:"/brand/logo-brand.png",alt:"",className:"w-7 h-7 rounded-lg object-cover shadow-[0_0_0_1px_rgba(55,50,47,0.12)]"}),(0,t.jsx)("div",{className:"flex flex-col justify-center text-[#2F3037] text-sm sm:text-base md:text-lg font-semibold leading-5 font-sans",children:"GPT Realtime 2"})]}),(0,t.jsxs)("div",{className:"pl-3 sm:pl-4 md:pl-5 lg:pl-5 hidden sm:flex flex-row gap-2 sm:gap-3 md:gap-4 lg:gap-4",children:[(0,t.jsx)("a",{href:"#use-cases",className:"flex justify-start items-center",children:(0,t.jsx)("div",{className:"flex flex-col justify-center text-[rgba(49,45,43,0.80)] text-xs md:text-[13px] font-medium leading-[14px] font-sans hover:text-[#37322F] transition-colors",children:"Use Cases"})}),(0,t.jsx)("a",{href:"#pricing",className:"flex justify-start items-center",children:(0,t.jsx)("div",{className:"flex flex-col justify-center text-[rgba(49,45,43,0.80)] text-xs md:text-[13px] font-medium leading-[14px] font-sans hover:text-[#37322F] transition-colors",children:"Pricing"})}),(0,t.jsx)("a",{href:"#developers",className:"flex justify-start items-center",children:(0,t.jsx)("div",{className:"flex flex-col justify-center text-[rgba(49,45,43,0.80)] text-xs md:text-[13px] font-medium leading-[14px] font-sans hover:text-[#37322F] transition-colors",children:"Docs"})})]})]}),(0,t.jsxs)("div",{className:"h-6 sm:h-7 md:h-8 flex justify-start items-start gap-2 sm:gap-3",children:[(0,t.jsx)("a",{href:"#playground",className:"px-2 sm:px-3 md:px-[14px] py-1 sm:py-[6px] bg-[#37322F] shadow-[0px_1px_2px_rgba(55,50,47,0.12)] overflow-hidden rounded-full flex justify-center items-center hover:bg-[#2A2520] transition-colors",children:(0,t.jsx)("div",{className:"flex flex-col justify-center text-white text-xs md:text-[13px] font-medium leading-5 font-sans",children:"Try it free"})}),(0,t.jsx)("button",{onClick:()=>o(!i),className:"sm:hidden w-8 h-8 flex items-center justify-center",children:i?(0,t.jsx)(I,{className:"w-5 h-5 text-[#37322F]"}):(0,t.jsx)(S,{className:"w-5 h-5 text-[#37322F]"})})]})]})]}),i&&(0,t.jsx)("div",{className:"sm:hidden fixed inset-0 top-16 bg-[#F7F5F3] z-50 px-6 py-8",children:(0,t.jsxs)("nav",{className:"flex flex-col gap-4",children:[(0,t.jsx)("a",{href:"#use-cases",onClick:()=>o(!1),className:"text-[#37322F] text-lg font-medium py-2 border-b border-[rgba(55,50,47,0.12)]",children:"Use Cases"}),(0,t.jsx)("a",{href:"#pricing",onClick:()=>o(!1),className:"text-[#37322F] text-lg font-medium py-2 border-b border-[rgba(55,50,47,0.12)]",children:"Pricing"}),(0,t.jsx)("a",{href:"#developers",onClick:()=>o(!1),className:"text-[#37322F] text-lg font-medium py-2 border-b border-[rgba(55,50,47,0.12)]",children:"Docs"}),(0,t.jsx)("a",{href:"#faq",onClick:()=>o(!1),className:"text-[#37322F] text-lg font-medium py-2 border-b border-[rgba(55,50,47,0.12)]",children:"FAQ"})]})}),(0,t.jsxs)("div",{className:"pt-16 sm:pt-20 md:pt-24 lg:pt-[160px] pb-8 sm:pb-12 md:pb-16 flex flex-col justify-start items-center px-2 sm:px-4 md:px-8 lg:px-0 w-full",children:[(0,t.jsx)("div",{className:"w-full max-w-[937px] lg:w-[937px] flex flex-col justify-center items-center gap-3 sm:gap-4 md:gap-5 lg:gap-6",children:(0,t.jsxs)("div",{className:"self-stretch rounded-[3px] flex flex-col justify-center items-center gap-4 sm:gap-5 md:gap-6 lg:gap-8",children:[(0,t.jsx)(G,{icon:(0,t.jsx)(n,{className:"w-3 h-3 text-[#37322F]"}),text:"AI Audio Generation"}),(0,t.jsx)("h1",{className:"w-full max-w-[748.71px] lg:w-[748.71px] text-center text-[#37322F] text-[24px] xs:text-[28px] sm:text-[36px] md:text-[52px] lg:text-[72px] font-normal leading-[1.1] sm:leading-[1.15] md:leading-[1.1] font-serif px-2 sm:px-4 md:px-0 text-balance",children:"GPT Realtime 2: Instant AI Audio Generation"}),(0,t.jsx)("p",{className:"w-full max-w-[560px] text-center text-[rgba(55,50,47,0.80)] sm:text-lg md:text-xl leading-[1.4] sm:leading-[1.45] md:leading-[1.5] lg:leading-7 font-sans px-2 sm:px-4 md:px-0 lg:text-lg font-medium text-sm text-pretty",children:"Transform text into natural-sounding speech with a no-registration playground. GPT-Realtime-2 streams transcript and audio responses through an OpenRouter-ready API route."})]})}),(0,t.jsx)("div",{className:"absolute top-[232px] sm:top-[248px] md:top-[264px] lg:top-[280px] left-1/2 transform -translate-x-1/2 z-0 pointer-events-none",children:(0,t.jsx)("img",{src:"/mask-group-pattern.svg",alt:"",className:"w-[936px] sm:w-[1404px] md:w-[2106px] lg:w-[2808px] h-auto opacity-30 sm:opacity-40 md:opacity-50 mix-blend-multiply",style:{filter:"hue-rotate(15deg) saturate(0.7) brightness(1.2)"}})}),(0,t.jsx)("div",{id:"playground",className:"w-full max-w-[960px] pt-8 sm:pt-10 md:pt-12 relative z-10",children:(0,t.jsx)(u,{})}
6),(0,t.jsxs)("div",{className:"self-stretch border-t border-[#E0DEDB] border-b border-[#E0DEDB] flex justify-center items-start mt-12 sm:mt-16",children:[(0,t.jsx)("div",{className:"w-4 sm:w-6 md:w-8 lg:w-12 self-stretch relative overflow-hidden",children:(0,t.jsx)("div",{className:"w-[120px] sm:w-[140px] md:w-[162px] left-[-40px] sm:left-[-50px] md:left-[-58px] top-[-120px] absolute flex flex-col justify-start items-start",children:Array.from({length:50}).map((e,s)=>(0,t.jsx)("div",{className:"self-stretch h-3 sm:h-4 rotate-[-45deg] origin-top-left outline outline-[0.5px] outline-[rgba(3,7,18,0.08)] outline-offset-[-0.25px]"},s))})}),(0,t.jsx)("div",{className:"flex-1 px-0 sm:px-2 md:px-0 flex flex-col md:flex-row justify-center items-stretch gap-0",children:x.map((s,i)=>(0,t.jsx)(q,{title:s.title,description:s.description,icon:s.icon,isActive:e===i,progress:e===i?r:0,onClick:()=>{c.current&&(a(i),l(0))}},i))}),(0,t.jsx)("div",{className:"w-4 sm:w-6 md:w-8 lg:w-12 self-stretch relative overflow-hidden",children:(0,t.jsx)("div",{className:"w-[120px] sm:w-[140px] md:w-[162px] left-[-40px] sm:left-[-50px] md:left-[-58px] top-[-120px] absolute flex flex-col justify-start items-start",children:Array.from({length:50}).map((e,s)=>(0,t.jsx)("div",{className:"self-stretch h-3 sm:h-4 rotate-[-45deg] origin-top-left outline outline-[0.5px] outline-[rgba(3,7,18,0.08)] outline-offset-[-0.25px]"},s))})})]})]})]}),(0,t.jsx)("div",{id:"use-cases",children:(0,t.jsx)(j,{})}),(0,t.jsx)(w,{}),(0,t.jsx)("div",{id:"pricing",children:(0,t.jsx)(k,{})}),(0,t.jsx)("div",{id:"developers",children:(0,t.jsx)(D,{})}),(0,t.jsx)("div",{id:"faq",children:(0,t.jsx)(P,{})}),(0,t.jsx)(T,{}),(0,t.jsx)(C,{})]})})})}],31713)}]);
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.