1<!DOCTYPE html><html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="color-scheme" content="dark"><meta name="description" content="The AI music video app that works on desktop, tablet, and mobile. Create, edit, and share music videos from anywhere. Download One More Shot AI and start creating."><meta name="author" content="One More Shot AI"><meta name="theme-color" content="#0a0a0a"><meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1"><link rel="canonical" href="https://www.onemoreshot.ai/ai-music-video-app/"><link rel="alternate" type="text/markdown" href="https://www.onemoreshot.ai/ai-music-video-app.md" title="Markdown version of this page"><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link rel="preconnect" href="https://firebasestorage.googleapis.com"><link rel="dns-prefetch" href="https://cs.iubenda.com"><link rel="dns-prefetch" href="https://cdn.iubenda.com"><link rel="dns-prefetch" href="https://www.googletagmanager.com"><link rel="dns-prefetch" href="https://connect.facebook.net"><link rel="dns-prefetch" href="https://n.krnl.ai"><link rel="dns-prefetch" href="https://analytics.tiktok.com"><link rel="dns-prefetch" href="https://s.axon.ai"><link rel="dns-prefetch" href="https://res4.applovin.com"><link rel="dns-prefetch" href="https://bzrcdn.openai.com"><link rel="preload" href="https://fonts.googleapis.com/css2?family=Inter+Tight:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700;800&display=swap" as="style" onload="this.onload=null;this.rel='stylesheet'"><noscript><link href="https://fonts.googleapis.com/css2?family=Inter+Tight:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet"></noscript><link rel="preload" href="https://firebasestorage.googleapis.com/v0/b/photographer-dv8f47.firebasestorage.app/o/assets%2Flanding-video-thumb-small.jpg?alt=media&token=e534fd9a-032b-4ffa-ba97-40807226903d" as="image" fetchpriority="high"><meta property="og:type" content="website"><meta property="og:site_name" content="One More Shot AI"><meta property="og:title" content="AI Music Video App â Create Anywhere, Studio Quality | One More Shot AI"><meta property="og:description" content="The AI music video app that works on desktop, tablet, and mobile. Create, edit, and share music videos from anywhere. Download One More Shot AI and start creating."><meta property="og:url" content="https://www.onemoreshot.ai/ai-music-video-app/"><meta property="og:image" content="https://www.onemoreshot.ai/og-image.jpg"><meta property="og:image:alt" content="One More Shot AI â AI Music Video Generator"><meta property="og:image:width" content="1200"><meta property="og:image:height" content="630"><meta property="og:image:type" content="image/jpeg"><meta property="og:locale" content="en_US"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="AI Music Video App â Create Anywhere, Studio Quality | One More Shot AI"><meta name="twitter:description" content="The AI music video app that works on desktop, tablet, and mobile. Create, edit, and share music videos from anywhere. Download One More Shot AI and start creating."><meta name="twitter:image" content="https://www.onemoreshot.ai/og-image.jpg"><meta name="twitter:image:alt" content="One More Shot AI â AI Music Video Generator"><link rel="icon" type="image/x-icon" href="/favicon.ico?v=2" sizes="48x48"><link rel="icon" type="image/png" href="/favicon.png?v=2" sizes="48x48"><link rel="apple-touch-icon" href="/favicon.png" sizes="180x180"><title>AI Music Video App â Create Anywhere, Studio Quality | One More Shot AI</title>
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"WebSite","name":"One More Shot AI","alternateName":["1 More Shot","1 More Shot AI","1MS","1moreshot ai","onemoreshot ai","onemoreshot","AI Music Video Creator"],"url":"https://www.onemoreshot.ai","description":"Create professional AI music videos in minutes with perfect lip-sync, multiple formats, and instant HD export.","inLanguage":"en-US","publisher":{"@type":"Organization","@id":"https://www.onemoreshot.ai/#organization"}}</script>
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","@id":"https://www.onemoreshot.ai/#organization","name":"One More Shot AI","alternateName":["1 More Shot","1 More Shot AI","1MS","1moreshot ai","onemoreshot ai","onemoreshot"],"url":"https://www.onemoreshot.ai","logo":{"@type":"ImageObject","url":"https://www.onemoreshot.ai/favicon.png","width":512,"height":512},"sameAs":["https://apps.apple.com/us/app/ai-music-video-generator-1ms/id6744976219","https://play.google.com/store/apps/details?id=ai.krnl.onemoreshot&hl=en","https://www.instagram.com/onemoreshot.ai/","https://www.youtube.com/@onemoreshot-ai","https://discord.com/invite/CG7Zvuupmh","https://www.linkedin.com/company/krnl/"],"contactPoint":{"@type":"ContactPoint","contactType":"customer support","url":"https://www.onemoreshot.ai"}}</script>
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"SoftwareApplication","name":"One More Shot AI","description":"AI-powered music video creator that transforms your music into stunning visual experiences with perfect lip-sync and multiple format options.","applicationCategory":"MultimediaApplication","operatingSystem":"Web, iOS, Android","url":"https://www.onemoreshot.ai","downloadUrl":"https://apps.apple.com/us/app/ai-music-video-generator-1ms/id6744976219","offers":{"@type":"Offer","price":"0","priceCurrency":"USD","availability":"https://schema.org/InStock"},"aggregateRating":{"@type":"AggregateRating","ratingValue":"4.8","ratingCount":"1250","bestRating":"5","worstRating":"1"},"publisher":{"@type":"Organization","@id":"https://www.onemoreshot.ai/#organization"}}</script>
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"Is the app available on iOS and Android?","acceptedAnswer":{"@type":"Answer","text":"One More Shot AI is a web-based app that works on any device with a modern browser â desktop, iOS, Android, and tablets. No download required."}},{"@type":"Question","name":"Can I create a full music video from my phone?","acceptedAnswer":{"@type":"Answer","text":"Yes. The entire workflow â uploading audio, choosing a style, generating the video, and exporting â works seamlessly on mobile. Cloud rendering handles all the processing."}},{"@type":"Question","name":"Does the app require a powerful device?","acceptedAnswer":{"@type":"Answer","text":"No. All rendering happens on cloud servers. Your device just needs to run a modern web browser. Even older phones and tablets work perfectly."}},{"@type":"Question","name":"Can I start a project on my phone and finish it on desktop?","acceptedAnswer":{"@type":"Answer","text":"Yes. Your projects sync across devices. Start on your commute, refine on your laptop, and export from wherever you are."}},{"@type":"Question","name":"What does the free tier include?","acceptedA
1nswer":{"@type":"Answer","text":"The free tier lets you generate videos with a watermark and standard resolution. Paid plans unlock watermark-free exports, 4K resolution, and additional styles."}},{"@type":"Question","name":"How does the app handle storage and project management?","acceptedAnswer":{"@type":"Answer","text":"All projects are stored in the cloud with your account. You can organize, rename, and revisit any project at any time without worrying about local storage."}}]}</script>
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://www.onemoreshot.ai"},{"@type":"ListItem","position":2,"name":"AI Music Video App","item":"https://www.onemoreshot.ai/ai-music-video-app/"}]}</script>
1<!-- Rewardful affiliate tracking (must load on every page) -->
1<script>(function(w,r){w._rwq=r;w[r]=w[r]||function(){(w[r].q=w[r].q||[]).push(arguments)}})(window,'rewardful');</script>
1<script async src="https://r.wdfl.co/rw.js" data-rewardful="780f8c"></script>
1<!-- Lightweight stub: queues events + captures attribution cookies before analytics load -->
1<script> 2 window._tq=[]; 3 window.trackEvent=function(n,p){window._tq.push([n,p||{}])}; 4 (function(){ 5 var ps=new URLSearchParams(location.search), 6 dm=location.hostname.split('.').slice(-2).join('.'); 7 function sc(n,v,dy){var e=new Date;e.setTime(e.getTime()+(dy||30)*864e5);document.cookie=n+'='+v+';expires='+e.toUTCString()+';path=/;domain=.'+dm+';SameSite=Lax'} 8 var f=ps.get('fbclid'),t=ps.get('ttclid'); 9 if(f){var sub=Math.max(0,location.hostname.split('.').length-2);sc('_fbc','fb.'+sub+'.'+Date.now()+'.'+f,90);sc('fbclid',f,90)} 10 if(t)sc('ttclid',t,90); 11 // Google click IDs: persist like fbclid/ttclid so attribution survives 12 // internal navigation (the URL is the only carrier into the app handoff). 13 var g=ps.get('gclid'),wb=ps.get('wbraid'),gb=ps.get('gbraid'); 14 if(g)sc('gclid',g,90); 15 if(wb)sc('wbraid',wb,90); 16 if(gb)sc('gbraid',gb,90); 17 // ChatGPT Ads click id (oppref): persist like the other click ids so 18 // it survives internal navigation and reaches the app handoff even 19 // when the oaiq pixel hasn't loaded yet (consent pending). 20 var op=ps.get('oppref'); 21 if(op)sc('oppref',op,90); 22 // AppLovin (Axon) click ids: aleid + alart are appended after an ad 23 // click. Persist 1y (AppLovin recommendation) so they survive internal 24 // navigation and reach the app handoff for server-side attribution. 25 var al=ps.get('aleid'),ar=ps.get('alart'); 26 if(al)sc('aleid',al,365); 27 if(ar)sc('alart',ar,365); 28 // UTM parameters: persist so campaign attribution survives internal 29 // navigation and reaches the app handoff at CTA click time (read back 30 // via getAttributionData by the click handler + IAB breakout). 31 var UTMS=['utm_source','utm_medium','utm_campaign','utm_content','utm_term']; 32 for(var ui=0;ui<UTMS.length;ui++){var uv=ps.get(UTMS[ui]);if(uv)sc(UTMS[ui],encodeURIComponent(uv),90)} 33 // Promo code: persist so it survives internal navigation and can be 34 // handed to the app at CTA click time. 35 var pr=ps.get('promo'); 36 if(pr)sc('promo',encodeURIComponent(pr),30); 37 sc('user_agent',encodeURIComponent(navigator.userAgent),30); 38 try{sc('eventId',crypto.randomUUID(),30)}catch(x){} 39 try{fetch('https://api.ipify.org?format=json').then(function(r){return r.json()}).then(function(d){if(d.ip)sc('client_ip',d.ip,30)}).catch(function(){})}catch(x){} 40 function gc(n){var m=document.cookie.match('(^|;)\\s*'+n+'=([^;]*)');return m?m[2]:''} 41 // Pre-seed the GA client id: gtag adopts an existing _ga cookie instead 42 // of generating a new one, so the id survives (and matches) whether GA 43 // initializes now, after consent, or never. Format GA1.1.<random>.<ts>; 44 // gtag reads the client id as the last two dot-separated segments. 45 // Set on .onemoreshot.ai so app.onemoreshot.ai can read it too. 46 if(!gc('_ga')){try{sc('_ga','GA1.1.'+(Math.floor(Math.random()*9e8)+1e8)+'.'+Math.floor(Date.now()/1e3),730)}catch(x){}} 47 function gaCid(){var v=gc('_ga');if(!v)return'';var p=v.split('.');return p.length>=2?p.slice(-2).join('.'):''} 48 window.getAttributionData=function(){return{fbp:gc('_fbp'),fbc:gc('_fbc'),fbclid:gc('fbclid'),ttclid:gc('ttclid'),gclid:gc('gclid'),wbraid:gc('wbraid'),gbraid:gc('gbraid'),aleid:gc('aleid'),alart:gc('alart'),oppref:gc('oppref'),utm_source:decodeURIComponent(gc('utm_source')),utm_medium:decodeURIComponent(gc('utm_medium')),utm_campaign:decodeURIComponent(gc('utm_campaign')),utm_content:decodeURIComponent(gc('utm_content')),utm_term:decodeURIComponent(gc('utm_term')),promo:decodeURIComponent(gc('promo')),gaClientId:gaCid(),eventId:gc('eventId'),userAgent:decodeURIComponent(gc('user_agent')),clientIp:gc('client_ip')}}; 49 document.addEventListener('click',function(e){ 50 var el=e.target.closest('[data-track]');if(!el)return; 51 window.trackEvent(el.getAttribute('data-track'),{event_category:el.getAttribute('data-track-category')||'engagement',event_label:el.getAttribute('data-track-label')||''}); 52 }); 53 })(); 54 </script>
54<link rel="stylesheet" href="/_astro/_slug_.BgW7P36x.css"> 55<link rel="stylesheet" href="/_astro/album-name-generator.B2zV8IV9.css"> 56<style>@keyframes banner-shimmer{0%{background-position:0% 50%}to{background-position:200% 50%}}.animate-banner-shimmer[data-astro-cid-vw2lj5a7]{animation:banner-shimmer 6s linear infinite} 57.works-with-marquee[data-astro-cid-bbe6dxrz]{width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent)}.works-with-track[data-astro-cid-bbe6dxrz]{display:flex;align-items:center;width:-moz-max-content;width:max-content;animation:marquee-scroll 20s linear infinite}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-25%)}}.cta-glow[data-astro-cid-bbe6dxrz]{animation:cta-pulse 3s ease-in-out infinite}@keyframes cta-pulse{0%,to{box-shadow:0 0 12px 2px #ffffff26}50%{box-shadow:0 0 28px 8px #ffffff59}}.showcase-crop[data-astro-cid-bbe6dxrz]{width:100%;overflow-x:clip;overflow-y:visible}.showcase-grid[data-astro-cid-bbe6dxrz]{display:flex;justify-content:center;gap:6px;width:100%;height:clamp(340px,40vw,560px);padding-top:15vw;margin-top:-6vw}@media(max-width:767px){.showcase-grid[data-astro-cid-bbe6dxrz]{width:180%;margin-left:-40%;height:clamp(260px,70vw,420px);gap:4px}}.showcase-col[data-astro-cid-bbe6dxrz]{display:flex;flex-direction:column;gap:6px;min-width:0;transform:translateY(var(--ellipse-y, 0px))}.showcase-col-h[data-astro-cid-bbe6dxrz]{flex:3}.showcase-col-v[data-astro-cid-bbe6dxrz]{flex:2}@media(max-width:767px){.showcase-col[data-astro-cid-bbe6dxrz]{gap:4px}}.showcase-col-offset[data-astro-cid-bbe6dxrz]{transform:translateY(var(--ellipse-y, 0px))}.showcase-col-v[data-astro-cid-bbe6dxrz]{will-change:transform}.showcase-card[data-astro-cid-bbe6dxrz]{position:relative;overflow:hidden;border-radius:10px;flex:1;min-height:0}.showcase-img[data-astro-cid-bbe6dxrz]{position:absolute;inset:0;display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;transition:transform .5s ease}@media(hover:hover){.showcase-card[data-astro-cid-bbe6dxrz]:hover .showcase-img[data-astro-cid-bbe6dxrz]{transform:scale(1.05)}}.hero-glow-wrap[data-astro-cid-bbe6dxrz]{-webkit-mask-image:linear-gradient(to bottom,#000 65%,transparent 92%);mask-image:linear-gradient(to bottom,#000 65%,transparent 92%)}.hero-glow[data-astro-cid-bbe6dxrz]{position:absolute;border-radius:50%;opacity:.45;background:radial-gradient(circle,var(--glow-color) 0%,transparent 70%);animation:glow-drift 8s ease-in-out infinite alternate;will-change:transform}.hero-glow-1[data-astro-cid-bbe6dxrz]{--glow-color: hsl(270 70% 50%);width:900px;height:900px;top:-10%;left:30%}.hero-glow-2[data-astro-cid-bbe6dxrz]{--glow-color: hsl(290 60% 44%);width:800px;height:800px;top:30%;right:20%;animation-delay:-3s;animation-direction:alternate-reverse}.hero-glow-3[data-astro-cid-bbe6dxrz]{--glow-color: hsl(255 55% 46%);width:750px;height:750px;bottom:5%;left:50%;animation-delay:-6s}@keyframes glow-drift{0%{transform:translateZ(0)}to{transform:translate3d(60px,40px,0)}}@media(prefers-reduced-motion:reduce){.hero-glow[data-astro-cid-bbe6dxrz]{animation:none!important}}@keyframes hero-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.hero-fade[data-astro-cid-bbe6dxrz]{opacity:0;animation:hero-fade-in .6s ease-out forwards}.hero-fade[data-astro-cid-bbe6dxrz][style*=animation-delay]{animation-delay:revert} 58.what-is-content[data-astro-cid-d4hvkekb] a{color:var(--color-primary);text-decoration:underline;text-underline-offset:3px;transition:color .2s}.what-is-content[data-astro-cid-d4hvkekb] a:hover{color:var(--color-foreground)}.what-is-content[data-astro-cid-d4hvkekb] h2{font-family:var(--font-heading, inherit);font-weight:800;color:var(--color-foreground);font-size:1.5rem;line-height:1.2;margin-top:1.25rem;margin-bottom:.5rem;letter-spacing:-.02em}@media(min-width:768px){.what-is-content[data-astro-cid-d4hvkekb] h2{font-size:1.875rem;margin-top:1.5rem}}.what-is-content[data-astro-cid-d4hvkekb] h3{font-family:var(--font-heading, inherit);font-weight:700;color:var(--color-foreground);font-size:1.25rem;line-height:1.3;margin-top:1rem;margin-bottom:.5rem}@media(min-width:768px){.what-is-content[data-astro-cid-d4hvkekb] h3{font-size:1.5rem}}.what-is-collapse[data-astro-cid-d4hvkekb]{transition:max-height .5s ease}.what-is-collapse[data-astro-cid-d4hvkekb].collapsed{max-height:300px;overflow:hidden}@media(min-width:768px){.what-is-collapse[data-astro-cid-d4hvkekb].collapsed{max-height:340px}}.what-is-footer[data-astro-cid-d4hvkekb]{transition:opacity .3s ease}.what-is-expanded[data-astro-cid-d4hvkekb] .what-is-footer[data-astro-cid-d4hvkekb]{background:none;padding-top:0}.what-is-expanded[data-astro-cid-d4hvkekb] .what-is-collapse[data-astro-cid-d4hvkekb]{padding-bottom:5rem} 59.pricing-slider[data-astro-cid-hkoc4sea]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:6px;border-radius:3px;outline:none;cursor:pointer;background:linear-gradient(to right,#d661b7,#ff9a52 35.7%,#1a1f23 35.7%)}.pricing-slider[data-astro-cid-hkoc4sea]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;cursor:pointer;box-shadow:0 0 12px #d661b766,0 2px 4px #0000004d;
59-webkit-transition:box-shadow .2s;transition:box-shadow .2s}.pricing-slider[data-astro-cid-hkoc4sea]::-webkit-slider-thumb:hover{box-shadow:0 0 20px #d661b799,0 2px 4px #0000004d}.pricing-slider[data-astro-cid-hkoc4sea]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;cursor:pointer;border:none;box-shadow:0 0 12px #d661b766,0 2px 4px #0000004d;-moz-transition:box-shadow .2s;transition:box-shadow .2s}.pricing-slider[data-astro-cid-hkoc4sea]::-moz-range-thumb:hover{box-shadow:0 0 20px #d661b799,0 2px 4px #0000004d}.pricing-slider[data-astro-cid-hkoc4sea]::-moz-range-track{height:6px;border-radius:3px;background:transparent} 60</style></head> <body> <noscript> <img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=597438272704550&ev=PageView&noscript=1"> </noscript> <!-- Fallback overlay â shown only if all auto schemes failed after ~5s, or 61 if the user explicitly taps the retry button. Hidden by default. --><div id="inapp-overlay" class="fixed inset-0 z-[9999] hidden flex-col items-center justify-center bg-[#070809]/[.97] backdrop-blur-md px-6" style="display:none" role="dialog" aria-modal="true" aria-labelledby="inapp-title" data-astro-cid-a6ltlddt> <button id="inapp-close" class="absolute top-4 left-4 p-2 text-foreground/60 hover:text-foreground transition-colors" aria-label="Close" type="button" data-astro-cid-a6ltlddt> <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-astro-cid-a6ltlddt><path d="M18 6 6 18" data-astro-cid-a6ltlddt></path><path d="m6 6 12 12" data-astro-cid-a6ltlddt></path></svg> </button> <svg class="absolute top-4 right-28 inapp-arrow" width="140" height="170" viewBox="0 0 140 170" fill="none" style="filter: drop-shadow(0 0 10px hsla(316, 59%, 61%, .45))" aria-hidden="true" data-astro-cid-a6ltlddt> <path d="M30 162 C80 130, 130 80, 130 6" stroke="hsl(316,59%,61%)" stroke-width="3" stroke-linecap="round" data-astro-cid-a6ltlddt></path> <path d="M123 14 L130 4 L137 14" stroke="hsl(316,59%,61%)" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" data-astro-cid-a6ltlddt></path> </svg> <div class="flex flex-col items-center text-center max-w-xs w-full" data-astro-cid-a6ltlddt> <h2 id="inapp-title" class="text-2xl md:text-3xl font-heading font-bold text-foreground mb-4 leading-tight" data-astro-cid-a6ltlddt> 62Open in your browser 63</h2> <p class="text-foreground/60 text-base mb-3" data-astro-cid-a6ltlddt> 64Tap the <strong class="text-foreground" data-astro-cid-a6ltlddt>â¯</strong> menu <span id="inapp-dots-loc" data-astro-cid-a6ltlddt>in the top-right corner</span> </p> <p id="inapp-step2" class="text-foreground/60 text-base mb-8" data-astro-cid-a6ltlddt> 65and choose <strong class="text-foreground" data-astro-cid-a6ltlddt>"Open in external browser"</strong> </p> <button id="inapp-open-browser" type="button" class="inline-flex items-center justify-center rounded-full bg-gradient-to-r from-pink-500 to-purple-600 px-8 py-3.5 text-base font-semibold text-white shadow-[0_4px_24px_rgba(219,39,119,.4)] transition-all duration-300 hover:scale-105 hover:from-pink-600 hover:to-purple-700 mb-6" data-astro-cid-a6ltlddt> 66Try again 67</button> <button id="inapp-continue" type="button" class="text-foreground/40 hover:text-foreground/70 text-sm underline underline-offset-4 transition-colors bg-transparent border-0 cursor-pointer" data-astro-cid-a6ltlddt> 68Continue here anyway 69</button> </div> </div>
69<script> 70 (function () { 71 var ua = navigator.userAgent || navigator.vendor || ''; 72 73 var isIG = /Instagram/i.test(ua); 74 var isThreads = /Threads|Barcelona/i.test(ua); 75 var isFB = /FBAN|FBAV|FB_IAB/i.test(ua); 76 var isMetaIAB = isIG || isThreads || isFB; 77 var isOtherIAB = /musical_ly|trill|BytedanceWebview|Snapchat|Line\/|MicroMessenger|Twitter/i.test(ua); 78 var isAndroidWebView = /; wv\)/.test(ua); 79 var isInApp = isMetaIAB || isOtherIAB || isAndroidWebView; 80 if (!isInApp) return; 81 82 var isAndroid = /Android/i.test(ua); 83 84 window.__inAppBrowser = true; 85 window.__inAppPlatform = { 86 ig: isIG, 87 threads: isThreads, 88 fb: isFB, 89 android: isAndroid, 90 meta: isMetaIAB, 91 }; 92 93 var pendingTarget = null; 94 var overlayTimer = null; 95 96 // Which links should we intercept? Only outbound CTAs that target the 97 // app or a store listing â never internal nav links. 98 function shouldIntercept(el) { 99 if (!el || el.tagName !== 'A') return false; 100 var href = el.getAttribute('href') || ''; 101 return ( 102 href.indexOf('app.onemoreshot.ai') !== -1 || 103 href.indexOf('apps.apple.com') !== -1 || 104 href.indexOf('play.google.com') !== -1 105 ); 106 } 107 108 // Aliased tracking params â see commit 70b73ff for the original convention. 109 // 110 // Why aliases? Safari ITP, Brave, and Firefox ETP maintain a denylist of 111 // known tracker-ID URL params (fbclid, gclid, ttclid, utm_*, â¦) that get 112 // stripped on cross-origin navigation. Renaming each known key to an 113 // opaque short code (`_fc`, `_tc`, `_gc`, `_os`, â¦) lets the same value 114 // travel through privacy browsers untouched. The destination app reads 115 // the aliased keys directly. 116 // 117 // ph_distinct_id is intentionally NOT aliased â PostHog reads this 118 // literal name server-side for session reconciliation and the param 119 // isn't on any browser denylist. 120 var PARAM_MAP = { 121 utm_source: '_os', 122 utm_medium: '_om', 123 utm_campaign: '_oc', 124 utm_content: '_on', 125 utm_term: '_ot', 126 fbclid: '_fc', 127 ttclid: '_tc', 128 gclid: '_gc', 129 wbraid: '_wb', 130 gbraid: '_gb', 131 ref: '_rf', 132 }; 133 134 // Enrich the CTA URL with attribution context before the hand-off. 135 // 136 // Source priority for each value: 137 // 1. The current landing-page URL's search params (covers the case 138 // where the user just arrived from an ad with the trackers intact) 139 // 2. The attribution cookies set by the BaseLayout stub (covers the 140 // case where the user has navigated around the site and the 141 // original landing URL is gone â cookies still hold the IDs) 142 // 143 // The second source matters most for the IAB breakout specifically: 144 // cookies are per-browser-instance, so the IG WebView jar is invisible 145 // to Safari/Chrome after we hand the URL off. Promoting them into the 146 // URL (under their aliased names) bridges that gap. 147 // 148 // Enrichment is scoped to onemoreshot.ai targets; App Store / Play 149 // Store deeplinks pass through bare. 150 function enrichWithAttribution(target) { 151 try { 152 var url = new URL(target); 153 if (url.hostname.indexOf('onemoreshot.ai') === -1) return target; 154 155 var page; 156 try { page = new URL(window.location.href); } catch (e) { page = null; } 157 var cookies = (typeof window.getAttributionData === 'function') 158 ? (window.getAttributionData() || {}) 159 : {}; 160 161 function readSource(key) { 162 var v = page ? page.searchParams.get(key) : null; 163 if (v) return v; 164 // Cookie fallback only exists for the IDs the stub actually persists. 165 if (key === 'fbclid' && cookies.fbclid) return cookies.fbclid; 166 if (key === 'ttclid' && cookies.ttclid) return cookies.ttclid; 167 if (key === 'gclid' && cookies.gclid) return cookies.gclid; 168 if (key === 'wbraid' && cookies.wbraid) return cookies.wbraid; 169 if (key === 'gbraid' && cookies.gbraid) return cookies.gbraid; 170 if (key.indexOf('utm_') === 0 && cookies[key]) return cookies[key]; 171 return null; 172 } 173 174 for (var orig in PARAM_MAP) { 175 var v = readSource(orig);
176 if (v) url.searchParams.set(PARAM_MAP[orig], v); 177 } 178 179 // AppLovin (Axon) click ids â forwarded under both the original names 180 // (the Axon pixel on the app only auto-captures the originals) and 181 // the aliases (survive tracker-param stripping in privacy browsers). 182 var APPLOVIN_IDS = { aleid: '_al', alart: '_ar' }; 183 for (var akey in APPLOVIN_IDS) { 184 var av = (page ? page.searchParams.get(akey) : null) || cookies[akey] || null; 185 if (av) { 186 url.searchParams.set(akey, av); 187 url.searchParams.set(APPLOVIN_IDS[akey], av); 188 } 189 } 190 191 // ChatGPT Ads click id â original name only: the oaiq SDK on the 192 // app auto-captures `oppref` from the URL, and OpenAI describes it 193 // as privacy-preserving so it isn't on tracker denylists. 194 var oppref = (page ? page.searchParams.get('oppref') : null) || cookies.oppref || null; 195 if (oppref) url.searchParams.set('oppref', oppref); 196 197 // Promo code â not aliased: it isn't on any tracker denylist, and the 198 // app reads the literal `promo` key. URL first, cookie fallback 199 // (the BaseLayout stub persists it for 30 days). 200 var promo = (page ? page.searchParams.get('promo') : null) || cookies.promo || null; 201 if (promo) url.searchParams.set('promo', promo); 202 203 // GA client id (pre-seeded by the BaseLayout stub). Must ride the URL 204 // here: the IAB cookie jar is invisible to the external browser the 205 // user lands in, so the domain-wide _ga cookie doesn't make the jump. 206 if (cookies.gaClientId) url.searchParams.set('ga_client_id', cookies.gaClientId); 207 208 if (window.posthog && typeof window.posthog.get_distinct_id === 'function') { 209 var phId = window.posthog.get_distinct_id(); 210 if (phId) url.searchParams.set('ph_distinct_id', phId); 211 } 212 213 return url.toString(); 214 } catch (e) { 215 return target; 216 } 217 } 218 219 // Fire the platform-specific breakout scheme. Must be called synchronously 220 // from inside a user-gesture event (iOS WKWebView gesture requirement). 221 function fireBreakout(targetHref) { 222 targetHref = enrichWithAttribution(targetHref); 223 pendingTarget = targetHref; 224 clearTimeout(overlayTimer); 225 226 if (isAndroid) { 227 // Android: a single intent:// hand-off reliably opens Chrome (or the 228 // system default browser if Chrome is missing). No cascade needed. 229 try { 230 var u = new URL(targetHref); 231 var intentUrl = 232 'intent://' + u.host + u.pathname + u.search + u.hash + 233 '#Intent;scheme=https;package=com.android.chrome;end'; 234 location.replace(intentUrl); 235 } catch (e) {} 236 // If the intent failed (very rare â system default still opens it), 237 // surface the overlay after a generous delay so the user has a 238 // manual escape hatch. 239 overlayTimer = setTimeout(showOverlay, 3000); 240 return; 241 } 242 243 // iOS path. Synchronously fire the most reliable scheme for this IAB, 244 // then cascade through third-party browser schemes. 245 var bare = targetHref.replace(/^https?:\/\//, ''); 246 var encoded = encodeURIComponent(targetHref); 247 248 try { 249 if (isIG) { 250 // IG's own URL scheme â same-app routing, opens target in Safari. 251 location.replace('instagram://extbrowser/?url=' + encoded); 252 } else if (isThreads) { 253 location.replace('barcelona://extbrowser/?url=' + encoded); 254 } else { 255 // FB iOS / TikTok / Snapchat / etc. have no extbrowser scheme â 256 // jump straight to Chrome iOS (most common installed browser). 257 location.replace('googlechromes://' + bare); 258 } 259 } catch (e) {} 260 261 // Fallback cascade. Each fires only if the previous step did not 262 // navigate the page away. By the time these run the original user 263 // gesture is long gone, but iOS still accepts these schemes because 264 // they were originally invoked inside the gesture's call stack. 265 setTimeout(function () { 266 try { location.replace('googlechromes://' + bare); } catch (e) {} 267 }, 1500); 268 setTimeout(function () { 269 try { location.replace('firefox://open-url?url=' + encoded); } catch (e) {} 270 }, 3000); 271 setTimeout(function () { 272 try { location.replace('brave://open-url?url=' + encoded); } catch (e) {} 273 }, 4000); 274 overlayTimer = setTimeout(showOverlay, 5000); 275 } 276 277 function showOverlay() {
278 var overlay = document.getElementById('inapp-overlay'); 279 if (!overlay) return; 280 281 // Adapt copy to platform on first show. 282 var dotsLocEl = document.getElementById('inapp-dots-loc'); 283 var step2El = document.getElementById('inapp-step2'); 284 var isIgIos = isIG && !isAndroid; 285 if (dotsLocEl) { 286 dotsLocEl.textContent = isIgIos ? 'at the top of the screen' : 'in the top right'; 287 } 288 if (step2El) { 289 step2El.innerHTML = isAndroid 290 ? 'and choose <strong class="text-foreground">"Open in Chrome"</strong>' 291 : 'and choose <strong class="text-foreground">"Open in external browser"</strong>'; 292 } 293 294 overlay.style.display = 'flex'; 295 document.body.style.overflow = 'hidden'; 296 } 297 298 function hideOverlay() { 299 var overlay = document.getElementById('inapp-overlay'); 300 if (overlay) overlay.style.display = 'none'; 301 document.body.style.overflow = ''; 302 } 303 304 function continueInIab() { 305 var href = pendingTarget; 306 hideOverlay(); 307 pendingTarget = null; 308 if (href) window.open(href, '_blank'); 309 } 310 311 // Intercept CTA clicks (capture phase so we beat other handlers). 312 document.addEventListener('click', function (e) { 313 var link = e.target && e.target.closest ? e.target.closest('a') : null; 314 if (!link || !shouldIntercept(link)) return; 315 316 // Fire any data-track event before navigating away. 317 var tracked = link.closest('[data-track]'); 318 if (tracked && typeof window.trackEvent === 'function') { 319 try { 320 window.trackEvent(tracked.getAttribute('data-track'), { 321 event_category: tracked.getAttribute('data-track-category') || 'engagement', 322 event_label: tracked.getAttribute('data-track-label') || '', 323 inapp_intercepted: true, 324 }); 325 } catch (err) {} 326 } 327 328 e.preventDefault(); 329 e.stopImmediatePropagation(); 330 fireBreakout(link.href); 331 }, true); 332 333 // Wire overlay controls once the DOM is ready. 334 function wireOverlay() { 335 var closeBtn = document.getElementById('inapp-close'); 336 var continueBtn = document.getElementById('inapp-continue'); 337 var openBtn = document.getElementById('inapp-open-browser'); 338 339 if (closeBtn) closeBtn.addEventListener('click', function () { 340 hideOverlay(); 341 pendingTarget = null; 342 }); 343 if (continueBtn) continueBtn.addEventListener('click', continueInIab); 344 if (openBtn) { 345 openBtn.addEventListener('click', function () { 346 if (pendingTarget) fireBreakout(pendingTarget); 347 }); 348 } 349 } 350 351 if (document.readyState === 'loading') { 352 document.addEventListener('DOMContentLoaded', wireOverlay); 353 } else { 354 wireOverlay(); 355 } 356 357 document.addEventListener('keydown', function (e) { 358 var overlay = document.getElementById('inapp-overlay'); 359 if (e.key === 'Escape' && overlay && overlay.style.display === 'flex') hideOverlay(); 360 }); 361 })(); 362</script>
362 <div id="top-banner" class="fixed top-0 left-0 right-0 z-[60] flex items-center justify-center gap-2 bg-gradient-to-r from-primary via-accent to-primary bg-[length:200%_100%] px-10 py-2 text-center text-[12px] font-medium text-white animate-banner-shimmer md:py-2.5 md:text-[13px]" data-astro-cid-vw2lj5a7> <span class="hidden rounded bg-white/20 px-2 py-0.5 text-[11px] font-bold uppercase tracking-wide md:inline" data-astro-cid-vw2lj5a7>Sep '26</span> <span class="opacity-90 truncate" data-astro-cid-vw2lj5a7>Seedance 2.5 now available for improved lip-sync</span> <a href="https://app.onemoreshot.ai" target="_blank" rel="noopener noreferrer" data-track="cta_click" data-track-label="top_banner" data-track-category="conversion" class="inline-flex shrink-0 items-center gap-1 rounded-full bg-white/20 px-2.5 py-0.5 text-[11px] font-semibold backdrop-blur-sm transition-colors hover:bg-white/30 md:text-xs" data-astro-cid-vw2lj5a7> 363Try now 364<svg class="h-3 w-3" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24" data-astro-cid-vw2lj5a7><path stroke-linecap="round" stroke-linejoin="round" d="m9 5 7 7-7 7" data-astro-cid-vw2lj5a7></path></svg> </a> <button id="top-banner-close" class="absolute right-2 top-1/2 -translate-y-1/2 p-1 text-white/60 transition-colors hover:text-white" aria-label="Close banner" data-astro-cid-vw2lj5a7> <svg class="h-3.5 w-3.5" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24" data-astro-cid-vw2lj5a7><path stroke-linecap="round" stroke-linejoin="round" d="M6 18 18 6M6 6l12 12" data-astro-cid-vw2lj5a7></path></svg> </button> </div>
364<script type="module">const e=document.getElementById("top-banner"),o=document.getElementById("navbar"),s=document.getElementById("top-banner-close");function t(){if(!o||!e)return;const n=e.style.display!=="none"?e.offsetHeight:0;o.style.top=n+"px",document.documentElement.style.scrollPaddingTop=n+88+"px",document.body.style.paddingTop=n+"px"}t();window.addEventListener("resize",t);s&&s.addEventListener("click",()=>{e.style.display="none",t()});</script>
364 <nav id="navbar" class="fixed top-0 left-0 right-0 z-50 transition-all duration-300 bg-transparent"> <div class="max-w-7xl mx-auto px-6 lg:px-8 relative"> <div class="relative flex items-center justify-between h-20"> <!-- Logo --> <a href="/" class="relative z-10 flex items-center hover:opacity-80 transition-opacity"> <img src="/lovable-uploads/logo-120.webp" alt="One More Shot AI â AI music video generator" class="h-10 w-10" width="40" height="40" loading="lazy"> </a> <!-- Desktop Navigation (absolutely centered) --> <div class="hidden lg:flex items-center space-x-8 absolute inset-x-0 justify-center pointer-events-none"> <a href="/#features" class="pointer-events-auto text-muted-foreground hover:text-foreground transition-colors font-body font-medium hover:scale-105 transition-transform"> Features </a><a href="/#examples" class="pointer-events-auto text-muted-foreground hover:text-foreground transition-colors font-body font-medium hover:scale-105 transition-transform"> Showcase </a><a href="/#pricing" class="pointer-events-auto text-muted-foreground hover:text-foreground transition-colors font-body font-medium hover:scale-105 transition-transform"> Pricing </a><a href="/#testimonials" class="pointer-events-auto text-muted-foreground hover:text-foreground transition-colors font-body font-medium hover:scale-105 transition-transform"> Testimonials </a><a href="/for-business/" class="pointer-events-auto text-muted-foreground hover:text-foreground transition-colors font-body font-medium hover:scale-105 transition-transform"> For business </a><a href="/for-business/labels/" class="pointer-events-auto text-muted-foreground hover:text-foreground transition-colors font-body font-medium hover:scale-105 transition-transform"> For labels </a><a href="/developers/api/" class="pointer-events-auto text-muted-foreground hover:text-foreground transition-colors font-body font-medium hover:scale-105 transition-transform"> API </a><a href="/blog/" class="pointer-events-auto text-muted-foreground hover:text-foreground transition-colors font-body font-medium hover:scale-105 transition-transform"> Blog </a> </div> <!-- Auth buttons (right) --> <div class="hidden lg:flex relative z-10 items-center gap-2"> <a href="https://app.onemoreshot.ai" target="_blank" rel="noopener noreferrer" class="inline-flex items-center justify-center rounded-lg px-4 py-2 text-sm text-muted-foreground hover:text-foreground transition-colors font-body font-medium"> 365Log in 366</a> <a href="https://app.onemoreshot.ai" target="_blank" rel="noopener noreferrer" data-track="cta_click" data-track-label="header_sign_in" data-track-category="conversion" class="inline-flex items-center justify-center rounded-lg bg-white px-4 py-2 text-sm font-semibold text-black transition-colors hover:bg-white/85 font-heading"> 367Sign up 368</a> </div> <!-- Mobile menu button --> <button type="button" id="mobile-menu-btn" class="lg:hidden text-foreground hover:bg-card inline-flex items-center justify-center rounded-lg p-2 transition" aria-label="Toggle menu" aria-expanded="false"> <svg id="menu-icon-open" class="h-6 w-6" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><line x1="4" x2="20" y1="12" y2="12"></line><line x1="4" x2="20" y1="6" y2="6"></line><line x1="4" x2="20" y1="18" y2="18"></line></svg> <svg id="menu-icon-close" class="hidden h-6 w-6" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M18 6 6 18M6 6l12 12"></path></svg> </button> </div> <!-- Mobile Navigation --> <div id="mobile-menu" class="hidden lg:hidden absolute top-[5.5rem] left-4 right-4 bg-background border border-border/50 rounded-2xl shadow-2xl z-[100]"> <div class="py-4 px-6 space-y-1"> <a href="/#features" class="mobile-nav-link block w-full text-left text-foreground hover:text-primary transition-colors font-body font-medium py-3 px-4 rounded-lg hover:bg-accent"> Features </a><a href="/#examples" class="mobile-nav-link block w-full text-left text-foreground hover:text-primary transition-colors font-body font-medium py-3 px-4 roun
368ded-lg hover:bg-accent"> Showcase </a><a href="/#pricing" class="mobile-nav-link block w-full text-left text-foreground hover:text-primary transition-colors font-body font-medium py-3 px-4 rounded-lg hover:bg-accent"> Pricing </a><a href="/#testimonials" class="mobile-nav-link block w-full text-left text-foreground hover:text-primary transition-colors font-body font-medium py-3 px-4 rounded-lg hover:bg-accent"> Testimonials </a><a href="/for-business/" class="mobile-nav-link block w-full text-left text-foreground hover:text-primary transition-colors font-body font-medium py-3 px-4 rounded-lg hover:bg-accent"> For business </a><a href="/for-business/labels/" class="mobile-nav-link block w-full text-left text-foreground hover:text-primary transition-colors font-body font-medium py-3 px-4 rounded-lg hover:bg-accent"> For labels </a><a href="/developers/api/" class="mobile-nav-link block w-full text-left text-foreground hover:text-primary transition-colors font-body font-medium py-3 px-4 rounded-lg hover:bg-accent"> API </a><a href="/blog/" class="mobile-nav-link block w-full text-left text-foreground hover:text-primary transition-colors font-body font-medium py-3 px-4 rounded-lg hover:bg-accent"> Blog </a> <div class="pt-3"> <a href="https://app.onemoreshot.ai" target="_blank" rel="noopener noreferrer" data-track="cta_click" data-track-label="mobile_sign_in" data-track-category="conversion" class="block w-full text-center rounded-full border border-primary/50 bg-transparent text-primary hover:bg-primary hover:text-primary-foreground py-3 px-8 font-heading font-medium transition-all duration-300"> 369Sign In 370</a> </div> </div> </div> </div> </nav>
370<script type="module">const o=document.getElementById("navbar"),a=document.getElementById("mobile-menu-btn"),h=document.getElementById("mobile-menu"),m=document.getElementById("menu-icon-open"),g=document.getElementById("menu-icon-close"),f=80;function i(e,n){const t=document.getElementById(e.replace(/^#/,""));if(!t)return;const r=document.querySelectorAll(".cv-auto");r.forEach(c=>{c.style.contentVisibility="visible"});const l=t.getBoundingClientRect().top+window.scrollY-f;window.scrollTo({top:l,behavior:n?"smooth":"instant"});const b=()=>r.forEach(c=>{c.style.contentVisibility=""});let d=-1;const u=()=>{window.scrollY===d?b():(d=window.scrollY,requestAnimationFrame(u))};requestAnimationFrame(u)}o?.addEventListener("click",e=>{const n=e.target.closest('a[href*="/#"]');if(!n||n.target==="_blank")return;const t=new URL(n.href,location.origin).hash;if(!t||!document.getElementById(t.replace(/^#/,"")))return;e.preventDefault(),history.pushState(null,"",`/${location.search}${t}`);const l=!n.classList.contains("mobile-nav-link");i(t,l)});window.addEventListener("popstate",()=>{location.hash&&i(location.hash,!0)});location.hash&&(i(location.hash,!1),window.addEventListener("load",()=>i(location.hash,!1),{once:!0}));let s=!1;window.addEventListener("scroll",()=>{s||(s=!0,requestAnimationFrame(()=>{if(!o){s=!1;return}window.scrollY>50?(o.classList.remove("bg-transparent"),o.classList.add("bg-background","border-b","border-border/20","shadow-lg")):(o.classList.add("bg-transparent"),o.classList.remove("bg-background","border-b","border-border/20","shadow-lg")),s=!1}))},{passive:!0});a?.addEventListener("click",()=>{const e=a.getAttribute("aria-expanded")==="true";a.setAttribute("aria-expanded",String(!e)),h?.classList.toggle("hidden"),m?.classList.toggle("hidden"),g?.classList.toggle("hidden")});document.querySelectorAll(".mobile-nav-link").forEach(e=>{e.addEventListener("click",()=>{h?.classList.add("hidden"),a?.setAttribute("aria-expanded","false"),m?.classList.remove("hidden"),g?.classList.add("hidden")})});</script>
370 <main id="main-content"> <div id="example-modal" class="fixed inset-0 z-[200] bg-black/95 hidden flex-col items-center justify-center"> <!-- Close button --> <button id="modal-close-btn" class="absolute top-4 right-4 z-10 text-white/60 hover:text-white transition-colors" aria-label="Close"> <svg class="w-8 h-8" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M6 18 18 6M6 6l12 12"></path></svg> </button> <div class="w-full flex-1 flex items-center"> <div class="w-full" id="example-modal-player"> <video id="example-modal-video" class="w-full h-auto max-h-[80dvh] object-contain" playsinline preload="metadata"></video> </div> </div> <!-- Controls bar --> <div class="w-full px-4 pt-2 pb-1 md:px-6" id="example-modal-controls"> <div class="flex items-center gap-2"> <button id="modal-play-pause" class="text-white hover:text-primary transition-colors flex-shrink-0" aria-label="Play/Pause"> <svg id="modal-icon-play" class="w-5 h-5" fill="currentColor" viewBox="0 0 24 24"><polygon points="5 3 19 12 5 21 5 3"></polygon></svg> <svg id="modal-icon-pause" class="w-5 h-5 hidden" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><rect x="6" y="4" width="4" height="16"></rect><rect x="14" y="4" width="4" height="16"></rect></svg> </button> <span id="modal-time-current" class="text-xs text-white/70 tabular-nums w-9 text-right flex-shrink-0">0:00</span> <div id="modal-seekbar-track" class="relative flex-1 h-5 flex items-center cursor-pointer group"> <div class="absolute inset-y-0 left-0 right-0 flex items-center"> <div class="w-full h-1 bg-white/20 rounded-full overflow-hidden"> <div id="modal-seekbar-fill" class="h-full bg-gradient-to-r from-pink-500 to-purple-500 rounded-full" style="width:0%"></div> </div> </div> <div id="modal-seekbar-thumb" class="absolute w-3 h-3 bg-white rounded-full shadow-md opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none" style="left:0%"></div> </div> <span id="modal-time-duration" class="text-xs text-white/70 tabular-nums w-9 flex-shrink-0">0:00</span> <button id="modal-mute-btn" class="text-white hover:text-primary transition-colors flex-shrink-0" aria-label="Mute"> <svg id="modal-icon-unmuted" class="w-5 h-5" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5"></polygon><path d="M19.07 4.93a10 10 0 0 1 0 14.14"></path><path d="M15.54 8.46a5 5 0 0 1 0 7.07"></path></svg> <svg id="modal-icon-muted" class="w-5 h-5 hidden" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5"></polygon><line x1="23" y1="9" x2="17" y2="15"></line><line x1="17" y1="9" x2="23" y2="15"></line></svg> </button> <button id="modal-fullscreen-btn" class="text-white hover:text-primary transition-colors flex-shrink-0" aria-label="Fullscreen"> <svg class="w-5 h-5" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3"></path></svg> </button> </div> </div> <!-- CTA --> <div class="w-full flex justify-center px-4 pt-4 pb-5 md:px-6"> <a href="https://app.onemoreshot.ai" target="_blank" rel="noopener noreferrer" data-track="cta_click" data-track-label="video_modal_create" data-track-category="conversion" class="inline-flex items-center justify-center rounded-full bg-gradient-to-r from-pink-500 to-purple-600 px-8 py-3.5 text-base font-semibold text-white shadow-[0_4px_24px_rgba(219,39,119,.4)] transition-all duration-300 hover:scale-105 hover:from-pink-600 hover:to-purple-700 hover:shadow-[0_4px_32px_rgba(219,39,119,.55)] md:px-10 md:py-4 md:text-lg"> 371Create your video 372<svg class="ml-2 h-5 w-5" fill="none" stroke="currentColor" stroke-width="3" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M5 12h14m-7-7 7 7-7 7"></path></svg> </a> </div> </div> <section class="relative flex flex-col items-center overflow-x-clip bg-background pb-0" data-astro-cid-bbe6dxrz> <!-- Animated gradient background --> <div class="hero-glow-wrap pointer-events-none absolute inset-0 overflow-hidden" data-astro-cid-bbe6dxrz> <div class="hero-glow hero-glow-1" data-astro-cid-bbe6dxrz></div> <div class="hero-glow hero-glow-2" data-astro-cid-bbe6dxrz></div> <div class="hero-glow hero-glow-3" data-astro-cid-bbe6dxrz></div> </div> <!-- Content --> <div class="relative z-20 mx-auto flex w-full max-w-[860px] flex-col items-center px-5 pt-[10vh] text-center md:px-6 md:pt-[14vh] lg:px-0" data-astro-cid-bbe6dxrz> <!-- Badge --> <a href="#testimonials" data-scroll-to="testimonials" class="hero-fade group mb-8 inl
372ine-flex items-center gap-3 rounded-full border border-white/[0.06] bg-white/[0.03] py-1.5 pl-2 pr-4 transition-colors hover:border-white/[0.1] hover:bg-white/[0.05] md:mb-10" data-astro-cid-bbe6dxrz> <span class="flex items-center -space-x-1.5" data-astro-cid-bbe6dxrz> <img src="/avatars/user-1.webp" alt="" class="h-6 w-6 rounded-full object-cover ring-2 ring-background" loading="lazy" data-astro-cid-bbe6dxrz><img src="/avatars/user-2.webp" alt="" class="h-6 w-6 rounded-full object-cover ring-2 ring-background" loading="lazy" data-astro-cid-bbe6dxrz><img src="/avatars/user-3.webp" alt="" class="h-6 w-6 rounded-full object-cover ring-2 ring-background" loading="lazy" data-astro-cid-bbe6dxrz><img src="/avatars/user-4.webp" alt="" class="h-6 w-6 rounded-full object-cover ring-2 ring-background" loading="lazy" data-astro-cid-bbe6dxrz><img src="/avatars/user-5.webp" alt="" class="h-6 w-6 rounded-full object-cover ring-2 ring-background" loading="lazy" data-astro-cid-bbe6dxrz> </span> <span class="text-[13px] text-white/50 transition-colors group-hover:text-white/70" data-astro-cid-bbe6dxrz>Chosen by 500,000+ artists</span> </a> <!-- Heading --> <h1 class="hero-fade mb-5 font-heading text-[clamp(2.75rem,7vw,5rem)] font-bold leading-[0.95] tracking-[-0.03em] text-white md:mb-6" style="animation-delay:0.08s" data-astro-cid-bbe6dxrz> AI Music Video App </h1> <!-- Subtitle --> <p class="hero-fade max-w-[520px] text-[15px] leading-[1.7] text-white/40 sm:text-base md:text-[17px] mb-10 md:mb-12" style="animation-delay:0.16s" data-astro-cid-bbe6dxrz> Create music videos on any device with the One More Shot AI app. </p> <!-- Trusted by --> <div class="hero-fade mb-10 flex w-full flex-col items-center text-center md:mb-12" style="animation-delay:0.2s" data-astro-cid-bbe6dxrz> <p class="mb-5 text-[11px] font-medium uppercase tracking-[0.2em] text-white/40" data-astro-cid-bbe6dxrz>Trusted by</p> <div class="hidden md:flex items-center gap-x-10" data-astro-cid-bbe6dxrz> <img src="/partners/groover-white.png" alt="Groover" class="h-5 w-auto object-contain opacity-70 transition-opacity hover:opacity-100" loading="lazy" data-astro-cid-bbe6dxrz><img src="/partners/ditto-white.png" alt="Ditto Music" class="h-5 w-auto object-contain opacity-70 transition-opacity hover:opacity-100" loading="lazy" data-astro-cid-bbe6dxrz><img src="/partners/unhurd-white.png" alt="un:hurd music" class="h-5 w-auto object-contain opacity-70 transition-opacity hover:opacity-100" loading="lazy" data-astro-cid-bbe6dxrz><img src="/partners/hatmusic-white.png" alt="HAT Music" class="h-5 w-auto object-contain opacity-70 transition-opacity hover:opacity-100" loading="lazy" data-astro-cid-bbe6dxrz><img src="/partners/imusician-white.png" alt="iMusician" class="h-5 w-auto object-contain opacity-70 transition-opacity hover:opacity-100" loading="lazy" data-astro-cid-bbe6dxrz><img src="/partners/soundcharts-logo.svg" alt="Soundcharts" class="h-5 w-auto object-contain opacity-70 transition-opacity hover:opacity-100" loading="lazy" data-astro-cid-bbe6dxrz> </div> <div class="works-with-marquee md:hidden" data-astro-cid-bbe6dxrz> <div class="works-with-track" data-astro-cid-bbe6dxrz> <img src="/partners/groover-white.png" alt="Groover" class="mx-5 h-4 w-auto object-contain opacity-70" loading="lazy" data-astro-cid-bbe6dxrz><img src="/partners/ditto-white.png" alt="Ditto Music" class="mx-5 h-4 w-auto object-contain opacity-70" loading="lazy" data-astro-cid-bbe6dxrz><img src="/partners/unhurd-white.png" alt="un:hurd music" class="mx-5 h-4 w-auto object-contain opacity-70" loading="lazy" data-astro-cid-bbe6dxrz><img src="/partners/hatmusic-white.png" alt="HAT Music" class="mx-5 h-4 w-auto object-contain opacity-70" loading="lazy" data-astro-cid-bbe6dxrz><img src="/partners/imusician-white.png" alt="iMusician" class="mx-5 h-4 w-auto object-contain opacity-70" loading="lazy" data-astro-cid-bbe6dxrz><img src="/partners/soundcharts-logo.svg" alt="Soundcharts" class="mx-5 h-4 w-auto object-contain opacity-70" loading="lazy" data-astro-cid-bbe6dxrz><img src="/partners/groover-white.png" alt="Groover" class="mx-5 h-4 w-auto object-contain opacity-70" loading="lazy" data-astro-cid-bbe6dxrz><img src="/partners/ditto-white.png" alt="Ditto Music" class="mx-5 h-4 w-auto object-contain opacity-70" loading="lazy" data-astro-cid-bbe6dxrz>
372<img src="/partners/unhurd-white.png" alt="un:hurd music" class="mx-5 h-4 w-auto object-contain opacity-70" loading="lazy" data-astro-cid-bbe6dxrz><img src="/partners/hatmusic-white.png" alt="HAT Music" class="mx-5 h-4 w-auto object-contain opacity-70" loading="lazy" data-astro-cid-bbe6dxrz><img src="/partners/imusician-white.png" alt="iMusician" class="mx-5 h-4 w-auto object-contain opacity-70" loading="lazy" data-astro-cid-bbe6dxrz><img src="/partners/soundcharts-logo.svg" alt="Soundcharts" class="mx-5 h-4 w-auto object-contain opacity-70" loading="lazy" data-astro-cid-bbe6dxrz><img src="/partners/groover-white.png" alt="Groover" class="mx-5 h-4 w-auto object-contain opacity-70" loading="lazy" data-astro-cid-bbe6dxrz><img src="/partners/ditto-white.png" alt="Ditto Music" class="mx-5 h-4 w-auto object-contain opacity-70" loading="lazy" data-astro-cid-bbe6dxrz><img src="/partners/unhurd-white.png" alt="un:hurd music" class="mx-5 h-4 w-auto object-contain opacity-70" loading="lazy" data-astro-cid-bbe6dxrz><img src="/partners/hatmusic-white.png" alt="HAT Music" class="mx-5 h-4 w-auto object-contain opacity-70" loading="lazy" data-astro-cid-bbe6dxrz><img src="/partners/imusician-white.png" alt="iMusician" class="mx-5 h-4 w-auto object-contain opacity-70" loading="lazy" data-astro-cid-bbe6dxrz><img src="/partners/soundcharts-logo.svg" alt="Soundcharts" class="mx-5 h-4 w-auto object-contain opacity-70" loading="lazy" data-astro-cid-bbe6dxrz><img src="/partners/groover-white.png" alt="Groover" class="mx-5 h-4 w-auto object-contain opacity-70" loading="lazy" data-astro-cid-bbe6dxrz><img src="/partners/ditto-white.png" alt="Ditto Music" class="mx-5 h-4 w-auto object-contain opacity-70" loading="lazy" data-astro-cid-bbe6dxrz><img src="/partners/unhurd-white.png" alt="un:hurd music" class="mx-5 h-4 w-auto object-contain opacity-70" loading="lazy" data-astro-cid-bbe6dxrz><img src="/partners/hatmusic-white.png" alt="HAT Music" class="mx-5 h-4 w-auto object-contain opacity-70" loading="lazy" data-astro-cid-bbe6dxrz><img src="/partners/imusician-white.png" alt="iMusician" class="mx-5 h-4 w-auto object-contain opacity-70" loading="lazy" data-astro-cid-bbe6dxrz><img src="/partners/soundcharts-logo.svg" alt="Soundcharts" class="mx-5 h-4 w-auto object-contain opacity-70" loading="lazy" data-astro-cid-bbe6dxrz> </div> </div> </div> <!-- CTA --> <div class="hero-fade mb-0" style="animation-delay:0.24s" data-astro-cid-bbe6dxrz> <a href="https://app.onemoreshot.ai" target="_blank" rel="noopener noreferrer" data-track="cta_click" data-track-label="hero_create_now" data-track-category="conversion" class="cta-glow inline-flex items-center justify-center rounded-lg bg-white px-6 py-3 text-[15px] font-semibold text-black transition-colors hover:bg-white/85 md:px-7 md:py-3.5 md:text-base font-heading" data-astro-cid-bbe6dxrz> Start for free <svg class="ml-2 h-4 w-4" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24" data-astro-cid-bbe6dxrz><path d="M5 12h14" data-astro-cid-bbe6dxrz></path><path d="m12 5 7 7-7 7" data-astro-cid-bbe6dxrz></path></svg> </a> </div> </div> <!-- Video grid mosaic --> <div class="hero-fade relative z-10 w-full" style="animation-delay:0.32s" data-astro-cid-bbe6dxrz> <div class="showcase-crop" data-astro-cid-bbe6dxrz> <div class="showcase-grid" data-astro-cid-bbe6dxrz> <div class="showcase-col showcase-col-v showcase-col-offset" style="--ellipse-y: -12.6vw" data-ellipse="-12.6" data-astro-cid-bbe6dxrz> <div class="showcase-card" data-astro-cid-bbe6dxrz> <video class="showcase-img" loop muted playsinline preload="none" poster="/showcase/12.webp" data-autoplay data-astro-cid-bbe6dxrz> <source src="/showcase/12.webm" type="video/webm" data-astro-cid-bbe6dxrz> </video> </div> </div><div class="showcase-col showcase-col-h" style="--ellipse-y: -5.6vw" data-ellipse="-5.6" data-astro-cid-bbe6dxrz> <div class="showcase-card" data-astro-cid-bbe6dxrz> <video class="showcase-img" loop muted playsinline preload="none" poster="/showcase/6.webp" data-autoplay data-astro-cid-bbe6dxrz> <source src="/showcase/6.webm" type="video/webm" data-astro-cid-bbe6dxrz> </video> </div><div class="showcase-card" data-astro-cid-bbe6dxrz> <video class="showcase-img" loop muted playsinline preload="none" poster="/showcase/11.webp" data-autoplay data-astro-cid-bbe6dxrz> <source src="/showcase/11.webm" type="video/webm" data-astro-cid-bbe6dxrz> </video> </div> </div><div class="showcase-col showcase-col-v showcase-col-offset" style="--ellipse-y: -1.4vw" data-ellipse="-1.4" data-astro-cid-bbe6dxrz> <div class="showcase-card" data-astro-cid-bbe6dxrz> <video class="showcase-img" loop muted playsinline preload="none" poster="/showcase/10.webp" data-autoplay data-astro-cid-bbe6dxrz> <source src="/showcase/10.webm" type="video/webm" data-astro-cid-bbe6dxrz> </video> </div> </div><div class="showcase-col showcase-col-h" style="--ellipse-y: 0vw" data-ellipse="0" data-astro-cid-bbe6dxrz> <div class="showcase-card" data-astro-cid-bbe6dxrz> <video class="showcase-img" loop muted playsinline preload="none" poster="/showcase/5.webp" data-autoplay data-astro-cid-bbe6dxrz> <source src="/showcase/5.webm" type="video/webm" data-astro-cid-bbe6dxrz> </video> </div><div class="showcase-card" data-astro-cid-bbe6dxrz> <video class="showcase-img" loop muted playsinline preload="none" poster="/showcase/1.webp" data-autoplay data-astro-cid-bbe6dxrz> <source src="/showcase/1.webm" type="video/webm" data-astro-cid-bbe6dxrz> </video> </div> </div><div class="showcase-col showcase-col-v showcase-col-offset" style="--ellipse-y: -1.4vw" data-ellipse="-1.4" data-astro-cid-bbe6dxrz> <div class="showcase-card" data-astro-cid-bbe6dxrz> <video class="showcase-img" loop muted playsinline preload="none" poster="/showcase/9.webp" data-autoplay data-astro-cid-bbe6dxrz> <source src="/showcase/9.webm" type="video/webm" data-astro-cid-bbe6dxrz> </video> </div> </div><div class="showcase-col showcase-col-h" style="--ellipse-y: -5.6vw" data-ellipse="-5.6" data-astro-cid-bbe6dxrz> <div class="showcase-card" data-astro-cid-bbe6dxrz> <video class="showcase-img" loop muted playsinline preload="none" poster="/showcase/8.webp" data-autoplay data-astro-cid-bbe6dxrz> <source src="/showcase/8.webm" type="video/webm" data-astro-cid-bbe6dxrz> </video> </div><div class="showcase-card" data-astro-cid-bbe6dxrz> <video class="showcase-img" loop muted playsinline preload="none" poster="/showcase/13.webp" data-autoplay data-astro-cid-bbe6dxrz> <source src="/showcase/13.webm" type="video/webm" data-astro-cid-bbe6dxrz> </video> </div> </div><div class="showcase-col showcase-col-v showcase-col-offset" style="--ellipse-y: -12.6vw" data-ellipse="-12.6" data-astro-cid-bbe6dxrz> <div class="showcase-card" data-astro-cid-bbe6dxrz> <video class="showcase-img" loop muted playsinline preload="none" poster="/showcase/3.webp" data-autoplay data-astro-cid-bbe6dxrz> <source src="/showcase/3.webm" type="video/webm" data-astro-cid-bbe6dxrz> </video> </div> </div> </div> </div> <!-- Bottom fade --> <div class="pointer-events-none absolute inset-x-0 bottom-0 z-20 h-64 bg-gradient-to-t from-background via-background/80 to-transparent" data-astro-cid-bbe6dxrz></div> </div> <!-- Value pills (homepage only, swapped with trusted by) -->
372 </section>
372<script type="module">document.querySelectorAll(".showcase-card").forEach(e=>{const o=e.querySelector("video[data-autoplay]");o&&window.matchMedia("(hover: hover)").matches&&(e.addEventListener("mouseenter",()=>{o.play().catch(()=>{})}),e.addEventListener("mouseleave",()=>{o.pause()}))});if(!window.matchMedia("(prefers-reduced-motion: reduce)").matches){const e=document.querySelectorAll(".showcase-col");if(e.length){const o=window.innerHeight;let s=!1;const n=()=>{const l=1-Math.min(1,window.scrollY/(o*.45));e.forEach(t=>{const r=parseFloat(t.dataset.ellipse||"0");t.style.setProperty("--ellipse-y",`${r*l}vw`)}),s=!1};window.addEventListener("scroll",()=>{s||(s=!0,requestAnimationFrame(n))},{passive:!0}),n()}}document.querySelectorAll("[data-scroll-to]").forEach(e=>{e.addEventListener("click",o=>{const s=document.getElementById(e.dataset.scrollTo);if(!s)return;o.preventDefault();const n=document.querySelectorAll(".cv-auto");n.forEach(t=>{t.style.contentVisibility="visible"});const c=s.getBoundingClientRect().top+window.scrollY-80;window.scrollTo({top:c,behavior:"smooth"});const l=()=>n.forEach(t=>{t.style.contentVisibility=""});if("onscrollend"in window)window.addEventListener("scrollend",l,{once:!0});else{let t=-1;const r=()=>{window.scrollY===t?l():(t=window.scrollY,requestAnimationFrame(r))};requestAnimationFrame(r)}})});</script>
372 <section class="cv-auto py-16 md:py-32 relative overflow-hidden" data-astro-cid-d4hvkekb><div class="hidden md:block absolute top-1/3 right-0 w-80 h-80 bg-primary/5 rounded-full blur-3xl" data-astro-cid-d4hvkekb></div><div class="max-w-4xl mx-auto px-4 md:px-6 lg:px-8 relative z-10" data-astro-cid-d4hvkekb><div class="text-center mb-10 md:mb-16 space-y-3 md:space-y-6" data-astro-cid-d4hvkekb><div class="inline-flex items-center gap-2 px-4 py-2 rounded-full bg-card md:bg-card/50 md:backdrop-blur-sm border border-border/50 text-sm font-medium" data-astro-cid-d4hvkekb><svg class="w-4 h-4 text-secondary" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24" data-astro-cid-d4hvkekb><path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z" data-astro-cid-d4hvkekb></path><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z" data-astro-cid-d4hvkekb></path></svg> 373Learn More 374</div><h2 class="text-3xl md:text-5xl lg:text-6xl font-heading font-black" data-astro-cid-d4hvkekb>What Should You Look for in an AI Music Video App?</h2></div><div class="glass-card rounded-2xl md:rounded-3xl p-6 md:p-10 lg:p-12 space-y-5 md:space-y-6 what-is-content" data-astro-cid-d4hvkekb><p class="text-sm md:text-base lg:text-lg text-muted-foreground font-body leading-relaxed md:leading-loose" data-astro-cid-d4hvkekb>An AI music video app puts the full power of AI video generation in a product you can access from anywhere â desktop, tablet, or phone. The best apps combine the processing muscle of a cloud-based <a href="/">AI music video generator</a> with an intuitive interface that makes it easy to create professional videos without a production background.</p><p class="text-sm md:text-base lg:text-lg text-muted-foreground font-body leading-relaxed md:leading-loose" data-astro-cid-d4hvkekb>When evaluating an AI music video app, look for several key features. First, ease of use: can you go from audio upload to finished video in just a few taps? Second, output quality: does the app generate high-resolution, visually coherent footage that looks professional? Third, customization: can you choose styles, adjust scenes, and refine the output to match your vision? And fourth, export flexibility: does it support all the formats and platforms where you distribute music, including vertical exports for <a href="/ai-video-for-tiktok/">TikTok</a>?</p><p class="text-sm md:text-base lg:text-lg text-muted-foreground font-body leading-relaxed md:leading-loose" data-astro-cid-d4hvkekb>One More Shot AI is built with all of these priorities in mind. The app provides a streamlined three-step workflow â upload, style, generate â with the same advanced controls found in the full <a href="/">AI music video generator</a>. Cloud rendering means your device handles only the interface while powerful servers do the heavy computation, so even a smartphone can produce 4K music videos. Getting started is easy with the <a href="/free-ai-music-video-generator/">free AI music video generator</a> tier.</p></div></div></section>
374<script type="module">const e=document.getElementById("what-is-collapse"),t=document.getElementById("what-is-toggle");if(e&&t){const s=e.parentElement,l=t.querySelector("[data-label]"),a=t.querySelector("[data-chevron]");t.addEventListener("click",()=>{e.classList.contains("collapsed")?(s.classList.add("what-is-expanded"),e.classList.remove("collapsed"),e.style.maxHeight=`${e.scrollHeight}px`,l.textContent="Read less",a.style.transform="rotate(180deg)"):(e.style.maxHeight="",e.classList.add("collapsed"),s.classList.remove("what-is-expanded"),l.textContent="Read more",a.style.transform="",s.scrollIntoView({behavior:"smooth",block:"start"}))})}</script>
374<noscript><style> 375 /* Without JS, show the full content and hide the toggle. */ 376 .what-is-collapse.collapsed { 377 max-height: none !important; 378 overflow: visible; 379 } 380 .what-is-footer { 381 display: none; 382 } 383 </style></noscript><section class="cv-auto py-10 md:py-16"> <div class="max-w-4xl mx-auto px-4 md:px-6"> <div class="text-center mb-8 md:mb-12"> <h2 class="text-3xl md:text-5xl lg:text-6xl font-bold mb-3 md:mb-6 bg-gradient-to-r from-primary via-accent to-primary bg-clip-text text-transparent"> 384See It In Action 385</h2> <p class="text-base md:text-2xl text-muted-foreground max-w-3xl mx-auto"> 386Watch how our AI transforms your music into stunning visuals in just minutes 387</p> </div> <div class="aspect-video rounded-lg overflow-hidden relative bg-black" id="demo-player" data-youtube-id="c_h9bClxsZw"> <img src="https://i.ytimg.com/vi/c_h9bClxsZw/maxresdefault.jpg" alt="knd - hell" class="absolute inset-0 w-full h-full object-cover" loading="lazy" width="1280" height="720"> <!-- Play Overlay --> <button id="demo-play-overlay" type="button" class="absolute inset-0 flex flex-col items-center justify-center cursor-pointer group" aria-label="Play knd - hell"> <div class="absolute inset-0 bg-black/40 group-hover:bg-black/50 transition-colors duration-300"></div> <div class="relative z-10 w-16 h-16 md:w-20 md:h-20 rounded-full bg-primary/90 group-hover:bg-primary group-hover:scale-110 transition-all duration-300 flex items-center justify-center shadow-lg"> <svg class="w-8 h-8 md:w-10 md:h-10 text-primary-foreground ml-1" fill="currentColor" viewBox="0 0 24 24"><polygon points="5 3 19 12 5 21 5 3"></polygon></svg> </div> <p class="relative z-10 mt-4 text-white/90 text-sm md:text-base font-medium px-4 text-center">knd - hell</p> </button> </div> </div> </section>
387<script type="module">const t=document.getElementById("demo-player"),a=document.getElementById("demo-play-overlay");a?.addEventListener("click",()=>{const l=t?.dataset.youtubeId;if(!t||!l)return;const e=document.createElement("iframe");e.src=`https://www.youtube.com/embed/${l}?autoplay=1&rel=0`,e.title="knd - hell",e.className="absolute inset-0 w-full h-full",e.allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",e.allowFullscreen=!0,e.setAttribute("frameborder","0"),t.innerHTML="",t.appendChild(e),window.trackEvent&&window.trackEvent("demo_video_play",{event_category:"engagement",event_label:"demo_video"})});</script>
387 <section class="cv-auto py-12 md:py-20 relative overflow-hidden"> <!-- Background effects --> <div class="absolute inset-0 bg-gradient-to-b from-background via-primary/5 to-background pointer-events-none"></div> <div class="container mx-auto px-4 md:px-6 relative z-10"> <div class="text-center mb-8 md:mb-16"> <h2 class="text-3xl md:text-5xl lg:text-6xl font-bold mb-3 md:mb-6 bg-gradient-to-r from-primary via-accent to-primary bg-clip-text text-transparent"> 388Powerful & Intuitive Interface 389</h2> <p class="text-base md:text-2xl text-muted-foreground max-w-3xl mx-auto"> 390Professional tools designed for creators. Generate, edit, and export stunning music videos with ease. 391</p> </div> <div class="grid md:grid-cols-2 gap-4 md:gap-6 max-w-6xl mx-auto"> <div class="group overflow-hidden bg-card/50 backdrop-blur border border-primary/20 hover:border-primary/50 transition-all duration-300 hover:shadow-lg hover:shadow-primary/20 cursor-pointer rounded-lg" data-lightbox-img="/interface-frames.webp" data-lightbox-alt="AI Music Video Generator Interface - Frame Selection" data-lightbox-title="Frame by Frame Control"> <div class="relative overflow-hidden"> <img src="/interface-frames.webp" alt="AI Music Video Generator Interface - Frame Selection" class="w-full h-auto transform group-hover:scale-105 transition-transform duration-500" loading="lazy" width="634" height="362"> <div class="absolute inset-0 bg-gradient-to-t from-background/80 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex items-end justify-between p-6"> <h3 class="text-xl font-semibold text-foreground">Frame by Frame Control</h3> <svg class="w-6 h-6 text-foreground" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M15 3h6v6M14 10l6.1-6.1M9 21H3v-6M10 14l-6.1 6.1"></path></svg> </div> </div> </div><div class="group overflow-hidden bg-card/50 backdrop-blur border border-primary/20 hover:border-primary/50 transition-all duration-300 hover:shadow-lg hover:shadow-primary/20 cursor-pointer rounded-lg" data-lightbox-img="/interface-preview.webp" data-lightbox-alt="AI Music Video Generator - Scene Preview" data-lightbox-title="Real-time Preview"> <div class="relative overflow-hidden"> <img src="/interface-preview.webp" alt="AI Music Video Generator - Scene Preview" class="w-full h-auto transform group-hover:scale-105 transition-transform duration-500" loading="lazy" width="634" height="362"> <div class="absolute inset-0 bg-gradient-to-t from-background/80 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex items-end justify-between p-6"> <h3 class="text-xl font-semibold text-foreground">Real-time Preview</h3> <svg class="w-6 h-6 text-foreground" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M15 3h6v6M14 10l6.1-6.1M9 21H3v-6M10 14l-6.1 6.1"></path></svg> </div> </div> </div><div class="group overflow-hidden bg-card/50 backdrop-blur border border-primary/20 hover:border-primary/50 transition-all duration-300 hover:shadow-lg hover:shadow-primary/20 cursor-pointer rounded-lg" data-lightbox-img="/interface-assets.webp" data-lightbox-alt="AI Music Video Generator - Asset Management" data-lightbox-title="Smart Asset Library"> <div class="relative overflow-hidden"> <img src="/interface-assets.webp" alt="AI Music Video Generator - Asset Management" class="w-full h-auto transform group-hover:scale-105 transition-transform duration-500" loading="lazy" width="634" height="362"> <div class="absolute inset-0 bg-gradient-to-t from-background/80 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex items-end justify-between p-6"> <h3 class="text-xl font-semibold text-foreground">Smart Asset Library</h3> <svg class="w-6 h-6 text-foreground" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M15 3h6v6M14 10l6.1-6.1M9 21H3v-6M10 14l-6.1 6.1"></path></svg> </div> </div> </div><div class="group overflow-hidden bg-card/50 backdrop-blur border border-primary/20 hover:border-primary/50 transition-all duration-300 hover:shadow-lg hover:shadow-
391primary/20 cursor-pointer rounded-lg" data-lightbox-img="/interface-quick-videos.webp" data-lightbox-alt="AI Music Video Generator - Quick Videos Gallery" data-lightbox-title="Quick Video Generation"> <div class="relative overflow-hidden"> <img src="/interface-quick-videos.webp" alt="AI Music Video Generator - Quick Videos Gallery" class="w-full h-auto transform group-hover:scale-105 transition-transform duration-500" loading="lazy" width="634" height="362"> <div class="absolute inset-0 bg-gradient-to-t from-background/80 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex items-end justify-between p-6"> <h3 class="text-xl font-semibold text-foreground">Quick Video Generation</h3> <svg class="w-6 h-6 text-foreground" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M15 3h6v6M14 10l6.1-6.1M9 21H3v-6M10 14l-6.1 6.1"></path></svg> </div> </div> </div> </div> </div> <!-- Lightbox Modal --> <div id="interface-lightbox" class="fixed inset-0 z-[200] bg-black/90 hidden items-center justify-center p-4 cursor-pointer"> <img id="lightbox-img" src="" alt="" class="max-w-7xl w-full h-auto rounded-lg"> </div> </section>
391<script type="module">const t=document.getElementById("interface-lightbox"),l=document.getElementById("lightbox-img");document.querySelectorAll("[data-lightbox-img]").forEach(e=>{e.addEventListener("click",()=>{const s=e.dataset.lightboxImg||"",i=e.dataset.lightboxAlt||"";l&&(l.src=s,l.alt=i),t?.classList.remove("hidden"),t?.classList.add("flex")})});t?.addEventListener("click",()=>{t.classList.add("hidden"),t.classList.remove("flex")});</script>
391 <section id="features" class="bg-background py-16 px-5 md:py-24 md:px-6"> <div class="mx-auto max-w-5xl"> <h2 class="font-heading text-[clamp(2rem,5vw,3.5rem)] font-bold leading-[0.95] tracking-[-0.03em] text-white text-center mb-10 md:mb-14"> Your AI production crew </h2> <div class="grid grid-cols-1 gap-5 md:grid-cols-2 md:gap-6"> <a href="https://app.onemoreshot.ai" target="_blank" rel="noopener noreferrer" class="group rounded-2xl border border-white/[0.06] bg-white/[0.02] p-6 transition-colors hover:border-white/[0.12] hover:bg-white/[0.04] md:p-8"> <div class="mb-3 flex items-center gap-3"> <div class="flex h-9 w-9 shrink-0 items-center justify-center rounded-xl border border-white/[0.08] bg-white/[0.04] md:h-10 md:w-10" style="color: #a855f7"> <svg class="h-4 w-4 md:h-5 md:w-5" fill="none" stroke="currentColor" stroke-width="1.5" viewBox="0 0 24 24"><path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg> </div> <h3 class="font-heading text-lg font-bold text-white md:text-xl">AI Artist</h3> </div> <p class="text-[15px] leading-relaxed text-white/50 md:text-base">Create a virtual artist using a photo or just a description. Generate social media content and music videos with a consistent, recognizable identity.</p> </a><a href="https://app.onemoreshot.ai" target="_blank" rel="noopener noreferrer" class="group rounded-2xl border border-white/[0.06] bg-white/[0.02] p-6 transition-colors hover:border-white/[0.12] hover:bg-white/[0.04] md:p-8"> <div class="mb-3 flex items-center gap-3"> <div class="flex h-9 w-9 shrink-0 items-center justify-center rounded-xl border border-white/[0.08] bg-white/[0.04] md:h-10 md:w-10" style="color: #ec4899"> <svg class="h-4 w-4 md:h-5 md:w-5" fill="none" stroke="currentColor" stroke-width="1.5" viewBox="0 0 24 24"><path d="m12 3-1.9 5.8a2 2 0 0 1-1.3 1.3L3 12l5.8 1.9a2 2 0 0 1 1.3 1.3L12 21l1.9-5.8a2 2 0 0 1 1.3-1.3L21 12l-5.8-1.9a2 2 0 0 1-1.3-1.3Z"></path></svg> </div> <h3 class="font-heading text-lg font-bold text-white md:text-xl">Auto Videos</h3> </div> <p class="text-[15px] leading-relaxed text-white/50 md:text-base">Let our AI agents work like a real production crew. Just input your song and a photo â they handle the rest and deliver an amazing music video.</p> </a><a href="https://app.onemoreshot.ai" target="_blank" rel="noopener noreferrer" class="group rounded-2xl border border-white/[0.06] bg-white/[0.02] p-6 transition-colors hover:border-white/[0.12] hover:bg-white/[0.04] md:p-8"> <div class="mb-3 flex items-center gap-3"> <div class="flex h-9 w-9 shrink-0 items-center justify-center rounded-xl border border-white/[0.08] bg-white/[0.04] md:h-10 md:w-10" style="color: #3b82f6"> <svg class="h-4 w-4 md:h-5 md:w-5" fill="none" stroke="currentColor" stroke-width="1.5" viewBox="0 0 24 24"><path d="M12 20h9"></path><path d="M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z"></path></svg> </div> <h3 class="font-heading text-lg font-bold text-white md:text-xl">Precise Editing</h3> </div> <p class="text-[15px] leading-relaxed text-white/50 md:text-base">Start from scratch or modify an existing video. With Project Mode you get granular control over each individual shot.</p> </a><a href="https://app.onemoreshot.ai" target="_blank" rel="noopener noreferrer" class="group rounded-2xl border border-white/[0.06] bg-white/[0.02] p-6 transition-colors hover:border-white/[0.12] hover:bg-white/[0.04] md:p-8"> <div class="mb-3 flex items-center gap-3"> <div class="flex h-9 w-9 shrink-0 items-center justify-center rounded-xl border border-white/[0.08] bg-white/[0.04] md:h-10 md:w-10" style="color: #10b981"> <svg class="h-4 w-4 md:h-5 md:w-5" fill="none" stroke="currentColor" stroke-width="1.5" viewBox="0 0 24 24"><circle cx="12" cy="12" r="9"></circle><path d="M8 14s1.5 2 4 2 4-2 4-2"></path><line x1="9" x2="9.01" y1="10" y2="10"></line><line x1="15" x2="15.01" y1="10" y2="10"></line></svg> </div> <h3 class="font-heading text-lg font-bold text-white md:text-xl">Top Notch Lip-Sync</h3> </div> <p class="text-[15px] leading-relaxed text-white/50 md:text-base">We host the best lip-syncing model available to ensure your singing scenes look completely natural and perfectly in sync.</p> </a> </div> </div> </section> <section class="cv-auto py-16 md:py-32 relative overflow-hidden"> <div class="hidden md:block absolute bottom-1/4 left-0 w-96 h-96 bg-accent/5 rounded-full blur-3xl"></div> <div class="hidden md:block absolute top-1/4 right-0 w-80 h-80 bg-secondary/5 rounded-full blur-3xl"></div> <div class="max-w-7xl mx-auto px-4 md:px-6 lg:px-8 relative z-10"> <div class="text-center mb-10 md:mb-20 space-y-3 md:space-y-6"> <div class="inline-flex items-center gap-2 px-4 py-2 rounded-full bg-card md:bg-card/50 md:backdrop-blur-sm border border-border/50 text-sm font-medium"> <svg class="w-4 h-4 text-accent" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24">
391<path d="m12 3-1.912 5.813a2 2 0 0 1-1.275 1.275L3 12l5.813 1.912a2 2 0 0 1 1.275 1.275L12 21l1.912-5.813a2 2 0 0 1 1.275-1.275L21 12l-5.813-1.912a2 2 0 0 1-1.275-1.275L12 3Z"></path></svg> 392Use Cases 393</div> <h2 class="text-3xl md:text-5xl lg:text-6xl font-heading font-black"> Create Music Videos Anywhere </h2> </div> <div class="grid md:grid-cols-2 lg:grid-cols-3 gap-4 md:gap-6"> <a href="https://app.onemoreshot.ai" target="_blank" rel="noopener noreferrer" class="group glass-card p-5 md:p-8 rounded-2xl md:rounded-3xl hover:shadow-card transition-all duration-500 hover:scale-[1.03] hover:-translate-y-1 no-underline"> <div class="space-y-4 md:space-y-5"> <div class="relative"> <div class="w-12 h-12 md:w-14 md:h-14 rounded-xl md:rounded-2xl bg-gradient-card flex items-center justify-center group-hover:scale-110 transition-transform duration-300"> <svg class="w-6 h-6 md:w-7 md:h-7 text-primary" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M13 2 3 14h9l-1 8 10-12h-9l1-8z"/></svg> </div> <div class="absolute inset-0 rounded-xl md:rounded-2xl bg-primary/10 opacity-0 group-hover:animate-pulse group-hover:opacity-100"></div> </div> <div class="space-y-2"> <h3 class="text-lg md:text-xl font-heading font-bold text-foreground group-hover:text-primary transition-colors"> On-the-Go Creation </h3> <p class="text-sm md:text-base text-muted-foreground font-body leading-relaxed"> Finished a track on your phone? Upload it directly and have a video ready before you get home. </p> </div> </div> </a><a href="https://app.onemoreshot.ai" target="_blank" rel="noopener noreferrer" class="group glass-card p-5 md:p-8 rounded-2xl md:rounded-3xl hover:shadow-card transition-all duration-500 hover:scale-[1.03] hover:-translate-y-1 no-underline"> <div class="space-y-4 md:space-y-5"> <div class="relative"> <div class="w-12 h-12 md:w-14 md:h-14 rounded-xl md:rounded-2xl bg-gradient-card flex items-center justify-center group-hover:scale-110 transition-transform duration-300"> <svg class="w-6 h-6 md:w-7 md:h-7 text-accent" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><circle cx="18" cy="5" r="3"/><circle cx="6" cy="12" r="3"/><circle cx="18" cy="19" r="3"/><line x1="8.59" x2="15.42" y1="13.51" y2="17.49"/><line x1="15.41" x2="8.59" y1="6.51" y2="10.49"/></svg> </div> <div class="absolute inset-0 rounded-xl md:rounded-2xl bg-accent/10 opacity-0 group-hover:animate-pulse group-hover:opacity-100"></div> </div> <div class="space-y-2"> <h3 class="text-lg md:text-xl font-heading font-bold text-foreground group-hover:text-primary transition-colors"> Instant Social Sharing </h3> <p class="text-sm md:text-base text-muted-foreground font-body leading-relaxed"> Generate a video and share it directly to TikTok, Instagram, or YouTube from the app in one flow. </p> </div> </div> </a><a href="https://app.onemoreshot.ai" target="_blank" rel="noopener noreferrer" class="group glass-card p-5 md:p-8 rounded-2xl md:rounded-3xl hover:shadow-card transition-all duration-500 hover:scale-[1.03] hover:-translate-y-1 no-underline"> <div class="space-y-4 md:space-y-5"> <div class="relative"> <div class="w-12 h-12 md:w-14 md:h-14 rounded-xl md:rounded-2xl bg-gradient-card flex items-center justify-center group-hover:scale-110 transition-transform duration-300"> <svg class="w-6 h-6 md:w-7 md:h-7 text-secondary" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M22 21v-2a4 4 0 0 0-3-3.87"/><path d="M16 3.13a4 4 0 0 1 0 7.75"/></svg> </div> <div class="absolute inset-0 rounded-xl md:rounded-2xl bg-secondary/10 opacity-0 group-hover:animate-pulse group-hover:opacity-100"></div> </div> <div class="space-y-2"> <h3 class="text-lg md:text-xl font-heading font-bold text-foreground group-hover:text-primary transition-colors"> Collaboration on the Move </h3> <p class="text-sm md:text-base text-muted-foreground font-body leading-relaxed"> Share projects with collaborators and get feedback in real time, regardless of what device anyone is using. </p> </div> </div> </a><a href="https://app.onemoreshot.ai" target="_blank" rel="noopener noreferrer" class="group glass-card p-5 md:p-8 rounded-2xl md:rounded-3xl hover:shadow-card transition-all duration-500 hover:scale-[1.03] hover:-translate-y-1 no-underline"> <div class="space-y-4 md:space-y-5"> <div class="relative">
393 <div class="w-12 h-12 md:w-14 md:h-14 rounded-xl md:rounded-2xl bg-gradient-card flex items-center justify-center group-hover:scale-110 transition-transform duration-300"> <svg class="w-6 h-6 md:w-7 md:h-7 text-primary" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/></svg> </div> <div class="absolute inset-0 rounded-xl md:rounded-2xl bg-primary/10 opacity-0 group-hover:animate-pulse group-hover:opacity-100"></div> </div> <div class="space-y-2"> <h3 class="text-lg md:text-xl font-heading font-bold text-foreground group-hover:text-primary transition-colors"> Studio-Quality from Any Device </h3> <p class="text-sm md:text-base text-muted-foreground font-body leading-relaxed"> Cloud rendering delivers the same 4K output whether you are on a high-end desktop or a budget smartphone. </p> </div> </div> </a><a href="https://app.onemoreshot.ai" target="_blank" rel="noopener noreferrer" class="group glass-card p-5 md:p-8 rounded-2xl md:rounded-3xl hover:shadow-card transition-all duration-500 hover:scale-[1.03] hover:-translate-y-1 no-underline"> <div class="space-y-4 md:space-y-5"> <div class="relative"> <div class="w-12 h-12 md:w-14 md:h-14 rounded-xl md:rounded-2xl bg-gradient-card flex items-center justify-center group-hover:scale-110 transition-transform duration-300"> <svg class="w-6 h-6 md:w-7 md:h-7 text-accent" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M9 18V5l12-2v13"/><circle cx="6" cy="18" r="3"/><circle cx="18" cy="16" r="3"/></svg> </div> <div class="absolute inset-0 rounded-xl md:rounded-2xl bg-accent/10 opacity-0 group-hover:animate-pulse group-hover:opacity-100"></div> </div> <div class="space-y-2"> <h3 class="text-lg md:text-xl font-heading font-bold text-foreground group-hover:text-primary transition-colors"> Direct DAW Integration </h3> <p class="text-sm md:text-base text-muted-foreground font-body leading-relaxed"> Export your mix from your DAW and import it directly into the app to start generating visuals immediately. </p> </div> </div> </a> </div> </div> </section><section class="cv-auto py-14 md:py-24 relative overflow-hidden"> <!-- Background --> <div class="hidden md:block absolute top-1/4 left-0 w-96 h-96 bg-primary/5 rounded-full blur-3xl"></div> <div class="hidden md:block absolute bottom-1/4 right-0 w-96 h-96 bg-accent/5 rounded-full blur-3xl"></div> <div class="max-w-5xl mx-auto px-4 md:px-6 lg:px-8 relative z-10"> <!-- Header --> <div class="text-center mb-8 md:mb-16 space-y-3 md:space-y-6"> <div class="inline-flex items-center gap-2 px-4 py-2 rounded-full bg-card md:bg-card/50 md:backdrop-blur-sm border border-border/50 text-sm font-medium"> <svg class="w-4 h-4 text-accent" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M13 2 3 14h9l-1 8 10-12h-9l1-8z"></path></svg> Why AI? </div> <h2 class="text-3xl md:text-5xl lg:text-7xl font-heading font-black"> Traditional vs <span class="gradient-text">AI-powered</span> </h2> <p class="text-base md:text-xl text-muted-foreground max-w-3xl mx-auto font-body leading-relaxed"> See how AI music video creation compares to traditional production across every dimension that matters. </p> </div> <!-- Comparison Table --> <div class="glass-card rounded-3xl overflow-hidden"> <div> <!-- Label row --> <div class="flex items-center gap-3 px-5 pt-5 pb-2 md:px-8 md:pt-6 md:pb-3"> <svg class="w-5 h-5 text-muted-foreground flex-shrink-0" fill="none" stroke="currentColor" stroke-width="1.5" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10" /><path d="M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8" /><path d="M12 18V6" /></svg> <span class="text-sm md:text-base font-semibold text-foreground">Cost</span> </div> <!-- Values row --> <div class="grid grid-cols-1 md:grid-cols-2 gap-3 px-5 pb-5 md:px-8 md:pb-6"> <!-- Traditional --> <div class="flex items-start gap-2.5 rounded-xl bg-red-500/[0.04] border border-red-500/[0.08] px-4 py-3"> <svg class="w-4 h-4 text-red-400 flex-shrink-0 mt-0.5" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"></circle><path d="m15 9-6 6"></path><path d="m9 9 6 6"></path></svg> <div> <span class="block text-[11px] font-medium uppercase tracking-wider text-muted-foreground
393/60 mb-0.5">Traditional</span> <span class="text-sm text-muted-foreground">$5,000 â $50,000+</span> </div> </div> <!-- AI --> <div class="flex items-start gap-2.5 rounded-xl bg-emerald-500/[0.06] border border-emerald-500/[0.1] px-4 py-3"> <svg class="w-4 h-4 text-emerald-400 flex-shrink-0 mt-0.5" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"></circle><path d="m9 12 2 2 4-4"></path></svg> <div> <span class="block text-[11px] font-medium uppercase tracking-wider gradient-text mb-0.5">With AI</span> <span class="text-sm text-foreground font-medium">From $0 (free tier)</span> </div> </div> </div> </div><div class="border-t border-border/20"> <!-- Label row --> <div class="flex items-center gap-3 px-5 pt-5 pb-2 md:px-8 md:pt-6 md:pb-3"> <svg class="w-5 h-5 text-muted-foreground flex-shrink-0" fill="none" stroke="currentColor" stroke-width="1.5" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10" /><polyline points="12 6 12 12 16 14" /></svg> <span class="text-sm md:text-base font-semibold text-foreground">Production Time</span> </div> <!-- Values row --> <div class="grid grid-cols-1 md:grid-cols-2 gap-3 px-5 pb-5 md:px-8 md:pb-6"> <!-- Traditional --> <div class="flex items-start gap-2.5 rounded-xl bg-red-500/[0.04] border border-red-500/[0.08] px-4 py-3"> <svg class="w-4 h-4 text-red-400 flex-shrink-0 mt-0.5" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"></circle><path d="m15 9-6 6"></path><path d="m9 9 6 6"></path></svg> <div> <span class="block text-[11px] font-medium uppercase tracking-wider text-muted-foreground/60 mb-0.5">Traditional</span> <span class="text-sm text-muted-foreground">2 â 8 weeks</span> </div> </div> <!-- AI --> <div class="flex items-start gap-2.5 rounded-xl bg-emerald-500/[0.06] border border-emerald-500/[0.1] px-4 py-3"> <svg class="w-4 h-4 text-emerald-400 flex-shrink-0 mt-0.5" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"></circle><path d="m9 12 2 2 4-4"></path></svg> <div> <span class="block text-[11px] font-medium uppercase tracking-wider gradient-text mb-0.5">With AI</span> <span class="text-sm text-foreground font-medium">Under 5 minutes</span> </div> </div> </div> </div><div class="border-t border-border/20"> <!-- Label row --> <div class="flex items-center gap-3 px-5 pt-5 pb-2 md:px-8 md:pt-6 md:pb-3"> <svg class="w-5 h-5 text-muted-foreground flex-shrink-0" fill="none" stroke="currentColor" stroke-width="1.5" viewBox="0 0 24 24"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2" /><circle cx="9" cy="7" r="4" /><path d="M22 21v-2a4 4 0 0 0-3-3.87" /><path d="M16 3.13a4 4 0 0 1 0 7.75" /></svg> <span class="text-sm md:text-base font-semibold text-foreground">Team Required</span> </div> <!-- Values row --> <div class="grid grid-cols-1 md:grid-cols-2 gap-3 px-5 pb-5 md:px-8 md:pb-6"> <!-- Traditional --> <div class="flex items-start gap-2.5 rounded-xl bg-red-500/[0.04] border border-red-500/[0.08] px-4 py-3"> <svg class="w-4 h-4 text-red-400 flex-shrink-0 mt-0.5" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"></circle><path d="m15 9-6 6"></path><path d="m9 9 6 6"></path></svg> <div> <span class="block text-[11px] font-medium uppercase tracking-wider text-muted-foreground/60 mb-0.5">Traditional</span> <span class="text-sm text-muted-foreground">Director, camera crew, editor, actors, stylists, location scouts</span> </div> </div> <!-- AI --> <div class="flex items-start gap-2.5 rounded-xl bg-emerald-500/[0.06] border border-emerald-500/[0.1] px-4 py-3"> <svg class="w-4 h-4 text-emerald-400 flex-shrink-0 mt-0.5" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"></circle><path d="m9 12 2 2 4-4"></path></svg> <div> <span class="block text-[11px] font-medium uppercase tracking-wider gradient-text mb-0.5">With AI</span> <span class="text-sm text-foreground font-medium">Just you</span> </div> </div> </div> </div><div class="border-t border-border/20"> <!-- Label row --> <div class="flex items-center gap-3 px-5 pt-5 pb-2 md:px-8 md:pt-6 md:pb-3"> <svg class="w-5 h-5 text-muted-foreground flex-shrink-0" fill="none" stroke="currentColor" stroke-width="1.5" viewB
393ox="0 0 24 24"><polyline points="1 4 1 10 7 10" /><polyline points="23 20 23 14 17 14" /><path d="M20.49 9A9 9 0 0 0 5.64 5.64L1 10m22 4-4.64 4.36A9 9 0 0 1 3.51 15" /></svg> <span class="text-sm md:text-base font-semibold text-foreground">Revisions</span> </div> <!-- Values row --> <div class="grid grid-cols-1 md:grid-cols-2 gap-3 px-5 pb-5 md:px-8 md:pb-6"> <!-- Traditional --> <div class="flex items-start gap-2.5 rounded-xl bg-red-500/[0.04] border border-red-500/[0.08] px-4 py-3"> <svg class="w-4 h-4 text-red-400 flex-shrink-0 mt-0.5" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"></circle><path d="m15 9-6 6"></path><path d="m9 9 6 6"></path></svg> <div> <span class="block text-[11px] font-medium uppercase tracking-wider text-muted-foreground/60 mb-0.5">Traditional</span> <span class="text-sm text-muted-foreground">Costly re-shoots & re-edits</span> </div> </div> <!-- AI --> <div class="flex items-start gap-2.5 rounded-xl bg-emerald-500/[0.06] border border-emerald-500/[0.1] px-4 py-3"> <svg class="w-4 h-4 text-emerald-400 flex-shrink-0 mt-0.5" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"></circle><path d="m9 12 2 2 4-4"></path></svg> <div> <span class="block text-[11px] font-medium uppercase tracking-wider gradient-text mb-0.5">With AI</span> <span class="text-sm text-foreground font-medium">Unlimited regeneration</span> </div> </div> </div> </div><div class="border-t border-border/20"> <!-- Label row --> <div class="flex items-center gap-3 px-5 pt-5 pb-2 md:px-8 md:pt-6 md:pb-3"> <svg class="w-5 h-5 text-muted-foreground flex-shrink-0" fill="none" stroke="currentColor" stroke-width="1.5" viewBox="0 0 24 24"><rect x="2" y="3" width="20" height="14" rx="2" ry="2" /><line x1="8" y1="21" x2="16" y2="21" /><line x1="12" y1="17" x2="12" y2="21" /></svg> <span class="text-sm md:text-base font-semibold text-foreground">Equipment</span> </div> <!-- Values row --> <div class="grid grid-cols-1 md:grid-cols-2 gap-3 px-5 pb-5 md:px-8 md:pb-6"> <!-- Traditional --> <div class="flex items-start gap-2.5 rounded-xl bg-red-500/[0.04] border border-red-500/[0.08] px-4 py-3"> <svg class="w-4 h-4 text-red-400 flex-shrink-0 mt-0.5" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"></circle><path d="m15 9-6 6"></path><path d="m9 9 6 6"></path></svg> <div> <span class="block text-[11px] font-medium uppercase tracking-wider text-muted-foreground/60 mb-0.5">Traditional</span> <span class="text-sm text-muted-foreground">Cameras, lighting, studio rental</span> </div> </div> <!-- AI --> <div class="flex items-start gap-2.5 rounded-xl bg-emerald-500/[0.06] border border-emerald-500/[0.1] px-4 py-3"> <svg class="w-4 h-4 text-emerald-400 flex-shrink-0 mt-0.5" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"></circle><path d="m9 12 2 2 4-4"></path></svg> <div> <span class="block text-[11px] font-medium uppercase tracking-wider gradient-text mb-0.5">With AI</span> <span class="text-sm text-foreground font-medium">Any device with a browser</span> </div> </div> </div> </div> </div> <!-- Bottom Summary --> <div class="mt-8 md:mt-12 grid grid-cols-2 gap-3 md:gap-6"> <div class="glass-card rounded-xl md:rounded-2xl p-4 md:p-6 text-center"> <div class="text-2xl md:text-3xl font-heading font-black gradient-text mb-1 md:mb-2">100x</div> <div class="text-xs md:text-sm text-muted-foreground font-body">Cheaper than traditional</div> </div> <div class="glass-card rounded-xl md:rounded-2xl p-4 md:p-6 text-center"> <div class="text-2xl md:text-3xl font-heading font-black gradient-text mb-1 md:mb-2">0</div> <div class="text-xs md:text-sm text-muted-foreground font-body">People needed besides you</div> </div> </div> </div> </section> <section id="examples" class="cv-auto py-14 md:py-24 relative overflow-hidden bg-secondary/30"> <!-- Background Effects --> <div class="absolute inset-0 bg-gradient-to-b from-background/50 via-secondary/20 to-background/50"></div> <div class="hidden md:block absolute top-0 left-1/4 w-96 h-96 bg-gradient-radial from-primary/10 to-transparent roun
393ded-full blur-3xl"></div> <div class="hidden md:block absolute bottom-0 right-1/4 w-96 h-96 bg-gradient-radial from-accent/10 to-transparent rounded-full blur-3xl"></div> <div class="container mx-auto px-4 relative"> <!-- Section Header --> <div class="text-center mb-8 md:mb-16"> <div class="inline-flex items-center gap-2 px-4 py-2 rounded-full bg-accent/10 border border-accent/20 mb-4 md:mb-6"> <svg class="w-4 h-4 text-accent" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="m12 3-1.912 5.813a2 2 0 0 1-1.275 1.275L3 12l5.813 1.912a2 2 0 0 1 1.275 1.275L12 21l1.912-5.813a2 2 0 0 1 1.275-1.275L21 12l-5.813-1.912a2 2 0 0 1-1.275-1.275L12 3Z"></path><path d="M5 3v4"></path><path d="M19 17v4"></path><path d="M3 5h4"></path><path d="M17 19h4"></path></svg> <span class="text-sm font-medium text-accent">See It In Action</span> </div> <h2 class="text-3xl md:text-4xl lg:text-5xl font-bold mb-3 md:mb-6 bg-gradient-to-r from-foreground via-foreground to-muted-foreground bg-clip-text text-transparent"> 394Examples That Inspire 395</h2> <p class="text-base md:text-lg text-muted-foreground max-w-2xl mx-auto"> 396Discover what's possible with our AI-powered video generation. From music videos to visualizers, create content that captivates. 397</p> </div> <!-- Examples Grid --> <div class="grid md:grid-cols-3 gap-4 md:gap-8 max-w-6xl mx-auto mb-10 md:mb-16"> <div class="group overflow-hidden border-2 border-border hover:border-primary/50 transition-all duration-300 hover:scale-105 rounded-lg bg-card"> <div class="relative aspect-video overflow-hidden"> <img src="https://i.ytimg.com/vi/c_h9bClxsZw/maxresdefault.jpg" alt="knd - hell - Watch how One More Shot AI turns music into video" class="w-full h-full object-cover transition-transform duration-300 group-hover:scale-110" loading="lazy" decoding="async" width="400" height="225"> <!-- Play Button Overlay --> <div class="absolute inset-0 bg-black/40 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity duration-300"> <button class="example-play-btn rounded-full bg-white/40 md:bg-white/20 md:backdrop-blur-sm hover:bg-white/30 text-white border border-white/30 h-12 px-8 inline-flex items-center justify-center" data-video-url data-video-title="knd - hell" data-video-poster="https://i.ytimg.com/vi/c_h9bClxsZw/maxresdefault.jpg" data-youtube-id="c_h9bClxsZw" aria-label="Play knd - hell video"> <svg class="w-6 h-6 ml-1" fill="currentColor" viewBox="0 0 24 24"><polygon points="5 3 19 12 5 21 5 3"></polygon></svg> </button> </div> <!-- Duration Badge --> </div> <div class="p-4 md:p-6"> <h3 class="text-lg md:text-xl font-semibold mb-1 md:mb-2">knd - hell</h3> <p class="text-muted-foreground text-xs md:text-sm mb-3 md:mb-4">Watch how One More Shot AI turns music into video</p> <div class="flex gap-2 mb-3 md:mb-4"> <span class="text-xs px-2 py-1 bg-primary/10 text-primary rounded-full">AI Generated</span> <span class="text-xs px-2 py-1 bg-accent/10 text-accent rounded-full">Music Video</span> </div> <a href class="sr-only" aria-label="Watch knd - hell video"> knd - hell - Duration: </a> <button class="example-play-btn w-full inline-flex items-center justify-center h-10 px-4 rounded-lg border border-primary/50 bg-transparent text-primary hover:bg-primary hover:text-primary-foreground hover:border-primary transition-all duration-300 text-sm font-medium" data-video-url data-video-title="knd - hell" data-video-poster="https://i.ytimg.com/vi/c_h9bClxsZw/maxresdefault.jpg" data-youtube-id="c_h9bClxsZw"> 398Watch Full Video 399</button> </div> </div><div class="group overflow-hidden border-2 border-border hover:border-primary/50 transition-all duration-300 hover:scale-105 rounded-lg bg-card"> <div class="relative aspect-video overflow-hidden"> <img src="https://firebasestorage.googleapis.com/v0/b/photographer-dv8f47.firebasestorage.app/o/landing_sample_videos%2Fpolyphemus.webp?alt=media&token=743aecb6-237d-4f5e-86e9-8d8b60625222" alt="POLYPHEMUS - Amazing AI-generated music video showcase" class="w-full h-full object-cover transition-transform duration-300 group-hover:scale-110" loading="lazy" decoding="async" width="400" height="225"> <!-- Play Button Overlay --> <div class="absolute inset-0 bg-black/40 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity duration-300"> <button class="example-play-btn rounded-full bg-white/40 md:bg-white/20 md:backdrop-blur-sm hover:bg-white/30 text-white border border-white/30 h-12 px-8 inline-flex items-center justify-center" data-video-url="https://firebasestorage.googleapis.com/v0/b/photographer-dv8f47.firebasestorage.app/o/landing_sample_videos%2Fpolyphemus.mp4?alt=media&token=0e443e58-667e-4009-9f6f-1461b716e0a0" data-video-title="POLYPHEMUS" data-video-poster="https://firebasestorage.googleapis.com/v0/b/photographer-dv8f47.firebasestorage.app/o/landing_sample_videos%2Fpolyphemus.webp?alt=media&token=743aecb6-237d-4f5e-86e9-8d8b60625222" data-youtube-id aria-label="Play POLYPHEMUS video"> <svg class="w-6 h-6 ml-1" fill="currentColor" viewBox="0 0 24 24"><polygon points="5 3 19 12 5 21 5 3"></polygon></svg> </button> </div> <!-- Duration Badge --> <div class="absolute top-4 right-4 bg-black/70 text-white text-xs px-2 py-1 rounded"> 1:52 </div> </div> <div class="p-4 md:p-6"> <h3 class="text-lg md:text-xl font-semibold mb-1 md:mb-2">POLYPHEMUS</h3> <p class="text-muted-foreground text-xs md:text-sm mb-3 md:mb-4">Amazing AI-generated music video showcase</p> <div class="flex gap-2 mb-3 md:mb-4"> <span class="text-xs px-2 py-1 bg-primary/10 text-primary rounded-full">AI Generated</span> <span class="text-xs px-2 py-1 bg-accent/10 text-accent rounded-full">Music Video</span> </div> <a href="https://firebasestorage.googleapis.com/v0/b/photographer-dv8f47.firebasestorage.app/o/landing_sample_videos%2Fpolyphemus.mp4?alt=media&token=0e443e58-667e-4009-9f6f-1461b716e0a0" class="sr-only" aria-label="Watch POLYPHEMUS video"> POLYPHEMUS - Duration: 1:52 </a> <button class="example-play-btn w-full inline-flex items-center justify-center h-10 px-4 roun
399ded-lg border border-primary/50 bg-transparent text-primary hover:bg-primary hover:text-primary-foreground hover:border-primary transition-all duration-300 text-sm font-medium" data-video-url="https://firebasestorage.googleapis.com/v0/b/photographer-dv8f47.firebasestorage.app/o/landing_sample_videos%2Fpolyphemus.mp4?alt=media&token=0e443e58-667e-4009-9f6f-1461b716e0a0" data-video-title="POLYPHEMUS" data-video-poster="https://firebasestorage.googleapis.com/v0/b/photographer-dv8f47.firebasestorage.app/o/landing_sample_videos%2Fpolyphemus.webp?alt=media&token=743aecb6-237d-4f5e-86e9-8d8b60625222" data-youtube-id> 400Watch Full Video 401</button> </div> </div><div class="group overflow-hidden border-2 border-border hover:border-primary/50 transition-all duration-300 hover:scale-105 rounded-lg bg-card"> <div class="relative aspect-video overflow-hidden"> <img src="https://firebasestorage.googleapis.com/v0/b/photographer-dv8f47.firebasestorage.app/o/landing_sample_videos%2Fhypnotic.webp?alt=media&token=21d8035c-c9c1-4849-8887-28de05da8252" alt="HYPNOTIC - Transform your music into captivating videos" class="w-full h-full object-cover transition-transform duration-300 group-hover:scale-110" loading="lazy" decoding="async" width="400" height="225"> <!-- Play Button Overlay --> <div class="absolute inset-0 bg-black/40 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity duration-300"> <button class="example-play-btn rounded-full bg-white/40 md:bg-white/20 md:backdrop-blur-sm hover:bg-white/30 text-white border border-white/30 h-12 px-8 inline-flex items-center justify-center" data-video-url="https://firebasestorage.googleapis.com/v0/b/photographer-dv8f47.firebasestorage.app/o/landing_sample_videos%2Fhypnotic.mp4?alt=media&token=3e292de4-232c-4db2-821d-14142ce4c23e" data-video-title="HYPNOTIC" data-video-poster="https://firebasestorage.googleapis.com/v0/b/photographer-dv8f47.firebasestorage.app/o/landing_sample_videos%2Fhypnotic.webp?alt=media&token=21d8035c-c9c1-4849-8887-28de05da8252" data-youtube-id aria-label="Play HYPNOTIC video"> <svg class="w-6 h-6 ml-1" fill="currentColor" viewBox="0 0 24 24"><polygon points="5 3 19 12 5 21 5 3"></polygon></svg> </button> </div> <!-- Duration Badge --> <div class="absolute top-4 right-4 bg-black/70 text-white text-xs px-2 py-1 rounded"> 2:08 </div> </div> <div class="p-4 md:p-6"> <h3 class="text-lg md:text-xl font-semibold mb-1 md:mb-2">HYPNOTIC</h3> <p class="text-muted-foreground text-xs md:text-sm mb-3 md:mb-4">Transform your music into captivating videos</p> <div class="flex gap-2 mb-3 md:mb-4"> <span class="text-xs px-2 py-1 bg-primary/10 text-primary rounded-full">AI Generated</span> <span class="text-xs px-2 py-1 bg-accent/10 text-accent rounded-full">Music Video</span> </div> <a href="https://firebasestorage.googleapis.com/v0/b/photographer-dv8f47.firebasestorage.app/o/landing_sample_videos%2Fhypnotic.mp4?alt=media&token=3e292de4-232c-4db2-821d-14142ce4c23e" class="sr-only" aria-label="Watch HYPNOTIC video"> HYPNOTIC - Duration: 2:08 </a> <button class="example-play-btn w-full inline-flex items-center justify-center h-10 px-4 rounded-lg border border-primary/50 bg-transparent text-primary hover:bg-primary hover:text-primary-foreground hover:border-primary transition-all duration-300 text-sm font-medium" data-video-url="https://firebasestorage.googleapis.com/v0/b/photographer-dv8f47.firebasestorage.app/o/landing_sample_videos%2Fhypnotic.mp4?alt=media&token=3e292de4-232c-4db2-821d-14142ce4c23e" data-video-title="HYPNOTIC" data-video-poster="https://firebasestorage.googleapis.com/v0/b/photographer-dv8f47.firebasestorage.app/o/landing_sample_videos%2Fhypnotic.webp?alt=media&token=21d8035c-c9c1-4849-8887-28de05da8252" data-youtube-id> 402Watch Full Video 403</button> </div> </div><div class="group overflow-hidden border-2 border-border hover:border-primary/50 transition-all duration-300 hover:scale-105 rounded-lg bg-card"> <div class="relative aspect-video overflow-hidden"> <img src="https://firebasestorage.googleapis.com/v0/b/photographer-dv8f47.firebasestorage.app/o/landing_sample_videos%2Fstanding_in_the_hush.webp?alt=media&token=8baf4269-615f-47a4-8b8e-002038e6066b" alt="Standing in the Hush - Amazing AI-generated music video showcase" class="w-full h-full object-cover transition-transform duration-300 group-hover:scale-110" loading="lazy" decoding="async" width="400" height="225"> <!-- Play Button Overlay --> <div class="absolute inset-0 bg-black/40 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity duration-300"> <button class="example-play-btn rounded-full bg-white/40 md:bg-white/20 md:backdrop-blur-sm hover:bg-white/30 text-white border border-white/30 h-12 px-8 inline-flex items-center justify-center" data-video-url="https://firebasestorage.googleapis.com/v0/b/photographer-dv8f47.firebasestorage.app/o/landing_sample_videos%2Fstanding_in_the_hush.mp4?alt=media&token=e35bdd38-4323-4a62-9193-7db6873c4de0" data-video-title="Standing in the Hush" data-video-poster="https://firebasestorage.googleapis.com/v0/b/photographer-dv8f47.firebasestorage.app/o/landing_sample_videos%2Fstanding_in_the_hush.webp?alt=media&token=8baf4269-615f-47a4-8b8e-002038e6066b" data-youtube-id aria-label="Play Standing in the Hush video"> <svg class="w-6 h-6 ml-1" fill="currentColor" viewBox="0 0 24 24"><polygon points="5 3 19 12 5 21 5 3"></polygon></svg> </button> </div> <!-- Duration Badge --> <div class="absolute top-4 right-4 bg-black/70 text-white text-xs px-2 py-1 rounded"> 3:22 </div> </div> <div class="p-4 md:p-6"> <h3 class="text-lg md:text-xl font-semibold mb-1 md:mb-2">Standing in the Hush</h3> <p class="text-muted-foreground text-xs md:text-sm mb-3 md:mb-4">Amazing AI-generated music video showcase</p> <div class="flex gap-2 mb-3 md:mb-4"> <span class="text-xs px-2 py-1 bg-primary/10 text-primary rounded-full">AI Generated</span> <span class="text-xs px-2 py-1 bg-accent/10 text-accent rounded-full">Music Video</span> </div> <a href="https://firebasestorage.googleapis.com/v0/b/photographer-dv8f47.firebasestorage.app/o/landing_sample_videos%2Fstanding_in_the_hush.mp4?alt=media&token=e35bdd38-4323-4a62-9193-7db6873c4de0" class="sr-only" aria-label="Watch Standing in the Hush video"> Standing in the Hush - Duration: 3:22 </a> <button class="example-play-btn w-full inline-flex items-center justify-center h-10 px-4 roun
403ded-lg border border-primary/50 bg-transparent text-primary hover:bg-primary hover:text-primary-foreground hover:border-primary transition-all duration-300 text-sm font-medium" data-video-url="https://firebasestorage.googleapis.com/v0/b/photographer-dv8f47.firebasestorage.app/o/landing_sample_videos%2Fstanding_in_the_hush.mp4?alt=media&token=e35bdd38-4323-4a62-9193-7db6873c4de0" data-video-title="Standing in the Hush" data-video-poster="https://firebasestorage.googleapis.com/v0/b/photographer-dv8f47.firebasestorage.app/o/landing_sample_videos%2Fstanding_in_the_hush.webp?alt=media&token=8baf4269-615f-47a4-8b8e-002038e6066b" data-youtube-id> 404Watch Full Video 405</button> </div> </div><div class="group overflow-hidden border-2 border-border hover:border-primary/50 transition-all duration-300 hover:scale-105 rounded-lg bg-card"> <div class="relative aspect-video overflow-hidden"> <img src="https://firebasestorage.googleapis.com/v0/b/photographer-dv8f47.firebasestorage.app/o/landing_sample_videos%2Fhold_on_the_moment.webp?alt=media&token=ff1debb1-190c-40e8-a358-370ec288774d" alt="Hold On The Moment - Amazing AI-generated music video showcase" class="w-full h-full object-cover transition-transform duration-300 group-hover:scale-110" loading="lazy" decoding="async" width="400" height="225"> <!-- Play Button Overlay --> <div class="absolute inset-0 bg-black/40 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity duration-300"> <button class="example-play-btn rounded-full bg-white/40 md:bg-white/20 md:backdrop-blur-sm hover:bg-white/30 text-white border border-white/30 h-12 px-8 inline-flex items-center justify-center" data-video-url="https://firebasestorage.googleapis.com/v0/b/photographer-dv8f47.firebasestorage.app/o/landing_sample_videos%2Fhold_on_the_moment.mp4?alt=media&token=3451017c-5885-4bd0-bb54-fb66f9906b7f" data-video-title="Hold On The Moment" data-video-poster="https://firebasestorage.googleapis.com/v0/b/photographer-dv8f47.firebasestorage.app/o/landing_sample_videos%2Fhold_on_the_moment.webp?alt=media&token=ff1debb1-190c-40e8-a358-370ec288774d" data-youtube-id aria-label="Play Hold On The Moment video"> <svg class="w-6 h-6 ml-1" fill="currentColor" viewBox="0 0 24 24"><polygon points="5 3 19 12 5 21 5 3"></polygon></svg> </button> </div> <!-- Duration Badge --> <div class="absolute top-4 right-4 bg-black/70 text-white text-xs px-2 py-1 rounded"> 4:17 </div> </div> <div class="p-4 md:p-6"> <h3 class="text-lg md:text-xl font-semibold mb-1 md:mb-2">Hold On The Moment</h3> <p class="text-muted-foreground text-xs md:text-sm mb-3 md:mb-4">Amazing AI-generated music video showcase</p> <div class="flex gap-2 mb-3 md:mb-4"> <span class="text-xs px-2 py-1 bg-primary/10 text-primary rounded-full">AI Generated</span> <span class="text-xs px-2 py-1 bg-accent/10 text-accent rounded-full">Music Video</span> </div> <a href="https://firebasestorage.googleapis.com/v0/b/photographer-dv8f47.firebasestorage.app/o/landing_sample_videos%2Fhold_on_the_moment.mp4?alt=media&token=3451017c-5885-4bd0-bb54-fb66f9906b7f" class="sr-only" aria-label="Watch Hold On The Moment video"> Hold On The Moment - Duration: 4:17 </a> <button class="example-play-btn w-full inline-flex items-center justify-center h-10 px-4 rounded-lg border border-primary/50 bg-transparent text-primary hover:bg-primary hover:text-primary-foreground hover:border-primary transition-all duration-300 text-sm font-medium" data-video-url="https://firebasestorage.googleapis.com/v0/b/photographer-dv8f47.firebasestorage.app/o/landing_sample_videos%2Fhold_on_the_moment.mp4?alt=media&token=3451017c-5885-4bd0-bb54-fb66f9906b7f" data-video-title="Hold On The Moment" data-video-poster="https://firebasestorage.googleapis.com/v0/b/photographer-dv8f47.firebasestorage.app/o/landing_sample_videos%2Fhold_on_the_moment.webp?alt=media&token=ff1debb1-190c-40e8-a358-370ec288774d" data-youtube-id> 406Watch Full Video 407</button> </div> </div><div class="group overflow-hidden border-2 border-border hover:border-primary/50 transition-all duration-300 hover:scale-105 rounded-lg bg-card"> <div class="relative aspect-video overflow-hidden"> <img src="https://firebasestorage.googleapis.com/v0/b/photographer-dv8f47.firebasestorage.app/o/landing_sample_videos%2Fback_to_basic.webp?alt=media&token=eb288475-d568-47db-a0d1-15ca6e4d5a39" alt="Back to Basic - Amazing AI-generated music video showcase" class="w-full h-full object-cover transition-transform duration-300 group-hover:scale-110" loading="lazy" decoding="async" width="400" height="225"> <!-- Play Button Overlay --> <div class="absolute inset-0 bg-black/40 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity duration-300"> <button class="example-play-btn rounded-full bg-white/40 md:bg-white/20 md:backdrop-blur-sm hover:bg-white/30 text-white border border-white/30 h-12 px-8 inline-flex items-center justify-center" data-video-url="https://firebasestorage.googleapis.com/v0/b/photographer-dv8f47.firebasestorage.app/o/landing_sample_videos%2Fback_to_basic.mp4?alt=media&token=fc5de78e-c076-401f-a9af-38a91e36226e" data-video-title="Back to Basic" data-video-poster="https://firebasestorage.googleapis.com/v0/b/photographer-dv8f47.firebasestorage.app/o/landing_sample_videos%2Fback_to_basic.webp?alt=media&token=eb288475-d568-47db-a0d1-15ca6e4d5a39" data-youtube-id aria-label="Play Back to Basic video"> <svg class="w-6 h-6 ml-1" fill="currentColor" viewBox="0 0 24 24"><polygon points="5 3 19 12 5 21 5 3"></polygon></svg> </button> </div> <!-- Duration Badge --> <div class="absolute top-4 right-4 bg-black/70 text-white text-xs px-2 py-1 rounded"> 3:19 </div> </div> <div class="p-4 md:p-6"> <h3 class="text-lg md:text-xl font-semibold mb-1 md:mb-2">Back to Basic</h3> <p class="text-muted-foreground text-xs md:text-sm mb-3 md:mb-4">Amazing AI-generated music video showcase</p> <div class="flex gap-2 mb-3 md:mb-4"> <span class="text-xs px-2 py-1 bg-primary/10 text-primary rounded-full">AI Generated</span> <span class="text-xs px-2 py-1 bg-accent/10 text-accent rounded-full">Music Video</span> </div> <a href="https://firebasestorage.googleapis.com/v0/b/photographer-dv8f47.firebasestorage.app/o/landing_sample_videos%2Fback_to_basic.mp4?alt=media&token=fc5de78e-c076-401f-a9af-38a91e36226e" class="sr-only" aria-label="Watch Back to Basic video"> Back to Basic - Duration: 3:19 </a> <button class="example-play-btn w-full inline-flex items-center justify-center h-10 px-4 roun
407ded-lg border border-primary/50 bg-transparent text-primary hover:bg-primary hover:text-primary-foreground hover:border-primary transition-all duration-300 text-sm font-medium" data-video-url="https://firebasestorage.googleapis.com/v0/b/photographer-dv8f47.firebasestorage.app/o/landing_sample_videos%2Fback_to_basic.mp4?alt=media&token=fc5de78e-c076-401f-a9af-38a91e36226e" data-video-title="Back to Basic" data-video-poster="https://firebasestorage.googleapis.com/v0/b/photographer-dv8f47.firebasestorage.app/o/landing_sample_videos%2Fback_to_basic.webp?alt=media&token=eb288475-d568-47db-a0d1-15ca6e4d5a39" data-youtube-id> 408Watch Full Video 409</button> </div> </div><div class="group overflow-hidden border-2 border-border hover:border-primary/50 transition-all duration-300 hover:scale-105 rounded-lg bg-card"> <div class="relative aspect-video overflow-hidden"> <img src="https://firebasestorage.googleapis.com/v0/b/photographer-dv8f47.firebasestorage.app/o/landing_sample_videos%2F6_feet.webp?alt=media&token=bdd9d978-c7e9-45d7-957e-9161b1264407" alt="6 Feet - Transform your track into a stunning visual experience" class="w-full h-full object-cover transition-transform duration-300 group-hover:scale-110" loading="lazy" decoding="async" width="400" height="225"> <!-- Play Button Overlay --> <div class="absolute inset-0 bg-black/40 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity duration-300"> <button class="example-play-btn rounded-full bg-white/40 md:bg-white/20 md:backdrop-blur-sm hover:bg-white/30 text-white border border-white/30 h-12 px-8 inline-flex items-center justify-center" data-video-url="https://firebasestorage.googleapis.com/v0/b/photographer-dv8f47.firebasestorage.app/o/landing_sample_videos%2F6_feet.mp4?alt=media&token=a26d8fae-352d-4f4b-8965-b23859e89b23" data-video-title="6 Feet" data-video-poster="https://firebasestorage.googleapis.com/v0/b/photographer-dv8f47.firebasestorage.app/o/landing_sample_videos%2F6_feet.webp?alt=media&token=bdd9d978-c7e9-45d7-957e-9161b1264407" data-youtube-id aria-label="Play 6 Feet video"> <svg class="w-6 h-6 ml-1" fill="currentColor" viewBox="0 0 24 24"><polygon points="5 3 19 12 5 21 5 3"></polygon></svg> </button> </div> <!-- Duration Badge --> <div class="absolute top-4 right-4 bg-black/70 text-white text-xs px-2 py-1 rounded"> 2:26 </div> </div> <div class="p-4 md:p-6"> <h3 class="text-lg md:text-xl font-semibold mb-1 md:mb-2">6 Feet</h3> <p class="text-muted-foreground text-xs md:text-sm mb-3 md:mb-4">Transform your track into a stunning visual experience</p> <div class="flex gap-2 mb-3 md:mb-4"> <span class="text-xs px-2 py-1 bg-primary/10 text-primary rounded-full">Cinematic</span> <span class="text-xs px-2 py-1 bg-accent/10 text-accent rounded-full">Electronic</span> </div> <a href="https://firebasestorage.googleapis.com/v0/b/photographer-dv8f47.firebasestorage.app/o/landing_sample_videos%2F6_feet.mp4?alt=media&token=a26d8fae-352d-4f4b-8965-b23859e89b23" class="sr-only" aria-label="Watch 6 Feet video"> 6 Feet - Duration: 2:26 </a> <button class="example-play-btn w-full inline-flex items-center justify-center h-10 px-4 rounded-lg border border-primary/50 bg-transparent text-primary hover:bg-primary hover:text-primary-foreground hover:border-primary transition-all duration-300 text-sm font-medium" data-video-url="https://firebasestorage.googleapis.com/v0/b/photographer-dv8f47.firebasestorage.app/o/landing_sample_videos%2F6_feet.mp4?alt=media&token=a26d8fae-352d-4f4b-8965-b23859e89b23" data-video-title="6 Feet" data-video-poster="https://firebasestorage.googleapis.com/v0/b/photographer-dv8f47.firebasestorage.app/o/landing_sample_videos%2F6_feet.webp?alt=media&token=bdd9d978-c7e9-45d7-957e-9161b1264407" data-youtube-id> 410Watch Full Video 411</button> </div> </div> </div> </div> </section>
411<script type="module">const s=document.getElementById("example-modal"),e=document.getElementById("example-modal-video"),g=document.getElementById("example-modal-player"),y=document.getElementById("example-modal-controls"),r=document.getElementById("modal-seekbar-track"),m=document.getElementById("modal-seekbar-fill"),u=document.getElementById("modal-seekbar-thumb"),f=document.getElementById("modal-time-current"),v=document.getElementById("modal-time-duration"),b=document.getElementById("modal-icon-play"),B=document.getElementById("modal-icon-pause"),I=document.getElementById("modal-icon-unmuted"),x=document.getElementById("modal-icon-muted");let d=!1,c=!1;function h(t){const n=Math.floor(t/60),o=Math.floor(t%60);return`${n}:${o.toString().padStart(2,"0")}`}function i(){b?.classList.toggle("hidden",d),B?.classList.toggle("hidden",!d)}function L(){if(!e||!e.duration)return;const t=e.currentTime/e.duration*100;m&&(m.style.width=`${t}%`),u&&(u.style.left=`${t}%`),f&&(f.textContent=h(e.currentTime))}function E(){g?.querySelector("iframe")?.remove()}function k(t,n,o,a){if(s?.classList.remove("hidden"),s?.classList.add("flex"),window.trackEvent&&window.trackEvent("example_video_play",{event_category:"engagement",event_label:n}),a){e?.classList.add("hidden"),y?.classList.add("hidden"),E();const l=document.createElement("iframe");l.src=`https://www.youtube.com/embed/${a}?autoplay=1&rel=0`,l.title=n,l.className="w-full aspect-video max-h-[80dvh]",l.allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",l.allowFullscreen=!0,l.setAttribute("frameborder","0"),g?.appendChild(l);return}if(E(),e?.classList.remove("hidden"),y?.classList.remove("hidden"),e&&(e.src=t,e.poster=o),m&&(m.style.width="0%"),u&&(u.style.left="0%"),f&&(f.textContent="0:00"),v&&(v.textContent="0:00"),e){const l=()=>{e.play().then(()=>{d=!0,i()}).catch(()=>{d=!1,i()})};e.readyState>=1?l():e.addEventListener("loadedmetadata",l,{once:!0})}}function w(){e?.pause(),e&&(e.src=""),E(),s?.classList.add("hidden"),s?.classList.remove("flex"),d=!1,i()}document.getElementById("modal-close-btn")?.addEventListener("click",w);e?.addEventListener("click",()=>{d?(e.pause(),d=!1):(e.play(),d=!0),i()});e?.addEventListener("loadedmetadata",()=>{v&&(v.textContent=h(e.duration))});e?.addEventListener("timeupdate",()=>{c||L()});e?.addEventListener("ended",()=>{d=!1,i()});document.getElementById("modal-play-pause")?.addEventListener("click",()=>{e&&(d?(e.pause(),d=!1):(e.play(),d=!0),i())});document.getElementById("modal-mute-btn")?.addEventListener("click",()=>{e&&(e.muted=!e.muted,I?.classList.toggle("hidden",e.muted),x?.classList.toggle("hidden",!e.muted))});document.getElementById("modal-fullscreen-btn")?.addEventListener("click",()=>{e&&(e.requestFullscreen?e.requestFullscreen():e.webkitEnterFullscreen&&e.webkitEnterFullscreen())});function p(t){if(!r||!e||!e.duration)return;const n=r.getBoundingClientRect(),o="touches"in t?t.touches[0].clientX:t.clientX,a=Math.max(0,Math.min(1,(o-n.left)/n.width));e.currentTime=a*e.duration,L()}r?.addEventListener("mousedown",t=>{c=!0,p(t);const n=a=>p(a),o=()=>{c=!1,document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",o)};document.addEventListener("mousemove",n),document.addEventListener("mouseup",o)});r?.addEventListener("touchstart",t=>{c=!0,p(t);const n=a=>p(a),o=()=>{c=!1,document.removeEventListener("touchmove",n),document.removeEventListener("touchend",o)};document.addEventListener("touchmove",n),document.addEventListener("touchend",o)},{passive:!0});document.querySelectorAll(".example-play-btn").forEach(t=>{t.addEventListener("click",n=>{n.stopPropagation();const o=t;k(o.dataset.videoUrl||"",o.dataset.videoTitle||"",o.dataset.videoPoster||"",o.dataset.youtubeId||"")})});s?.addEventListener("click",t=>{t.target===s&&w()});window.addEventListener("open-example-video",(t=>{const{url:n,title:o,poster:a}=t.detail;n&&k(n,o,a)}));</script>
411 <section id="pricing" class="cv-auto py-14 md:py-24 bg-background relative overflow-hidden" data-astro-cid-hkoc4sea> <!-- Background Effects --> <div class="absolute inset-0 bg-gradient-to-b from-background via-background/50 to-background" data-astro-cid-hkoc4sea></div> <div class="hidden md:block absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[800px] h-[800px] bg-gradient-conic from-primary/20 via-transparent to-accent/20 rounded-full blur-3xl" data-astro-cid-hkoc4sea></div> <div class="container mx-auto px-4 relative" data-astro-cid-hkoc4sea> <!-- Section Header --> <div class="text-center mb-10 md:mb-14" data-astro-cid-hkoc4sea> <div class="flex items-center justify-center gap-2 mb-3 md:mb-4" data-astro-cid-hkoc4sea> <svg class="w-6 h-6 md:w-8 md:h-8 text-primary" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24" data-astro-cid-hkoc4sea><path d="M13 2 3 14h9l-1 8 10-12h-9l1-8z" data-astro-cid-hkoc4sea></path></svg> </div> <h2 class="text-3xl md:text-4xl lg:text-5xl font-bold mb-3 md:mb-4" data-astro-cid-hkoc4sea> Pricing </h2> <p class="text-muted-foreground text-sm md:text-base max-w-2xl mx-auto" data-astro-cid-hkoc4sea> Choose between fully automatic video generation or build your video scene by scene. <br class="hidden md:block" data-astro-cid-hkoc4sea> Both powered by the same simple token system. </p> </div> <!-- Two Modes --> <div class="grid md:grid-cols-2 gap-4 md:gap-6 max-w-4xl mx-auto mb-10 md:mb-14" data-astro-cid-hkoc4sea> <!-- Auto Mode --> <div class="relative border border-primary/30 bg-card md:bg-card/50 md:backdrop-blur rounded-xl p-5 md:p-8" data-astro-cid-hkoc4sea> <div class="absolute top-3 right-3" data-astro-cid-hkoc4sea> <span class="text-[10px] font-medium px-2 py-0.5 rounded-full bg-primary/10 text-primary border border-primary/20" data-astro-cid-hkoc4sea>Popular</span> </div> <div class="flex items-center gap-3 mb-4" data-astro-cid-hkoc4sea> <div class="w-10 h-10 rounded-lg bg-gradient-to-br from-primary/20 to-accent/20 flex items-center justify-center flex-shrink-0" data-astro-cid-hkoc4sea> <svg class="w-5 h-5 text-primary" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24" data-astro-cid-hkoc4sea><path d="M13 2 3 14h9l-1 8 10-12h-9l1-8z" data-astro-cid-hkoc4sea></path></svg> </div> <h3 class="text-lg md:text-xl font-bold" data-astro-cid-hkoc4sea>Auto Mode</h3> </div> <p class="text-sm text-muted-foreground mb-5" data-astro-cid-hkoc4sea> Upload your song and let AI generate a complete music video. Fast, effortless, stunning results in minutes. </p> <div class="border-t border-border pt-4" data-astro-cid-hkoc4sea> <div class="flex items-baseline gap-1.5" data-astro-cid-hkoc4sea> <span class="text-3xl font-bold" data-astro-cid-hkoc4sea>33</span> <span class="text-sm text-muted-foreground" data-astro-cid-hkoc4sea>tokens / second</span> </div> <p class="text-xs text-muted-foreground mt-1.5" data-astro-cid-hkoc4sea> Starting from <span class="text-foreground font-semibold" data-astro-cid-hkoc4sea>$0.20/sec</span> with Hyper </p> </div> </div> <!-- Project Mode --> <div class="relative border border-border bg-card md:bg-card/50 md:backdrop-blur rounded-xl p-5 md:p-8" data-astro-cid-hkoc4sea> <div class="flex items-center gap-3 mb-4" data-astro-cid-hkoc4sea> <div class="w-10 h-10 rounded-lg bg-gradient-to-br from-purple-500/20 to-pink-500/20 flex items-center justify-center flex-shrink-0" data-astro-cid-hkoc4sea> <svg class="w-5 h-5 text-purple-400" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24" data-astro-cid-hkoc4sea><rect x="2" y="2" width="20" height="20" rx="2.18" data-astro-cid-hkoc4sea></rect><path d="M7 2v20" data-astro-cid-hkoc4sea></path><path d="M17 2v20" data-astro-cid-hkoc4sea></path><path d="M2 12h20" data-astro-cid-hkoc4sea></path><path d="M2 7h5" data-astro-cid-hkoc4sea></path><path d="M2 17h5" data-astro-cid-hkoc4sea></path><path d="M17 7h5" data-astro-cid-hkoc4sea></path><path d="M17 17h5" data-astro-cid-hkoc4sea></path></svg> </div> <h3 class="text-lg md:text-xl font-bold" data-astro-cid-hkoc4sea>Project Mode</h3> </div> <p class="text-sm text-muted-foreground mb-5" data-astro-cid-hkoc4sea> Build your video scene by scene in the editor. Full creative control over every clip, transition, and effect. </p> <div class="border-t border-border pt-4" data-astro-cid-hkoc4sea> <div class="flex items-baseline gap-1.5" data-astro-cid-hkoc4sea> <span class="text-3xl font-bold" data-astro-cid-hkoc4sea>~10</span> <span class="text-sm text-muted-foreground" data-astro-cid-hkoc4sea>tokens / second</span> </div> <p class="text-xs text-muted-foreground mt-1.5" data-astro-cid-hkoc4sea> Average cost â varies by AI model and clip duration </p> </div> </div> </div> <!-- Subscription Plans --> <div class="max-w-4xl mx-auto mb-10 md:mb-14" data-astro-cid-hkoc4sea> <div class="grid sm:grid-cols-3 gap-4 md:gap-6" data-astro-cid-hkoc4sea> <a href="https://app.onemoreshot.ai" target="_blank" rel="noopener noreferrer" data-track="cta_click" data-track-label="plan_basic" data-track-category="conversion" class="relative border border-yellow-500/30 bg-gradient-to-bl from-yellow-900/20 to-transparent bg-card md:bg-card/50 md:backdrop-blur rounded-xl p-5 md:p-6 flex flex-col transition-transform duration-300 hover:scale-[1.02]" data-astro-cid-hkoc4sea> <div class="mb-3" data-astro-cid-hkoc4sea> <span class="text-[10px] font-semibold uppercase tracking-wider px-2 py-0.5 rounded-full border bg-yellow-500/10 text-yellow-400 border-yellow-500/20" data-astro-cid-hkoc4sea> Entry Level </span> </div> <h3 class="text-xl md:text-2xl font-bold mb-2 bg-gradient-to-r from-yellow-400 to-orange-400 bg-clip-text text-transparent" data-astro-cid-hkoc4sea>BASIC</h3> <div class="flex items-baseline gap-1.5 mb-4" data-astro-cid-hkoc4sea> <span class="text-lg font-bold" data-astro-cid-hkoc4sea>3,250</span> <span class="text-xs text-muted-foreground" data-astro-cid-hkoc4sea>tokens / month</span> </div> <div class="border-t border-border pt-4 mt-auto" data-astro-cid-hkoc4sea> <div class="flex items-baseline gap-1" data-astro-cid-hkoc4sea> <span class="text-3xl font-bold" data-astro-cid-hkoc4sea>$29</span> <span class="text-sm text-muted-foreground" data-astro-cid-hkoc4sea>/mo</span> </div> <p class="text-xs text-muted-foreground mt-1.5" data-astro-cid-hkoc4sea> <span class="text-foreground font-semibold" data-astro-cid-hkoc4sea>$23.25/mo</span> billed yearly </p> </div> </a><a href="https://app.onemoreshot.ai" target="_blank" rel="noopener noreferrer" data-track="cta_click" data-track-label="plan_ultra" data-track-category="conversion" class="relative border border-purple-500/30 bg-gradient-to-bl from-purple-900/20 to-transparent bg-card md:bg-card/50 md:backdrop-blur rounded-xl p-5 md:p-6 flex flex-col transition-transform duration-300 hover:scale-[1.02]" data-astro-cid-hkoc4sea> <div class="mb-3" data-astro-cid-hkoc4sea> <span class="text-[10px] font-semibold uppercase tracking-wider px-2 py-0.5 rounded-full border bg-purple-500/10 text-purple-400 border-purple-500/20" data-astro-cid-hkoc4sea> Most Popular </span> </div> <h3 class="text-xl md:text-2xl font-bold mb-2 bg-gradient-to-r from-purple-400 to-pink-400 bg-clip-text text-transparent" data-astro-cid-hkoc4sea>ULTRA</h3> <div class="flex items-baseline gap-1.5 mb-4" data-astro-cid-hkoc4sea> <span class="text-lg font-bold" data-astro-cid-hkoc4sea>10,000</span> <span class="text-xs text-muted-foreground" data-astro-cid-hkoc4sea>tokens / month</span> </div> <div class="border-t border-border pt-4 mt-auto" data-astro-cid-hkoc4sea> <div class="flex items-baseline gap-1" data-astro-cid-hkoc4sea> <span class="text-3xl font-bold" data-astro-cid-hkoc4sea>$89</span> <span class="text-sm text-muted-foreground" data-astro-cid-hkoc4sea>/mo</span> </div> <p class="text-xs text-muted-foreground mt-1.5" data-astro-cid-hkoc4sea> <span class="text-foreground font-semibold" data-astro-cid-hkoc4sea>$70.75/mo</span> billed yearly </p> </div> </a><a href="https://app.onemoreshot.ai" target="_blank" rel="noopener noreferrer" data-track="cta_click" data-track-label="plan_hyper" data-track-category="conversion" class="relative border border-red-500/30 bg-gradient-to-bl from-red-900/20 to-transparent bg-card md:bg-card/50 md:backdrop-blur rounded-xl p-5 md:p-6 flex flex-col transition-transform duration-300 hover:scale-[1.02]" data-astro-cid-hkoc4sea> <div class="mb-3" data-astro-cid-hkoc4sea> <span class="text-[10px] font-semibold uppercase tracking-wider px-2 py-0.5 rounded-full border bg-red-500/10 text-red-400 border-red-500/20" data-astro-cid-hkoc4sea> Best Offer </span> </div> <h3 class="text-xl md:text-2xl font-bold mb-2 bg-gradient-to-r from-red-500 to-orange-500 bg-clip-text text-transparent" data-astro-cid-hkoc4sea>HYPER</h3> <div class="flex items-baseline gap-1.5 mb-4" data-astro-cid-hkoc4sea> <span class="text-lg font-bold" data-astro-cid-hkoc4sea>35,500</span> <span class="text-xs text-muted-foreground" data-astro-cid-hkoc4sea>tokens / month</span> </div> <div class="border-t border-border pt-4 mt-auto" data-astro-cid-hkoc4sea> <div class="flex items-baseline gap-1" data-astro-cid-hkoc4sea> <span class="text-3xl font-bold" data-astro-cid-hkoc4sea>$269</span> <span class="text-sm text-muted-foreground" data-astro-cid-hkoc4sea>/mo</span> </div> <p class="text-xs text-muted-foreground mt-1.5" data-astro-cid-hkoc4sea> <span class="text-foreground font-semibold" data-astro-cid-hkoc4sea>$214.92/mo</span> billed yearly </p> </div> </a> </div> </div> <!-- Calculator Widget --> <div class="max-w-3xl mx-auto mb-10 md:mb-14" data-astro-cid-hkoc4sea> <div class="border border-border bg-card md:bg-card/50 md:backdrop-blur rounded-xl overflow-hidden" data-astro-cid-hkoc4sea> <div class="px-5 md:px-8 pt-6 md:pt-8 pb-5 md:pb-6 border-b border-border" data-astro-cid-hkoc4sea> <h3 class="text-lg md:text-xl font-bold mb-1" data-astro-cid-hkoc4sea>Estimate your Auto mode cost</h3> <p class="text-sm text-muted-foreground" data-astro-cid-hkoc4sea>See how much a full music video costs with the Hyper plan</p> </div> <div class="px-5 md:px-8 py-6 md:py-8 space-y-6" data-astro-cid-hkoc4sea> <!-- Slider --> <div data-astro-cid-hkoc4sea> <div class="flex items-center justify-between mb-3" data-astro-cid-hkoc4sea>
411 <label for="duration-slider" class="text-sm font-medium text-muted-foreground" data-astro-cid-hkoc4sea>Song duration</label> <div class="flex items-baseline gap-1" data-astro-cid-hkoc4sea> <span id="duration-display" class="text-2xl font-bold tabular-nums" data-astro-cid-hkoc4sea>3:30</span> <span class="text-xs text-muted-foreground" data-astro-cid-hkoc4sea>min</span> </div> </div> <input type="range" id="duration-slider" min="60" max="480" value="210" step="10" class="w-full pricing-slider" data-astro-cid-hkoc4sea> <div class="flex justify-between text-[11px] text-muted-foreground mt-2" data-astro-cid-hkoc4sea> <span data-astro-cid-hkoc4sea>1:00</span> <span data-astro-cid-hkoc4sea>2:00</span> <span data-astro-cid-hkoc4sea>3:00</span> <span data-astro-cid-hkoc4sea>4:00</span> <span data-astro-cid-hkoc4sea>5:00</span> <span data-astro-cid-hkoc4sea>6:00</span> <span data-astro-cid-hkoc4sea>7:00</span> <span data-astro-cid-hkoc4sea>8:00</span> </div> </div> <!-- Results --> <div class="grid grid-cols-3 gap-3" data-astro-cid-hkoc4sea> <div class="text-center p-3 md:p-5 rounded-lg bg-background/50 border border-border" data-astro-cid-hkoc4sea> <div id="tokens-display" class="text-lg md:text-2xl font-bold tabular-nums" data-astro-cid-hkoc4sea>6,930</div> <div class="text-[11px] md:text-xs text-muted-foreground mt-1" data-astro-cid-hkoc4sea>tokens needed</div> </div> <div class="text-center p-3 md:p-5 rounded-lg bg-primary/5 border border-primary/20" data-astro-cid-hkoc4sea> <div id="cost-display" class="text-lg md:text-2xl font-bold tabular-nums text-primary" data-astro-cid-hkoc4sea>~$41.95</div> <div class="text-[11px] md:text-xs text-muted-foreground mt-1" data-astro-cid-hkoc4sea>per video</div> </div> <div class="text-center p-3 md:p-5 rounded-lg bg-background/50 border border-border" data-astro-cid-hkoc4sea> <div id="videos-display" class="text-lg md:text-2xl font-bold tabular-nums" data-astro-cid-hkoc4sea>~5</div> <div class="text-[11px] md:text-xs text-muted-foreground mt-1" data-astro-cid-hkoc4sea>videos / month</div> </div> </div> </div> <!-- Calculator Footer --> <div class="px-5 md:px-8 py-4 md:py-5 bg-background/30 border-t border-border flex flex-col sm:flex-row items-center justify-between gap-3" data-astro-cid-hkoc4sea> <div class="flex items-center gap-2 text-xs text-muted-foreground" data-astro-cid-hkoc4sea> <svg class="w-3.5 h-3.5 flex-shrink-0" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24" data-astro-cid-hkoc4sea><circle cx="12" cy="12" r="10" data-astro-cid-hkoc4sea></circle><path d="M12 16v-4" data-astro-cid-hkoc4sea></path><path d="M12 8h.01" data-astro-cid-hkoc4sea></path></svg> <span data-astro-cid-hkoc4sea>Based on <strong class="text-red-400 font-semibold" data-astro-cid-hkoc4sea>Hyper</strong> plan · $214.92/mo billed yearly</span> </div> <a href="https://app.onemoreshot.ai" target="_blank" rel="noopener noreferrer" data-track="cta_click" data-track-label="discover_plans" data-track-category="conversion" class="inline-flex items-center gap-2 h-9 px-5 rounded-lg text-sm font-medium bg-gradient-to-r from-purple-500 to-pink-500 hover:from-purple-600 hover:to-pink-600 text-white transition-all duration-300 flex-shrink-0" data-astro-cid-hkoc4sea> Discover plans <svg class="w-4 h-4" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24" data-astro-cid-hkoc4sea><path d="M5 12h14" data-astro-cid-hkoc4sea></path><path d="m12 5 7 7-7 7" data-astro-cid-hkoc4sea></path></svg> </a> </div> </div> </div> <!-- Bottom CTA --> <div class="text-center" data-astro-cid-hkoc4sea> <p class="text-muted-foreground mb-4" data-astro-cid-hkoc4sea> Need a custom plan? We've got you covered. </p> <a href="mailto:[email protected]" class="text-primary hover:text-primary font-medium" data-astro-cid-hkoc4sea> Contact Sales â </a> </div> </div> </section>
411<script type="module">const n=document.getElementById("duration-slider"),s=document.getElementById("duration-display"),c=document.getElementById("tokens-display"),d=document.getElementById("cost-display"),i=document.getElementById("videos-display"),m=33,l=35500,g=214.92;function a(){if(!n||!s||!c||!d||!i)return;const t=parseInt(n.value),r=Math.floor(t/60),u=t%60,e=t*m,y=g/l,E=e*y,p=Math.floor(l/e);s.textContent=`${r}:${u.toString().padStart(2,"0")}`,c.textContent=e.toLocaleString(),d.textContent=`~$${E.toFixed(2)}`,i.textContent=`~${p}`;const o=(t-60)/420*100;n.style.background=`linear-gradient(to right, hsl(316, 59%, 61%) 0%, hsl(25, 100%, 66%) ${o}%, hsl(206, 14%, 12%) ${o}%)`}n?.addEventListener("input",a);a();</script>
411 <section id="testimonials" class="cv-auto py-16 md:py-32 relative overflow-hidden"> <!-- Background Elements --> <div class="hidden md:block absolute top-1/4 right-0 w-96 h-96 bg-primary/5 rounded-full blur-3xl"></div> <div class="hidden md:block absolute bottom-1/4 left-0 w-96 h-96 bg-accent/5 rounded-full blur-3xl"></div> <div class="max-w-7xl mx-auto px-4 md:px-6 lg:px-8 relative z-10"> <!-- Section Header --> <div class="text-center mb-10 md:mb-20 space-y-3 md:space-y-6"> <div class="inline-flex items-center gap-2 px-4 py-2 rounded-full bg-card md:bg-card/50 md:backdrop-blur-sm border border-border/50 text-sm font-medium"> <svg class="w-4 h-4 text-accent" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg> Creator Stories </div> <h2 class="text-3xl md:text-5xl lg:text-7xl font-heading font-black"> Loved by <span class="gradient-text">thousands</span> of creators </h2> <p class="text-base md:text-xl text-muted-foreground max-w-3xl mx-auto font-body leading-relaxed"> Join the community of artists who are revolutionizing their music promotion with AI-generated videos. </p> </div> <!-- Testimonials Grid --> <div class="grid lg:grid-cols-3 gap-4 md:gap-8"> <div class="group glass-card p-5 md:p-8 rounded-2xl md:rounded-3xl hover:shadow-card transition-all duration-500 hover:scale-105 hover:-translate-y-2 relative overflow-hidden" style="animation-delay: 0ms"> <!-- Quote Icon --> <div class="absolute top-6 right-6 opacity-10 group-hover:opacity-20 transition-opacity"> <svg class="w-12 h-12 text-primary" fill="currentColor" viewBox="0 0 24 24"><path d="M3 21c3 0 7-1 7-8V5c0-1.25-.756-2.017-2-2H4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2 1 0 1 0 1 1v1c0 1-1 2-2 2s-1 .008-1 1.031V20c0 1 0 1 1 1z"></path><path d="M15 21c3 0 7-1 7-8V5c0-1.25-.757-2.017-2-2h-4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2h.75c0 2.25.25 4-2.75 4v3c0 1 0 1 1 1z"></path></svg> </div> <div class="space-y-4 md:space-y-6 relative z-10"> <!-- Stars --> <div class="flex space-x-1"> <svg class="h-4 w-4 md:h-5 md:w-5 fill-accent text-accent" viewBox="0 0 24 24"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg><svg class="h-4 w-4 md:h-5 md:w-5 fill-accent text-accent" viewBox="0 0 24 24"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg><svg class="h-4 w-4 md:h-5 md:w-5 fill-accent text-accent" viewBox="0 0 24 24"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg><svg class="h-4 w-4 md:h-5 md:w-5 fill-accent text-accent" viewBox="0 0 24 24"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg><svg class="h-4 w-4 md:h-5 md:w-5 fill-accent text-accent" viewBox="0 0 24 24"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg> </div> <!-- Quote --> <blockquote class="text-foreground font-body text-sm md:text-lg leading-relaxed"> 412"One More Shot AI transformed my bedroom track into a visual masterpiece. The AI perfectly captured the dreamy vibe I was going for. My streams doubled overnight!" 413</blockquote> <!-- Author --> <div class="flex items-center space-x-3 md:space-x-4 pt-3 md:pt-4 border-t border-border/20"> <img src="/avatars/user-7.webp" alt="Alex Rivera" class="w-10 h-10 md:w-14 md:h-14 rounded-xl md:rounded-2xl object-cover group-hover:scale-110 transition-transform" loading="lazy"> <div> <div class="font-semibold text-foreground font-heading text-base md:text-lg"> Alex Rivera </div> <div class="text-xs md:text-sm text-muted-foreground font-body"> Indie Artist </div> </div> </div> </div> <!-- Glow effect on hover --> <div class="absolute inset-0 rounded-3xl bg-gradient-hero opacity-0 group-hover:opacity-5 transition-opacity duration-500"></div> </div><div class="group glass-card p-5 md:p-8 rounded-2xl md:rounded-3xl hover:shadow-card transition-all duration-500 hover:scale-105 hover:-translate-y-2 relative overflow-hidden" style="animation-delay: 150ms"> <!-- Quote Icon --> <div class="absolute top-6 right-6 opacity-10 group-hover:opacity-20 transition-opacity"> <svg class="w-12 h-12 text-primary" fill="currentColor" viewBox="0 0 24 24">
413<path d="M3 21c3 0 7-1 7-8V5c0-1.25-.756-2.017-2-2H4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2 1 0 1 0 1 1v1c0 1-1 2-2 2s-1 .008-1 1.031V20c0 1 0 1 1 1z"></path><path d="M15 21c3 0 7-1 7-8V5c0-1.25-.757-2.017-2-2h-4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2h.75c0 2.25.25 4-2.75 4v3c0 1 0 1 1 1z"></path></svg> </div> <div class="space-y-4 md:space-y-6 relative z-10"> <!-- Stars --> <div class="flex space-x-1"> <svg class="h-4 w-4 md:h-5 md:w-5 fill-accent text-accent" viewBox="0 0 24 24"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg><svg class="h-4 w-4 md:h-5 md:w-5 fill-accent text-accent" viewBox="0 0 24 24"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg><svg class="h-4 w-4 md:h-5 md:w-5 fill-accent text-accent" viewBox="0 0 24 24"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg><svg class="h-4 w-4 md:h-5 md:w-5 fill-accent text-accent" viewBox="0 0 24 24"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg><svg class="h-4 w-4 md:h-5 md:w-5 fill-accent text-accent" viewBox="0 0 24 24"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg> </div> <!-- Quote --> <blockquote class="text-foreground font-body text-sm md:text-lg leading-relaxed"> 414"I've tried every video editor out there. Nothing comes close to how fast and creative One More Shot AI is. My TikTok engagement went through the roof!" 415</blockquote> <!-- Author --> <div class="flex items-center space-x-3 md:space-x-4 pt-3 md:pt-4 border-t border-border/20"> <img src="/avatars/user-6.webp" alt="Maya Chen" class="w-10 h-10 md:w-14 md:h-14 rounded-xl md:rounded-2xl object-cover group-hover:scale-110 transition-transform" loading="lazy"> <div> <div class="font-semibold text-foreground font-heading text-base md:text-lg"> Maya Chen </div> <div class="text-xs md:text-sm text-muted-foreground font-body"> Content Creator </div> </div> </div> </div> <!-- Glow effect on hover --> <div class="absolute inset-0 rounded-3xl bg-gradient-hero opacity-0 group-hover:opacity-5 transition-opacity duration-500"></div> </div><div class="group glass-card p-5 md:p-8 rounded-2xl md:rounded-3xl hover:shadow-card transition-all duration-500 hover:scale-105 hover:-translate-y-2 relative overflow-hidden" style="animation-delay: 300ms"> <!-- Quote Icon --> <div class="absolute top-6 right-6 opacity-10 group-hover:opacity-20 transition-opacity"> <svg class="w-12 h-12 text-primary" fill="currentColor" viewBox="0 0 24 24"><path d="M3 21c3 0 7-1 7-8V5c0-1.25-.756-2.017-2-2H4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2 1 0 1 0 1 1v1c0 1-1 2-2 2s-1 .008-1 1.031V20c0 1 0 1 1 1z"></path><path d="M15 21c3 0 7-1 7-8V5c0-1.25-.757-2.017-2-2h-4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2h.75c0 2.25.25 4-2.75 4v3c0 1 0 1 1 1z"></path></svg> </div> <div class="space-y-4 md:space-y-6 relative z-10"> <!-- Stars --> <div class="flex space-x-1"> <svg class="h-4 w-4 md:h-5 md:w-5 fill-accent text-accent" viewBox="0 0 24 24"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg><svg class="h-4 w-4 md:h-5 md:w-5 fill-accent text-accent" viewBox="0 0 24 24"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg><svg class="h-4 w-4 md:h-5 md:w-5 fill-accent text-accent" viewBox="0 0 24 24"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg><svg class="h-4 w-4 md:h-5 md:w-5 fill-accent text-accent" viewBox="0 0 24 24"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg><svg class="h-4 w-4 md:h-5 md:w-5 fill-accent text-accent" viewBox="0 0 24 24"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg> </div> <!-- Quote --> <blockquote class="text-foreground font-body text-sm md:text-lg leading-relaxed"> 416"The cyberpunk style videos it creates for my electronic tracks are insane. Clients are blown away every single time. This is the future of music promotion." 417</blockquote> <!-- Author --> <div class="flex items-center space-x-3 md:space-x-4 pt-3 md:pt-4 border-t border-border/20"> <img src="/avatars/user-8.webp" alt="Jake Thompson" class="w-10 h-10 md:w-14 md:h-14 roun
417ded-xl md:rounded-2xl object-cover group-hover:scale-110 transition-transform" loading="lazy"> <div> <div class="font-semibold text-foreground font-heading text-base md:text-lg"> Jake Thompson </div> <div class="text-xs md:text-sm text-muted-foreground font-body"> Music Producer </div> </div> </div> </div> <!-- Glow effect on hover --> <div class="absolute inset-0 rounded-3xl bg-gradient-hero opacity-0 group-hover:opacity-5 transition-opacity duration-500"></div> </div> </div> <!-- Social Proof --> <div class="mt-10 md:mt-20 text-center"> <div class="glass-card p-6 md:p-12 rounded-2xl md:rounded-3xl max-w-4xl mx-auto"> <div class="grid grid-cols-3 gap-4 md:gap-8"> <div class="space-y-1 md:space-y-2"> <div class="text-2xl md:text-4xl font-heading font-black gradient-text">50K+</div> <div class="text-xs md:text-base text-muted-foreground font-body">Videos Created</div> </div> <div class="space-y-1 md:space-y-2"> <div class="text-2xl md:text-4xl font-heading font-black gradient-text">98%</div> <div class="text-xs md:text-base text-muted-foreground font-body">Satisfaction Rate</div> </div> <div class="space-y-1 md:space-y-2"> <div class="text-2xl md:text-4xl font-heading font-black gradient-text">24/7</div> <div class="text-xs md:text-base text-muted-foreground font-body">AI Processing</div> </div> </div> </div> <p class="mt-6 text-[11px] md:text-xs text-muted-foreground/50 font-body"> <a href="https://onemoreshotreviews.com" target="_blank" rel="noopener noreferrer" class="hover:text-muted-foreground/80 transition-colors underline-offset-4 hover:underline"> 418More reviews at onemoreshotreviews.com 419</a> </p> </div> </div> </section> <section id="faq" class="cv-auto py-16 md:py-32 relative overflow-hidden"> <div class="hidden md:block absolute top-1/4 left-0 w-96 h-96 bg-primary/5 rounded-full blur-3xl"></div> <div class="hidden md:block absolute bottom-1/4 right-0 w-96 h-96 bg-accent/5 rounded-full blur-3xl"></div> <div class="max-w-4xl mx-auto px-4 md:px-6 lg:px-8 relative z-10"> <div class="text-center mb-10 md:mb-20 space-y-3 md:space-y-6"> <div class="inline-flex items-center gap-2 px-4 py-2 rounded-full bg-card md:bg-card/50 md:backdrop-blur-sm border border-border/50 text-sm font-medium"> <svg class="w-4 h-4 text-primary" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><path d="M12 17h.01"></path></svg> 420FAQ 421</div> <h2 class="text-3xl md:text-5xl lg:text-7xl font-heading font-black"> 422Frequently asked <span class="gradient-text">questions</span> </h2> <p class="text-base md:text-xl text-muted-foreground max-w-3xl mx-auto font-body leading-relaxed"> 423Everything you need to know about creating AI music videos. 424</p> </div> <div class="space-y-3 md:space-y-4"> <details class="group glass-card rounded-2xl md:rounded-3xl overflow-hidden transition-all duration-300 hover:shadow-card" data-faq-item> <summary class="flex items-center justify-between gap-4 cursor-pointer p-5 md:p-8 list-none [&::-webkit-details-marker]:hidden select-none"> <h3 class="text-base md:text-lg font-heading font-semibold text-foreground text-left"> Is the app available on iOS and Android? </h3> <span class="shrink-0 w-8 h-8 md:w-10 md:h-10 rounded-xl bg-card flex items-center justify-center border border-border/50 group-open:bg-primary/10 transition-colors duration-300"> <svg class="w-4 h-4 md:w-5 md:h-5 text-muted-foreground group-open:text-primary transition-transform duration-300 group-open:rotate-45" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"> <path d="M12 5v14m-7-7h14"></path> </svg> </span> </summary> <div class="px-5 pb-5 md:px-8 md:pb-8 -mt-2"> <p class="text-sm md:text-base text-muted-foreground font-body leading-relaxed"> One More Shot AI is a web-based app that works on any device with a modern browser â desktop, iOS, Android, and tablets. No download required. </p> </div> </details><details class="group glass-card rounded-2xl md:rounded-3xl overflow-hidden transition-all duration-300 hover:shadow-card" data-faq-item> <summary class="flex items-center justify-between gap-4 cursor-pointer p-5 md:p-8 list-none [&::-webkit-details-marker]:hidden select-none"> <h3 class="text-base md:text-lg font-heading font-semibold text-foreground text-left"> Can I create a full music video from my phone? </h3> <span class="shrink-0 w-8 h-8 md:w-10 md:h-10 rounded-xl bg-card flex items-center justify-center border border-border/50 group-open:bg-primary/10 transition-colors duration-300"> <svg class="w-4 h-4 md:w-5 md:h-5 text-muted-foreground group-open:text-primary transition-transform duration-300 group-open:rotate-45" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"> <path d="M12 5v14m-7-7h14"></path> </svg> </span> </summary> <div class="px-5 pb-5 md:px-8 md:pb-8 -mt-2"> <p class="text-sm md:text-base text-muted-foreground font-body leading-relaxed"> Yes. The entire workflow â uploading audio, choosing a style, generating the video, and exporting â works seamlessly on mobile. Cloud rendering handles all the processing. </p> </div> </details>
424<details class="group glass-card rounded-2xl md:rounded-3xl overflow-hidden transition-all duration-300 hover:shadow-card" data-faq-item> <summary class="flex items-center justify-between gap-4 cursor-pointer p-5 md:p-8 list-none [&::-webkit-details-marker]:hidden select-none"> <h3 class="text-base md:text-lg font-heading font-semibold text-foreground text-left"> Does the app require a powerful device? </h3> <span class="shrink-0 w-8 h-8 md:w-10 md:h-10 rounded-xl bg-card flex items-center justify-center border border-border/50 group-open:bg-primary/10 transition-colors duration-300"> <svg class="w-4 h-4 md:w-5 md:h-5 text-muted-foreground group-open:text-primary transition-transform duration-300 group-open:rotate-45" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"> <path d="M12 5v14m-7-7h14"></path> </svg> </span> </summary> <div class="px-5 pb-5 md:px-8 md:pb-8 -mt-2"> <p class="text-sm md:text-base text-muted-foreground font-body leading-relaxed"> No. All rendering happens on cloud servers. Your device just needs to run a modern web browser. Even older phones and tablets work perfectly. </p> </div> </details><details class="group glass-card rounded-2xl md:rounded-3xl overflow-hidden transition-all duration-300 hover:shadow-card" data-faq-item> <summary class="flex items-center justify-between gap-4 cursor-pointer p-5 md:p-8 list-none [&::-webkit-details-marker]:hidden select-none"> <h3 class="text-base md:text-lg font-heading font-semibold text-foreground text-left"> Can I start a project on my phone and finish it on desktop? </h3> <span class="shrink-0 w-8 h-8 md:w-10 md:h-10 rounded-xl bg-card flex items-center justify-center border border-border/50 group-open:bg-primary/10 transition-colors duration-300"> <svg class="w-4 h-4 md:w-5 md:h-5 text-muted-foreground group-open:text-primary transition-transform duration-300 group-open:rotate-45" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"> <path d="M12 5v14m-7-7h14"></path> </svg> </span> </summary> <div class="px-5 pb-5 md:px-8 md:pb-8 -mt-2"> <p class="text-sm md:text-base text-muted-foreground font-body leading-relaxed"> Yes. Your projects sync across devices. Start on your commute, refine on your laptop, and export from wherever you are. </p> </div> </details><details class="group glass-card rounded-2xl md:rounded-3xl overflow-hidden transition-all duration-300 hover:shadow-card" data-faq-item> <summary class="flex items-center justify-between gap-4 cursor-pointer p-5 md:p-8 list-none [&::-webkit-details-marker]:hidden select-none"> <h3 class="text-base md:text-lg font-heading font-semibold text-foreground text-left"> What does the free tier include? </h3> <span class="shrink-0 w-8 h-8 md:w-10 md:h-10 rounded-xl bg-card flex items-center justify-center border border-border/50 group-open:bg-primary/10 transition-colors duration-300"> <svg class="w-4 h-4 md:w-5 md:h-5 text-muted-foreground group-open:text-primary transition-transform duration-300 group-open:rotate-45" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"> <path d="M12 5v14m-7-7h14"></path> </svg> </span> </summary> <div class="px-5 pb-5 md:px-8 md:pb-8 -mt-2"> <p class="text-sm md:text-base text-muted-foreground font-body leading-relaxed"> The free tier lets you generate videos with a watermark and standard resolution. Paid plans unlock watermark-free exports, 4K resolution, and additional styles. </p> </div> </details><details class="group glass-card rounded-2xl md:rounded-3xl overflow-hidden transition-all duration-300 hover:shadow-card" data-faq-item> <summary class="flex items-center justify-between gap-4 cursor-pointer p-5 md:p-8 list-none [&::-webkit-details-marker]:hidden select-none"> <h3 class="text-base md:text-lg font-heading font-semibold text-foreground text-left"> How does the app handle storage and project management? </h3> <span class="shrink-0 w-8 h-8 md:w-10 md:h-10 rounded-xl bg-card flex items-center justify-center border border-border/50 group-open:bg-primary/10 transition-colors duration-300"> <svg class="w-4 h-4 md:w-5 md:h-5 text-muted-foreground group-open:text-primary transition-transform duration-300 group-open:rotate-45" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"> <path d="M12 5v14m-7-7h14"></path> </svg> </span> </summary> <div class="px-5 pb-5 md:px-8 md:pb-8 -mt-2"> <p class="text-sm md:text-base text-muted-foreground font-body leading-relaxed"> All projects are stored in the cloud with your account. You can organize, rename, and revisit any project at any time without worrying about local storage. </p> </div> </details> </div> </div> </section> <section class="cv-auto py-16 md:py-24 relative overflow-hidden"><div class="max-w-5xl mx-auto px-4 md:px-6 lg:px-8 relative z-10"><div class="text-center mb-8 md:mb-14 space-y-3 md:space-y-5"><div class="inline-flex items-center gap-2 px-4 py-2 rounded-full bg-card md:bg-card/50 md:backdrop-blur-sm border border-border/50 text-sm font-medium"><svg class="w-4 h-4 text-primary" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24">
424<path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg> 425Explore More 426</div><h2 class="text-3xl md:text-5xl font-heading font-black"> 427Related <span class="gradient-text">tools</span></h2></div><div class="grid sm:grid-cols-2 lg:grid-cols-3 gap-3 md:gap-4"><a href="/ai-music-video-generator/" class="group glass-card rounded-xl md:rounded-2xl p-4 md:p-6 hover:shadow-card transition-all duration-300 hover:scale-[1.02] no-underline"><div class="flex items-start gap-3"><div class="shrink-0 mt-0.5 w-8 h-8 md:w-10 md:h-10 rounded-lg md:rounded-xl bg-gradient-card flex items-center justify-center group-hover:scale-110 transition-transform"><svg class="w-4 h-4 md:w-5 md:h-5 text-primary" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div><div class="min-w-0"><h3 class="text-sm md:text-base font-heading font-semibold text-foreground group-hover:text-primary transition-colors truncate">AI Music Video Generator</h3><p class="text-xs md:text-sm text-muted-foreground font-body mt-1 line-clamp-2">Upload a track. Get a professional AI music video in minutes. No filming, no editing, no crew.</p></div></div></a><a href="/free-ai-music-video-generator/" class="group glass-card rounded-xl md:rounded-2xl p-4 md:p-6 hover:shadow-card transition-all duration-300 hover:scale-[1.02] no-underline"><div class="flex items-start gap-3"><div class="shrink-0 mt-0.5 w-8 h-8 md:w-10 md:h-10 rounded-lg md:rounded-xl bg-gradient-card flex items-center justify-center group-hover:scale-110 transition-transform"><svg class="w-4 h-4 md:w-5 md:h-5 text-primary" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div><div class="min-w-0"><h3 class="text-sm md:text-base font-heading font-semibold text-foreground group-hover:text-primary transition-colors truncate">Free AI Music Video Generator</h3><p class="text-xs md:text-sm text-muted-foreground font-body mt-1 line-clamp-2">Turn any song into a stunning music video with AI â completely free to start.</p></div></div></a><a href="/best-ai-music-video-generator/" class="group glass-card rounded-xl md:rounded-2xl p-4 md:p-6 hover:shadow-card transition-all duration-300 hover:scale-[1.02] no-underline"><div class="flex items-start gap-3"><div class="shrink-0 mt-0.5 w-8 h-8 md:w-10 md:h-10 rounded-lg md:rounded-xl bg-gradient-card flex items-center justify-center group-hover:scale-110 transition-transform"><svg class="w-4 h-4 md:w-5 md:h-5 text-primary" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div><div class="min-w-0"><h3 class="text-sm md:text-base font-heading font-semibold text-foreground group-hover:text-primary transition-colors truncate">Best AI Music Video Generator</h3><p class="text-xs md:text-sm text-muted-foreground font-body mt-1 line-clamp-2">We compared the top AI music video generators of 2026 â sync quality, lip-sync, pricing, and export options â so you can pick the right one.</p></div></div></a><a href="/ai-video-for-tiktok/" class="group glass-card rounded-xl md:rounded-2xl p-4 md:p-6 hover:shadow-card transition-all duration-300 hover:scale-[1.02] no-underline"><div class="flex items-start gap-3"><div class="shrink-0 mt-0.5 w-8 h-8 md:w-10 md:h-10 rounded-lg md:rounded-xl bg-gradient-card flex items-center justify-center group-hover:scale-110 transition-transform"><svg class="w-4 h-4 md:w-5 md:h-5 text-primary" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div><div class="min-w-0"><h3 class="text-sm md:text-base font-heading font-semibold text-foreground group-hover:text-primary transition-colors truncate">AI Video for TikTok</h3><p class="text-xs md:text-sm text-muted-foreground font-body mt-1 line-clamp-2">Create vertical, scroll-stopping music videos built for the TikTok algorithm from day one.</p></div></div></a><a href="/ai-video-for-youtube/" class="group glass-card rounded-xl md:rounded-2xl p-4 md:p-6 hover:shadow-card transition-all duration-300 hover:scale-[1.02] no-underline"><div class="flex items-start gap-3"><div class="shrink-0 mt-0.5 w-8 h-8 md:w-10 md:h-10 rounded-lg md:rounded-xl bg-gradient-card flex items-center justify-center group-hover:scale-110 transition-transform"><svg class="w-4 h-4 md:w-5 md:h-5 text-primary" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24">
427<path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div><div class="min-w-0"><h3 class="text-sm md:text-base font-heading font-semibold text-foreground group-hover:text-primary transition-colors truncate">AI Video for YouTube</h3><p class="text-xs md:text-sm text-muted-foreground font-body mt-1 line-clamp-2">Publish full HD music videos to YouTube without a camera, a crew, or a timeline editor.</p></div></div></a></div></div></section><section class="cv-auto py-16 md:py-32 relative overflow-hidden"> <!-- Background Elements --> <div class="absolute inset-0 bg-gradient-to-br from-primary/10 via-background to-accent/10"></div> <div class="hidden md:block absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 w-[1200px] h-[600px] bg-gradient-glow opacity-30 rounded-full blur-3xl"></div> <!-- Animated Grid --> <div class="absolute inset-0 opacity-10"> <div class="h-full w-full bg-[linear-gradient(rgba(217,96,190,0.3)_1px,transparent_1px),linear-gradient(90deg,rgba(217,96,190,0.3)_1px,transparent_1px)] bg-[size:40px_40px] animate-pulse"></div> </div> <div class="max-w-6xl mx-auto px-4 md:px-6 lg:px-8 text-center relative z-10"> <div class="space-y-8 md:space-y-12"> <!-- Main CTA --> <div class="space-y-4 md:space-y-8"> <div class="inline-flex items-center gap-2 px-4 py-2 md:px-6 md:py-3 rounded-full bg-card md:bg-card/50 md:backdrop-blur-sm border border-border/50 text-sm font-medium"> <svg class="w-4 h-4 text-accent" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M13 2 3 14h9l-1 8 10-12h-9l1-8z"></path></svg> Ready to Go Viral? </div> <h2 class="text-4xl md:text-6xl lg:text-8xl font-heading font-black leading-tight"> Create <span class="gradient-text">epic videos</span> today </h2> <p class="text-base md:text-2xl text-muted-foreground max-w-4xl mx-auto font-body leading-relaxed"> Join the AI revolution in music video creation. Transform your tracks into stunning visuals that captivate audiences and boost your reach. </p> </div> <!-- Pricing Info --> <div class="glass-card p-5 md:p-8 rounded-2xl md:rounded-3xl max-w-2xl mx-auto"> <div class="space-y-3 md:space-y-4"> <p class="text-base md:text-lg font-body text-muted-foreground"> <span class="text-foreground font-semibold">Free to try</span> ⢠No credit card required </p> <div class="flex items-center justify-center gap-4 md:gap-6 text-xs md:text-sm text-muted-foreground"> <span>â HD Quality</span> <span>â No Watermarks</span> <span>â Instant Download</span> </div> </div> </div> <!-- App Download Section --> <div class="pt-10 md:pt-16 border-t border-border/20"> <div class="space-y-5 md:space-y-8"> <h3 class="text-xl md:text-2xl font-heading font-bold text-foreground"> Get the app or try it online </h3> <div class="flex flex-col sm:flex-row gap-3 md:gap-6 justify-center items-center"> <a href="https://apps.apple.com/us/app/ai-music-video-generator-1ms/id6744976219" target="_blank" rel="noopener noreferrer" data-track="app_download_click" data-track-label="ios" data-track-category="conversion" class="group flex items-center space-x-3 md:space-x-4 glass-card hover:bg-card/70 rounded-xl md:rounded-2xl px-5 py-3 md:px-8 md:py-4 transition-all duration-300 hover:shadow-card hover:scale-105"> <svg class="h-6 w-6 md:h-8 md:w-8 text-primary group-hover:scale-110 transition-transform" fill="none" stroke="currentColor" stroke-width="1.5" viewBox="0 0 24 24"><rect x="5" y="2" width="14" height="20" rx="2" ry="2"></rect><line x1="12" y1="18" x2="12.01" y2="18"></line></svg> <div class="text-left"> <div class="text-xs md:text-sm text-muted-foreground">Download for</div> <div class="text-base md:text-lg font-semibold text-foreground font-heading">iOS</div> </div> </a> <a href="https://play.google.com/store/apps/details?id=ai.krnl.onemoreshot&hl=en" target="_blank" rel="noopener noreferrer" data-track="app_download_click" data-track-label="android" data-track-category="conversion" class="group flex items-center space-x-3 md:space-x-4 glass-card hover:bg-card/70 rounded-xl md:rounded-2xl px-5 py-3 md:px-8 md:py-4 transition-all duration-300 hover:shadow-card hover:scale-105"> <svg class="h-6 w-6 md:h-8 md:w-8 text-accent group-hover:scale-110 transition-transform" fill="none" stroke="currentColor" stroke-width="1.5" viewB
427ox="0 0 24 24"><rect x="5" y="2" width="14" height="20" rx="2" ry="2"></rect><line x1="12" y1="18" x2="12.01" y2="18"></line></svg> <div class="text-left"> <div class="text-xs md:text-sm text-muted-foreground">Download for</div> <div class="text-base md:text-lg font-semibold text-foreground font-heading">Android</div> </div> </a> <a href="https://app.onemoreshot.ai" target="_blank" rel="noopener noreferrer" data-track="web_app_access" data-track-label="final_cta_try_online" data-track-category="conversion" class="group flex items-center space-x-3 md:space-x-4 glass-card hover:bg-card/70 rounded-xl md:rounded-2xl px-5 py-3 md:px-8 md:py-4 transition-all duration-300 hover:shadow-card hover:scale-105"> <svg class="h-6 w-6 md:h-8 md:w-8 text-secondary group-hover:scale-110 transition-transform" fill="none" stroke="currentColor" stroke-width="1.5" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"></circle><line x1="2" y1="12" x2="22" y2="12"></line><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"></path></svg> <div class="text-left"> <div class="text-xs md:text-sm text-muted-foreground">Try online at</div> <div class="text-base md:text-lg font-semibold text-foreground font-heading">app.onemoreshot.ai</div> </div> </a> </div> </div> </div> </div> </div> </section> </main> <footer class="bg-background border-t border-border/20 py-8 md:py-12"> <div class="max-w-7xl mx-auto px-4 md:px-6 lg:px-8"> <div class="grid grid-cols-2 md:grid-cols-5 lg:grid-cols-6 gap-8 md:gap-10"> <!-- Brand --> <div class="col-span-2 md:col-span-5 lg:col-span-1 space-y-4"> <div class="flex items-center space-x-3"> <img src="/lovable-uploads/logo-120.webp" alt="One More Shot AI â AI music video generator logo" class="h-8 w-8" width="32" height="32" loading="lazy"> <span class="text-xl font-heading font-bold text-foreground"> 428One More Shot AI 429</span> </div> <p class="text-sm text-muted-foreground font-body"> 430Create stunning AI-powered music videos in minutes. Transform your tracks into captivating visual experiences. 431</p> <div class="flex items-center gap-2" aria-label="Social media"> <a href="https://www.instagram.com/onemoreshot.ai/" target="_blank" rel="noopener noreferrer" aria-label="One More Shot AI on Instagram" class="flex h-8 w-8 shrink-0 items-center justify-center rounded-lg border border-border/40 text-muted-foreground transition-colors hover:border-primary/50 hover:text-foreground"> <svg class="h-4 w-4" fill="none" stroke="currentColor" stroke-width="1.8" viewBox="0 0 24 24"><rect x="2" y="2" width="20" height="20" rx="5" ry="5"></rect><path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"></path><line x1="17.5" y1="6.5" x2="17.51" y2="6.5"></line></svg> </a> <a href="https://www.youtube.com/@onemoreshot-ai" target="_blank" rel="noopener noreferrer" aria-label="One More Shot AI on YouTube" class="flex h-8 w-8 shrink-0 items-center justify-center rounded-lg border border-border/40 text-muted-foreground transition-colors hover:border-primary/50 hover:text-foreground"> <svg class="h-4 w-4" fill="none" stroke="currentColor" stroke-width="1.8" viewBox="0 0 24 24"><path d="M22.54 6.42a2.78 2.78 0 0 0-1.94-2C18.88 4 12 4 12 4s-6.88 0-8.6.46a2.78 2.78 0 0 0-1.94 2A29 29 0 0 0 1 11.75a29 29 0 0 0 .46 5.33A2.78 2.78 0 0 0 3.4 19c1.72.46 8.6.46 8.6.46s6.88 0 8.6-.46a2.78 2.78 0 0 0 1.94-2 29 29 0 0 0 .46-5.25 29 29 0 0 0-.46-5.33z"></path><polygon points="9.75 15.02 15.5 11.75 9.75 8.48 9.75 15.02"></polygon></svg> </a> <a href="https://discord.com/invite/CG7Zvuupmh" target="_blank" rel="noopener noreferrer" aria-label="One More Shot AI on Discord" class="flex h-8 w-8 shrink-0 items-center justify-center rounded-lg border border-border/40 text-muted-foreground transition-colors hover:border-primary/50 hover:text-foreground"> <svg class="h-4 w-4" fill="currentColor" viewBox="0 0 24 24"><path d="M20.317 4.369a19.79 19.79 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.6 12.6 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.74 19.74 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.058a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.1 13.1 0 0 1-1.872-.892.077.077 0 0 1-.008-.128c.126-.094.252-.192.372-.291a.074.074 0 0 1 .077-.01c3.928 1.793 8.18
4311.793 12.061 0a.074.074 0 0 1 .078.009c.12.099.246.198.373.292a.077.077 0 0 1-.006.127 12.3 12.3 0 0 1-1.873.891.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.84 19.84 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.331c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418z"></path></svg> </a> <a href="https://www.linkedin.com/company/krnl/" target="_blank" rel="noopener noreferrer" aria-label="KRNL on LinkedIn" class="flex h-8 w-8 shrink-0 items-center justify-center rounded-lg border border-border/40 text-muted-foreground transition-colors hover:border-primary/50 hover:text-foreground"> <svg class="h-4 w-4" fill="currentColor" viewBox="0 0 24 24"><path d="M19 3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14zM8.34 9.67H5.67V18h2.67V9.67zM7 6.33a1.55 1.55 0 1 0 0 3.1 1.55 1.55 0 0 0 0-3.1zM18.33 18v-4.57c0-2.45-1.31-3.59-3.06-3.59a2.64 2.64 0 0 0-2.39 1.31h-.04V9.67h-2.56V18h2.67v-4.12c0-1.09.2-2.14 1.55-2.14 1.33 0 1.35 1.24 1.35 2.21V18h2.59z"></path></svg> </a> </div> <div class="mt-4 flex flex-wrap items-center gap-3"> <a target="_blank" href="https://aitoptools.com/tool/1-more-shot/" title="One More Shot AI" rel="noopener noreferrer"> <img src="https://aitoptools.com/wp-content/uploads/2024/01/promote-embed.png" width="220" height="80" alt="One More Shot AI on AI Top Tools" class="max-w-[220px] w-full h-auto" loading="lazy"> </a> <a target="_blank" href="https://aiagentsdirectory.com/agent/one-more-shot-ai" title="Discover One More Shot AI on AI Agents Directory" rel="noopener noreferrer"> <img src="https://aiagentsdirectory.com/featured-badge.svg?v=2024" width="200" height="50" alt="One More Shot AI - Featured on AI Agents Directory" class="max-w-[200px] w-full h-auto" loading="lazy"> </a> </div> </div> <!-- Product --> <nav class="space-y-4" aria-label="Product"> <h3 class="text-sm font-semibold text-foreground font-heading">Product</h3> <ul class="space-y-2"> <li> <a href="/ai-music-video-generator/" class="text-sm text-muted-foreground hover:text-foreground transition-colors font-body"> AI Music Video Generator </a> </li><li> <a href="/album-cover-generator/" class="text-sm text-muted-foreground hover:text-foreground transition-colors font-body"> AI Album Cover Generator </a> </li><li> <a href="/inspo/" class="text-sm text-muted-foreground hover:text-foreground transition-colors font-body"> Inspiration Gallery </a> </li><li> <a href="/compare/runway/" class="text-sm text-muted-foreground hover:text-foreground transition-colors font-body"> Compare vs Runway </a> </li><li> <a href="/compare/kaiber/" class="text-sm text-muted-foreground hover:text-foreground transition-colors font-body"> Compare vs Kaiber </a> </li><li> <a href="/compare/neuralframes/" class="text-sm text-muted-foreground hover:text-foreground transition-colors font-body"> Compare vs Neural Frames </a> </li> </ul> </nav> <!-- Free Tools --> <nav class="space-y-4" aria-label="Free Tools"> <h3 class="text-sm font-semibold font-heading"> <a href="/tools/" class="inline-flex items-center gap-1 text-primary hover:underline"> 432Free Tools 433<svg class="w-3.5 h-3.5" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg> </a> </h3> <ul class="space-y-2"> <li> <a href="/tools/bpm-finder/" class="text-sm text-muted-foreground hover:text-foreground transition-colors font-body"> BPM Finder </a> </li><li> <a href="/tools/song-key-finder/" class="text-sm text-muted-foreground hover:text-foreground transition-colors font-body"> Song Key Finder </a> </li><li> <a href="/tools/audio-trimmer/" class="text-sm text-muted-foreground hover:text-foreground transition-colors font-body"> Audio Trimmer </a> </li><li> <a href="/tools/mp3-to-mp4/" class="text-sm text-muted-foreground hover:text-foreground transition-colors font-body"> MP3 to MP4 Converter </a> </li><li> <a href="/tools/video-to-mp3/" class="text-sm text-muted-foreground hover:text-foreground transition-colors font-body"> Video to MP3 </a> </li><li> <a href="/tools/lyrics-generator/" class="text-sm text-muted-foreground hover:text-foreground transition-colors font-body"> AI Lyrics Generator </a> </li><li> <a href="/tools/band-name-generator/" class="text-sm text-muted-foreground hover:text-foreground transition-colors font-body"> Band Name Generator </a> </li><li> <a href="/tools/suno-prompt-generator/" class="text-sm text-muted-foreground hover:text-foreground transition-colors font-body"> Suno Prompt Generator </a> </li> </ul> </nav> <!-- Resources --> <nav class="space-y-4" aria-label="Resources"> <h3 class="text-sm font-semibold text-foreground font-heading">Resources</h3> <ul class="space-y-2"> <li> <a href="/blog/" class="text-sm text-muted-foreground hover:text-foreground transition-colors font-body"> Blog </a> </li><li> <a href="/best-ai-music-video-generator/" class="text-sm text-muted-foreground hover:text-foreground transition-colors font-body"> Best AI Music Video Generator </a> </li><li> <a href="/free-ai-music-video-generator/" class="text-sm text-muted-foreground hover:text-foreground transition-colors font-body"> Free AI Music Video Generator </a> </li><li> <a href="/suno-music-video/" class="text-sm text-muted-foreground hover:text-foreground transition-colors font-body"> Music Video for Suno </a> </li><li> <a href="/lyrics-to-video/" class="text-sm text-muted-foreground hover:text-foreground transition-colors font-body"> Lyrics to Video </a> </li><li> <a href="/press-kit/" class="text-sm text-muted-foreground hover:text-foreground transition-colors font-body"> Press Kit </a> </li> </ul> </nav> <!-- For Business --> <nav class="space-y-4" aria-label="For Business"> <h3 class="text-sm font-semibold font-heading"> <a href="/for-business/" class="inline-flex items-center gap-1 text-primary hover:underline"> 434For Business 435<svg class="w-3.5 h-3.5" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24">
435<path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg> </a> </h3> <ul class="space-y-2"> <li> <a href="/for-business/labels/" class="text-sm text-muted-foreground hover:text-foreground transition-colors font-body"> For Record Labels </a> </li><li> <a href="/for-business/distributors/" class="text-sm text-muted-foreground hover:text-foreground transition-colors font-body"> For Distributors </a> </li><li> <a href="/for-business/agencies/" class="text-sm text-muted-foreground hover:text-foreground transition-colors font-body"> For Marketing Agencies </a> </li> </ul> </nav> <!-- Get the App --> <div class="space-y-4"> <h3 class="text-sm font-semibold text-foreground font-heading">Get the App</h3> <div class="flex flex-col gap-3"> <a href="https://apps.apple.com/us/app/ai-music-video-generator-1ms/id6744976219" target="_blank" rel="noopener noreferrer" data-track="app_download_click" data-track-label="ios" data-track-category="conversion" class="inline-flex items-center justify-start w-full min-h-9 rounded-md px-3 py-2 text-sm leading-tight border border-primary/50 bg-transparent text-primary hover:bg-primary hover:text-primary-foreground transition-all duration-300 font-medium"> <svg class="w-4 h-4 mr-2 shrink-0" fill="none" stroke="currentColor" stroke-width="1.5" viewBox="0 0 24 24"><rect x="5" y="2" width="14" height="20" rx="2" ry="2"></rect><line x1="12" y1="18" x2="12.01" y2="18"></line></svg> 436Download for iOS 437</a> <a href="https://play.google.com/store/apps/details?id=ai.krnl.onemoreshot&hl=en" target="_blank" rel="noopener noreferrer" data-track="app_download_click" data-track-label="android" data-track-category="conversion" class="inline-flex items-center justify-start w-full min-h-9 rounded-md px-3 py-2 text-sm leading-tight border border-primary/50 bg-transparent text-primary hover:bg-primary hover:text-primary-foreground transition-all duration-300 font-medium"> <svg class="w-4 h-4 mr-2 shrink-0" fill="none" stroke="currentColor" stroke-width="1.5" viewBox="0 0 24 24"><rect x="5" y="2" width="14" height="20" rx="2" ry="2"></rect><line x1="12" y1="18" x2="12.01" y2="18"></line></svg> 438Download for Android 439</a> <a href="https://app.onemoreshot.ai" target="_blank" rel="noopener noreferrer" data-track="web_app_access" data-track-label="footer_try_online" data-track-category="conversion" class="inline-flex items-center justify-start w-full min-h-9 rounded-md px-3 py-2 text-sm leading-tight border border-primary/50 bg-transparent text-primary hover:bg-primary hover:text-primary-foreground transition-all duration-300 font-medium"> <svg class="w-4 h-4 mr-2 shrink-0" fill="none" stroke="currentColor" stroke-width="1.5" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"></circle><line x1="2" y1="12" x2="22" y2="12"></line><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"></path></svg> 440Try Online 441</a> </div> </div> </div> <hr class="my-8 border-border/20"> <!-- Bottom --> <div class="flex flex-col md:flex-row justify-between items-center gap-4"> <div class="flex flex-col md:flex-row items-center gap-2 md:gap-4"> <p class="text-sm text-muted-foreground font-body"> 442© 2026 One More Shot AI. All rights reserved. 443</p> <a href="https://www.iubenda.com/privacy-policy/40200298" class="iubend
443a-white iubenda-noiframe iubenda-embed text-sm text-muted-foreground hover:text-foreground transition-colors font-body" title="Privacy Policy"> 444Privacy Policy 445</a> <a href="/terms/" class="text-sm text-muted-foreground hover:text-foreground transition-colors font-body"> 446Terms & Conditions 447</a> <a href="/affiliate/" class="text-sm text-muted-foreground hover:text-foreground transition-colors font-body"> 448Affiliates 449</a> </div> <div class="flex flex-wrap items-center justify-center gap-x-3 gap-y-1"> <span class="text-xs text-muted-foreground/40 font-body">Find us on</span> <a href="https://bio.site/ai_music_video_generator" target="_blank" rel="noopener noreferrer" class="text-xs text-muted-foreground/60 hover:text-foreground transition-colors font-body"> Bio Site </a><a href="https://beacons.ai/ai_music_video_generator" target="_blank" rel="noopener noreferrer" class="text-xs text-muted-foreground/60 hover:text-foreground transition-colors font-body"> Beacons </a><a href="https://solo.to/one_more_shot_ai" target="_blank" rel="noopener noreferrer" class="text-xs text-muted-foreground/60 hover:text-foreground transition-colors font-body"> Solo </a><a href="https://www.f6s.com/software/one-more-shot-ai#about" target="_blank" rel="noopener noreferrer" class="text-xs text-muted-foreground/60 hover:text-foreground transition-colors font-body"> F6S </a><a href="https://linke.to/ai_music_video_maker" target="_blank" rel="noopener noreferrer" class="text-xs text-muted-foreground/60 hover:text-foreground transition-colors font-body"> Linke </a><a href="https://claude.ai/public/artifacts/a3cb7876-f2f0-4d3f-b5a7-d727f2e42c1c" target="_blank" rel="noopener noreferrer" class="text-xs text-muted-foreground/60 hover:text-foreground transition-colors font-body"> Claude </a><a href="https://luma.com/sgpi2zmd" target="_blank" rel="noopener noreferrer" class="text-xs text-muted-foreground/60 hover:text-foreground transition-colors font-body"> Luma </a> </div> <a href="https://krnl.ai" target="_blank" rel="noopener noreferrer" class="text-sm text-muted-foreground hover:text-foreground transition-colors font-body"> 450made with â¤ï¸ by KRNL 451</a> </div> </div> </footer> <!-- Fixed bottom CTA â visible once the user scrolls past the hero --> <div id="fixed-cta" class="fixed bottom-0 left-0 right-0 z-[100] translate-y-full transition-transform duration-300 ease-out pointer-events-none"> <div class="mx-auto flex justify-center bg-background/90 backdrop-blur-md px-4 pb-5 pt-3 pointer-events-auto border-t border-border/20"> <a href="https://app.onemoreshot.ai" target="_blank" rel="noopener noreferrer" data-track="cta_click" data-track-label="fixed_bottom_create" data-track-category="conversion" class="inline-flex items-center justify-center rounded-full bg-gradient-to-r from-pink-500 to-purple-600 px-8 py-3.5 text-base font-semibold text-white shadow-[0_4px_24px_rgba(219,39,119,.4)] transition-all duration-300 hover:scale-105 hover:from-pink-600 hover:to-purple-700 hover:shadow-[0_4px_32px_rgba(219,39,119,.55)] md:px-10 md:py-4 md:text-lg"> Create your video <svg class="ml-2 h-5 w-5" fill="none" stroke="currentColor" stroke-width="3" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M5 12h14m-7-7 7 7-7 7"></path></svg> </a> </div> </div>
451<script> 452 document.addEventListener('visibilitychange', function() { 453 if (document.visibilityState === 'hidden') { 454 document.querySelectorAll('video').forEach(function(v) { v.pause(); }); 455 } 456 }); 457 458 (function() { 459 var cta = document.getElementById('fixed-cta'); 460 var hero = document.querySelector('section'); 461 var footer = document.querySelector('footer'); 462 if (!cta || !hero) return; 463 464 var pastHero = false; 465 var footerVisible = false; 466 467 function update() { 468 if (pastHero && !footerVisible) { 469 cta.classList.remove('translate-y-full'); 470 } else { 471 cta.classList.add('translate-y-full'); 472 } 473 } 474 475 var heroObs = new IntersectionObserver(function(entries) { 476 pastHero = !entries[0].isIntersecting; 477 update(); 478 }, { threshold: 0 }); 479 heroObs.observe(hero); 480 481 if (footer) { 482 var footerObs = new IntersectionObserver(function(entries) { 483 footerVisible = entries[0].isIntersecting; 484 update(); 485 }, { threshold: 0 }); 486 footerObs.observe(footer); 487 } 488 })(); 489 </script>
489 <!-- PostHog (unconditional, not consent-gated) -->
489<script> 490 !function(t,e){var o,n,p,r;e.__SV||(window.posthog && window.posthog.__loaded)||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.crossOrigin="anonymous",p.async=!0,p.src=s.api_host.replace(".i.posthog.com","-assets.i.posthog.com")+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="ki Ci init qi Hi pr ji zi Di capture calculateEventProperties Qi register register_once register_for_session unregister unregister_for_session Ki getFeatureFlag getFeatureFlagPayload getFeatureFlagResult getAllFeatureFlags isFeatureEnabled reloadFeatureFlags updateFlags updateEarlyAccessFeatureEnrollment getEarlyAccessFeatures on onFeatureFlags onSurveysLoaded onSessionId getSurveys getActiveMatchingSurveys renderSurvey displaySurvey cancelPendingSurvey canRenderSurvey canRenderSurveyAsync Xi identify setPersonProperties unsetPersonProperties group resetGroups setPersonPropertiesForFlags resetPersonPropertiesForFlags setGroupPropertiesForFlags resetGroupPropertiesForFlags reset setIdentity clearIdentity get_distinct_id getGroups get_session_id get_session_replay_url alias set_config startSessionRecording stopSessionRecording sessionRecordingStarted captureException addExceptionStep captureLog startExceptionAutocapture stopExceptionAutocapture loadToolbar get_property getSessionProperty Ji Gi createPersonProfile setInternalOrTestUser Yi Ai rn opt_in_capturing opt_out_capturing has_opted_in_capturing has_opted_out_capturing get_explicit_consent_status is_capturing clear_opt_in_out_capturing Vi debug mr it getPageViewId captureTraceFeedback captureTraceMetric Oi".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]); 491 posthog.init('phc_C3hfDs7KS6q8FPRrQHM1Ph4azRohyQ8U28yh1zBlxrP',{api_host:'https://n.krnl.ai',ui_host:'https://eu.posthog.com',defaults:'2026-05-30',person_profiles:'identified_only'}); 492 </script>
492 <!-- Append PostHog distinct_id + Rewardful referral + Google click IDs to all app links at click time -->
492<script> 493 document.addEventListener('click', function(e) { 494 var link = e.target.closest ? e.target.closest('a') : null; 495 if (!link) return; 496 var href = link.getAttribute('href') || ''; 497 if (href.indexOf('app.onemoreshot.ai') === -1) return; 498 try { 499 var url = new URL(link.href); 500 var changed = false; 501 var id = window.posthog && window.posthog.get_distinct_id ? window.posthog.get_distinct_id() : null; 502 if (id) { 503 url.searchParams.set('ph_distinct_id', id); 504 changed = true; 505 } 506 // Forward Google click IDs under the aliased names the app already 507 // reads (same convention as InAppBrowserBreakout's PARAM_MAP, see 508 // commit 70b73ff). URL first, attribution cookie as fallback so the 509 // ID survives internal navigation. Kept as three distinct aliases: 510 // gclid/wbraid/gbraid are separate fields in Google's conversion 511 // APIs and must not be collapsed into one. 512 var GOOGLE_IDS = { gclid: '_gc', wbraid: '_wb', gbraid: '_gb' }; 513 var page = new URL(window.location.href); 514 var cookies = (typeof window.getAttributionData === 'function') ? (window.getAttributionData() || {}) : {}; 515 for (var key in GOOGLE_IDS) { 516 var v = page.searchParams.get(key) || cookies[key] || null; 517 if (v) { 518 url.searchParams.set(GOOGLE_IDS[key], v); 519 changed = true; 520 } 521 } 522 // Forward AppLovin (Axon) click ids. Original names too (not just 523 // aliases): the Axon pixel on the app only auto-captures `aleid`/ 524 // `alart` under their original names, which gives the app-side 525 // purchase event deterministic click attribution instead of relying 526 // on the _axwrt cookie surviving the cross-subdomain hop. 527 var APPLOVIN_IDS = { aleid: '_al', alart: '_ar' }; 528 for (var akey in APPLOVIN_IDS) { 529 var av = page.searchParams.get(akey) || cookies[akey] || null; 530 if (av) { 531 url.searchParams.set(akey, av); 532 url.searchParams.set(APPLOVIN_IDS[akey], av); 533 changed = true; 534 } 535 } 536 // Forward UTM params under the aliased names the app reads (utm_* 537 // is on tracker-param denylists in privacy browsers). URL first, 538 // cookie as fallback so campaign attribution survives internal 539 // navigation before the CTA click. 540 var UTM_MAP = { utm_source: '_os', utm_medium: '_om', utm_campaign: '_oc', utm_content: '_on', utm_term: '_ot' }; 541 for (var ukey in UTM_MAP) { 542 var uv = page.searchParams.get(ukey) || cookies[ukey] || null; 543 if (uv) { 544 url.searchParams.set(UTM_MAP[ukey], uv); 545 changed = true; 546 } 547 } 548 // Forward the ChatGPT Ads click id under its original name â the 549 // oaiq SDK on the app auto-captures `oppref` from the URL it 550 // lands on. URL first, cookie as fallback. 551 var oppref = page.searchParams.get('oppref') || cookies.oppref || null; 552 if (oppref) { 553 url.searchParams.set('oppref', oppref); 554 changed = true; 555 } 556 // Forward the promo code so the app can apply it on open. 557 // URL first, cookie as fallback (survives internal navigation). 558 var promo = page.searchParams.get('promo') || cookies.promo || null; 559 if (promo) { 560 url.searchParams.set('promo', promo); 561 changed = true; 562 } 563 // Forward the (pre-seeded) GA client id so the app can store it on 564 // the user document even when GA never initialized on the landing 565 // page (consent not given yet, ad blocker, fast CTA click). 566 if (cookies.gaClientId) { 567 url.searchParams.set('ga_client_id', cookies.gaClientId); 568 changed = true; 569 } 570 // Forward the Rewardful referral ID so the app can send it to Stripe 571 // as client_reference_id. Only send it when present (Stripe rejects blanks). 572 var referral = window.Rewardful && window.Rewardful.referral ? window.Rewardful.referral : null; 573 if (referral) { 574 url.searchParams.set('referral', referral); 575 changed = true; 576 } 577 if (changed) link.href = url.toString(); 578 } catch(ex) {} 579 }, true); 580 </script>
580 <!-- iubenda widget (consent banner + analytics init via dashboard callback + privacy policy embed) -->
580<script type="text/javascript" src="https://embeds.iubenda.com/widgets/0d8e2ea5-8abb-475c-9821-86c25eb541cf.js" async></script>
580 <!-- Expose the AppLovin (Axon) public event key to the inline bridge below -->
580<script>(function(){const axonEventKey = "4a5d79e9-1078-4d19-9f47-62bf9355e45e"; 581 582 window.__AXON_EVENT_KEY = axonEventKey || ''; 583 })();</script>
583 <!-- Activate trackEvent bridge (called from iubenda dashboard callback) -->
583<script> 584 (function(){ 585 var GA_MAP={demo_video_play:'ViewContent',example_video_play:'ViewContent'}; 586 // Internal event -> AppLovin (Axon) event name. generate_lead requires 587 // {currency,value}; a nominal lead value keeps it eligible for 588 // optimization (AppLovin discounts/excludes value 0). 589 var AXON_MAP={cta_click:'generate_lead'}; 590 var AXON_LEAD_VALUE=1; 591 592 // Load the AppLovin (Axon) pixel once, after consent (this runs from the 593 // iubenda callback). No-op when the key isn't configured. 594 function loadAxon(){ 595 var key=window.__AXON_EVENT_KEY; 596 if(!key||window.axon)return; 597 var t=['https://s.axon.ai/pixel.js','https://res4.applovin.com/p/l/loader.iife.js']; 598 var a=window.axon=function(){a.performOperation?a.performOperation.apply(a,arguments):a.operationQueue.push(arguments)}; 599 a.operationQueue=[];a.ts=Date.now();a.eventKey=key; 600 var n=document.getElementsByTagName('script')[0]; 601 for(var o=0;o<t.length;o++){var i=document.createElement('script');i.async=!0;
601i.src=t[o];n.parentNode.insertBefore(i,n)} 602 window.axon('init'); 603 try{window.axon('track','page_view')}catch(x){} 604 } 605 606 // Load the ChatGPT Ads (OpenAI) pixel once, after consent (this runs 607 // from the iubenda callback). 608 function loadOaiq(){ 609 if(window.oaiq)return; 610 var q=function(){q.q.push(arguments)};q.q=[];window.oaiq=q; 611 var j=document.createElement('script');j.async=1;j.src='https://bzrcdn.openai.com/sdk/oaiq.min.js'; 612 var f=document.getElementsByTagName('script')[0];f.parentNode.insertBefore(j,f); 613 window.oaiq('init',{pixelId:'5rS3DE9iesebmwDDNWdvUf'}); 614 window.oaiq('measure','page_viewed',{type:'contents'}); 615 } 616 617 // Beacon transport keeps the event in flight when the click is about to 618 // navigate the page away (InAppBrowserBreakout calls location.replace 619 // synchronously after firing trackEvent; without sendBeacon, the gtag 620 // XHR and queued PostHog batch are cancelled before they leave). 621 window._activateTracking=function(){ 622 loadAxon(); 623 loadOaiq(); 624 window.trackEvent=function(name,params){ 625 params=params||{}; 626 try{ 627 if(window.gtag){ 628 var gp={transport_type:'beacon'}; 629 for(var k in params)if(Object.prototype.hasOwnProperty.call(params,k))gp[k]=params[k]; 630 window.gtag('event',name,gp); 631 } 632 }catch(x){} 633 try{var fb=GA_MAP[name];if(window.fbq&&fb)window.fbq('track',fb,params)}catch(x){} 634 try{if(window.posthog&&window.posthog.capture)window.posthog.capture(name,params,{transport:'sendBeacon',send_instantly:true})}catch(x){} 635 try{ 636 if(window.axon){ 637 var ax=AXON_MAP[name]; 638 if(ax==='generate_lead'){window.axon('track','generate_lead',{currency:'USD',value:AXON_LEAD_VALUE})} 639 else if(ax){window.axon('track',ax)} 640 } 641 }catch(x){} 642 }; 643 var q=window._tq; 644 if(q){for(var i=0;i<q.length;i++)window.trackEvent(q[i][0],q[i][1])} 645 window._tq=null; 646 }; 647 })(); 648 </script>
648 </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.