PageSourceSearch

https://www.onemoreshot.ai/ai-music-video-app/

html onemoreshot.ai collected 2026-10-01 11:34:54 UTC 194,879 bytes, 648 lines download raw bytes

1<!DOCTYPE html><html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.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 &#39;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 &amp; 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 &amp; 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&#39;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&#39;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&copy; 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 &amp; 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.