PageSourceSearch

https://www.noviai.ai/

html noviai.ai collected 2026-10-05 12:19:08 UTC 203,096 bytes, 2,887 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3<head>
4    <meta charset="UTF-8"> 
5    <meta http-equiv="X-UA-Compatible" content="IE=edge">
6    <meta name="viewport" content="width=device-width,user-scalable=1,initial-scale=1,maximum-scale=5, minimum-scale=1">
7    <title>AI Story Video Generator: Turn Scripts Into Multi-Scene Videos | Novi AI</title>
8    <meta name="Description" content="Turn your script into a complete, multi-scene story video with consistent characters, natural motion, and perfectly synced voiceovers. Powered by Seedance 2.0 and 10+ leading AI models. Free to start.">
9    <meta name="Keywords" content="AI story video maker, AI video generator, AI video maker, AI narrative generator, script to video, text to video, image to video, AI animation generator, story animation, animated videos, AI voiceover, YouTube video maker, explainer video maker"> 
10    <link rel="canonical" href="https://www.noviai.ai/">
11    <meta name="google-site-verification" content="mgRl9R_xvbuePSrKrfa-_WbN3Ht4_zviLGvuCRkh0N4" />
12<link rel="alternate" href="https://www.noviai.ai/" hreflang="en" />
13<link rel="alternate" href="https://www.noviai.ai/tw/" hreflang="zh-Hant" />
14<link rel="alternate" href="https://www.noviai.ai/jp/" hreflang="ja" />
15<link rel="alternate" href="https://www.noviai.ai/" hreflang="x-default" />
16    <link rel="icon" href="/favicon.ico" >
17    <!-- cmp -->
18<script>
19    window.dataLayer = window.dataLayer || [];
20    function gtag(){dataLayer.push(arguments);}
21    gtag('consent','default',{
22        'ad_storage': 'denied',
23        'analytics_storage': 'denied',
24        'ad_user_data':'denied',
25        'ad_personalization': 'denied',
26        'wait_for_update': 500,
27        'region': ['AT','BE','BG','CY','CZ','DE','DK','EE','ES','FI','FR','GR','HR','HU','IE','IT','LT','LU','LV','MT','NL','PL','PT','RO','SE','SI','SK','IS','LI','NO','GB','CH']
28    });
29    dataLayer.push({'event': 'default_consent' });
30  </script>
30
31<!-- cmp -->
vendor: 69 bytes, lines 31-32
31
32<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
32GTM-PDQMNCMC
vendor: 84 bytes, line 32
32" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
33<script type="text/javascript" >
vendor: 506 bytes, lines 33-47
33
34    (function(w, d, s, l, i) {
35        w[l] = w[l] || [];
36        w[l].push({
37            'gtm.start': new Date().getTime(),
38            event: 'gtm.js'
39        });
40        var f = d.getElementsByTagName(s)[0],
41            j = d.createElement(s),
42            dl = l != 'dataLayer' ? '&l=' + l : '';
43        j.async = true;
44        j.src =
45            '//www.googletagmanager.com/gtm.js?id=' + i + dl;
46        f.parentNode.insertBefore(j, f);
47    })(window, document, 'script', 'dataLayer', '
47GTM-PDQMNCMC
vendor: 5 bytes, line 47
47');
48</script>
vendor: 2 bytes, line 48
48
49<script type="text/javascript">
50    if(window.location.hostname === "www.noviai.ai"){
51        (function(c,l,a,r,i,t,y){
52        c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
53        t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
54        y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
55        })(window, document, "clarity", "script", "vbjc0kqsqu");
56    }
57   
58</script>
58
59<link rel="stylesheet" href="/assets/css/fonts.css">
60<link rel="stylesheet" href="/assets/css/base.css"/>
61
62<link rel="stylesheet" href="/assets/css/header.css">
63<link rel="stylesheet" href="/assets/css/footer.css">
64    <link rel="stylesheet" href="/assets/plug/swiper/swiper-4.3.2.min.css" />
65        <link rel="stylesheet" href="/assets/css/index/index.css" />
66    
66<script type="application/ld+json">
67{
68  "@context": "https://schema.org",
69  "@type": "SoftwareApplication",
70  "name": "Novi AI",
71  "headline": "Novi AI Story Video Generator: Turn Scripts Into Multi-Scene Videos",
72  "description": "Turn your script into a complete, multi-scene story video with consistent characters, natural motion, and perfectly synced voiceovers. Powered by Seedance 2.0 and 10+ leading AI models. Free to start.",
73  "applicationCategory": "DesignApplication",
74  "operatingSystem": "Web, Windows, Android, iOS",
75  "softwareVersion": "1.5",
76  "url": "https://www.noviai.ai/",
77  "keywords": "AI story creator, script to video, AI video generator, AI image generator, text to video, image to video, story to video, story animation, AI video maker, text to image, image to image",
78  "offers": {
79    "@type": "Offer",
80    "price": "0",
81    "priceCurrency": "USD",
82    "description": "Free version available",
83    "availability": "https://schema.org/InStock"
84  },
85  "aggregateRating": {
86    "@type": "AggregateRating",
87    "ratingValue": "4.9",
88    "ratingCount": "1500",
89    "bestRating": "5",
90    "worstRating": "1"
91  },
92  "author": {
93    "@type": "Organization",
94    "name": "Novi AI Team",
95    "url": "https://www.noviai.ai/"
96  }
97}
98</script>
vendor: 2 bytes, line 98
98
99<script type="application/ld+json">
100{
101  "@context": "https://schema.org",
102  "@type": "FAQPage",
103  "mainEntity": [
104    {
105      "@type": "Question",
106      "name": "What is Novi AI?",
107      "acceptedAnswer": {
108        "@type": "Answer",
109        "text": "Novi AI is an all-in-one AI story video creation studio. Go from a script, idea, to a photo, clip or a finished, publishable multi-scene video — with built-in styles, voices, and subtitles, all in one place."
110      }
111    },
112    {
113      "@type": "Question",
114      "name": "Is Novi AI free to use?",
115      "acceptedAnswer": {
116        "@type": "Answer",
117        "text": "Yes. Novi AI is free to start, and all new users receive credits after signing up to try key features. A paid plan is also available if you want more credits and additional benefits."
118      }
119    },
120    {
121      "@type": "Question",
122      "name": "What kind of content can I create?",
123      "acceptedAnswer": {
124        "@type": "Answer",
125        "text": "You can create story videos, social clips, animations, marketing ads, product showcases, comic adaptations, novel scenes, and more — all from a single workspace, in multiple styles and languages."
126      }
127    },
128    {
129      "@type": "Question",
130      "name": "What AI models does Novi AI support?",
131      "acceptedAnswer": {
132        "@type": "Answer",
133        "text": "Novi AI supports multiple top models for image, video, AI features, such as story to video feature, Seedance 2.0, GPT Image 2, Nano Bana Pro, Sora 2, Google Veo 3, etc. More models are continuously being added."
134      }
135    },
136    {
137      "@type": "Question",
138      "name": "How long can Novi AI videos be?",
139      "acceptedAnswer": {
140        "@type": "Answer",
141        "text": "Novi AI generates complete, stable story videos up to 5 minutes in a single run. We prioritize cinematic quality and natural motion over stretching length — so your story stays watchable from start to finish."
142      }
143    },
144    {
145      "@type": "Question",
146      "name": "Can I create a series or multiple episodes?",
147      "acceptedAnswer": {
148        "@type": "Answer",
149        "text": "Right now, Novi AI excels at creating complete single-episode story videos. Multi-episode and serialized features are on our roadmap — stay tuned for updates."
150      }
151    },
152    {
153      "@type": "Question",
154      "name": "Does Novi AI support templates or inspiration materials?",
155      "acceptedAnswer": {
156        "@type": "Answer",
157        "text": "Yes. The Inspirations hub offers ready-to-use creative templates for images, videos, and story ideas — so you can start creating in seconds without starting from scratch."
158      }
159    },
160    {
161      "@type": "Question",
162      "name": "What makes Novi AI different from other AI video generators?",
163      "acceptedAnswer": {
164        "@type": "Answer",
165        "text": "Novi AI focuses on complete story videos with natural, cinematic motion — not stiff slideshows or disconnected clips. We also give you access to 10+ top AI models, so you can choose the best engine for each part of your project instead of being locked into one."
166      }
167    }
168  ]
169}
170</script>
170
171</head>
172<body class="transparent-header"> 
173
174    <aside>
175    <svg display="none" version="1.1" xmlns="http://www.w3.org/2000/svg">
176        <symbol id="header-arrow-path" viewBox="0 0 12 12" fill="none">
177            <path
178                d="M10.1786 5.24916L6.22728 9.20045C6.10176 9.32598 5.89824 9.32598 5.77272 9.20045L1.82143 5.24916"
179                stroke="currentColor"
180                stroke-width="1.71429"
181                stroke-linecap="round"
182            />
183        </symbol>
184        <symbol id="header-image-path" viewBox="0 0 20 20" fill="none">
185            <mask id="mask0_1327_1561" style="mask-type: alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="20" height="20">
186                <rect width="20" height="20" fill="#D9D9D9" />
187            </mask>
188            <g mask="url(#mask0_1327_1561)">
189                <path
190                    d="M16 10.6364V6.36C16 4.50432 14.4957 3 12.64 3H5.36C3.50432 3 2 4.50432 2 6.36V13.64C2 15.4957 3.50432 17 5.36 17H10.9091"
191                    stroke="currentColor"
192                    stroke-width="1.14545"
193                    stroke-linecap="round"
194                />
195                <path
196                    d="M15.4971 13.1211C15.9013 13.9283 16.5622 14.5936 17.3789 14.999C16.5646 15.402 15.9042 16.0607 15.499 16.873C15.0939 16.0673 14.4335 15.4032 13.6172 14.999C14.4306 14.5909 15.0907 13.9336 15.4971 13.1211ZM15.6182 12.8721C15.6161 12.8773 15.6114 12.8849 15.6045 12.8936C15.6076 12.8862 15.6102 12.8785 15.6133 12.8711L15.6182 12.8721Z"
197                    fill="currentColor"
198                    stroke="currentColor"
199                    stroke-width="0.888889"
200                />
201                <path d="M2.31818 10.6364C4.9697 10.4242 10.4 11.4 10.9091 17" stroke="currentColor" stroke-width="1.14545" />
202                <circle cx="11.2273" cy="7.13636" r="1.11364" stroke="currentColor" stroke-width="0.954545" />
203            </g>
204        </symbol>
205        <symbol id="header-video-path" viewBox="0 0 20 20" fill="none">
206            <mask id="mask0_1327_1562" style="mask-type: alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="20" height="20">
207                <rect width="20" height="20" fill="#D9D9D9" />
208            </mask>
209            <g mask="url(#mask0_1327_1562)">
210                <path
211                    d="M16 10.6364V6.36C16 4.50432 14.4957 3 12.64 3H5.36C3.50432 3 2 4.50432 2 6.36V13.64C2 15.4957 3.50432 17 5.36 17H10.9091"
212                    stroke="currentColor"
213                    stroke-width="1.14545"
214                    stroke-linecap="round"
215                />
216                <path
217                    d="M7.29955 8.74259C7.29955 7.96101 8.14581 7.47256 8.82271 7.86319L11.1713 9.2181C11.8482 9.60893 11.8479 10.5866 11.171 10.9774L8.82323 12.3328C8.1463 12.7237 7.29951 12.2351 7.29951 11.4535L7.29955 8.74259Z"
218                    stroke="currentColor"
219                    stroke-width="1.1"
220                />
221                <path
222                    d="M17.5234 13.4697L14.4062 16.5879L13.5381 16.4609L13.4111 15.5918L16.5283 12.4746L17.5234 13.4697Z"
223                    stroke="currentColor"
224                    stroke-width="0.8"
225                />
226            </g>
227        </symbol>
228        <symbol id="header-arrow-right-path" viewBox="0 0 13 9" fill="none">
229            <mask id="mask0_489_13571" style="mask-type: alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="13" height="9">
230                <rect width="13" height="9" fill="#D9D9D9" />
231            </mask>
232            <g mask="url(#mask0_489_13571)">
233                <path d="M1.5 4.5H5.5H10.5" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" />
234                <path d="M8.19287 8.23633L11.7809 4.52081L8.06539 0.932766" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" />
235            </g>
236        </symbol>
237        <symbol id="header-close-path" viewBox="0 0 19 19">
238            <path d="M1.80957 2.71484H16.2858" stroke="currentColor" stroke-width="1.80952" stroke-linecap="round" />
239            <path d="M1.80957 9.04883H16.2858" stroke="currentColor" stroke-width="1.80952" stroke-linecap="round" />
240            <path d="M1.80957 16.2871H16.2858" stroke="currentColor" stroke-width="1.80952" stroke-linecap="round" />
241        </symbol>
242        <symbol id="footer-twitter-path" viewBox="0 0 28 28" fill="none">
243            <circle cx="14" cy="14" r="14" fill="#C7CBD1" />
244            <path
245                fill-rule="evenodd"
246                clip-rule="evenodd"
247                d="M20.2317 8H18.2383L14.9535 11.8345L12.1134 8H8L12.9149 14.5631L8.2567 20H10.2513L13.8465 15.8049L16.9885 20H21L15.8767 13.0831L20.2317 8ZM18.6432 18.7815H17.5386L10.3279 9.15441H11.5132L18.6432 18.7815Z"
248                fill="white"
249            />
250        </symbol>
251        <symbol id="footer-discord-path" viewBox="0 0 28 28" fill="none">
252            <circle cx="14" cy="14" r="14" fill="#C7CBD1" />
253            <path
254                d="M21.9705 17.1666C22.1687 14.1654 21.3617 11.0781 19.7335 8.5652C19.3937 8.03389 19.3654 8.04825 18.7991 7.8185C17.8788 7.43079 16.8594 7.15796 15.8825 7.01436L15.4436 7.90466C14.1552 7.73234 12.8668 7.73234 11.5784 7.90466L11.1254 7C10.2192 7.15796 9.31312 7.38771 8.44947 7.73234C8.2371 7.8185 7.86899 7.94773 7.68493 8.06261C7.50088 8.17749 7.13276 8.83803 7.00534 9.06778C5.57537 11.5807 4.75419 14.7111 5.06567 17.6117C5.06567 17.6835 5.09399 17.7553 5.12231 17.8271C5.1931 17.9707 5.85853 18.3872 6.04259 18.502C6.73634 18.9472 7.57167 19.3636 8.33621 19.6652C8.53442 19.7513 9.2848 20.0529 9.44054 19.9811C9.51133 19.938 10.3325 18.6313 10.3183 18.5451C9.96439 18.301 9.27065 18.1431 8.95917 17.8702C8.87422 17.7984 9.15738 17.5974 9.21401 17.583C9.32728 17.5543 10.0069 17.8846 10.1909 17.9564C11.0263 18.2436 11.9182 18.4159 12.796 18.5164H14.1127C15.118 18.4302 16.0524 18.2292 17.001 17.8846C17.1709 17.8271 17.7089 17.5543 17.8222 17.583C17.8788 17.583 18.162 17.7841 18.077 17.8702C17.893 18.0282 16.7178 18.459 16.7178 18.5451C16.8453 18.7605 16.9444 18.9903 17.0718 19.2057C17.1426 19.3349 17.5532 19.9667 17.624 19.9954C17.808 20.0529 18.969 19.5503 19.2238 19.4354C19.9601 19.1051 21.1918 18.4733 21.7865 17.9564C22.0696 17.7123 21.9422 17.4969 21.9705 17.1522V17.1666ZM10.3183 15.8168C9.10075 15.4722 8.81758 13.7203 9.66707 12.8587C10.3467 12.1695 11.4935 12.3561 11.9749 13.189C12.6686 14.4096 11.7625 16.2189 10.3183 15.8168ZM15.4436 15.544C13.7305 14.1942 15.7692 11.2648 17.3691 12.8587C18.7424 14.2372 17.0718 16.822 15.4436 15.544Z"
255                fill="#FDFDFE"
256            />
257        </symbol>
258        <symbol id="footer-facebook-path" viewBox="0 0 28 28" fill="none">
259            <circle cx="14" cy="14" r="14" fill="#C7CBD1" />
260            <path
261                d="M18.2891 6.12038V8.772H16.7118C16.1358 8.772 15.7475 8.89256 15.5469 9.13369C15.3463 9.37481 15.2458 9.7365 15.2454 10.2188V12.1172H18.1884L17.7969 15.0906H15.2454V22.7147H12.1719V15.0906H9.61026V12.1172H12.1719V9.92738C12.1719 8.682 12.5201 7.716 13.2164 7.02938C13.9128 6.34275 14.8402 5.99963 15.9986 6C16.9829 6 17.7463 6.04013 18.2885 6.12038H18.2891Z"
262                fill="white"
263            />
264        </symbol>
265        <symbol id="footer-tiktok-path" viewBox="0 0 28 28" fill="none">
266            <circle cx="14" cy="14" r="14" fill="#C7CBD1" />
267            <path
268                d="M19.9719 9.69023C19.859 9.63047 19.7494 9.56738 19.6399 9.49766C19.3277 9.2918 19.0455 9.04941 18.7899 8.77715C18.1557 8.05332 17.9199 7.31621 17.8336 6.80156H17.8369C17.7639 6.37324 17.7938 6.09766 17.8004 6.09766H14.915V17.2605C14.915 17.41 14.915 17.5594 14.9084 17.7055C14.9084 17.7221 14.9051 17.742 14.9051 17.7586C14.9051 17.7652 14.9051 17.7752 14.9018 17.7818V17.7885C14.8951 17.8881 14.8818 17.9877 14.8619 18.084C14.842 18.1836 14.8154 18.2799 14.7856 18.3729C14.7557 18.4691 14.7158 18.5621 14.6727 18.6518C14.6295 18.7414 14.583 18.8311 14.5266 18.9141C14.4734 18.9971 14.4137 19.0801 14.3506 19.1564C14.2875 19.2328 14.2178 19.3059 14.1481 19.3756C14.075 19.4453 13.9986 19.5084 13.919 19.5682C13.8393 19.6279 13.7563 19.6811 13.6666 19.7309C13.484 19.8338 13.2914 19.9135 13.0889 19.9666C12.8863 20.0197 12.6805 20.0463 12.4713 20.0463C11.1266 20.0463 10.0375 18.9506 10.0375 17.5959C10.0375 16.2412 11.1266 15.1455 12.4713 15.1455C12.727 15.1455 12.976 15.1854 13.2217 15.265L13.225 12.3266C13.0424 12.3033 12.8565 12.29 12.6738 12.2834C12.4879 12.2801 12.3053 12.2834 12.1193 12.2967C11.9367 12.31 11.7508 12.3365 11.5715 12.3697C11.3889 12.4029 11.2096 12.4461 11.0336 12.4959C10.8576 12.549 10.6816 12.6088 10.5123 12.6785C10.343 12.7482 10.1736 12.8279 10.0109 12.9143C9.84825 13.0006 9.68888 13.0969 9.53614 13.1998C9.38341 13.3027 9.23731 13.4156 9.09454 13.5318C8.84552 13.7477 8.61641 13.9834 8.41056 14.2391C8.20138 14.4947 8.01876 14.767 7.85938 15.0559C7.73653 15.265 7.27833 16.1117 7.22188 17.4797C7.18536 18.2566 7.4211 19.0635 7.53067 19.3955V19.4021C7.6004 19.598 7.87266 20.2688 8.31427 20.8332C8.67286 21.2881 9.09122 21.6799 9.56602 22.0119V22.0053L9.57266 22.0119C10.9705 22.9615 12.5211 22.8984 12.5211 22.8984C12.79 22.8885 13.6865 22.8984 14.7092 22.4137C15.8414 21.8791 16.4856 21.0789 16.4856 21.0789C16.6914 20.8398 16.874 20.5875 17.0367 20.3152C17.1994 20.0463 17.3389 19.7641 17.4518 19.4686C17.7141 18.7812 17.8004 17.9578 17.8004 17.6291V11.7156C17.8369 11.7355 18.3018 12.0443 18.3018 12.0443C18.3018 12.0443 18.9725 12.476 20.0217 12.7549C20.7754 12.9541 21.7881 12.9973 21.7881 12.9973V10.1318C21.4295 10.1717 20.709 10.0588 19.9719 9.69023Z"
269                fill="white"
270            />
271        </symbol>
272        <symbol id="footer-instagram-path" viewBox="0 0 28 28" fill="none">
273            <circle cx="14" cy="14" r="14" fill="#C7CBD1" />
274            <g clip-path="url(#clip0_397_8672)">
275                <path
276                    d="M14.5 11.9691C13.1074 11.9691 11.9709 13.1056 11.9709 14.4982C11.9709 15.8909 13.1074 17.0273 14.5 17.0273C15.8926 17.0273 17.0291 15.8909 17.0291 14.4982C17.0291 13.1056 15.8926 11.9691 14.5 11.9691ZM22.0855 14.4982C22.0855 13.4509 22.095 12.4131 22.0361 11.3676C21.9773 10.1534 21.7003 9.07568 20.8124 8.18773C19.9225 7.29789 18.8467 7.02277 17.6325 6.96396C16.5851 6.90514 15.5473 6.91463 14.5019 6.91463C13.4546 6.91463 12.4167 6.90514 11.3713 6.96396C10.157 7.02277 9.07934 7.29978 8.19139 8.18773C7.30155 9.07757 7.02644 10.1534 6.96762 11.3676C6.9088 12.415 6.91829 13.4528 6.91829 14.4982C6.91829 15.5436 6.9088 16.5834 6.96762 17.6288C7.02644 18.8431 7.30345 19.9208 8.19139 20.8087C9.08124 21.6986 10.157 21.9737 11.3713 22.0325C12.4186 22.0913 13.4565 22.0818 14.5019 22.0818C15.5492 22.0818 16.587 22.0913 17.6325 22.0325C18.8467 21.9737 19.9244 21.6967 20.8124 20.8087C21.7022 19.9189 21.9773 18.8431 22.0361 17.6288C22.0969 16.5834 22.0855 15.5455 22.0855 14.4982ZM14.5 18.3896C12.3465 18.3896 10.6086 16.6517 10.6086 14.4982C10.6086 12.3448 12.3465 10.6068 14.5 10.6068C16.6534 10.6068 18.3914 12.3448 18.3914 14.4982C18.3914 16.6517 16.6534 18.3896 14.5 18.3896ZM18.5508 11.3563C18.048 11.3563 17.6419 10.9502 17.6419 10.4474C17.6419 9.94465 18.048 9.53862 18.5508 9.53862C19.0536 9.53862 19.4596 9.94465 19.4596 10.4474C19.4597 10.5668 19.4363 10.6851 19.3907 10.7954C19.3451 10.9057 19.2782 11.006 19.1937 11.0904C19.1093 11.1748 19.0091 11.2418 18.8987 11.2874C18.7884 11.333 18.6702 11.3564 18.5508 11.3563Z"
277                    fill="white"
278                />
279            </g>
280            <defs>
281                <clipPath id="clip0_397_8672">
282                    <rect width="17" height="17" fill="white" transform="translate(6 6)" />
283                </clipPath>
284            </defs>
285        </symbol>
286        <symbol id="footer-reddit-path" viewBox="0 0 28 28" fill="none">
287            <circle cx="14" cy="14" r="14" fill="#C7CBD1" />
288            <g clip-path="url(#clip0_1266_20679)">
289                <path
290                    d="M21.9973 14.5563C21.9973 14.9015 21.9094 15.2154 21.7338 15.498C21.5582 15.7806 21.3217 15.9963 21.0241 16.1453C21.0954 16.4188 21.1311 16.7044 21.1311 17.002C21.1311 17.9243 20.8142 18.7782 20.1804 19.5636C19.5466 20.349 18.6822 20.9693 17.5873 21.4244C16.4923 21.8796 15.3022 22.1072 14.017 22.1072C12.7318 22.1072 11.5432 21.8796 10.4512 21.4244C9.35926 20.9693 8.49639 20.349 7.86261 19.5636C7.22883 18.7782 6.91194 17.9243 6.91194 17.002C6.91194 16.7224 6.94459 16.4427 7.0099 16.1628C6.70634 16.0141 6.46243 15.7954 6.27816 15.5065C6.09389 15.2176 6.00158 14.9007 6.00125 14.5558C6.00125 14.068 6.17386 13.65 6.51907 13.3017C6.86429 12.9535 7.28381 12.7794 7.77764 12.7794C8.28347 12.7794 8.71482 12.9669 9.0717 13.3417C10.3689 12.4374 11.9011 11.9554 13.6681 11.8957L14.7033 7.24532C14.7213 7.16802 14.7659 7.10554 14.8372 7.05789C14.9085 7.01024 14.9858 6.99541 15.0691 7.0134L18.3625 7.73615C18.4695 7.5159 18.6301 7.33879 18.8443 7.20484C19.0586 7.07088 19.2937 7.00391 19.5496 7.00391C19.9185 7.00391 20.2339 7.13336 20.4958 7.39227C20.7577 7.65118 20.8886 7.96508 20.8886 8.33395C20.8886 8.70282 20.7577 9.01821 20.4958 9.28012C20.2339 9.54203 19.9185 9.67299 19.5496 9.67299C19.1807 9.67299 18.8668 9.54353 18.6079 9.28462C18.349 9.02571 18.2196 8.71182 18.2196 8.34295L15.2386 7.68267L14.3104 11.8957C16.0954 11.9494 17.6396 12.4254 18.9428 13.3237C19.288 12.9609 19.7135 12.7794 20.2194 12.7794C20.7132 12.7794 21.1327 12.9535 21.4779 13.3017C21.8231 13.65 21.9958 14.068 21.9958 14.5558L21.9973 14.5563ZM9.73347 16.3327C9.73347 16.7016 9.86292 17.017 10.1218 17.2789C10.3807 17.5408 10.6946 17.6717 11.0635 17.6717C11.4324 17.6717 11.7478 17.5408 12.0097 17.2789C12.2716 17.017 12.4026 16.7016 12.4026 16.3327C12.4026 15.9638 12.2716 15.6499 12.0097 15.391C11.7478 15.1321 11.4324 15.0027 11.0635 15.0027C10.7006 15.0027 10.3882 15.1336 10.1263 15.3955C9.86442 15.6574 9.73347 15.9698 9.73347 16.3327ZM16.9635 19.5011C17.0288 19.4358 17.0614 19.3585 17.0614 19.2692C17.0614 19.1799 17.0288 19.1026 16.9635 19.0373C16.9038 18.9776 16.8295 18.9478 16.7406 18.9478C16.6516 18.9478 16.5743 18.9776 16.5086 19.0373C16.2647 19.2872 15.9047 19.4716 15.4285 19.5906C14.9523 19.7095 14.4763 19.769 14.0005 19.769C13.5247 19.769 13.0487 19.7095 12.5725 19.5906C12.0963 19.4716 11.7363 19.2872 11.4924 
29019.0373C11.4271 18.9776 11.3497 18.9478 11.2604 18.9478C11.1711 18.9478 11.0968 18.9776 11.0375 19.0373C10.9722 19.0969 10.9396 19.1727 10.9396 19.2647C10.9396 19.3567 10.9722 19.4355 11.0375 19.5011C11.2934 19.757 11.646 19.9593 12.0952 20.1079C12.5443 20.2565 12.9089 20.3443 13.1888 20.3713C13.4687 20.3983 13.7394 20.4116 14.001 20.4113C14.2626 20.411 14.5333 20.3976 14.8132 20.3713C15.0931 20.345 15.4577 20.2572 15.9068 20.1079C16.356 19.9586 16.7086 19.7564 16.9645 19.5011H16.9635ZM16.9365 17.6712C17.3054 17.6712 17.6193 17.5403 17.8782 17.2784C18.1371 17.0165 18.2665 16.7011 18.2665 16.3322C18.2665 15.9693 18.1356 15.6569 17.8737 15.395C17.6118 15.1331 17.2994 15.0022 16.9365 15.0022C16.5676 15.0022 16.2522 15.1316 15.9903 15.3905C15.7284 15.6494 15.5975 15.9633 15.5975 16.3322C15.5975 16.7011 15.7284 17.0165 15.9903 17.2784C16.2522 17.5403 16.5676 17.6712 16.9365 17.6712Z"
291                    fill="white"
292                />
293            </g>
294            <defs>
295                <clipPath id="clip0_1266_20679">
296                    <rect width="16" height="16" fill="white" transform="translate(6 7)" />
297                </clipPath>
298            </defs>
299        </symbol>
300    </svg>
301</aside>
302
303<header class="base-header">
304    <div class="header-mask-bg"></div>
305    <div class="feature-buy" id="featureBuy">
306        <div class="feature-buy-wrapper">
307            <div class="scrolling-content">
308                <div class="scrolling-item" data-href="https://www.noviai.ai/app/ai-image-generator/?utm_source=gpt-image-2&utm_medium=marketingpage">
309                    <img                       src="https://images.noviai.ai/noviaien/assets/product/GPT_Image_2.png"
310                        class="promo-icon-left promo-icon-width-auto"
311                        height="52"
312                        alt="gift icon"
313                    />
314                    <span class="promo-text">NEW: GPT Image 2——Create Storyboards & Visual Workflows from References</span>
315                </div>
316<div
317    class="scrolling-item"
318    data-href="https://www.noviai.ai/app/ai-video-generator/?utm_source=seedance2.0campaign&utm_medium=marketingpage"
319>
320    <span class="promo-text">
321        Seedance 2.0 is now available on Novi AI — Experience next-generation AI video creation instantly. Try it now >>
322    </span>
323</div>
324            </div>
325        </div>
326        <button class="close-btn" aria-label="Close banner">
327            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
328                <path d="M14 2L2 14M2 2L14 14" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
329            </svg>
330        </button>
331    </div>
332    <div class="base-maxwidth">
333        <div class="base-header-menu base-flex">
334            <div class="base-logo base-header-logo base-align-center">
335                <span class="base-header-close hidden">
336                    <svg width="19" height="19">
337                        <use xlink:href="#header-close-path"></use>
338                    </svg>
339                </span>
340                <a href="/" class="base-align-center">
341                    <img src="https://images.noviai.ai/noviaien/assets/common/novi-ai-icon.svg" alt="Novi Ai" width="38" height="38" />
342                    <span class="base-logo-name">Novi AI</span>
343                </a>
344            </div>
345            <ul class="base-header-nav-list base-flex">
346                <li class="base-header-nav-item"><a href="/app/ai-creative-explorer/">Explore</a></li>
347                <li class="base-header-nav-item">
348                    <a class="nav-link" href="/app/video-agent/">
349                        Story Video
350                        <img class="nav-badge" src="https://images.noviai.ai/noviaien/assets/purchase/purchase_hot.svg" alt="Hot" width="33" height="17" />
351                    </a>
352                </li>
353                <li class="base-header-nav-item">
354                    <a class="nav-link" href="/app/ai-video-generator/">
355                        Seedance 2.0
356                        <img class="nav-badge" src="https://images.noviai.ai/noviaien/assets/product/lisensed.svg" alt="Lisensed" width="50" height="36.36" />
357                    </a>
358                </li>
359               <li class="base-header-nav-item">
360    <a href="javascript:;">
361        Story Tools
362        <svg width="12" height="12">
363            <use xlink:href="#header-arrow-path"></use>
364        </svg>
365    </a>
366    <div class="base-header-nav-sub-list base-header-multi-column base-flex">
367        <div class="base-header-nav-multi-column">
368            <p class="base-header-nav-sub-list-title">Create Story Videos</p>
369            <ul class="base-header-nav-sub-item header-radius-list">
370                <li><a href="/story-to-video-ai/">Script to Video</a></li>
371                <li><a href="/ai-tools/animation-story-maker-ai/">Animation Story Video</a></li>
372                <li><a href="/ai-tools/ai-horror-story-video-generator/">Horror Story Video</a></li>
373                <li><a href="/ai-tools/animation-love-story-video-generator/">Love Story Video</a></li>
374                <li><a href="/ai-tools/bible-story-video-generator/">Bible Story Video</a></li>
375                <li><a href="/ai-tools/kids-bedtime-story-video-generator/">Kids Bedtime Story</a></li>
376                <li><a href="/ai-tools/ai-cat-story-video-generator/">Cat Story Video</a></li>
377            </ul>
378        </div>
379
380        <div class="base-header-nav-multi-column">
381            <p class="base-header-nav-sub-list-title">For Content Creators</p>
382            <ul class="base-header-nav-sub-item header-radius-list">
383                <li><a href="/ai-tools/ai-reddit-story-video-generator/">Reddit Story Video</a></li>
384                <li><a href="/ai-tools/ai-youtube-shorts-generator/">YouTube Shorts Generator</a></li>
385                <li><a href="/ai-tools/faceless-youtube-video-maker/">Faceless YouTube Videos</a></li>
386            </ul>
387            
388            <p class="base-header-nav-sub-list-title" style="margin-top: 20px;">Characters Tips</p>
389            <ul class="base-header-nav-sub-item header-radius-list">
390                <li><a href="/ai-tools/ai-girlfriend-video-generator/">AI Girlfriend Video</a></li>
391                <li><a href="/ai-tools/ai-boyfriend-generator/">AI Boyfriend Video</a></li>
392                <li><a href="/ai-tools/ai-furry-art-generator/">AI Furry Character</a></li>
393                <li><a href="/ai-tools/ai-werewolf-maker/">AI Werewolf Character</a></li>
394            </ul>
395            
396            <a href="/app/video-agent/" class="header-black-border-button base-align-center">
397                Try Story Video Generator
398                <svg width="13" height="9">
399                    <use xlink:href="#header-arrow-right-path"></use>
400                </svg>
401            </a>
402        </div>
403        
404    </div>
405</li>
406<li class="base-header-nav-item">
407    <a href="javascript:;">
408        AI Tools
409        <svg width="12" height="12">
410            <use xlink:href="#header-arrow-path"></use>
411        </svg>
412    </a>
413    <div class="base-header-nav-sub-list base-header-multi-column base-flex">
414        <div class="base-header-nav-multi-column">
415            <p class="base-header-nav-sub-list-title">AI Video</p>
416            <ul class="base-header-nav-sub-item header-radius-list">
417                <li><a href="https://www.noviai.ai/ai-tools/ai-animation-video-generator/">AI Animation Video Generator</a></li>
418                <li><a href="https://www.noviai.ai/ai-tools/ai-logo-animator/">
418AI Logo Animator</a></li>
419                <li><a href="https://www.noviai.ai/ai-tools/animated-explainer-video-maker/">Animated Explainer Video Maker</a></li>
420                <li><a href="https://www.noviai.ai/ai-tools/animal-fight-video-generator/">Animal Fight Video Generator</a></li>
421            </ul>
422            <a href="/ai-tools/" class="header-black-border-button base-align-center">
423                More Tools
424                <svg width="13" height="9">
425                    <use xlink:href="#header-arrow-right-path"></use>
426                </svg>
427            </a>
428        </div>
429        <div class="base-header-nav-multi-column">
430            <p class="base-header-nav-sub-list-title">AI Image</p>
431            <ul class="base-header-nav-sub-item header-radius-list">
432                <li><a href="https://www.noviai.ai/ai-tools/ai-portrait-generator/">AI Portrait Generator</a></li>
433                <li><a href="https://www.noviai.ai/ai-tools/ai-anime-image-generator/">Anime Image Generator</a></li>
434                <li><a href="https://www.noviai.ai/image-to-image-ai/">Image to Image</a></li>
435                <li><a href="https://www.noviai.ai/text-to-image-ai/">Text to Image</a></li>
436            </ul>
437        </div>
438        <div class="base-header-nav-multi-column">
439            <p class="base-header-nav-sub-list-title">AI Models</p>
440            <ul class="base-header-nav-sub-item header-radius-list">
441                <li><a href="https://www.noviai.ai/ai-tools/seedance-ai-video-generator/">Seedance 2.0</a></li>
442                <li><a href="https://www.noviai.ai/ai-tools/jimeng-ai/">Jimeng AI</a></li>
443                <li><a href="https://www.noviai.ai/ai-tools/pixverse-ai-video-generator/">PixVerse 5.5</a></li>
444                <li><a href="https://www.noviai.ai/ai-tools/runway-ai-video-generator/">Runway ML Gen-4</a></li>
445                <li><a href="https://www.noviai.ai/ai-tools/seedream-ai-image-generator/">Seedream 4.0</a></li>
446                <li><a href="https://www.noviai.ai/ai-tools/nano-banana-ai-image-generator/">Nano Banana Pro</a></li>
447            </ul>
448        </div>
449    </div>
450</li>
451                <li class="base-header-nav-item">
452                    <a href="javascript:;">
453                        Blog
454                        <svg width="12" height="12">
455                            <use xlink:href="#header-arrow-path"></use>
456                        </svg>
457                    </a>
458                    <div class="base-header-nav-sub-list base-header-multi-column base-flex right-border">
459                        <div class="base-header-nav-multi-column">
460                            <p class="base-header-nav-sub-list-title">
461                                <img
462                                    src="https://images.noviai.ai/noviaien/assets/common/resources-icon.svg"
463                                    alt="Resources"
464                                    width="25"
465                                    height="25"
466                                    loading="lazy"
467                                />
468                                Resources
469                            </p>
470                            <ul class="base-header-nav-sub-item underline-hover spacing-sm">
471                                <li><a href="/about-us/">About Us</a></li>
472                                <li><a href="/faqs/">Product FAQs</a></li>
473                                <li><a href="/support/">Support Center</a></li>
474                            </ul>
475                            <p class="base-header-sub-title">Follow Us</p>
476                            <ul class="base-flex header-media-list">
477                                <li>
478                                    <a href="https://x.com/TryNoviAI">
479                                        <picture>
480                                            <source media="(max-width: 985px)" srcset="https://images.noviai.ai/noviaien/assets/common/header-twitter-mb.svg" />
481                                            <img src="https://images.noviai.ai/noviaien/assets/common/header-twitter.svg" alt="Twitter" loading="lazy" />
482                                        </picture>
483                                    </a>
484                                </li>
485                                <li>
486                                    <a href="https://discord.com/invite/4YxKHTZKWu">
487                                        <picture>
488                                            <source media="(max-width: 985px)" srcset="https://images.noviai.ai/noviaien/assets/common/header-reddit-mb.svg" />
489                                            <img src="https://images.noviai.ai/noviaien/assets/common/header-discord.svg" alt="Discord" loading="lazy" />
490                                        </picture>
491                                    </a>
492                                </li>
493                                <li>
494                                    <a href="https://www.facebook.com/TryNoviAI/">
495                                        <picture>
496                                            <source
497                                                media="(max-width: 985px)"
498                                                srcset="https://images.noviai.ai/noviaien/assets/common/header-facebook-mb.svg"
499                                            />
500                                            <img src="https://images.noviai.ai/noviaien/assets/common/header-facebook.svg" alt="Facebook" loading="lazy" />
501                                        </picture>
502                                    </a>
503                                </li>
504                            </ul>
505                        </div>
506                        <div class="base-header-nav-multi-column header-blog">
507                            <p class="base-header-nav-sub-list-title">
508                                <img src="https://images.noviai.ai/noviaien/assets/common/blog-icon.svg" alt="Blog" loading="lazy" width="25" height="25" />
509                                Trending Articles
510                            </p>
511                           <ul class="base-header-nav-sub-item header-radius-list spacing-sm-second">
512    <li>
513        <a href="https://www.noviai.ai/story-tips/best-ai-video-story-generator/">
514            Best AI Video Story Generator 2026: Turn Stories Into Videos
515        </a>
516    </li>
517    <li>
518        <a href="https://www.noviai.ai/story-tips/faceless-youtube-channel-ideas/">
519            Faceless YouTube Channel Ideas for 2026: Ultimate Guide
520        </a>
521    </li>
522    <li>
523        <a href="https://www.noviai.ai/video-tips/animated-horror-stories/">
524            How to Make Animated Horror Stories: 2 Ways Introduced [2026 Guide]
525        </a>
526    </li>
527    <li>
528        <a href="https://www.noviai.ai/story-tips/affordable-explainer-video-tools/">
529            Explainer Video Tools for Small Budgets: What Works in 2026
530        </a>
531    </li>
532    <li>
533        <a href="https://www.noviai.ai/story-tips/mootion-review/">
534            Mootion AI Review 2026: Features, Pricing & Best Alternatives
535        </a>
536    </li>
537    <li>
538        <a href="https://www.noviai.ai/story-tips/faceless-video-review/">
539            Faceless.video Review: Is It Legit, Safe, and Worth Using?
540        </a>
541    </li>
542    <li>
543        <a href="https://www.noviai.ai/video-tips/seedance-2-0-prompts/">
544            20+ Seedance 2.0 Prompts for AI Videos[2026]
545        </a>
546    </li>
547    <li>
548        <a href="https://www.noviai.ai/video-tips/seedance-2-reivew/">
549            Seedance 2.0 Review 2026: Real Tests vs Kling 3.0, Veo 3.1 & Sora 2
550        </a>
551    </li>
552</ul>
553                            <a href="/blog/" class="header-black-border-button base-align-center">
554                                Read more
555                                <svg width="13" height="9">
556                                    <use xlink:href="#header-arrow-right-path"></use>
557                                </svg>
558                            </a>
559                        </div>
560                    </div>
561                </li>
562                <li class="base-header-nav-item"><a class="header-pricing" href="/pricing/">Pricing</a></li>
563                <li class="base-header-nav-item header-happy-horse-item">
564                    <div class="header-happy-horse">
565                        <span class="header-happy-horse-logo">
566                            <img src="https://images.noviai.ai/noviaien/assets/header/header-happy-horse-logo.webp" alt="HappyHorse" />
567                        </span>
568                        <p class="header-happy-horse-text">
569                            <span class="header-happy-horse-name">
570                                <span class="hh-char" style="--i:0">H</span><span class="hh-char" style="--i:1">a</span><span class="hh-char" style="--i:2">p</span><span class="hh-char" style="--i:3">p</span><span class="hh-char" style="--i:4">y</span><span class="hh-char" style="--i:5">H</span><span class="hh-char" style="--i:6">o</span><span class="hh-char" style="--i:7">r</span><span class="hh-char" style="--i:8">s</span><span class="hh-char" style="--i:9">e</span>
571                            </span>
572                            <span class="hh-space">&nbsp;</span>
573                            <span class="hh-char" style="--i:10">E</span><span class="hh-char" style="--i:11">a</span><span class="hh-char" style="--i:12">r</span><span class="hh-char" style="--i:13">l</span><span class="hh-char" style="--i:14">y</span>
574                            <span class="hh-space">&nbsp;</span>
575                            <span class="hh-char" style="--i:15">A</span><span class="hh-char" style="--i:16">c</span><span class="hh-char" style="--i:17">c</span><span class="hh-char" style="--i:18">e</span><span class="hh-char" style="--i:19">s</span><span class="hh-char" style="--i:20">s</span>
576                        </p>
577                        <img class="header-happy-horse-coins" src="https://images.noviai.ai/noviaien/assets/header/header-happy-horse-coins.webp" alt="" />
578                    </div>
579                </li>
580            </ul>
581            <ul class="base-header-func base-flex">
582                <li>
583                    <div class="base-header-language">
584                        <div class="base-header-language-selected base-flex">
585                            <svg width="17" height="17" viewBox="0 0 17 17" fill="none" xmlns="http://www.w3.org/2000/svg">
586                                <path d="M4.816 6.79844H2.5754C2.41748 7.35128 2.33766 7.92349 2.33825 8.49844C2.33825 9.08834 2.4207 9.65869 2.57625 10.1984H4.81685C4.72335 9.65444 4.67575 9.08749 4.67575 8.49844C4.67575 7.90939 4.72335 7.34244 4.81685 6.79844H4.816ZM5.68045 6.79844C5.57485 7.3589 5.52277 7.92812 5.5249 8.49844C5.5249 9.09174 5.5759 9.65869 5.68045 10.1984H8.0749V6.79844H5.68045ZM6.9257 14.4578C6.01912 13.4937 5.36045 12.3236 5.0064 11.0484H2.8882C3.2671 11.88 3.82578 12.6171 4.52396 13.2067C5.22214 13.7962 6.04243 14.2235 6.9257 14.4578ZM8.0749 14.3983V11.0484H5.89295C6.29245 12.3285 7.0192 13.4429 8.0749 14.3991V14.3983ZM6.9257 2.53994C6.04252 2.7741 5.22227 3.20127 4.5241 3.79068C3.82592 4.38009 3.2672 5.11705 2.8882 5.94844H5.0064C5.3602 4.67333 6.01858 3.50331 6.92485 2.53909L6.9257 2.53994ZM8.0749 2.59944C7.0192 3.55314 6.2933 4.66749 5.89295 5.94844H8.0749V2.59774V2.59944ZM12.1838 6.79844C12.2773 7.34244 12.3249 7.90939 12.3249 8.49844C12.3249 9.08749 12.2773 9.65444 12.1838 10.1984H14.4253C14.58 9.65869 14.6624 9.08834 14.6624 8.49844C14.6624 7.90854 14.58 7.33819 14.4244 6.79844H12.1838ZM11.3194 6.79844H8.9249V10.1984H11.3194C11.4231 9.65869 11.4749 9.09174 11.4749 8.49844C11.4749 7.90514 11.4239 7.33819 11.3194 6.79844ZM10.0741 14.4578C10.9574 14.2235 11.7777 13.7962 12.4758 13.2067C13.174 12.6171 13.7327 11.88 14.1116 11.0484H11.9934C11.6396 12.3235 10.9812 13.4936 10.075 14.4578H10.0741ZM8.9249 14.3983C9.9806 13.4429 10.7065 12.3285 11.1069 11.0484H8.9249V14.3991V14.3983ZM10.0741 2.53994C10.9806 3.50383 11.6392 4.67355 11.9934 5.94844H14.1125C13.7336 5.11689 13.1749 4.37976 12.4767 3.7902C11.7785 3.20065 10.9582 2.77334 10.075 2.53909L10.0741 2.53994ZM8.9249 2.59944V5.94844H11.1069C10.7074 4.66834 9.9806 3.55399 8.9249 2.59774V2.59944ZM8.4999 15.7234C6.58371 15.7234 4.74601 14.9622 3.39106 13.6073C2.03611 12.2523 1.2749 10.4146 1.2749 8.49844C1.2749 6.58225 2.03611 4.74454 3.39106 3.38959C4.74601 2.03464 6.58371 1.27344 8.4999 1.27344C10.4161 1.27344 12.2538 2.03464 13.6087 3.38959C14.9637 4.74454 15.7249 6.58225 15.7249 8.49844C15.7249 10.4146 14.9637 12.2523 13.6087 13.6073C12.2538 14.9622 10.4161 15.7234 8.4999 15.7234Z" fill="currentColor"></path>
587                            </svg>
588                               <svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg" class="base-footer-arrow">
589                                <path d="M9.6435 5.14873L6.44685 8.71568C6.31851 8.85889 6.09409 8.85845 5.96631 8.71474L2.78466 5.13653" stroke="currentColor" stroke-width="1.28832" stroke-linecap="round"></path>
590                            </svg>
591                        </div>
592                        <ul class="base-header-language-list">
593                            <li class="active"><a href="/">English</a></li>
594                            <li><a href="/tw/">繁體中文</a></li>
595                            <li><a href="/jp/">日本語</a></li>
596                        </ul>
597                    </div>
598                </li>
599                <li>
600                    <a href="/app/ai-creative-explorer/" class="header-online-btn base-header-btn">Try Now</a>
601                </li>
602                <li>
603                    <div class="login-btn base-header-btn base-login-btn header-login not-logged-in">Sign In</div>
604                    <div id="Login" class="login-btn not-logged-in"></div>
605                </li>
606                <li class="product-list mobile-btns message"></li>
607            </ul>
608        </div>
609    </div>
610</header>
611
612    <main class="home-page">
613            <aside>
614                <svg style="display:none;">
615                    <symbol id="win-path" viewBox="0 0 24 24" fill="currentColor">
616                        <path
617                                d="M23.9775346,11.13856 L23.9775346,0.00945378509 L11.3139401,1.89791827 L11.3139401,11.13856 L23.9775346,11.13856 Z M9.54435484,11.13856 L9.54435484,2.0445951 L0.0144009325,3.43802522 L0.0144009325,11.13856 L9.54435484,11.13856 Z M11.3139401,12.8986822 L11.3139401,22.1393239 L23.9775346,23.95445 L23.9775346,12.8986822 L11.3139401,12.8986822 Z M0.0144009325,12.8986822 L0.0144009325,20.6725554 L9.54435484,22.0476509 L9.54435484,12.8986822 L0.0144009325,12.8986822 Z">
618                        </path>
619                    </symbol>
620
621                    <symbol id="web-icon" viewBox="0 0 20 20" fill="currentColor">
622                        <path d="M9.99996 12.8096C11.5516 12.8096 12.8095 11.5517 12.8095 10C12.8095 8.44835 11.5516 7.19048 9.99996 7.19048C8.4483 7.19048 7.19043 8.44835 7.19043 10C7.19043 11.5517 8.4483 12.8096 9.99996 12.8096Z"/>
623                        <path d="M6.28669 9.18728C6.65993 7.48058 8.183 6.19886 10.0001 6.19886H17.5647C17.1633 5.40205 16.6326 4.66591 15.9834 4.01669C14.3852 2.41853 12.2603 1.53835 10.0001 1.53835C7.73988 1.53835 5.61499 2.41853 4.01676 4.01669C3.86306 4.17038 3.71617 4.32904 3.57593 4.49212L6.28669 9.18728Z"/>
624                        <path d="M11.1528 13.6222C10.7891 13.7383 10.4017 13.8012 9.99998 13.8012C8.58802 13.8012 7.35347 13.0273 6.69802 11.8814C6.69333 11.8742 6.68867 11.8669 6.6843 11.8594L2.92693 5.35141C2.02359 6.71982 1.53833 8.32258 1.53833 10C1.53833 12.2602 2.41851 14.3851 4.01667 15.9833C5.24106 17.2077 6.77474 18.0101 8.44138 18.3187L11.1528 13.6222Z"/>
625                        <path d="M12.5575 7.19048C13.3211 7.88618 13.801 8.88809 13.801 10C13.801 10.6993 13.6109 11.355 13.2801 11.9185C13.2767 11.925 13.2738 11.9316 13.2701 11.938L9.51196 18.4474C9.67382 18.4565 9.83645 18.4617 9.99986 18.4617C12.2601 18.4617 14.385 17.5815 15.9832 15.9833C17.5813 14.3851 18.4615 12.2602 18.4615 10C18.4615 9.02805 18.2983 8.08126 17.9857 7.19048H12.5575Z"/>
626                    </symbol>
627                    <symbol id="xin-icon" viewBox="0 0 23 28" fill="currentColor">
628                        <circle cx="4" cy="5" r="1"/>
629                        <circle cx="0.5" cy="6.5" r="0.5"/>
630                        <circle cx="17.5" cy="20.5" r="0.5"/>
631                        <circle cx="15" cy="27" r="1"/>
632                        <circle cx="21.5" cy="23.5" r="0.5"/>
633                        <circle cx="21.5" cy="17.5" r="0.5" fill-opacity="0.47"/>
634                        <circle cx="3.5" cy="0.5" r="0.5" fill-opacity="0.47"/>
635                        <circle cx="17.5" cy="23.5" r="0.5"/>
636                        <path d="M10.8751 2.68888C11.0897 2.10874 11.9103 2.10874 12.1249 2.68888C13.6998 6.94475 17.0552 10.3002 21.3111 11.8751C21.8913 12.0897 21.8913 12.9103 21.3111 13.1249C17.0552 14.6998 13.6998 18.0552 12.1249 22.3111C11.9103 22.8913 11.0897 22.8913 10.8751 22.3111C9.30024 18.0552 5.94475 14.6998 1.68888 13.1249C1.10874 12.9103 1.10874 12.0897 1.68888 11.8751C5.94475 10.3002 9.30024 6.94475 10.8751 2.68888Z"/>
637                    </symbol>
638
639                    <symbol id="banner-story-icon" viewBox="0 0 23 23" fill="none" xmlns="http://www.w3.org/2000/svg">
640                        <path d="M11.5208 20.645C6.4669 20.645 2.35498 16.5333 2.35498 11.4793C2.35498 6.4254 6.4669 2.31348 11.5208 2.31348C16.5748 2.31348 20.6865 6.42518 20.6865 11.4793C20.6865 16.5335 16.5748 20.645 11.5208 20.645ZM11.5208 3.83431C7.30537 3.83431 3.87581 7.26387 3.87581 11.4793C3.87581 15.6948 7.30537 19.1241 11.5208 19.1241C15.7363 19.1241 19.1656 15.6946 19.1656 11.4793C19.1656 7.26364 15.7363 3.83431 11.5208 3.83431Z" fill="white"/>
641                        <path d="M18.9892 20.645H11.799C11.379 20.645 11.0387 20.3045 11.0387 19.8847C11.0387 19.4649 11.3792 19.1244 11.799 19.1244H18.9895C19.4095 19.1244 19.7498 19.4649 19.7498 19.8847C19.7498 20.3045 19.4093 20.645 18.9892 20.645ZM9.89795 15.0291C9.61067 15.0291 9.32317 14.9534 9.06128 14.8022C8.53749 14.4997 8.22461 13.9581 8.22461 13.353V9.60542C8.22461 9.00032 8.53749 8.45856 9.06128 8.15624C9.58552 7.85369 10.2111 7.85392 10.7346 8.15624L13.9802 10.0302C14.504 10.3327 14.8169 10.8742 14.8169 11.4793C14.8171 12.0842 14.5042 12.62
64162 13.9802 12.9287L10.7346 14.8024C10.4727 14.9536 10.1852 15.0291 9.89795 15.0291ZM9.89795 9.45134C9.87234 9.45134 9.84696 9.45875 9.82181 9.47335C9.77127 9.50255 9.74544 9.54702 9.74544 9.60542V13.353C9.74544 13.4117 9.77127 13.4559 9.82181 13.4851C9.87234 13.5143 9.92355 13.5143 9.97432 13.4851L13.2199 11.6114C13.2705 11.5822 13.2963 11.5377 13.2961 11.4793C13.2961 11.4207 13.2705 11.3765 13.2199 11.3473L9.97432 9.47335C9.94894 9.45853 9.92333 9.45134 9.89795 9.45134Z" fill="white"/>
642                    </symbol>
643                    <symbol id="banner-image-icon" viewBox="0 0 23 23" fill="none" xmlns="http://www.w3.org/2000/svg">
644                        <path d="M19.4446 11.9472V7.09168C19.4446 6.12585 19.061 5.19958 18.378 4.51663C17.6951 3.83369 16.7688 3.45001 15.803 3.45001H6.09186C5.12603 3.45001 4.19976 3.83369 3.51682 4.51663C2.83387 5.19958 2.4502 6.12585 2.4502 7.09168V12.5542M2.4502 12.5542V15.5889C2.4502 16.5547 2.83387 17.481 3.51682 18.164C4.19976 18.8469 5.12603 19.2306 6.09186 19.2306H10.7046C10.8382 19.2306 10.9474 19.1213 10.9426 18.9878C10.8406 16.3051 9.04404 11.6122 2.4502 12.5542Z" stroke="white" stroke-width="1.3" stroke-linecap="round"/>
645                        <path d="M15.916 13.5901C15.4394 14.7273 14.5327 15.6324 13.3934 16.1198C13.0446 16.2706 13.0446 16.7231 13.3934 16.874C14.5327 17.3497 15.4394 18.2664 15.916 19.392C16.0672 19.7401 16.5205 19.7401 16.66 19.392C17.1367 18.2548 18.0434 17.3497 19.1827 16.874C19.5314 16.7231 19.5314 16.2706 19.1827 16.1198C18.0434 15.644 17.1367 14.7273 16.66 13.6018C16.5089 13.2536 16.0555 13.2536 15.916 13.6018V13.5901Z" stroke="white" stroke-width="1.2"/>
646                        <path d="M13.5 10C14.3284 10 15 9.32843 15 8.5C15 7.67157 14.3284 7 13.5 7C12.6716 7 12 7.67157 12 8.5C12 9.32843 12.6716 10 13.5 10Z" stroke="white" stroke-width="1.2"/>
647                    </symbol>
648                    <symbol id="banner-short-icon" viewBox="0 0 23 23" fill="none" xmlns="http://www.w3.org/2000/svg">
649                        <path d="M9.09526 4.59998H13.9969C15.7934 4.59998 17.2498 6.05633 17.2498 7.85283V15.1471C17.2498 16.9436 15.7935 18.4 13.9969 18.4H5.55266C3.75616 18.4 2.2998 16.9436 2.2998 15.1471V10.35" stroke="white" stroke-width="1.2" stroke-linecap="round"/>
650                        <path d="M11.7754 10.692C12.3971 11.0514 12.3971 11.9489 11.7754 12.3082L9.47461 13.6364C8.85245 13.9952 8.0752 13.5461 8.0752 12.8278V10.1725C8.0752 9.45411 8.85243 9.00493 9.47461 9.36389L11.7754 10.692Z" stroke="white" stroke-width="1.2"/>
651                        <path d="M4.21278 3.62143C3.8853 4.40275 3.26228 5.02462 2.47952 5.35947C2.2399 5.46312 2.2399 5.77405 2.47952 5.8777C3.26228 6.20458 3.8853 6.83442 4.21278 7.60777C4.31662 7.84695 4.62812 7.84695 4.72397 7.60777C5.05145 6.82645 5.67447 6.20458 6.45723 5.8777C6.69685 5.77405 6.69685 5.46312 6.45723 5.35947C5.67447 5.03259 5.05145 4.40275 4.72397 3.6294C4.62014 3.39022 4.30863 3.39022 4.21278 3.6294V3.62143Z" stroke="white" stroke-width="1.2"/>
652                        <path d="M17.48 13.2694L19.6527 14.511C20.3756 14.9241 21.275 14.4021 21.275 13.5696V8.63215C21.275 7.79961 20.3756 7.27767 19.6527 7.69073L17.48 8.9323" stroke="white" stroke-width="1.2" stroke-linecap="round"/>
653                    </symbol>
654                    <symbol id="banner-select-btn-icon" viewBox="0 0 12 7" fill="none" xmlns="http://www.w3.org/2000/svg">
655                        <path d="M0.385892 0.375645C0.669129 0.105282 1.11481 0.0844851 1.42304 0.313254L1.49706 0.375645L5.65576 4.34473L9.81446 0.375645C10.0977 0.105282 10.5434 0.0844852 10.8516 0.313254L10.9256 0.375645C11.2089 0.646008 11.2307 1.07143 10.991 1.36565L10.9256 1.43631L6.21135 5.93631C5.92811 6.20667 5.48243 6.22747 5.1742 5.9987L5.10018 5.93631L0.385892 1.43631C0.0790516 1.14341 0.0790516 0.668538 0.385892 0.375645Z" fill="white" stroke="white" stroke-width="0.312"/>
656                    </symbol>
657                    <symbol id="quote-mask" width="74" height="74" viewBox="0 0 74 74" fill="none" xmlns="http://www.w3.org/2000/svg">
658                        <path d="M65 28.7339C65 34.8759 63.89 38.5019 60.264 44.3849C56.527 50.3789 49.201 56.2619 43.873 58.9999L42.171 55.7069C46.759 52.4509 49.719 49.8979 52.975 43.6449C53.9 41.8689 54.418 40.3149 54.714 38.9089C54.011 39.0569 53.234 39.1309 52.457 39.1309C45.723 39.1309 40.284 33.6549 40.284 26.9209C40.284 20.1869 45.723 14.7109 52.457 14.7109C58.044 14.7109 62.78 18.4849 64.186 23.6649C64.704 25.1449 65 26.8099 65 28.7339ZM33.217 28.7339C33.217 34.8759 32.107 38.5019 28.481 44.3849C24.744 50.3789 17.418 56.2619 
65812.09 58.9999L10.388 55.7069C14.976 52.4509 17.936 49.8979 21.192 43.6449C22.117 41.8689 22.635 40.3149 22.931 38.9089C22.228 39.0569 21.451 39.1309 20.674 39.1309C13.94 39.1309 8.50098 33.6549 8.50098 26.9209C8.50098 20.1869 13.94 14.7109 20.674 14.7109C26.261 14.7109 30.997 18.4849 32.403 23.6649C32.921 25.1449 33.217 26.8099 33.217 28.7339Z" fill="#EAEBEE"/>
659                    </symbol>
660                </svg>
661            </aside>
662
663            <!-- 第一屏/首屏 -->
664            <section class="banner">
665                <div class="banner-video">
666                    <video class="banner-bg-video curr" autoplay muted loop playsinline webkit-playsinline preload="auto" poster="https://images.noviai.ai/noviaien/assets/product/index/index_video1_img.webp">
667                        <source src="https://images.noviai.ai/noviaien/assets/product/index/index_video1.mp4" type="video/mp4">
668                    </video>
669                                    <video class="banner-bg-video" muted loop playsinline webkit-playsinline preload="none" poster="https://images.noviai.ai/noviaien/assets/product/index/index_video2_img.webp">
670                        <source src="https://images.noviai.ai/noviaien/assets/product/index/index_video2.mp4" type="video/mp4">
671                    </video>
672                                    <video class="banner-bg-video" muted loop playsinline webkit-playsinline preload="none" poster="https://images.noviai.ai/noviaien/assets/product/index/index_video3_img.webp">
673                        <source src="https://images.noviai.ai/noviaien/assets/product/index/index_video3.mp4" type="video/mp4">
674                    </video>
675                </div>
676                <div class="banner-switch">
677                    <img src="https://images.noviai.ai/noviaien/assets/product/index/mermaid.png" class="banner-sw-item curr" alt="ai mermaid story">
678                    <img src="https://images.noviai.ai/noviaien/assets/product/index/dog.png" class="banner-sw-item" alt="ai dog story">
679                    <img src="https://images.noviai.ai/noviaien/assets/product/index/papercut.png" class="banner-sw-item" alt="ai papercut story">
680                </div>
681                <div class="banner-box">
682                    <h1 class="banner-title">Novi AI: <br>Turn Your Full Script Into a Cinematic Story Video</h1>
683                    <div class="banner-prompt-container">
684                        <div class="banner-prompt-input-wrapper">
685                            <div class="banner-type-select-box">
686                                <div class="banner-type-current">
687                                    <svg class="type-icon" viewBox="0 0 23 23">
688                                        <use xlink:href="#banner-story-icon"></use>
689                                    </svg>
690                                    <span class="type-text">Story</span>
691                                    <svg class="type-icon" viewBox="0 0 6 11">
692                                        <use xlink:href="#banner-select-btn-icon"></use>
693                                    </svg>
694                                </div>
695                                <div class="banner-type-dropdown">
696                                    <div class="banner-type-option curr" data-val="Story" data-desc="Paste your script. Get a multi-scene video with consistent characters." data-url="/app/ai-creative-explorer/">
697                                        <svg class="op-icon" viewBox="0 0 23 23"><use xlink:href="#banner-story-icon"></use></svg>
698                                        <span class="op-text">Story</span>
699                                    </div>
700                                    <div class="banner-type-option" data-val="Image" data-desc="Describe your vision, one click to generate high-quality storyboard images." data-url="/app/ai-image-generator/">
701                                        <svg class="op-icon" viewBox="0 0 23 23"><use xlink:href="#banner-image-icon"></use></svg>
702                                        <span class="op-text">Image</span>
703                                    </div>
704                                    <div class="banner-type-option" data-val="Video" data-desc="Write your prompt, one click to create short video clips." data-url="/app/ai-video-generator/">
705                                        <svg class="op-icon" viewB
705ox="0 0 23 23"><use xlink:href="#banner-short-icon"></use></svg>
706                                        <span class="op-text">Video</span>
707                                    </div>
708                                </div>
709                            </div>
710                            
711                            <input type="text" class="banner-prompt-desc" placeholder="Paste your script. Get a multi-scene video with consistent characters." />
712                            
713                            <a class="banner-try-btn ga-banner-tryFree-btn" href="/app/ai-creative-explorer/">
714                                <div class="btn-sparkle banner-btn-sparkle">
715                                    <span style="--width: 2; --deg: 20;  --duration: 6"  class="btn-sparkle-item"></span>
716                                    <span style="--width: 1; --deg: 75;  --duration: 10" class="btn-sparkle-item"></span>
717                                    <span style="--width: 2; --deg: 135; --duration: 7"  class="btn-sparkle-item"></span>
718                                    <span style="--width: 1; --deg: 200; --duration: 12" class="btn-sparkle-item"></span>
719                                    <span style="--width: 2; --deg: 260; --duration: 5"  class="btn-sparkle-item"></span>
720                                    <span style="--width: 1; --deg: 315; --duration: 9"  class="btn-sparkle-item"></span>
721                                    <span style="--width: 2; --deg: 45;  --duration: 8"  class="btn-sparkle-item"></span>
722                                    <span style="--width: 1; --deg: 290; --duration: 11" class="btn-sparkle-item"></span>
723                                    <svg class="btn-svg">
724                                        <use xlink:href="#xin-icon"></use>
725                                    </svg>
726                                </div>
727                                <span>Try Online</span>
728                            </a>
729                        </div>
730                        <div class="banner-tags-wrapper">
731                            <!-- <span class="banner-tags-fire">🔥</span> -->
732                            <div class="banner-tags-list" id="bannerTagsList">
733                                <div class="banner-tag-item" data-prompt="Two souls reconnect after years apart, but secrets threaten their second chance">
734                                    <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2C12 7.5 16.5 12 22 12C16.5 12 12 16.5 12 22C12 16.5 7.5 12 2 12C7.5 12 12 7.5 12 2Z"></path></svg> Romance Drama
735                                </div>
736                                <div class="banner-tag-item" data-prompt="Rival chefs forced to co-host a cooking show discover unexpected chemistry">
737                                    <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2C12 7.5 16.5 12 22 12C16.5 12 12 16.5 12 22C12 16.5 7.5 12 2 12C7.5 12 12 7.5 12 2Z"></path></svg> Story Video
738                                </div>
739                                <div class="banner-tag-item" data-prompt="A time traveler must stop their past self from preventing humanity's future">
740                                    <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2C12 7.5 16.5 12 22 12C16.5 12 12 16.5 12 22C12 16.5 7.5 12 2 12C7.5 12 12 7.5 12 2Z"></path></svg> Sci-Fi Film
741                                </div>
742                            </div>
743                        </div>
744                    </div>
745                </div>
746            </section>
747
748            <!-- 第二屏 -->
749            <section class="models">
750                <div class="createai-box">
751                    <div class="models-scroll models-scroll-left">
752                        <div class="models-list">
753                            <a class="models-litem" href="/ai-tools/seedream-ai-image-generator/">
754                                <div class="models-item-top">
755                                    <img src="https://images.noviai.ai/noviaien/assets/product/index/models_icon1.svg" class="models-item-img" alt="Seedream">
756                                    <span class="models-item-title">Seedream</span>
757                                </div>
758                            </a>
759                            <a class="models-litem" href="/ai-tools/pixverse-ai-video-generator/">
760                                <div class="models-item-top">
761                                    <img src="https://images.noviai.ai/noviaien/assets/product/index/models_icon2.svg" class="models-item-img" alt="PixVerse">
762                                    <span class="models-item-title">PixVerse</span>
763                                </div>
764                            </a>
765                            <a class="models-litem" href="/ai-tools/wan-ai-video-generator/">
766                                <div class="models-item-top">
767                                    <img src="https://images.noviai.ai/noviaien/assets/product/index/models_icon3.svg" class="models-item-img" alt="Wan2.6">
768                                    <span class="models-item-title">Wan 2.6</span>
769                                </div>
770                            </a>
771                            <a class="models-litem" href="/ai-tools/veo-ai-video-generator/">
772                                <div class="models-item-top">
773                                    <img src="https://images.noviai.ai/noviaien/assets/product/index/models_icon4.svg" class="models-item-img" alt="Veo 3.1">
774                                    <span class="models-item-title">Veo 3.1</span>
775                                </div>
776                            </a>
777                            <a class="models-litem" href="/ai-tools/jimeng-ai/">
778                                <div class="models-item-top">
779                                    <img src="https://images.noviai.ai/noviaien/assets/product/index/models_icon5.svg" class="models-item-img" alt="Jimeng V3">
780                                    <span class="models-item-title">Jimeng V3</span>
781                                </div>
782                            </a>
783                            <a class="models-litem" href="/ai-tools/seedance-ai-video-generator/">
784                                <div class="models-item-top">
785                                    <img src="https://images.noviai.ai/noviaien/assets/product/index/models_icon1.svg" class="models-item-img" alt="Seedance 2.0">
786                                    <span class="models-item-title">Seedance 2.0</span>
787                                </div>
788                            </a>
789                            <a class="models-litem" href="/ai-tools/nano-banana-ai-image-generator/">
790                                <div class="models-item-top">
791                                    <img src="https://images.noviai.ai/noviaien/assets/product/index/models_icon7.png" class="models-item-img" alt="Nano Banana Pro">
792                                    <span class="models-item-title">Nano Banana</span>
793                                </div>
794                            </a>
795                            <a class="models-litem" href="/ai-tools/sora-ai-video-generator/">
796                                <div class="models-item-top">
797                                    <img src="https://images.noviai.ai/noviaien/assets/product/index/models_icon8.svg" class="models-item-img" alt="Sora 2">
798                                    <span class="models-item-title">Sora 2</span>
799                                </div>
800                            </a>
801                            <a class="models-litem" href="/ai-tools/hailuo-ai-video-generator/">
802                                <div class="models-item-top">
803                                    <img src="https://images.noviai.ai/noviaien/assets/product/index/models_icon9.svg" class="models-item-img" alt="Hailuo AI">
804                                    <span class="models-item-title">Hailuo AI</span>
805                                </div>
806                            </a>
807                            <a class="models-litem" href="/ai-tools/vidu-ai-video-generator/">
808                                <div class="models-item-top">
809                                    <img src="https://images.noviai.ai/noviaien/assets/product/index/models_icon10.svg" class="models-item-img" alt="Vidu">
810                                    <span class="models-item-title">Vidu</span>
811                                </div>
812                            </a>
813                            <a class="models-litem" href="/ai-tools/kling-ai-video-generator/">
814                                <div class="models-item-top">
815                                    <img src="https://images.noviai.ai/noviaien/assets/product/index/models_icon11.svg" class="models-item-img" alt="KlingAI">
816                                    <span class="models-item-title">KlingAI</span>
817                                </div>
818                            </a>
819                            <a class="models-litem" href="/ai-tools/runway-ai-video-generator/">
820                                <div class="models-item-top">
821                                    <img src="https://images.noviai.ai/noviaien/assets/product/index/models_icon12.svg" class="models-item-img" alt="Runway">
822                                    <span class="models-item-title">Runway</span>
823                                </div>
824                            </a>
825                        </div>
826                    </div>
827                </div>
828            </section>
829
830            <!-- 第三屏 -->
831            <section class="video-list">
832                <div class="video-list-box">
833                    <h2 class="index-title video-list-title">What Story Will You Tell?</h2>
834                    <div class="video-list-scroll">
835                        <div class="video-film-track">
836                            <div  class="video-film-item">
837                                <video class="video-film-video" muted loop playsinline webkit-playsinline preload="none"
838                                    poster="https://images.noviai.ai/noviaien/assets/product/index/film-item-poster-01.png?x-oss-process=image/resize,w_275/quality,q_90/format,webp">
839                                    <source data-src="https://images.noviai.ai/noviaien/assets/product/index/film-item-01.mp4" type="video/mp4">
840                                </video>
841                                <div class="video-film-label">Cyberpunk Video</div>
842                                <div class="video-film-overlay">
843                                    <a href="/app/ai-creative-explorer/" class="video-film-btn">Create Story Videos in Your Style</a>
844                                </div>
845                            </div>
846                            <div class="video-film-item">
847                                <video class="video-film-video" muted loop playsinline webkit-playsinline preload="none"
848                                    poster="https://images.noviai.ai/noviaien/assets/product/index/film-item-poster-02.png?x-oss-process=image/resize,w_275/quality,q_90/format,webp">
849                                    <source data-src="https://images.noviai.ai/noviaien/assets/product/index/film-item-02.mp4" type="video/mp4">
850                                </video>
851                                <div class="video-film-label">Book Trailer Video</div>
852                                <div class="video-film-overlay">
853                                    <a href="/app/ai-creative-explorer/" class="video-film-btn">Create Story Videos in Your Style</a>
854                                </div>
855                            </div>
856                            <div class="video-film-item">
857                                <video class="video-film-video" muted loop playsinline webkit-playsinline preload="none"
858                                    poster="https://images.noviai.ai/noviaien/assets/product/index/film-item-poster-03.jpg?x-oss-process=image/resize,w_275/quality,q_90/format,webp">
859                                    <source data-src="https://images.noviai.ai/noviaien/assets/product/index/film-item-03.mp4" type="video/mp4">
860                                </video>
861                                <div class="video-film-label">Animation Video</div>
862                                <div class="video-film-overlay">
863                                    <a href="/app/ai-creative-explorer/" class="video-film-btn">Create Story Videos in Your Style</a>
864                                </div>
865                            </div>
866                            <div class="video-film-item">
867                                <video class="video-film-video" muted loop playsinline webkit-playsinline preload="none"
868                                    poster="https://images.noviai.ai/noviaien/assets/product/index/film-item-poster-04.png?x-oss-process=image/resize,w_275/quality,q_90/format,webp">
869                                    <source data-src="https://images.noviai.ai/noviaien/assets/product/index/film-item-04.mp4" type="video/mp4">
870                                </video>
871                                <div class="video-film-label">Cat Story Video</div>
872                                <div class="video-film-overlay">
873                                    <a href="/app/ai-creative-explorer/" class="video-film-btn">Create Story Videos in Your Style</a>
874                                </div>
875                            </div>
876                            <div class="video-film-item">
877                                <video class="video-film-video" muted loop playsinline webkit-playsinline preload="none"
878                                    poster="https://images.noviai.ai/noviaien/assets/product/index/film-item-poster-06.png?x-oss-process=image/resize,w_275/quality,q_90/format,webp">
879                                    <source data-src="https://images.noviai.ai/noviaien/assets/product/index/film-item-05.mp4" type="video/mp4">
880                                </video>
881                                <div class="video-film-label">Visual Story Video</div>
882                                <div class="video-film-overlay">
883                                    <a href="/app/ai-creative-explorer/" class="video-film-btn">Create Story Videos in Your Style</a>
884                                </div>
885                            </div>
886                            <div class="video-film-item">
887                                <video class="video-film-video" muted loop playsinline webkit-playsinline preload="none"
888                                    poster="https://images.noviai.ai/noviaien/assets/product/index/film-item-poster-05.png?x-oss-process=image/resize,w_275/quality,q_90/format,webp">
889                                    <source data-src="https://images.noviai.ai/noviaien/assets/product/index/film-item-06.mp4" type="video/mp4">
890                                </video>
891                                <div class="video-film-label">Explainer Video</div>
892                                <div class="video-film-overlay">
893                                    <a href="/app/ai-creative-explorer/" class="video-film-btn">Create Story Videos in Your Style</a>
894                                </div>
895                            </div>
896                        </div>
897                    </div>
898                </div>
899            </section>
900
901            <!-- 第四屏 -->
902            <section class="workflow">
903                <div class="workflow-sticky-wrap">
904                    <div class="workflow-box index-maxwidth">
905                    <h2 class="index-title">Full Script to Complete Video Workflow</h2>
906                    <div class="workflow-content">
907                        <div class="workflow-left">
908                            <div class="workflow-card active">
909                                <h3 class="workflow-title">Paste a Story or Full Script</h3>
910                                <p class="workflow-desc">Paste your written content, transform into multi-scene story videos instantly.</p>
911                            </div>
912                            <div class="workflow-card">
913                                <h3 class="workflow-title">Cinematic Motion with Auto Storyboard</h3>
914                                <p class="workflow-desc">Bring your content to life with creative, natural, and consistent motion. Everything feels vivid and real.</p>
915                            </div>
916                            <div class="workflow-card">
917                                <h3 class="workflow-title">Preview & Refine Shots</h3>
918                                <p class="workflow-desc">Review shots, adjust directions, swap models, and fine-tune characters.</p>
919                            </div>
920                            <div class="workflow-card">
921                                <h3 class="workflow-title">Export & Share Your Video</h3>
922                                <p class="workflow-desc">Download your finished video with embedded subtitles ready to share.</p>
923                            </div>
924                            <a class="main-btn workflow-try-btn ga-workflow-try-click" href="/app/ai-creative-explorer/">
925                                <div class="btn-sparkle">
926                                    <span style="--width: 2; --deg: 20;  --duration: 6"  class="btn-sparkle-item"></span>
927                                    <span style="--width: 1; --deg: 75;  --duration: 10" class="btn-sparkle-item"></span>
928                                    <span style="--width: 2; --deg: 135; --duration: 7"  class="btn-sparkle-item"></span>
929                                    <span style="--width: 1; --deg: 200; --duration: 12" class="btn-sparkle-item"></span>
930                                    <span style="--width: 2; --deg: 260; --duration: 5"  class="btn-sparkle-item"></span>
931                                    <span style="--width: 1; --deg: 315; --duration: 9"  class="btn-sparkle-item"></span>
932                                    <span style="--width: 2; --deg: 45;  --duration: 8"  class="btn-sparkle-item"></span>
933                                    <span style="--width: 1; --deg: 290; --duration: 11" class="btn-sparkle-item"></span>
934                                    <svg class="btn-svg">
935                                        <use xlink:href="#xin-icon"></use>
936                                    </svg>
937                                </div>
938                                <span class="btn-txt">Try for Free</span>
939                            </a>
940                        </div>
941                        <div class="workflow-right">
942                            <div class="workflow-img-box">
943                                <div class="workflow-img-track">
944                                    <img src="https://images.noviai.ai/noviaien/assets/product/index/workflow-1.png?x-oss-process=image/resize,w_1130/quality,q_90/format,webp&v=2" class="workflow-img active" alt="Paste a Story or Full Script">
945                                    <img src="https://images.noviai.ai/noviaien/assets/product/index/workflow-2.png?x-oss-process=image/resize,w_1130/quality,q_90/format,webp&v=2" class="workflow-img" alt="Auto Generate Scenes with Voiceover">
946                                    <img src="https://images.noviai.ai/noviaien/assets/product/index/workflow-3.png?x-oss-process=image/resize,w_1130/quality,q_90/format,webp&v=2" class="workflow-img" alt="Preview Shots & Storyboards">
947                                    <img src="https://images.noviai.ai/noviaien/assets/product/index/workflow-4.png?x-oss-process=image/resize,w_1130/quality,q_90/format,webp&v=2" class="workflow-img" alt="Export Video with Subtitles">
948                                </div>
949                            </div>
950                            <div class="workflow-dots">
951                                <span class="dot active"></span>
952                                <span class="dot"></span>
953                                <span class="dot"></span>
954                                <span class="dot"></span>
955                            </div>
956                        </div>
957                    </div>
958                </div>
959                </div>
960            </section>
961
962            <!-- 第五屏 -->
963            <section class="createai-1">
964                <div class="createai-box-1 index-maxwidth">
965                    <h2 class="index-title index-title-white">What You Can Create With AI Video Maker</h2>
966
967                    <div class="createai-content-1">
968                        <div class="createai-card-1">
969                            <div class="createai-cleft-1">
970                                <div>
971                                    <h3 class="createai-ctitle-1">Your Characters, Perfectly Consistent</h3>
972                                    <p class="createai-cdesc-1">Novi remembers every detail—faces, outfits, expressions or the styles—across your entire story. No more mismatched frames. Your world stays whole, scene after scene.</p>
973                                </div>
974                                <a class="createai-1-try-btn ga-createai-try-btn" href="/app/ai-creative-explorer/">
975                                    <span class="btn-txt">Try for Free</span>
976                                    <svg class="btn-arrow" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
977                                        <line x1="5" y1="12" x2="19" y2="12"></line>
978                                        <polyline points="12 5 19 12 12 19"></polyline>
979                                    </svg>
980                                </a>
981                            </div>
982                            <div class="createai-cright-1">
983                                <img src="https://images.noviai.ai/noviaien/assets/product/index/capability-banner-1.png?x-oss-process=image/resize,w_577/quality,q_90/format,webp" alt="Your Characters, Perfectly Consistent">
984                            </div>
985                        </div>
986                        <div class="createai-card-1">
987                            <div class="createai-cleft-1">
988                                <div>
989                                    <h3 class="createai-ctitle-1">One Click Script to Video, Naturally Spoken</h3>
990                                    <p class="createai-cdesc-1">Just paste your script or describe your vision—our AI handles the rest. No complex prompts, no editing software. Your story becomes a guided video creation journey.</p>
991                                </div>
992                                <a class="createai-1-try-btn ga-createai-try-btn" href="/app/ai-creative-explorer/">
993                                    <span class="btn-txt">Try for Free</span>
994                                    <svg class="btn-arrow" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
995                                        <line x1="5" y1="12" x2="19" y2="12"></line>
996                                        <polyline points="12 5 19 12 12 19"></polyline>
997                                    </svg>
998                                </a>
999                            </div>
1000                            <div class="createai-cright-1">
1001                                <img src="https://images.noviai.ai/noviaien/assets/product/index/capability-banner-2.png?x-oss-process=image/resize,w_577/quality,q_90/format,webp" alt="One Click Script to Video, Naturally Spoken">
1002                            </div>
1003                        </div>
1004                        <div class="createai-card-1">
1005                            <div class="createai-cleft-1">
1006                                <div>
1007                                    <h3 class="createai-ctitle-1">One Timeline, Everything Synced</h3>
1008                                    <p class="createai-cdesc-1">From storyboard to final video—voiceovers, music, subtitles—all sync automatically. Choose your style (Ghibli, Pixar, Anime), and Novi applies it seamlessly.</p>
1009                                </div>
1010                                <a class="createai-1-try-btn ga-createai-try-btn" href="/app/ai-creative-explorer/">
1011                                    <span class="btn-txt">Try for Free</span>
1012                                    <svg class="btn-arrow" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
1013                                        <line x1="5" y1="12" x2="19" y2="12"></line>
1014                                        <polyline points="12 5 19 12 12 19"></polyline>
1015                                    </svg>
1016                                </a>
1017                            </div>
1018                            <div class="createai-cright-1">
1019                                <img src="https://images.noviai.ai/noviaien/assets/product/index/capability-banner-3.png?x-oss-process=image/resize,w_577/quality,q_90/format,webp" alt="One Timeline, Everything Synced">
1020                            </div>
1021                        </div>
1022                        <div class="createai-card-1">
1023                            <div class="createai-cleft-1">
1024                                <div>
1025                                    <h3 class="createai-ctitle-1">One Story, Multi Languages Instantly</h3>
1026                                    <p class="createai-cdesc-1">
1026No language barriers, generate localized versions with native voiceovers and synced subtitles. Perfect for educators and storytellers reaching global audiences.</p>
1027                                </div>
1028                                <a class="createai-1-try-btn ga-createai-try-btn" href="/app/ai-creative-explorer/">
1029                                    <span class="btn-txt">Try for Free</span>
1030                                    <svg class="btn-arrow" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
1031                                        <line x1="5" y1="12" x2="19" y2="12"></line>
1032                                        <polyline points="12 5 19 12 12 19"></polyline>
1033                                    </svg>
1034                                </a>
1035                            </div>
1036                            <div class="createai-cright-1">
1037                                <img src="https://images.noviai.ai/noviaien/assets/product/index/capability-banner-4.png?x-oss-process=image/resize,w_577/quality,q_90/format,webp" alt="One Story, Multi Languages Instantly">
1038                            </div>
1039                        </div>
1040                    </div>
1041                </div>
1042            </section>
1043
1044            <!-- 第六屏 -->
1045            <section class="trusted-reviews">
1046                <div class="tr-top index-maxwidth">
1047                    <div class="tr-top-left">
1048                        <h2 class="tr-title">Novi AI is Trusted by Millions<br>of Users and Top-Tier Media<br>Wordwide</h2>
1049                        <div class="tr-quote-mark">
1050                            <svg width="74" height="74"><use href="#quote-mask"></use></svg>
1051                        </div>
1052                        <div class="tr-carousel-list">
1053                            <div class="tr-carousel-item active">
1054                                <p class="tr-desc">Novi AI has integrated Seedance 2.0, giving creators direct access to advanced AI video generation with improved visual consistency, flexible formats, and a streamlined workflow for faster story-driven content creation.</p>
1055                                <a href="https://finance.yahoo.com/news/novi-ai-integrates-seedance-2-230000847.html" class="tr-link" target="_blank" rel="nofollow noopener noreferrer">Learn More &gt;</a>
1056                                <div class="tr-logo-placeholder">
1057                                    <img class="tr-logo" src="https://images.noviai.ai/noviaien/assets/product/index/reviews-yaho-icon.png" alt="Yahoo">
1058                                </div>
1059                            </div>
1060                            <div class="tr-carousel-item">
1061                                <p class="tr-desc">Novi AI has launched as an independent AI Creation Studio, integrating leading image and video models into one unified workflow to help creators and teams produce story videos, visuals, and multimodal content more efficiently.</p>
1062                                <a href="https://www.prweb.com/releases/novi-ai-launches-independent-ai-creation-studio-following-brand-upgrade-302681213.html" class="tr-link" target="_blank" rel="nofollow noopener noreferrer">Learn More &gt;</a>
1063                                <div class="tr-logo-placeholder">
1064                                    <img class="tr-logo" src="https://images.noviai.ai/noviaien/assets/product/index/reviews-cision-icon.png" alt="Cision">
1065                                </div>
1066                            </div>
1067                            <div class="tr-carousel-item">
1068                                <p class="tr-desc">Novi AI was featured on Product Hunt as an AI Story Video Creation Studio, helping creators turn script into long-form story videos with custom styles, character consistency, voiceovers, sound effects, and multilingual support across devices.</p>
1069                                <a href="https://www.producthunt.com/products/novi-ai" class="tr-link" target="_blank" rel="nofollow noopener noreferrer">Learn More &gt;</a>
1070                                <div class="tr-logo-placeholder">
1071                                    <img class="tr-logo" src="https://images.noviai.ai/noviaien/assets/product/index/reviews-hunt-icon.png" alt="Product Hunt">
1072                                </div>
1073                            </div>
1074                            <div class="tr-carousel-item">
1075                                <p class="tr-desc">AutoGPT highlighted Novi AI as a script-to-video AI platform for long-form animation, noting its storyboard-driven workflow that helps creators turn scripts into structured scenes while supporting pacing, visual continuity, and episodic storytelling.</p>
1076                                <a href="https://autogpt.net/2026s-animation-boom-create-long-form-stories-fast-with-story-to-video-ai/" class="tr-link" target="_blank" rel="nofollow noopener noreferrer">Learn More &gt;</a>
1077                                <div class="tr-logo-placeholder">
1078                                    <img class="tr-logo" src="https://images.noviai.ai/noviaien/assets/product/index/reviews-auto-icon.png" alt="AutoGPT">
1079                                </div>
1080                            </div>
1081                            <div class="tr-carousel-item">
1082                                <p class="tr-desc">Novi AI is listed as an AI story video generator for creating videos from script, text and images, with support for multiple styles, languages, voiceovers, aspect ratios, and advanced models across Web, Android, iOS and PC.</p>
1083                                <a href="https://autogpt.net/2026s-animation-boom-create-long-form-stories-fast-with-story-to-video-ai/" class="tr-link" target="_blank" rel="nofollow noopener noreferrer">Learn More &gt;</a>
1084                                <div class="tr-logo-placeholder">
1085                                    <img class="tr-logo" src="https://images.noviai.ai/noviaien/assets/product/index/reviews-toolify-icon.png" alt="Toolify">
1086                                </div>
1087                            </div>
1088                            <div class="tr-carousel-item">
1089                                <p class="tr-desc">A Medium creator review described Novi AI as a straightforward story-first video generator, highlighting its storyboard preview, editable scenes, voiceovers, timeline editor, and suitability for narrative, educational, and explainer videos.</p>
1090                                <a href="https://medium.com/write-a-catalyst/is-this-the-best-ai-video-generator-for-storytellers-e8d12a397a4f" class="tr-link" target="_blank" rel="nofollow noopener noreferrer">Learn More &gt;</a>
1091                                <div class="tr-logo-placeholder">
1092                                    <img class="tr-logo" src="https://images.noviai.ai/noviaien/assets/product/index/reviews-medium-icon.png" alt="Medium">
1093                                </div>
1094                            </div>
1095                        </div>
1096                        
1097                        <div class="tr-bottom-controls">
1098                            <div class="tr-progress"></div>
1099                                <div class="tr-arrows">
1100                                    <div class="tr-arrow-btn tr-prev">
1101                                        <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
1102                                            <line x1="19" y1="12" x2="5" y2="12"></line>
1103                                            <polyline points="12 19 5 12 12 5"></polyline>
1104                                        </svg>
1105                                    </div>
1106                                    <div class="tr-arrow-btn tr-next">
1107                                        <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
1108                                            <line x1="5" y1="12" x2="19" y2="12"></line>
1109                                            <polyline points="12 5 19 12 12 19"></polyline>
1110                                        </svg>
1111                                    </div>
1112                                </div>
1113                        </div>
1114                    </div>
1115                    <div class="tr-top-right">
1116                        <img src="https://images.noviai.ai/noviaien/assets/product/index/trusted-banner.png?x-oss-process=image/resize,w_684/quality,q_90/format,webp" alt="Trusted by users">
1117                    </div>
1118                </div>
1119
1120                <div class="tr-divider index-maxwidth">
1121                    <div class="tr-d-line"></div>
1122                    <div class="tr-d-text">Trusted by <strong>120,000+</strong> users worldwide</div>
1123                    <div class="tr-d-line"></div>
1124                </div>
1125                <div class="tr-subtitle index-maxwidth">Leaving reviews and sharing their creative experiences.</div>
1126
1127                <div class="tr-cards index-maxwidth">
1128                    <div class="tr-card active">
1129                        <img class="tr-card-img" src="https://images.noviai.ai/noviaien/assets/product/index/worldwide-banner-1.png?x-oss-process=image/resize,w_678/quality,q_90/format,webp" alt="User 1">
1130                        <div class="tr-card-overlay">
1131                            <p class="tr-card-quote">Tried Novi AI's Nano Banana for quick image variations, then turned them into video with Kling. The workflow is fast, and Kling gives me motion that looks good without a ton of tweaking. Great combo when I need something done the same day.</p>
1132                            <div class="tr-card-footer">
1133                                <span class="tr-card-name">Liam Chen</span>
1134                                <div class="tr-card-stars"><span>★</span><span>★</span><span>★</span><span>★</span><span>★</span></div>
1135                            </div>
1136                        </div>
1137                    </div>
1138                    <div class="tr-card">
1139                        <img class="tr-card-img" src="https://images.noviai.ai/noviaien/assets/product/index/worldwide-banner-2.png?x-oss-process=image/resize,w_678/quality,q_90/format,webp" alt="User 2">
1140                        <div class="tr-card-overlay">
1141                            <p class="tr-card-quote">Placeholder review for user 2. This is an amazing tool for video creation.</p>
1142                            <div class="tr-card-footer">
1143                                <span class="tr-card-name">Emma Watson</span>
1144                                <div class="tr-card-stars"><span>★</span><span>★</span><span>★</span><span>★</span><span>★</span></div>
1145                            </div>
1146                        </div>
1147                    </div>
1148                    <div class="tr-card">
1149                        <img class="tr-card-img" src="https://images.noviai.ai/noviaien/assets/product/index/worldwide-banner-3.png?x-oss-process=image/resize,w_678/quality,q_90/format,webp" alt="User 3">
1150                        <div class="tr-card-overlay">
1151                            <p class="tr-card-quote">Placeholder review for user 3. Totally transformed my content workflow.</p>
1152                            <div class="tr-card-footer">
1153                                <span class="tr-card-name">John Doe</span>
1154                                <div class="tr-card-stars"><span>★</span><span>★</span><span>★</span><span>★</span><span>★</span></div>
1155                            </div>
1156                        </div>
1157                    </div>
1158                    <div class="tr-card">
1159                        <img class="tr-card-img" src="https://images.noviai.ai/noviaien/assets/product/index/worldwide-banner-4.png?x-oss-process=image/resize,w_678/quality,q_90/format,webp" alt="User 4">
1160                        <div class="tr-card-overlay">
1161                            <p class="tr-card-quote">Placeholder review for user 4. Best AI video generator I have ever used.</p>
1162                            <div class="tr-card-footer">
1163                                <span class="tr-card-name">Jane Smith</span>
1164                                <div class="tr-card-stars"><span>★</span><span>★</span><span>★</span><span>★</span><span>★</span></div>
1165                            </div>
1166                        </div>
1167                    </div>
1168                </div>
1169            </section>
1170
1171            <!-- 第七屏 -->
1172            <section class="createai">
1173                <div class="createai-box index-maxwidth">
1174                    <h2 class="index-title">Create Story Videos, Clips, and Visuals That Get Attention</h2>
1175
1176                    <div class="createai-content">
1177                        <div class="createai-card createai-cardbg1">
1178                            <div class="createai-cleft">
1179                                <h3 class="createai-ctitle">AI Image to Video</h3>
1180                                <p class="createai-cdesc">Bring your photos or illustrations to life with smooth, consistent motion. Turn any image into a scene that feels vivid, real, and ready to share.</p>
1181                                <a class="main-btn ga-createai-try-btn" href="/app/ai-creative-explorer/">
1182                                    <div class="btn-sparkle">
1183                                        <span style="--width: 2; --deg: 20;  --duration: 6"  class="btn-sparkle-item"></span>
1184                                        <span style="--width: 1; --deg: 75;  --duration: 10" class="btn-sparkle-item"></span>
1185                                        <span style="--width: 2; --deg: 135; --duration: 7"  class="btn-sparkle-item"></span>
1186                                        <span style="--width: 1; --deg: 200; --duration: 12" class="btn-sparkle-item"></span>
1187                                        <span style="--width: 2; --deg: 260; --duration: 5"  class="btn-sparkle-item"></span>
1188                                        <span style="--width: 1; --deg: 315; --duration: 9"  class="btn-sparkle-item"></span>
1189                                        <span style="--width: 2; --deg: 45;  --duration: 8"  class="btn-sparkle-item"></span>
1190                                        <span style="--width: 1; --deg: 290; --duration: 11" class="btn-sparkle-item"></span>
1191                                        <svg class="btn-svg">
1192                                            <use xlink:href="#xin-icon"></use>
1193                                        </svg>
1194                                    </div>
1195                                    <span class="btn-txt">Try for Free</span>
1196                                </a>
1197                            </div>
1198                            <div class="createai-cright">
1199                                <video class="createai-video" muted loop playsinline webkit-playsinline preload="none">
1200                                    <source data-src="https://images.noviai.ai/noviaien/assets/product/index/createai_video1.mp4" type="video/mp4">
1201                                </video>
1202                            </div>
1203                        </div>
1204                        <div class="createai-card createai-cardbg2">
1205                            <div class="createai-cleft">
1206                                <h3 class="createai-ctitle">AI Text to Video</h3>
1207                                <p class="createai-cdesc">Turn your ideas into videos in seconds. Type your concept or script line, and Novi AI turns it into a clear, ready-to-use clip — no editing skills needed.</p>
1208                                <a class="main-btn ga-createai-try-btn" href="/app/ai-creative-explorer/">
1209                                    <div class="btn-sparkle">
1210                                        <span style="--width: 2; --deg: 20;  --duration: 6"  class="btn-sparkle-item"></span>
1211                                        <span style="--width: 1; --deg: 75;  --duration: 10" class="btn-sparkle-item"></span>
1212                                        <span style="--width: 2; --deg: 135; --duration: 7"  class="btn-sparkle-item"></span>
1213                                        <span style="--width: 1; --deg: 200; --duration: 12" class="btn-sparkle-item"></span>
1214                                        <span style="--width: 2; --deg: 260; --duration: 5"  class="btn-sparkle-item"></span>
1215                                        <span style="--width: 1; --deg: 315; --duration: 9"  class="btn-sparkle-item"></span>
1216                                        <span style="--width: 2; --deg: 45;  --duration: 8"  class="btn-sparkle-item"></span>
1217                                        <span style="--width: 1; --deg: 290; --duration: 11" class="btn-sparkle-item"></span>
1218                                        <svg class="btn-svg">
1219                                            <use xlink:href="#xin-icon"></use>
1220                                        </svg>
1221                                    </div>
1222                                    <span class="btn-txt">Try for Free</span>
1223                                </a>
1224                            </div>
1225                            <div class="createai-cright">
1226                                <video class="createai-video" muted loop playsinline webkit-playsinline preload="none">
1227                                    <source data-src="https://images.noviai.ai/noviaien/assets/product/index/createai_video2.mp4" type="video/mp4">
1228                                </video>
1229                            </div>
1230                        </div>
1231                        <div class="createai-card createai-cardbg1">
1232                            <div class="createai-cleft">
1233                                <h3 class="createai-ctitle">AI Story to Video</h3>
1234                                <p class="createai-cdesc">Turn your story into a cinematic journey. Watch your words become multi-scene videos filled with emotion, motion, and depth — ready to publish.</p>
1235                                <a class="main-btn ga-createai-try-btn" href="/app/ai-story-to-video/">
1236                                    <div class="btn-sparkle">
1237                                        <span style="--width: 2; --deg: 20;  --duration: 6"  class="btn-sparkle-item"></span>
1238                                        <span style="--width: 1; --deg: 75;  --duration: 10" class="btn-sparkle-item"></span>
1239                                        <span style="--width: 2; --deg: 135; --duration: 7"  class="btn-sparkle-item"></span>
1240                                        <span style="--width: 1; --deg: 200; --duration: 12" class="btn-sparkle-item"></span>
1241                                        <span style="--width: 2; --deg: 260; --duration: 5"  class="btn-sparkle-item"></span>
1242                                        <span style="--width: 1; --deg: 315; --duration: 9"  class="btn-sparkle-item"></span>
1243                                        <span style="--width: 2; --deg: 45;  --duration: 8"  class="btn-sparkle-item"></span>
1244                                        <span style="--width: 1; --deg: 290; --duration: 11" class="btn-sparkle-item"></span>
1245                                        <svg class="btn-svg">
1246                                            <use xlink:href="#xin-icon"></use>
1247                                        </svg>
1248                                    </div>
1249                                    <span class="btn-txt">Try for Free</span>
1250                                </a>
1251                            </div>
1252                            <div class="createai-cright">
1253                                <video class="createai-video" muted loop playsinline webkit-playsinline preload="none">
1254                                    <source data-src="https://images.noviai.ai/noviaien/assets/product/index/createai_video3.mp4" type="video/mp4">
1255                                </video>
1256                            </div>
1257                        </div>
1258                        <div class="createai-card createai-cardbg2">
1259                            <div class="createai-cleft">
1260                                <h3 class="createai-ctitle">AI Image to Image</h3>
1261                                <p class="createai-cdesc">Upload a picture and explore new styles or looks. Novi AI keeps the original structure while refreshing the mood and details — ideal for maintaining consistency across scenes.</p>
1262                                <a class="main-btn ga-createai-try-btn" href="/app/ai-image-generator/">
1263                                    <div class="btn-sparkle">
1264                                        <span style="--width: 2; --deg: 20;  --duration: 6"  class="btn-sparkle-item"></span>
1265                                        <span style="--width: 1; --deg: 75;  --duration: 10" class="btn-sparkle-item"></span>
1266                                        <span style="--width: 2; --deg: 135; --duration: 7"  class="btn-sparkle-item"></span>
1267                                        <span style="--width: 1; --deg: 200; --duration: 12" class="btn-sparkle-item"></span>
1268                                        <span style="--width: 2; --deg: 260; --duration: 5"  class="btn-sparkle-item"></span>
1269                                        <span style="--width: 1; --deg: 315; --duration: 9"  class="btn-sparkle-item"></span>
1270                                        <span style="--width: 2; --deg: 45;  --duration: 8"  class="btn-sparkle-item"></span>
1271                                        <span style="--width: 1; --deg: 290; --duration: 11" class="btn-sparkle-item"></span>
1272                                        <svg class="btn-svg">
1273                                            <use xlink:href="#xin-icon"></use>
1274                                        </svg>
1275                                    </div>
1276                                    <span class="btn-txt">Try for Free</span>
1277                                </a>
1278                            </div>
1279                            <div class="createai-cright">
1280                                <video class="createai-video" muted loop playsinline webkit-playsinline preload="none">
1281                                    <source data-src="https://images.noviai.ai/noviaien/assets/product/index/createai_video4.mp4" type="video/mp4">
1282                                </video>
1283                            </div>
1284                        </div>
1285                        <div class="createai-card createai-cardbg1">
1286                            <div class="createai-cleft">
1287                                <h3 class="createai-ctitle">AI Text to Image</h3>
1288                                <p class="createai-cdesc">Describe your scene or character and get a high-quality image instantly. Fast and consistent — great for storyboards, scene concepts, or social visuals.</p>
1289                                <a class="main-btn ga-createai-try-btn" href="/app/ai-image-generator/">
1290                                    <div class="btn-sparkle">
1291                                        <span style="--width: 2; --deg: 20;  --duration: 6"  class="btn-sparkle-item"></span>
1292                                        <span style="--width: 1; --deg: 75;  --duration: 10" class="btn-sparkle-item"></span>
1293                                        <span style="--width: 2; --deg: 135; --duration: 7"  class="btn-sparkle-item"></span>
1294                                        <span style="--width: 1; --deg: 200; --duration: 12" class="btn-sparkle-item"></span>
1295                                        <span style="--width: 2; --deg: 260; --duration: 5"  class="btn-sparkle-item"></span>
1296                                        <span style="--width: 1; --deg: 315; --duration: 9"  class="btn-sparkle-item"></span>
1297                                        <span style="--width: 2; --deg: 45;  --duration: 8"  class="btn-sparkle-item"></span>
1298                                        <span style="--width: 1; --deg: 290; --duration: 11" class="btn-sparkle-item"></span>
1299                                        <svg class="btn-svg">
1300                                            <use xlink:href="#xin-icon"></use>
1301                                        </svg>
1302                                    </div>
1303                                    <span class="btn-txt">Try for Free</span>
1304                                </a>
1305                            </div>
1306                            <div class="createai-cright">
1307                                <video class="createai-video" muted loop playsinline webkit-playsinline preload="none">
1308                                    <source data-src="https://images.noviai.ai/noviaien/assets/product/index/createai_video5.mp4" type="video/mp4">
1309                                </video>
1310                            </div>
1311                        </div>
1312                    </div>
1313                </div>
1314            </section>
1315
1316            <!-- 第八屏 -->
1317            <section class="explore">
1318                <div class="explore-box index-maxwidth">
1319                    <h2 class="index-title">AI Video Generator for Every Creator</h2>
1320                    <p class="index-desc">See how Novi AI supports real workflows—brainstorm ideas, refine content, and deliver faster across ads, marketing, product, and social.</p>
1321                    <div class="explore-list-scroll">
1322                        <div class="explore-list">
1323                            <h3 class="explore-l-item curr ga-explore-tab-click">
1324                                <span>Filmmakers</span>
1325                            </h3>
1326                            <h3 class="explore-l-item ga-explore-tab-click">
1327                                <span>Small Studios</span>
1328                            </h3>
1329                            <h3 class="explore-l-item ga-explore-tab-click">
1330                                <span>Authors &Novelists</span>
1331                            </h3>
1332                            <h3 class="explore-l-item ga-explore-tab-click">
1333                                <span>Content Creators</span>
1334                            </h3>
1335                            <h3 class="explore-l-item ga-explore-tab-click">
1336                                <span>Marketers</span>
1337                            </h3>
1338                        </div>
1339                    </div>
1340
1341                    <div class="explore-content">
1342                        <div class="swiper-container">
1343                            <div class="swiper-wrapper">
1344                                <div class="swiper-slide">
1345                                    <div class="explore-sw-box">
1346                                        <img class="explore-sw-left" src="https://images.noviai.ai/noviaien/assets/product/index/multi-creator-1.png?x-oss-process=image/resize,w_743/quality,q_90/format,webp" alt="Create Eye-Catching Social Content">
1347                                        <div class="explore-sw-right">
1348                                            <h3 class="explore-sw-title"> AI Teaching Videos & Educational Content</h3>
1349                                            <p class="explore-sw-desc">Create engaging lesson videos, explainer animations, and course content with AI voiceover. Perfect for online courses, YouTube EDU, and classroom materials.</p>
1350                                            <a class="main-btn" href="/app/ai-creative-explorer/">
1351                                                <div class="btn-sparkle">
1352                                                    <span style="--width: 2; --deg: 20;  --duration: 6"  class="btn-sparkle-item"></span>
1353                                                    <span style="--width: 1; --deg: 75;  --duration: 10" class="btn-sparkle-item"></span>
1354                                                    <span style="--width: 2; --deg: 135; --duration: 7"  class="btn-sparkle-item"></span>
1355                                                    <span style="--width: 1; --deg: 200; --duration: 12" class="btn-sparkle-item"></span>
1356                                                    <span style="--width: 2; --deg: 260; --duration: 5"  class="btn-sparkle-item"></span>
1357                                                    <span style="--width: 1; --deg: 315; --duration: 9"  class="btn-sparkle-item"></span>
1358                                                    <span style="--width: 2; --deg: 45;  --duration: 8"  class="btn-sparkle-item"></span>
1359                                                    <span style="--width: 1; --deg: 290; --duration: 11" class="btn-sparkle-item"></span>
1360                                                    <svg class="btn-svg">
1361                                                        <use xlink:href="#xin-icon"></use>
1362                                                    </svg>
1363                                                </div>
1364                                                <span class="btn-txt">Try for Free</span>
1365                                            </a>
1366                                        </div>
1367                                    </div>
1368                                </div>
1369                                
1370                                <div class="swiper-slide">
1371                                    <div class="explore-sw-box">
1372                                        <img class="explore-sw-left" src="https://images.noviai.ai/noviaien/assets/product/index/multi-creator-2.png?x-oss-process=image/resize,w_743/quality,q_90/format,webp" alt="Produce Professional Marketing Campaigns">
1373                                        <div class="explore-sw-right">
1374                                            <h3 class="explore-sw-title">AI Story Videos for YouTube & Social Media</h3>
1375                                            <p class="explore-sw-desc">Generate faceless videos, animated stories, and viral content. Turn scripts into videos for YouTube Shorts, TikTok, and Instagram in minutes.</p>
1376                                            <a class="main-btn" href="/app/ai-creative-explorer/">
1377                                                <div class="btn-sparkle">
1378                                                    <span style="--width: 2; --deg: 20;  --duration: 6"  class="btn-sparkle-item"></span>
1379                                                    <span style="--width: 1; --deg: 75;  --duration: 10" class="btn-sparkle-item"></span>
1380                                                    <span style="--width: 2; --deg: 135; --duration: 7"  class="btn-sparkle-item"></span>
1381                                                    <span style="--width: 1; --deg: 200; --duration: 12" class="btn-sparkle-item"></span>
1382                                                    <span style="--width: 2; --deg: 260; --duration: 5"  class="btn-sparkle-item"></span>
1383                                                    <span style="--width: 1; --deg: 315; --duration: 9"  class="btn-sparkle-item"></span>
1384                                                    <span style="--width: 2; --deg: 45;  --duration: 8"  class="btn-sparkle-item"></span>
1385                                                    <span style="--width: 1; --deg: 290; --duration: 11" class="btn-sparkle-item"></span>
1386                                                    <svg class="btn-svg">
1387                                                        <use xlink:href="#xin-icon"></use>
1388                                                    </svg>
1389                                                </div>
1390                                                <span class="btn-txt">Try for Free</span>
1391                                            </a>
1392                                        </div>
1393                                    </div>
1394                                </div>
1395
1396                                <div class="swiper-slide">
1397                                    <div class="explore-sw-box">
1398                                        <img class="explore-sw-left" src="https://images.noviai.ai/noviaien/assets/product/index/multi-creator-3.png?x-oss-process=image/resize,w_743/quality,q_90/format,webp" alt="Bring Your Stories to Life">
1399                                        <div class="explore-sw-right">
1400                                            <h3 class="explore-sw-title">AI Kids Story Videos with Narration</h3>
1401                                            <p class="explore-sw-desc">Bring children's books to life with AI animation and voice acting. Create bedtime stories, read-aloud videos, and educational kids content.</p>
1402                                            <a class="main-btn" href="/app/ai-creative-explorer/">
1403                                                <div class="btn-sparkle">
1404                                                    <span style="--width: 2; --deg: 20;  --duration: 6"  class="btn-sparkle-item"></span>
1405                                                    <span style="--width: 1; --deg: 75;  --duration: 10" class="btn-sparkle-item"></span>
1406                                                    <span style="--width: 2; --deg: 135; --duration: 7"  class="btn-sparkle-item"></span>
1407                                                    <span style="--width: 1; --deg: 200; --duration: 12" class="btn-sparkle-item"></span>
1408                                                    <span style="--width: 2; --deg: 260; --duration: 5"  class="btn-sparkle-item"></span>
1409                                                    <span style="--width: 1; --deg: 315; --duration: 9"  class="btn-sparkle-item"></span>
1410                                                    <span style="--width: 2; --deg: 45;  --duration: 8"  class="btn-sparkle-item"></span>
1411                                                    <span style="--width: 1; --deg: 290; --duration: 11" class="btn-sparkle-item"></span>
1412                                                    <svg class="btn-svg">
1413                                                        <use xlink:href="#xin-icon"></use>
1414                                                    </svg>
1415                                                </div>
1416                                                <span class="btn-txt">Try for Free</span>
1417                                            </a>
1418                                        </div>
1419                                    </div>
1420                                </div>
1421
1422                                <div class="swiper-slide">
1423                                    <div class="explore-sw-box">
1424                                        <img class="explore-sw-left" src="https://images.noviai.ai/noviaien/assets/product/index/multi-creator-4.png?x-oss-process=image/resize,w_743/quality,q_90/format,webp" alt="Showcase Products in Motion">
1425                                        <div class="explore-sw-right">
1426                                            <h3 class="explore-sw-title">Book Trailers & Story Animations</h3>
1427                                            <p class="explore-sw-desc">Transform your manuscript into visual book trailers, character animations, and promotional videos. Perfect for self-published authors and marketing.</p>
1428                                            <a class="main-btn" href="/app/ai-creative-explorer/">
1429                                                <div class="btn-sparkle">
1430                                                    <span style="--width: 2; --deg: 20;  --duration: 6"  class="btn-sparkle-item"></span>
1431                                                    <span style="--width: 1; --deg: 75;  --duration: 10" class="btn-sparkle-item"></span>
1432                                                    <span style="--width: 2; --deg: 135; --duration: 7"  class="btn-sparkle-item"></span>
1433                                                    <span style="--width: 1; --deg: 200; --duration: 12" class="btn-sparkle-item"></span>
1434                                                    <span style="--width: 2; --deg: 260; --duration: 5"  class="btn-sparkle-item"></span>
1435                                                    <span style="--width: 1; --deg: 315; --duration: 9"  class="btn-sparkle-item"></span>
1436                                                    <span style="--width: 2; --deg: 45;  --duration: 8"  class="btn-sparkle-item"></span>
1437                                                    <span style="--width: 1; --deg: 290; --duration: 11" class="btn-sparkle-item"></span>
1438                                                    <svg class="btn-svg">
1439                                                        <use xlink:href="#xin-icon"></use>
1440                                                    </svg>
1441                                                </div>
1442                                                <span class="btn-txt">Try for Free</span>
1443                                            </a>
1444                                        </div>
1445                                    </div>
1446                                </div>
1447
1448                                <div class="swiper-slide">
1449                                    <div class="explore-sw-box">
1450                                        <img class="explore-sw-left" src="https://images.noviai.ai/noviaien/assets/product/index/multi-creator-5.png?x-oss-process=image/resize,w_743/quality,q_90/format,webp" alt="Express Yourself with Playful AI">
1451                                        <div class="explore-sw-right">
1452                                            <h3 class="explore-sw-title">AI Marketing Story Videos from Text Scripts</h3>
1453                                            <p class="explore-sw-desc">Create product explainer videos, brand story videos, ad campaigns, and social media content from text. Generate professional marketing videos without a camera or crew.</p>
1454                                            <a class="main-btn" href="/app/ai-creative-explorer/">
1455                                                <div class="btn-sparkle">
1456                                                    <span style="--width: 2; --deg: 20;  --duration: 6"  class="btn-sparkle-item"></span>
1457                                                    <span style="--width: 1; --deg: 75;  --duration: 10" class="btn-sparkle-item"></span>
1458                                                    <span style="--width: 2; --deg: 135; --duration: 7"  class="btn-sparkle-item"></span>
1459                                                    <span style="--width: 1; --deg: 200; --duration: 12" class="btn-sparkle-item"></span>
1460                                                    <span style="--width: 2; --deg: 260; --duration: 5"  class="btn-sparkle-item"></span>
1461                                                    <span style="--width: 1; --deg: 315; --duration: 9"  class="btn-sparkle-item"></span>
1462                                                    <span style="--width: 2; --deg: 45;  --duration: 8"  class="btn-sparkle-item"></span>
1463                                                    <span style="--width: 1; --deg: 290; --duration: 11" class="btn-sparkle-item"></span>
1464                                                    <svg class="btn-svg">
1465                                                        <use xlink:href="#xin-icon"></use>
1466                                                    </svg>
1467                                                </div>
1468                                                <span class="btn-txt">Try for Free</span>
1469                                            </a>
1470                                        </div>
1471                                    </div>
1472                                </div>
1473                            </div>
1474                        </div>
1475                    </div>
1476                </div>
1477            </section>
1478
1479            <!-- 第九屏 -->
1480            <section class="pur-faqs">
1481                <div class="pur-faqs-box index-maxwidth">
1482                    <div class="index-title">Frequently Asked Questions</div>
1483                    <div class="pur-faqs-list">
1484                        <div class="pur-fl-item">
1485                            <div class="pur-fl-title">What is Novi AI?</div>
1486                            <p class="pur-fl-desc">Novi AI is an all-in-one AI story video creation studio. Go from a script, idea, to a photo, clip or a finished, publishable multi-scene video — with built-in styles, voices, and subtitles, all in one place.</p>
1487                        </div>
1488                        <div class="pur-fl-item">
1489                            <div class="pur-fl-title">Is Novi AI free to use?</div>
1490                            <p class="pur-fl-desc">Yes. Novi AI is free to start, and all new users receive credits after signing up to try key features. A paid plan is also available if you want more credits and additional benefits.</p>
1491                        </div>
1492                        <div class="pur-fl-item">
1493                            <div class="pur-fl-title">What kind of content can I create?</div>
1494                            <p class="pur-fl-desc">You can create story videos, social clips, animations, marketing ads, product showcases, comic adaptations, novel scenes, and more — all from a single workspace, in multiple styles and languages.</p>
1495                        </div>
1496                        <div class="pur-fl-item">
1497                            <div class="pur-fl-title">What AI models does Novi AI support?</div>
1498                            <p class="pur-fl-desc">Novi AI supports multiple top models for image, video, AI features, such as story to video feature, Seedance 2.0, GPT Image 2, Nano Bana Pro, Sora 2, Google Veo 3, etc. More models are continuously being added.</p>
1499                        </div>
1500                        <div class="pur-fl-item">
1501                            <div class="pur-fl-title">How long can Novi AI videos be?</div>
1502                            <p class="pur-fl-desc">Novi AI generates complete, stable story videos up to 5 minutes in a single run. We prioritize cinematic quality and natural motion over stretching length — so your story stays watchable from start to finish.</p>
1503                        </div>
1504                        <div class="pur-fl-item">
1505                            <div class="pur-fl-title">Can I create a series or multiple episodes?</div>
1506                            <p class="pur-fl-desc">Right now, Novi AI excels at creating complete single-episode story videos. Multi-episode and serialized features are on our roadmap — stay tuned for updates.</p>
1507                        </div>
1508                        <div class="pur-fl-item">
1509                            <div class="pur-fl-title">Does Novi AI support templates or inspiration materials?</div>
1510                            <p class="pur-fl-desc">Yes. The Inspirations hub offers ready-to-use creative templates for images, videos, and story ideas — so you can start creating in seconds without starting from scratch.</p>
1511                        </div>
1512                        <div class="pur-fl-item">
1513                            <div class="pur-fl-title">What makes Novi AI different from other AI video generators?</div>
1514                            <p class="pur-fl-desc">Novi AI focuses on complete story videos with natural, cinematic motion — not stiff slideshows or disconnected clips. We also give you access to 10+ top AI models, so you can choose the best engine for each part of your project instead of being locked into one.</p>
1515                        </div>
1516                    </div>
1517                </div>
1518            </section>
1519
1520            <!-- 第十屏 -->
1521<section class="guides">
1522    <div class="guides-box index-maxwidth">
1523        <h2 class="index-title index-title-white">Latest AI Guides and Resources</h2>
1524        <div class="guides-swiper">
1525            <div class="swiper-container">
1526                <div class="swiper-wrapper">
1527                    <!-- 原有 4 篇 -->
1528                    <div class="swiper-slide guides-item">
1529                        <picture>
1530                            <source type="image/webp" srcset="https://images.noviai.ai/noviaien/assets/article/story-tips/best_ai_storyboard_generator.webp">
1531                            <img src="https://images.noviai.ai/noviaien/assets/article/story-tips/best_ai_storyboard_generator.png" class="guides-img" alt="best ai storyboard generator">
1532                        </picture>
1533                        <a href="https://www.noviai.ai/story-tips/best-ai-storyboard-generator/" class="guides-item-title">Best AI Storyboard Generators[2026]</a>
1534                    </div>
1535                    <div class="swiper-slide guides-item">
1536                        <picture>
1537                            <source type="image/webp" srcset="https://images.noviai.ai/noviaien/assets/article/story-tips/best_ai_animation_generator.webp">
1538                            <img src="https://images.noviai.ai/noviaien/assets/article/story-tips/best_ai_animation_generator.png" class="guides-img" alt="Best AI Animation Generator">
1539                        </picture>
1540                        <a href="https://www.noviai.ai/story-tips/best-ai-animation-generator/" class="guides-item-title">Best AI Animation Generators[2026]</a>
1541                    </div>
1542                    <div class="swiper-slide guides-item">
1543                        <picture>
1544                            <source type="image/webp" srcset="https://images.noviai.ai/noviaien/assets/article/best-ai-video-story-generator.webp">
1545                            <img src="https://images.noviai.ai/noviaien/assets/article/best-ai-video-story-generator.png" class="guides-img" alt="Best AI Video Story Generator">
1546                        </picture>
1547                        <a href="https://www.noviai.ai/story-tips/best-ai-video-story-generator/" class="guides-item-title">Best AI Video Story Generator[2026]</a>
1548                    </div>
1549                    <div class="swiper-slide guides-item">
1550                        <picture>
1551                            <source type="image/webp" srcset="https://images.noviai.ai/noviaien/assets/article/models-prompts/chat_gpt_prompts.webp">
1552                            <img src="https://images.noviai.ai/noviaien/assets/article/models-prompts/chat_gpt_prompts.png" class="guides-img" alt="Chat GPT Image Prompts">
1553                        </picture>
1554                        <a href="https://www.noviai.ai/models-prompts/chat-gpt-image-prompts/" class="guides-item-title">Top 100 ChatGPT Image 2 Prompts[2026]</a>
1555                    </div>
1556                    <div class="swiper-slide guides-item">
1557                        <picture>
1558                            <source type="image/webp" srcset="https://images.noviai.ai/noviaien/assets/article/story-tips/sora_2_storyboard_alternative.webp">
1559                            <img src="https://images.noviai.ai/noviaien/assets/article/story-tips/sora_2_storyboard_alternative.png" class="guides-img" alt="Sora 2 Storyboard Alternative">
1560                        </picture>
1561                        <a href="https://www.noviai.ai/story-tips/sora-2-storyboard-alternative/" class="guides-item-title">Sora App Shutdown? Best Sora 2 Storyboard Alternative for Script-to-Video[2026]</a>
1562                    </div>
1563                    <div class="swiper-slide guides-item">
1564                        <picture>
1565                            <source type="image/webp" srcset="https://images.noviai.ai/noviaien/assets/article/models-prompts/enemies_to_lovers_prompts.webp">
1566                            <img src="https://images.noviai.ai/noviaien/assets/article/models-prompts/enemies_to_lovers_prompts.png" class="guides-img" alt="Enemies to 
1566Lovers Prompts">
1567                        </picture>
1568                        <a href="https://www.noviai.ai/models-prompts/enemies-to-lovers-prompts/" class="guides-item-title">Best Enemies to Lovers Prompts[2026]</a>
1569                    </div>
1570                    <div class="swiper-slide guides-item">
1571                        <picture>
1572                            <source type="image/webp" srcset="https://images.noviai.ai/noviaien/assets/article/facelessreels-com-reviews.webp">
1573                            <img src="https://images.noviai.ai/noviaien/assets/article/facelessreels-com-reviews.png" class="guides-img" alt="FacelessReels Com Review">
1574                        </picture>
1575                        <a href="https://www.noviai.ai/video-tips/facelessreels-com-review/" class="guides-item-title">FacelessReels.com Review: Is It Legit? Is It Worth It?[2026]</a>
1576                    </div>
1577                    <div class="swiper-slide guides-item">
1578                        <picture>
1579                            <source type="image/webp" srcset="https://images.noviai.ai/noviaien/assets/article/roleplay_prompts.webp">
1580                            <img src="https://images.noviai.ai/noviaien/assets/article/roleplay_prompts.png" class="guides-img" alt="Roleplay AI Prompts:">
1581                        </picture>
1582                        <a href="https://www.noviai.ai/models-prompts/roleplay-prompts/" class="guides-item-title">45+ Roleplay AI Prompts: Fantasy, Romantic and Fun[2026]</a>
1583                    </div>
1584                </div>
1585            </div>
1586            <div class="guides-fbox">
1587                <div class="swiper-button-prev"></div>
1588                <div class="swiper-button-next"></div>
1589            </div>
1590
1591            <div class="swiper-pagination"></div>
1592        </div>
1593        <a href="/blog/" class="main-btn">Learn More</a>
1594    </div>
1595</section>
1596
1597
1598            <!-- 第十一屏 -->
1599            <section class="possible">
1600                <div class="possible-box">
1601                    <h2 class="possible-title">Start Telling Your Story with Novi AI</h2>
1602                    <div class="possible-box-bg possible-bg1 curr"></div>
1603                    <div class="possible-box-bg possible-bg2"></div>
1604                    <div class="btn-group">
1605                        <a class="btn-blur ga-possible-btn-click" href="/app/ai-creative-explorer/">
1606                            <div class="btn-sparkle">
1607                                <span style="--width: 2; --deg: 20;  --duration: 6"  class="btn-sparkle-item"></span>
1608                                <span style="--width: 1; --deg: 75;  --duration: 10" class="btn-sparkle-item"></span>
1609                                <span style="--width: 2; --deg: 135; --duration: 7"  class="btn-sparkle-item"></span>
1610                                <span style="--width: 1; --deg: 200; --duration: 12" class="btn-sparkle-item"></span>
1611                                <span style="--width: 2; --deg: 260; --duration: 5"  class="btn-sparkle-item"></span>
1612                                <span style="--width: 1; --deg: 315; --duration: 9"  class="btn-sparkle-item"></span>
1613                                <span style="--width: 2; --deg: 45;  --duration: 8"  class="btn-sparkle-item"></span>
1614                                <span style="--width: 1; --deg: 290; --duration: 11" class="btn-sparkle-item"></span>
1615                                <svg class="btn-svg">
1616                                    <use xlink:href="#xin-icon"></use>
1617                                </svg>
1618                            </div>
1619                            <span class="btn-txt">Try Online</span>
1620                        </a>
1621                        <a class="btn-blur ga-possible-btn-click" href="/pricing/">
1622                            <div class="btn-sparkle">
1623                                <span style="--width: 2; --deg: 20;  --duration: 6"  class="btn-sparkle-item"></span>
1624                                <span style="--width: 1; --deg: 75;  --duration: 10" class="btn-sparkle-item"></span>
1625                                <span style="--width: 2; --deg: 135; --duration: 7"  class="btn-sparkle-item"></span>
1626                                <span style="--width: 1; --deg: 200; --duration: 12" class="btn-sparkle-item"></span>
1627                                <span style="--width: 2; --deg: 260; --duration: 5"  class="btn-sparkle-item"></span>
1628                                <span style="--width: 1; --deg: 315; --duration: 9"  class="btn-sparkle-item"></span>
1629                                <span style="--width: 2; --deg: 45;  --duration: 8"  class="btn-sparkle-item"></span>
1630                                <span style="--width: 1; --deg: 290; --duration: 11" class="btn-sparkle-item"></span>
1631                                <svg class="btn-svg">
1632                                    <use xlink:href="#xin-icon"></use>
1633                                </svg>
1634                            </div>
1635                            <span class="btn-txt">See Pricing</span>
1636                        </a>
1637                    </div>
1638                    <div class="possible-switch">
1639                        <img src="https://images.noviai.ai/noviaien/assets/product/index/possible_icon1.png" class="possible-sw-item curr" alt="icon">
1640                        <img src="https://images.noviai.ai/noviaien/assets/product/index/possible_icon2.png" class="possible-sw-item" alt="icon">
1641                    </div>
1642                </div>
1643            </section>
1644
1645            <!-- discord 移动端外层礼物按钮 -->
1646            <div class="discord-trigger">
1647                <img src="https://images.noviai.ai/noviaien/assets/product/index/dicord-out-box-gift.webp" alt="gift" class="discord-trigger-icon">
1648                <img src="https://images.noviai.ai/noviaien/assets/product/index/dicord-out-box-close.webp" alt="close" class="discord-trigger-close">
1649            </div>
1650            <!-- discord 弹窗 -->
1651            <div class="discord-popu">
1652                <div class="discord-pbox">
1653                    <div class="discord-ptitle">Get Free <span>100</span> Points</div>
1654                    <div class="discord-pdesc">
1655                        <div class="discord-pdesc-item">Create up to <span>5 videos</span></div>
1656                        <div class="discord-pdesc-item"><span>& 10 images</span> for free</div>
1657                    </div>
1658                    <a href="https://discord.gg/rSRK3Uzc6N" target="_blank" class="discord-pbtn main-btn">
1659                        <img src="https://images.noviai.ai/noviaien/assets/product/index/discord_pop_icon.svg" alt="icon">
1660                        <span>Join Discord</span>
1661                    </a>
1662                    <p class="discord-pclose">No Thanks</p>
1663                </div>
1664            </div>
1665        </main>
1666 
1667    <footer class="base-footer">
1668    <div class="base-maxwidth base-flex">
1669        <div class="base-footer-brand base-column">
1670            <div class="base-logo base-footer-logo">
1671                <a href="/" class="base-align-center">
1672                    <img src="https://images.noviai.ai/noviaien/assets/common/novi-ai-icon.svg" alt="Novi Ai" width="38" height="38" />
1673                    <span class="base-logo-name">Novi AI</span>
1674                </a>
1675            </div>
1676            <p class="base-footer-brand-desc">AI Creation Studio for Your Daily Creativity and Productivity</p>
1677            <div class="base-footer-social-container base-column">
1678                <p class="base-phidden footer-follow-us-text">Follow Us</p>
1679                <ul class="base-flex base-footer-social-list">
1680                    <li>
1681                        <a href="https://x.com/TryNoviAI">
1682                            <svg>
1683                                <use xlink:href="#footer-twitter-path"></use>
1684                            </svg>
1685                        </a>
1686                    </li>
1687                    <li>
1688                        <a href="https://discord.com/invite/4YxKHTZKWu">
1689                            <svg>
1690                                <use xlink:href="#footer-discord-path"></use>
1691                            </svg>
1692                        </a>
1693                    </li>
1694                    <li>
1695                        <a href="https://www.facebook.com/TryNoviAI/">
1696                            <svg>
1697                                <use xlink:href="#footer-facebook-path"></use>
1698                            </svg>
1699                        </a>
1700                    </li>
1701                    <li>
1702                        <a href="https://www.tiktok.com/@noviai.lab">
1703                            <svg>
1704                                <use xlink:href="#footer-tiktok-path"></use>
1705                            </svg>
1706                        </a>
1707                    </li>
1708                    <li>
1709                        <a href="https://www.instagram.com/noviai.ai/">
1710                            <svg>
1711                                <use xlink:href="#footer-instagram-path"></use>
1712                            </svg>
1713                        </a>
1714                    </li>
1715                    <li>
1716                        <a href="https://www.reddit.com/r/NoviAI/">
1717                            <svg>
1718                                <use xlink:href="#footer-reddit-path"></use>
1719                            </svg>
1720                        </a>
1721                    </li>
1722                </ul>
1723                <p class="base-footer-copyright">Copyright © 2026 Novi AI. All rights reserved.</p>
1724            </div>
1725        </div>
1726        <ul class="base-footer-list-container">
1727            <li>
1728                <p class="base-footer-list-title">Popular Tools</p>
1729                <ul class="base-footer-list">
1730                    <li><a href="https://www.noviai.ai/story-to-video-ai/">Story to Video</a></li>
1731                    <li><a href="https://www.noviai.ai/video-to-video-ai/">Video to Video</a></li>
1732                    <li>
1732<a href="https://www.noviai.ai/image-to-video-ai/">Image to Video</a></li>
1733                    <li><a href="https://www.noviai.ai/text-to-video-ai/">Text to Video</a></li>
1734                    <li><a href="https://www.noviai.ai/image-to-image-ai/">Image to Image</a></li>
1735                    <li><a href="https://www.noviai.ai/text-to-image-ai/">Text to Image</a></li>
1736                    <li><a href="https://www.noviai.ai/ai-tools/ai-animation-video-generator/">Animation Video Generator</a></li>
1737                    <li><a href="https://www.noviai.ai/ai-tools/ai-anime-image-generator/">Anime Image Generator</a></li>
1738                    <li><a href="https://www.noviai.ai/ai-tools/animation-story-maker-ai/">Animation Story Maker</a></li>
1739                </ul>
1740            </li>
1741            <li>
1742                <p class="base-footer-list-title">Video Models</p>
1743                <ul class="base-footer-list">
1744                    <li><a href="https://www.noviai.ai/ai-tools/seedance-ai-video-generator/">Seedance 2.0</a></li>
1745                    <li><a href="https://www.noviai.ai/ai-tools/sora-ai-video-generator/">Sora 2</a></li>
1746                    <li><a href="https://www.noviai.ai/ai-tools/veo-ai-video-generator/">Google Veo 3.1</a></li>
1747                    <li><a href="https://www.noviai.ai/ai-tools/runway-ai-video-generator/">Runway ML Gen-4</a></li>
1748                    <li><a href="https://www.noviai.ai/ai-tools/pixverse-ai-video-generator/">PixVerse 5.5</a></li>
1749                    <li><a href="https://www.noviai.ai/ai-tools/hailuo-ai-video-generator/">Hailuo V2.3</a></li>
1750                    <li><a href="https://www.noviai.ai/ai-tools/vidu-ai-video-generator/">Vidu Q1</a></li>
1751                    <li><a href="https://www.noviai.ai/ai-tools/jimeng-ai/">
1751Jimeng V3</a></li>
1752                    <li><a href="https://www.noviai.ai/ai-tools/kling-ai-video-generator/">Kling V2.5 Turbo</a></li>
1753                    <li><a href="https://www.noviai.ai/ai-tools/wan-ai-video-generator/">Wan 2.6</a></li>
1754                </ul>
1755            </li>
1756            <li>
1757                <p class="base-footer-list-title">Image Tools</p>
1758                <ul class="base-footer-list">
1759                    <li><a href="/ai-tools/seedream-ai-image-generator/">Seedream 4.0</a></li>
1760                    <li><a href="/ai-tools/nano-banana-ai-image-generator/">Nano Banana Pro</a></li>
1761                    <li><a href="/ai-tools/ai-furry-art-generator/">AI Furry Art Generator</a></li>
1762                </ul>
1763            </li>
1764            <li>
1765                <p class="base-footer-list-title">Resource</p>
1766                <ul class="base-footer-list">
1767                    <li><a href="/ai-tools/">AI Tools</a></li>
1768                    <li><a href="/blog/">Blog</a></li>
1769                    <li><a href="/pricing/">Pricing</a></li>
1770                    <li><a href="/support/">Support</a></li>
1771                    <li><a href="/faqs/">Product FAQs</a></li>
1772                </ul>
1773            </li>
1774            <li>
1775                <p class="base-footer-list-title">Company</p>
1776                <ul class="base-footer-list">
1777                    <li><a href="/about-us/">About Us</a></li>
1778                    <li><a href="/dmca-policy/">DMCA Policy</a></li>
1779                    <li><a href="/disclaimer/">Disclaimer</a></li>
1780                    <li><a href="/privacy-policy/">Privacy Policy</a></li>
1781                    <li><a href="/cookie-policy/">Cookie Policy</a></li>
1782                    <li><a href="/terms-conditions/">Terms & Conditions</a></li>
1783                    <li><a href="/refund-policy/">Refund Policy</a></li>
1784                </ul>
1785            </li>
1786            <li>
1787                <p class="base-footer-list-title">Video Tools</p>
1788                <ul class="base-footer-list">
1789                    <li><a href="/ai-tools/ai-animation-video-generator/">AI Animation Video Generator</a></li>
1790                    <li><a href="/ai-tools/ai-girlfriend-video-generator/">AI Girlfriend Video Generator</a></li>
1791                    <li><a href="/ai-tools/ai-anime-girl-generator/">AI Anime Girl Generator</a></li>
1792                    <li><a href="/ai-tools/ai-logo-animator/">AI Logo Animator</a></li>
1793                    <li><a href="/ai-tools/animated-explainer-video-maker/">Animated Explainer Video Maker</a></li>
1794                    <li><a href="/ai-tools/faceless-tiktok-ai-video-generator/">Faceless TikTok AI Video Generator</a></li>
1795                    <li><a href="/ai-tools/ai-dance-video-generator/">AI Dance Video Generator</a></li>
1796                    <li><a href="/ai-tools/ai-fight-video-generator/">AI Fight Video Generator</a></li>
1797                </ul>
1798            </li>
1799            <li>
1800                <p class="base-footer-list-title">Story Tools</p>
1801                <ul class="base-footer-list">
1802                    <li><a href="/ai-tools/ai-youtube-shorts-generator/">AI YouTube Shorts Generator</a></li>
1803                    <li><a href="/ai-tools/ai-reddit-story-video-generator/">AI Reddit Story Video Generator</a></li>
1804                    <li><a href="/ai-tools/faceless-youtube-video-maker/">Faceless YouTube Video Maker</a></li>
1805                    <li><a href="/ai-tools/ai-horror-story-video-generator/">AI Horror Story Video Generator</a></li>
1806                    <li><a href="/ai-tools/animation-love-story-video-generator/">Animation Love Story Video Generator</a></li>
1807                    <li><a href="/ai-tools/kids-bedtime-story-video-generator/">Kids Bedtime Story Video Generator</a></li>
1808                    <li><a href="/ai-tools/ai-cat-story-video-generator/">AI Cat Story Video Generator</a></li>
1809                    <li><a href="/ai-tools/bible-story-video-generator/">Bible Story Video Generator</a></li>
1810                </ul>
1811            </li>
1812        </ul>
1813    </div>
1814    <a class="base-backtop show" href="javascript:;">
1815        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24">
1816            <path fill="none" d="M-1-1h582v402H-1z"></path>
1817            <path fill="#fff" d="M11 23V5l-7.5 7-1.2-1.5L12 1.4l9.7 9.1-1.2 1.5L13 5v18z"></path>
1818        </svg>
1819    </a>
1820</footer>
1821
1822<script src="/assets/plug/jquery/jquery-3.3.1.js"></script>
vendor: 2 bytes, line 1822
1822
1823<script src="/assets/plug/md5/md5.js"></script>
1823
1824<!-- CryptoJS for AES encryption -->
1825<script src="/assets/js/crypto-js.min.js"></script>
1825
1826<!-- RSA encryption library -->
1827<script src="/assets/js/jsencrypt.min.js"></script>
vendor: 2 bytes, line 1827
1827
1828<script src="https://public.noviai.ai/assets/js/language_pop_noviai.js"></script>
1828
1829<!-- 会员系统 -->
1830<script src="https://public.noviai.ai/assets/js/pulg/sha1/sha1.js"></script>
vendor: 2 bytes, line 1830
1830
1831<script src="https://public.noviai.ai/assets/js/connection_ember_system/connection_noviai_system.js"></script>
1831
1832<!-- 会员系统 -->
1833
1834<script src="https://public.noviai.ai/assets/js/cmp_data_collection/cmp_data_collection.js"></script>
1834
1835
1836<!-- 消息中心 测试域名:https://public.ifonelab.com -->
1837<script src="https://public.noviai.ai/assets/js/connection_ember_system/tourist_message_noviai.js"></script>
1837
1838
1839<!-- 20240305 游客上报依赖 -->
1840<script defer src="https://public.noviai.ai/assets/js/connection_ember_system/fingerprint2.js"></script>
vendor: 2 bytes, line 1840
1840
1841<script defer src="https://public.noviai.ai/assets/js/connection_ember_system/fingerprint.js"></script>
vendor: 2 bytes, line 1841
1841
1842<script src="/assets/js/i18n.js"></script>
vendor: 2 bytes, line 1842
1842
1843<script src="/assets/js/base.js"></script>
vendor: 2 bytes, line 1843
1843
1844<script src="/assets/plug/validate/jquery.validate.js"></script>
vendor: 2 bytes, line 1844
1844
1845<script src="/assets/js/login.js"></script>
vendor: 2 bytes, line 1845
1845
1846<script src="/assets/plug/independent_packaging/notification/notification.js" async></script>
1846
1847
1848     
1848<script src="/assets/plug/swiper/swiper.js"></script>
1848
1849        
1849<script>
1850            $(function () {
1851                const indexObj = {
1852                    init() {
1853                        this.banner();
1854                        this.bannerSearch();
1855                        this.workflow();
1856                        this.discover();
1857                        this.explore();
1858                        this.faqs();
1859                        this.guides();
1860                        this.initSwitcher({
1861                            box: '.possible-box',
1862                            items: '.possible-box-bg',
1863                            triggers: '.possible-sw-item',
1864                            interval: 8000
1865                        });
1866                        this.initHorizontalMarquee({
1867                            wrap: '.models-scroll-left',
1868                            list: '.models-list',
1869                            item: '.models-litem',
1870                            direction: 'left',
1871                            speed: 0.7
1872                        });
1873                        this.initHorizontalMarquee({
1874                            wrap: '.models-scroll-right',
1875                            list: '.models-list',
1876                            item: '.models-litem',
1877                            direction: 'right',
1878                            speed: 0.7
1879                        });
1880                        this.initStackCards();
1881                        this.hoverPalyVideo();
1882                        this.videoFilmHover();
1883                        this.initHorizontalMarquee({
1884                            wrap: '.video-list-scroll',
1885                            list: '.video-film-track',
1886                            item: '.video-film-item',
1887                            direction: 'left',
1888                            speed: 0.6,
1889                            pauseOnHover: true,
1890                            enableTouchDrag: true
1891                        });
1892                        this.disPopup();
1893                        this.listenGaEvent();
1894                        this.trustedReviews();
1895                        this.lazyLoadCreateAiVideos();
1896                    },
1897                    lazyLoadCreateAiVideos() {
1898                        if ('IntersectionObserver' in window) {
1899                            const observer = new IntersectionObserver(entries => {
1900                                entries.forEach(entry => {
1901                                    const video = entry.target;
1902                                    if (entry.isIntersecting) {
1903                                        const source = video.querySelector('source');
1904                                        if (source && !source.src && source.dataset.src) {
1905                                            source.src = source.dataset.src;
1906                                            video.load();
1907                                        }
1908                                        const p = video.play();
1909                                        if (p && p.catch) p.catch(() => {});
1910                                    } else {
1911                                        video.pause();
1912                                    }
1913                                });
1914                            }, { rootMargin: '50px' });
1915
1916                            document.querySelectorAll('.createai-video').forEach(video => {
1917                                observer.observe(video);
1918                            });
1919                        }
1920                    },
1921                    disPopup() {
1922                        const $popup = $('.discord-popu');
1923                        const $banner = $('.banner');
1924                        const popupKey = 'discord-index-popup';
1925                        const isHide = base.cookie.getCookie(popupKey);
1926                        if (!$popup.length || !$banner.length || isHide) {
1927                            $popup.remove();
1928                            return;
1929                        }
1930
1931                        const observer = new IntersectionObserver(function (entries) {
1932                            const entry = entries[0];
1933
1934                            if (entry.isIntersecting) {
1935                                // banner 进入视口 → 关弹窗
1936                                $popup.removeClass('show');
1937                            } else {
1938                                // banner 离开视口 → 开弹窗
1939                                $popup.addClass('show');
1940                            }
1941                        }, {
1942                            threshold: 0   // 只要进入或离开视口就触发
1943                        });
1944
1945                        observer.observe($banner[0]);
1946
1947                        $('.discord-pbtn').on('click', function () {
1948                            dataLayer.push({
1949                                'event': 'join_discord',
1950                            });
1951                        });
1952                        $('.discord-pclose').on('click', function () {
1953                            $popup.removeClass('show');
1954                            base.cookie.setCookie(popupKey, 'true');
1955                            dataLayer.push({
1956                                'event': 'no_thanks',
1957                            });
1958                            setTimeout(() => {
1959                                $popup.remove();
1960                            }, 300);
1961                        });
1962                    },
1963                    trustedReviews() {
1964                        const items = document.querySelectorAll('.tr-carousel-item');
1965                        const prevBtn = document.querySelector('.tr-prev');
1966                        const nextBtn = document.querySelector('.tr-next');
1967                        const progressBar = document.querySelector('.tr-progress-bar');
1968                        let currentIndex = 0;
1969                        const totalItems = items.length;
1970                        let timer;
1971                        const duration = 50000; // 5 seconds autoplay
1972
1973                        if(items.length > 0) {
1974                            const carouselList = document.querySelector('.tr-carousel-list');
1975
1976                            // Clone logo for mobile layout
1977                            document.querySelectorAll('.tr-carousel-item').forEach(item => {
1978                                const originalLogo = item.querySelector('.tr-logo-placeholder');
1979                                if (originalLogo) {
1980                                    const clone = originalLogo.cloneNode(true);
1981                                    clone.className = 'tr-logo-mobile-clone';
1982                                    const desc = item.querySelector('.tr-desc');
1983                                    if(desc) item.insertBefore(clone, desc);
1984                                }
1985                            });
1986
1987                            // Initialize Swiper-like dots
1988                            const progressContainer = document.querySelector('.tr-progress');
1989                            progressContainer.innerHTML = '';
1990                            for (let i = 0; i < totalItems; i++) {
1991                                const dot = document.createElement('span');
1992                                dot.className = 'tr-dot';
1993                                dot.style.cursor = 'pointer';
1994                                Math.abs(i) === 0 ? dot.classList.add('active') : null;
1995                                
1996                                dot.addEventListener('click', () => {
1997                                    clearInterval(timer);
1998                                    switchItem(i);
1999                                    timer = setInterval(nextItem, duration);
2000                                });
2001
2002                                progressContainer.appendChild(dot);
2003                            }
2004
2005                            function updateIndicator() {
2006                                const dots = progressContainer.querySelectorAll('.tr-dot');
2007                                dots.forEach((dot, idx) => {
2008                                    dot.classList.toggle('active', idx === currentIndex);
2009                                });
2010                            }
2011
2012                            function switchItem(index) {
2013                                items[currentIndex].classList.remove('active');
2014                                currentIndex = (index + totalItems) % totalItems;
2015                                items[currentIndex].classList.add('active');
2016                                
2017                                updateIndicator();
2018
2019                                if (window.innerWidth <= 1023 && carouselList && carouselList.scrollTo) {
2020                                    carouselList.scrollTo({ left: currentIndex * carouselList.offsetWidth, behavior: 'smooth' });
2021                                }
2022                            }
2023
2024                            function nextItem() { switchItem(currentIndex + 1); }
2025                            function prevItem() { switchItem(currentIndex - 1); }
2026
2027                            if(nextBtn) {
2028                                nextBtn.addEventListener('click', () => { 
2029                                    clearInterval(timer); 
2030                                    nextItem(); 
2031                                    timer = setInterval(nextItem, duration); 
2032                                });
2033                            }
2034                            if(prevBtn) {
2035                                prevBtn.addEventListener('click', () => { 
2036                                    clearInterval(timer); 
2037                                    prevItem(); 
2038                                    timer = setInterval(nextItem, duration); 
2039                                });
2040                            }
2041
2042                            if (carouselList) {
2043                                carouselList.addEventListener('scroll', function() {
2044                                    if (window.innerWidth <= 1023) {
2045                                        const index = Math.round(carouselList.scrollLeft / carouselList.offsetWidth);
2046                                        if (index !== currentIndex && index >= 0 && index < totalItems) {
2047                                            items[currentIndex].classList.remove('active');
2048                                            currentIndex = index;
2049                                            items[currentIndex].classList.add('active');
2050                                            updateIndicator();
2051                                            clearInterval(timer);
2052                                            timer = setInterval(nextItem, duration);
2053                                        }
2054                                    }
2055                                });
2056                            }
2057
2058                            // Initial startup
2059                            updateIndicator();
2060                            timer = setInterval(nextItem, duration);
2061                        }
2062
2063                        // Card Hover Interaction & Auto-Switching
2064                        const trCards = document.querySelectorAll('.tr-card');
2065                        if (trCards.length > 0) {
2066                            let currentCardIndex = 0;
2067                            let cardTimer;
2068                            const cardDuration = 5000;
2069                            const trCardsContainer = document.querySelector('.tr-cards');
2070
2071                            // Inject pagination dots for Mobile Layout
2072                            const trCardsProgress = document.createElement('div');
2073                            trCardsProgress.className = 'tr-cards-progress';
2074                            for (let i = 0; i < trCards.length; i++) {
2075                                const dot = document.createElement('span');
2076                                dot.className = 'tr-dot';
2077                                dot.style.cursor = 'pointer';
2078                                if (i === 0) dot.classList.add('active');
2079                                
2080                                dot.addEventListener('click', () => {
2081                                    if (window.innerWidth <= 1023) {
2082                                        clearInterval(cardTimer);
2083                                        switchCard(i);
2084                                        cardTimer = setInterval(nextCard, cardDuration);
2085                                    } else {
2086                                        // On desktop, the active card is driven by hover, but click could still jump it manually if wanted, though primarily it's a mobile layout piece.
2087                                        clearInterval(cardTimer);
2088                                        switchCard(i);
2089                                        cardTimer = setInterval(nextCard, cardDuration);
2090                                    }
2091                                });
2092
2093                                trCardsProgress.appendChild(dot);
2094                            }
2095                            if (trCardsContainer && trCardsContainer.parentNode) {
2096                                trCardsContainer.parentNode.insertBefore(trCardsProgress, trCardsContainer.nextSibling);
2097                            }
2098
2099                            function updateCardIndicator() {
2100                                const dots = trCardsProgress.querySelectorAll('.tr-dot');
2101                                dots.forEach((dot, idx) => {
2102                                    dot.classList.toggle('active', idx === currentCardIndex);
2103                                });
2104                            }
2105
2106                            function switchCard(index) {
2107                                trCards.forEach(c => c.classList.remove('active'));
2108                                currentCardIndex = index % trCards.length;
2109                                trCards[currentCardIndex].classList.add('active');
2110                                updateCardIndicator();
2111
2112                                if (window.innerWidth <= 1023 && trCardsContainer && trCardsContainer.scrollTo) {
2113                                    const activeCard = trCards[0];
2114                                    if(activeCard) {
2115                                        trCardsContainer.scrollTo({ left: currentCardIndex * activeCard.offsetWidth, behavior: 'smooth' });
2116                                    }
2117                                }
2118                            }
2119
2120                            function nextCard() {
2121                                switchCard(currentCardIndex + 1);
2122                            }
2123
2124                            cardTimer = setInterval(nextCard, cardDuration);
2125
2126                            trCards.forEach((card, index) => {
2127                                card.addEventListener('mouseenter', () => {
2128                                    if (window.innerWidth > 1023) {
2129                                        clearInterval(cardTimer);
2130                                        switchCard(index);
2131                                    }
2132                                });
2133                                
2134                                card.addEventListener('mouseleave', () => {
2135                                    if (window.innerWidth > 1023) {
2136                                        clearInterval(cardTimer);
2137                                        cardTimer = setInterval(nextCard, cardDuration);
2138                                    }
2139                                });
2140                            });
2141
2142                            if (trCardsContainer) {
2143                                trCardsContainer.addEventListener('scroll', function() {
2144                                    if (window.innerWidth <= 1023) {
2145                                        const cardWidth = trCards[0] ? trCards[0].offsetWidth : 0;
2146                                        if (cardWidth > 0) {
2147                                            const index = Math.round(trCardsContainer.scrollLeft / cardWidth);
2148                                            if (index !== currentCardIndex && index >= 0 && index < trCards.length) {
2149                                                trCards.forEach(c => c.classList.remove('active'));
2150                                                currentCardIndex = index;
2151                                                trCards[currentCardIndex].classList.add('active');
2152                                                updateCardIndicator();
2153                                                clearInterval(cardTimer);
2154                                                cardTimer = setInterval(nextCard, cardDuration);
2155                                            }
2156                                        }
2157                                    }
2158                                });
2159                            }
2160                        }
2161                    },
2162                    
2163                    hoverPalyVideo() {
2164                        const isTouch =
2165                            'ontouchstart' in window || navigator.maxTouchPoints > 0;
2166
2167                        function play($item) {
2168                            const video = $item.find('.discover-l-video').get(0);
2169                            if (!video) return;
2170
2171                            if (!video.src && video.dataset.src) {
2172                                video.src = video.dataset.src;
2173                                video.load();
2174                            }
2175
2176                            // 停掉其他视频 + 清掉它们的 played
2177                            $('.discover-l-item').each(function () {
2178                                if (this !== $item[0]) {
2179                                    const v = $(this).find('.discover-l-video').get(0);
2180                                    if (v) {
2181                                        v.pause();
2182                                        v.currentTime = 0;
2183                                    }
2184                                    $(this).removeData('played'); // ✅ 正确清理
2185                                }
2186                            });
2187
2188                            const p = video.play();
2189                            if (p) p.catch(() => {}); // 防止浏览器拦截报错
2190                        }
2191
2192                        function stop($item) {
2193                            const video = $item.find('.discover-l-video').get(0);
2194                            if (!video) return;
2195                            video.pause();
2196                            video.currentTime = 0;
2197                        }
2198
2199                        /* ===== 预加载 ===== */
2200                        if ('IntersectionObserver' in window) {
2201                            const observer = new IntersectionObserver(entries => {
2202                                entries.forEach(entry => {
2203                                    if (!entry.isIntersecting) return;
2204
2205                                    $(entry.target)
2206                                        .find('.discover-l-video')
2207                                        .each(function () {
2208                                            if (!this.src && this.dataset.src) {
2209                                                this.src = this.dataset.src;
2210                                                this.load();
2211                                            }
2212                                        });
2213
2214                                    observer.unobserve(entry.target);
2215                                });
2216                            }, { rootMargin: '200px' });
2217
2218                            const discover = document.querySelector('.discover');
2219                            discover && observer.observe(discover);
2220                        }
2221
2222                        /* ===== 事件 ===== */
2223                        if (!isTouch) {
2224                            $('.discover')
2225                                .on('mouseenter', '.discover-l-item', function () {
2226                                    play($(this));
2227                                })
2228                                .on('mouseleave', '.discover-l-item', function () {
2229                                    stop($(this));
2230                                });
2231                        } else {
2232                            $('.discover').on('click', '.discover-l-item', function (e) {
2233                                const $item = $(this);
2234
2235                                // 已播放 → 允许跳转
2236                                if ($item.data('played')) return;
2237
2238                                e.preventDefault(); // 第一次点击只播放
2239                                play($item);
2240                                $item.data('played', true);
2241                            });
2242                        }
2243                    },
2244                    videoFilmHover() {
2245                        let currentPlayingVideo = null;
2246
2247                        /* ===== 懒加载优化 ===== */
2248                        if ('IntersectionObserver' in window) {
2249                            const observer = new IntersectionObserver(entries => {
2250                                entries.forEach(entry => {
2251                                    if (!entry.isIntersecting) return;
2252
2253                                    $(entry.target)
2254                                        .find('.video-film-video')
2255                                        .each(function () {
2256                                            const source = this.querySelector('source');
2257                                            if (source && !source.src && source.dataset.src) {
2258                                                source.src = source.dataset.src;
2259                                                this.load();
2260                                            }
2261                                        });
2262
2263                                    observer.unobserve(entry.target);
2264                                });
2265                            }, { rootMargin: '200px' });
2266
2267                            const videoList = document.querySelector('.video-list');
2268                            if (videoList) observer.observe(videoList);
2269                        }
2270
2271                        $(document).on('mouseenter', '.video-film-item', function () {
2272                            const video = $(this).find('.video-film-video').get(0);
2273                            if (!video) return;
2274
2275                            // 停止之前播放的视频
2276                            if (currentPlayingVideo && currentPlayingVideo !== video) {
2277                                currentPlayingVideo.pause();
2278                                currentPlayingVideo.currentTime = 0;
2279                            }
2280
2281                            currentPlayingVideo = video;
2282                            video.muted = true;
2283                            const p = video.play();
2284                            if (p) p.catch(() => {});
2285                        });
2286
2287                        $(document).on('mouseleave', '.video-film-item', function () {
2288                            const video = $(this).find('.video-film-video').get(0);
2289                            if (!video) return;
2290                            video.pause();
2291                            video.currentTime = 0;
2292                            if (currentPlayingVideo === video) {
2293                                currentPlayingVideo = null;
2294                            }
2295                        });
2296                    },
2297                    banner() {
2298                        const self = this;
2299                        const $firstVideo = $('.banner-bg-video').eq(0);
2300
2301                        function startBannerSwitcher() {
2302                            self.initSwitcher({
2303                                box: '.banner',
2304                                items: '.banner-bg-video',
2305                                triggers: '.banner-sw-item',
2306                                interval: 8000,
2307                                onSwitch: function ($item) {
2308                                    const video = $item.get(0);
2309                                    if (!video) return;
2310
2311                                    $('.banner-bg-video').each(function () {
2312                                        this.pause();
2313                                    });
2314
2315                                    video.currentTime = 0;
2316                                    video.play();
2317                                }
2318                            });
2319                        }
2320
2321                        // 如果已经 ready(防止缓存场景)
2322                        if ($firstVideo.get(0).readyState >= 2) {
2323                            startBannerSwitcher();
2324                        } else {
2325                            $firstVideo.one('loadeddata canplay', function () {
2326                                startBannerSwitcher();
2327                            });
2328                        }
2329                    },
2330                    bannerSearch() {
2331                        const $selectBox = $('.banner-type-select-box');
2332                        const $current = $('.banner-type-current');
2333                        const $typeText = $('.type-text');
2334                        const $desc = $('.banner-prompt-desc');
2335                        const $tryBtn = $('.banner-try-btn');
2336                        const $options = $('.banner-type-option');
2337                        
2338                        const tagsData = {
2339                            "Story": [
2340                                { label: "Romance Drama", prompt: "Two souls reconnect after years apart, but secrets threaten their second chance" },
2341                                { label: "Story Video", prompt: "Rival chefs forced to co-host a cooking show discover unexpected chemistry" },
2342                                { label: "Sci-Fi Film", prompt: "A time traveler must stop their past self from preventing humanity's future" }
2343                            ],
2344                            "Image": [
2345                                { label: "Hero Portrait", prompt: "Cinematic portrait of protagonist in neon-lit rain, determined expression" },
2346                                { label: "Scene Sheet", prompt: "Futuristic cityscape at dusk, holographic billboards, flying vehicles overhead" },
2347                                { label: "Characters Sheet", prompt: "Character 3-view reference: front/side/back views, full body, heroic stance" }
2348                            ],
2349                            "Video": [
2350                                { label: "High-Speed Racing", prompt: "Motorcycle chase through neon tunnels, rider's helmet HUD activating rapidly" },
2351                                { label: "Combat Sequences", prompt: "Warrior blends kung fu with gunplay, slow-motion bullet dodge, swift strikes" },
2352                                { label: "3D Animation", prompt: "Character leaps between buildings, cape flowing, city lights blur beneath" }
2353                            ]
2354                        };
2355
2356                        function renderTags(type) {
2357                            const tags = tagsData[type] || tagsData["Story"];
2358                            const $list = $('#bannerTagsList');
2359                            $list.empty();
2360                            tags.forEach(t => {
2361                                const $item = $('<div class="banner-tag-item"></div>').attr('data-prompt', t.prompt);
2362                                $item.html(`<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2C12 7.5 16.5 12 22 12C16.5 12 12 16.5 12 22C12 16.5 7.5 12 2 12C7.5 12 12 7.5 12 2Z"></path></svg> ${t.label}`);
2363                                $list.append($item);
2364                            });
2365                        }
2366                        
2367                        $current.on('click', function(e) {
2368                            e.stopPropagation();
2369                            $selectBox.toggleClass('active');
2370                        });
2371                        
2372                        $(document).on('click', function(e) {
2373                            if (!$(e.target).closest('.banner-type-select-box').length) {
2374                                $selectBox.removeClass('active');
2375                            }
2376                        });
2377                        
2378                        $options.on('click', function(e) {
2379                            e.stopPropagation();
2380                            const val = $(this).attr('data-val');
2381                            const desc = $(this).attr('data-desc');
2382                            const url = $(this).attr('data-url');
2383                            
2384                            $options.removeClass('curr');
2385                            $(this).addClass('curr');
2386                            
2387                            $typeText.text(val);
2388                            $desc.attr('placeholder', desc);
2389                            $desc.val('');
2390                            $tryBtn.attr('href', url);
2391                            
2392                            renderTags(val);
2393                            
2394                            $selectBox.removeClass('active');
2395                        });
2396                        
2397                        $tryBtn.on('click', function(e) {
2398                            e.preventDefault();
2399                            const val = $typeText.text().trim().toLowerCase();
2400                            const inputVal = encodeURIComponent($desc.val().trim());
2401                            
2402                            let targetUrl = $(this).attr('href');
2403                            if (val === 'story') {
2404                                targetUrl = '/app/ai-creative-explorer/' + (inputVal ? '?aiWritingPrompt=' + inputVal : '');
2405                            } else if (val === 'image') {
2406                                targetUrl = '/app/ai-image-generator/' + (inputVal ? '?prompt=' + inputVal + '&tab=text2image' : '?tab=text2image');
2407                            } else if (val === 'video') {
2408                                targetUrl = '/app/ai-image-generator/' + (inputVal ? '?prompt=' + inputVal + '&tab=text2video' : '?tab=text2video');
2409                            }
2410                            
2411                            window.location.href = targetUrl;
2412                        });
2413
2414                        // Tag click handling (event delegation)
2415                        $('#bannerTagsList').on('click', '.banner-tag-item', function() {
2416                            const prompt = $(this).attr('data-prompt');
2417                            if (prompt) {
2418                                $desc.val(prompt);
2419                            }
2420                        });
2421                    },
2422                    workflow: function() {
2423                        var $workflow = $('.workflow');
2424                        var $cards = $('.workflow-card');
2425                        var $track = $('.workflow-img-track');
2426                        var $dots = $('.workflow-dots .dot');
2427                        
2428                        if (!$workflow.length || !$cards.length) return;
2429
2430                        var numCards = $cards.length;
2431                        var lastDesktopIndex = -1;
2432                        var lastMobileIndex = -1;
2433
2434                        $(window).on('scroll', function() {
2435                            if (window.innerWidth <= 1023) return;
2436
2437                            var scrollTop = $(window).scrollTop();
2438                            var windowHeight = $(window).height();
2439                            var containerHeight = $('.workflow-img-box').outerHeight();
2440                            var gap = 20;
2441
2442                            var sectionTop = $workflow.offset().top;
2443                            var sectionHeight = $workflow.outerHeight();
2444                            var scrollDistance = sectionHeight - windowHeight;
2445                            if (scrollDistance <= 0) scrollDistance = 1;
2446
2447                            var scrolled = scrollTop - sectionTop;
2448                            var progress = scrolled / scrollDistance;
2449                            if (progress < 0) progress = 0;
2450                            if (progress > 1) progress = 1;
2451
2452                            var maxShiftPixels = (numCards - 1) * (containerHeight + ga
2452p);
2453                            // Adjust progress to ensure images are fully shown when cards are active
2454                            var adjustedProgress = (progress * numCards - 0.5) / (numCards - 1);
2455                            adjustedProgress = Math.max(0, Math.min(1, adjustedProgress));
2456                            var shiftY = -(adjustedProgress * maxShiftPixels);
2457                            $track.css('transform', 'translateY(' + shiftY + 'px)');
2458
2459                            var targetIndex = Math.round(progress * (numCards - 1));
2460
2461                            if (lastDesktopIndex !== targetIndex) {
2462                                $cards.removeClass('active').eq(targetIndex).addClass('active');
2463                                lastDesktopIndex = targetIndex;
2464                            }
2465                        });
2466
2467                        $cards.on('click', function() {
2468                            if (window.innerWidth <= 1023) return;
2469                            var index = $(this).index();
2470                            var windowHeight = $(window).height();
2471                            var sectionTop = $workflow.offset().top;
2472                            var sectionHeight = $workflow.outerHeight();
2473                            var scrollDistance = sectionHeight - windowHeight;
2474                            var segmentHeight = scrollDistance / numCards;
2475                            var targetScroll = sectionTop + (segmentHeight * index) + (segmentHeight / 2);
2476                            
2477                            $('html, body').animate({
2478                                scrollTop: targetScroll
2479                            }, 300);
2480                        });
2481
2482                        $track.on('scroll', function() {
2483                            if (window.innerWidth > 1023) return;
2484                            var scrollLeft = $track.scrollLeft();
2485                            var itemWidth = $track.width();
2486                            if (itemWidth === 0) return;
2487                            var index = Math.round(scrollLeft / itemWidth);
2488                            
2489                            if (lastMobileIndex !== index) {
2490                                $cards.removeClass('active').eq(index).addClass('active');
2491                                $dots.removeClass('active').eq(index).addClass('active');
2492                                lastMobileIndex = index;
2493                            }
2494                        });
2495
2496                        $dots.on('click', function() {
2497                            if (window.innerWidth > 1023) return;
2498                            var index = $(this).index();
2499                            var itemWidth = $track.width();
2500                            if ($track[0].scrollTo) {
2501                                $track[0].scrollTo({ left: index * itemWidth, behavior: 'smooth' });
2502                            } else {
2503                                $track.animate({ scrollLeft: index * itemWidth }, 300);
2504                            }
2505                        });
2506                        
2507                        setTimeout(function() {
2508                            $(window).trigger('scroll');
2509                        }, 100);
2510                    },
2511                    initStackCards() {
2512                        const $cards = $('.createai-card, .createai-card-1');
2513                        const stickyTop = 100;
2514                        const shrinkDistance = 200;
2515                        const minScale = 0.85;
2516
2517                        let ticking = false;
2518
2519                        // 可选:GPU 提前声明(不影响效果)
2520                        $cards.css('will-change', 'transform');
2521
2522                        $(window).on('scroll', function () {
2523                            if (!ticking) {
2524                                requestAnimationFrame(update);
2525                                ticking = true;
2526                            }
2527                        });
2528
2529                        function update() {
2530                            const scrollTop = $(window).scrollTop();
2531
2532                            $cards.each(function (index) {
2533                                const $card = $(this);
2534
2535                                // ⚠️ 完全保留你原来的计算方式
2536                                const topPoint = $card.offset().top - stickyTop;
2537                                const startShrink = topPoint - shrinkDistance;
2538
2539                                let scale = 1;
2540
2541                                if (scrollTop > startShrink && scrollTop < topPoint) {
2542                                    const progress = (scrollTop - startShrink) / shrinkDistance;
2543                                    scale = 1 - progress * (1 - minScale);
2544                                }
2545
2546                                if (scrollTop >= topPoint) {
2547                                    scale = minScale;
2548                                }
2549
2550                                $card.css({
2551                                    transform: `scale(${scale})`,
2552                                    zIndex: index + 1
2553                                });
2554
2555                                if (window.innerWidth <= 1023) {
2556                                    const rect = $card[0].getBoundingClientRect();
2557                                    if (rect.top <= window.innerHeight * 0.75) {
2558                                        $card.addClass('mobile-hover').siblings().removeClass('mobile-hover');
2559                                    }
2560                                }
2561                            });
2562
2563                            ticking = false;
2564                        }
2565                    },
2566                    initHorizontalMarquee(options) {
2567                        const config = $.extend({
2568                            wrap: '',          // 外层容器
2569                            list: '',          // 滚动列表
2570                            item: '',          // 单项
2571                            direction: 'left', // left | right
2572                            speed: 0.5,        // 每帧移动像素
2573                            pauseOnHover: true,
2574                            enableTouchDrag: false
2575                        }, options);
2576
2577                        const $wrap = $(config.wrap);
2578                        const $list = $wrap.find(config.list);
2579                        const $items = $list.find(config.item);
2580
2581                        if (!$wrap.length || !$list.length || !$items.length) return;
2582
2583                        // 复制一份内容,实现无缝
2584                        $list.append($items.clone());
2585
2586                        let pos = 0;
2587                        let rafId = null;
2588                        let isPaused = false;
2589
2590                        const totalWidth = $items.length * $items.outerWidth(true);
2591
2592                        function move() {
2593                            if (!isPaused) {
2594                                if (config.direction === 'left') {
2595                                    pos -= config.speed;
2596                                    if (Math.abs(pos) >= totalWidth) {
2597                                        pos = 0;
2598                                    }
2599                                } else {
2600                                    pos += config.speed;
2601                                    if (pos >= 0) {
2602                                        pos = -totalWidth;
2603                                    }
2604                                }
2605                                $list.css('transform', `translateX(${pos}px)`);
2606                            }
2607                            rafId = requestAnimationFrame(move);
2608                        }
2609
2610                        if (config.pauseOnHover) {
2611                            $wrap.on('mouseenter', () => isPaused = true);
2612                            $wrap.on('mouseleave', () => isPaused = false);
2613                        }
2614
2615                        if (config.enableTouchDrag && $wrap[0]) {
2616                            $wrap.css('touch-action', 'pan-y');
2617                            let startX = 0;
2618                            let isDragging = false;
2619
2620                            $wrap[0].addEventListener('touchstart', function (e) {
2621                                if (window.innerWidth > 1023) return;
2622                                isPaused = true;
2623                                isDragging = true;
2624                                startX = e.touches[0].pageX;
2625                            }, { passive: true });
2626
2627                            $wrap[0].addEventListener('touchmove', function (e) {
2628                                if (!isDragging || window.innerWidth > 1023) return;
2629                                const currentX = e.touches[0].pageX;
2630                                const diffX = currentX - startX;
2631                                pos += diffX;
2632                                
2633                                if (pos > 0) {
2634                                    pos -= totalWidth;
2635                                } else if (pos <= -totalWidth) {
2636                                    pos += totalWidth;
2637                                }
2638                                
2639                                $list.css('transform', `translateX(${pos}px)`);
2640                                startX = currentX;
2641                            }, { passive: true });
2642
2643                            $wrap[0].addEventListener('touchend', function () {
2644                                if (window.innerWidth > 1023) return;
2645                                isDragging = false;
2646                                isPaused = false;
2647                            });
2648
2649                            $wrap[0].addEventListener('touchcancel', function () {
2650                                if (window.innerWidth > 1023) return;
2651                                isDragging = false;
2652                                isPaused = false;
2653                            });
2654                        }
2655
2656                        move();
2657
2658                        return {
2659                            stop() {
2660                                cancelAnimationFrame(rafId);
2661                            }
2662                        };
2663                    },
2664                    initSwitcher(options) {
2665                        const config = $.extend({
2666                            box: '',
2667                            items: '',
2668                            triggers: '',
2669                            activeClass: 'curr',
2670                            interval: 5000,
2671                            onSwitch: null
2672                        }, options);
2673
2674                        const $box = $(config.box);
2675                        if (!$box.length) return;
2676
2677                        const $items = $box.find(config.items);
2678                        const $triggers = $box.find(config.triggers);
2679
2680                        if (!$items.length) return;
2681
2682                        let currIndex = 0;
2683                        let timer = null;
2684
2685                        function switchTo(index) {
2686                            if (index === currIndex) return;
2687
2688                            $items.removeClass(config.activeClass).eq(index).addClass(config.activeClass);
2689
2690                            if ($triggers.length) {
2691                                $triggers.removeClass(config.activeClass).eq(index).addClass(config.activeClass);
2692                            }
2693
2694                            if (typeof config.onSwitch === 'function') {
2695                                config.onSwitch($items.eq(index), index);
2696                            }
2697
2698                            currIndex = index;
2699                        }
2700
2701                        function startAuto() {
2702                            if (!config.interval) return;
2703                            timer = setInterval(function () {
2704                                switchTo((currIndex + 1) % $items.length);
2705                            }, config.interval);
2706                        }
2707
2708                        function stopAuto() {
2709                            clearInterval(timer);
2710                            timer = null;
2711                        }
2712
2713                        // 点击触发器
2714                        if ($triggers.length) {
2715                            $triggers.on('click', function () {
2716                                const index = $(this).index();
2717                                stopAuto();
2718                                switchTo(index);
2719                                startAuto();
2720                            });
2721                        }
2722
2723                        // 初始化
2724                        $items.eq(0).addClass(config.activeClass);
2725                        if ($triggers.length) {
2726                            $triggers.eq(0).addClass(config.activeClass);
2727                        }
2728                        startAuto();
2729
2730                        return {
2731                            switchTo,
2732                            stop: stopAuto,
2733                            start: startAuto
2734                        };
2735                    },
2736                    guides() {
2737                        let slidesPerView = 4;
2738                        let config = {
2739                            spaceBetween: 25,
2740                            // loop: true,
2741                            slidesPerView: 4,
2742                            // navigation: {
2743                            //     nextEl: '.guides .swiper-button-next',
2744                            //     prevEl: '.guides .swiper-button-prev',
2745                            // }
2746                        }
2747                        if ($(window).width() <= 1200) {
2748                            config.slidesPerView = 3
2749                        }
2750                        if ($(window).width() <= 1023) {
2751                            config = {
2752                                spaceBetween: 15,
2753                                pagination: {
2754                                    el: ".guides .swiper-pagination",
2755                                    clickable: true,
2756                                }
2757                            }
2758                        }
2759                        const customerSwiper = new Swiper('.guides-swiper .swiper-container', {
2760                            autoplay: {
2761                                delay: 5000,
2762                                disableOnInteraction: false
2763                            },
2764                            ...config,
2765                        });
2766                    },
2767                    discover() {
2768                        $('.discover-s-item').on('click', function() {
2769                            $('.discover-s-item').removeClass('curr');
2770                            $(this).addClass('curr');
2771                            const index = $(this).index();
2772
2773                            $('.discover-content').hide();
2774                            $('.discover-content').eq(index).show();
2775                        });
2776                    },
2777                    explore() {
2778                        function scrollExploreItemToStart(el) {
2779                            if (window.innerWidth >= 768) return;
2780
2781                            const container = document.querySelector('.explore-list-scroll');
2782                            if (!container) return;
2783
2784                            const containerRect = container.getBoundingClientRect();
2785                            const elRect = el.getBoundingClientRect();
2786
2787                            const offsetLeft = elRect.left - containerRect.left;
2788
2789                            container.scrollTo({
2790                                left: container.scrollLeft + offsetLeft,
2791                                behavior: 'smooth'
2792                            });
2793                        }
2794                        const exploreSwiper = new Swiper(".explore-content .swiper-container", {
2795                            autoplay: {
2796                                delay: 5000,
2797                                disableOnInteraction: false
2798                            },
2799                            on: {
2800                                slideChange: function () {
2801                                    const index = this.realIndex;
2802                                    const $items = $('.explore-l-item');
2803                                    const $cur = $items.eq(index);
2804
2805                                    $items.removeClass('curr');
2806                                    $cur.addClass('curr');
2807
2808                                    scrollExploreItemToStart($cur[0]);
2809                                }
2810                            }
2811                        });
2812
2813                        $('.explore-l-item').on('click', function () {
2814                            const index = $(this).index();
2815
2816                            $('.explore-l-item').removeClass('curr');
2817                            $(this).addClass('curr');
2818
2819                            exploreSwiper.slideTo(index);
2820
2821                            scrollExploreItemToStart(this);
2822                        });
2823                    },
2824                    faqs() {
2825                        $('.pur-fl-item').click(function () {
2826                            const $this = $(this);
2827                            if ($this.hasClass('curr')) {
2828                                $this.removeClass('curr');
2829                                $this.find('.pur-fl-desc').stop(true, true).slideUp();
2830                            } else {
2831                                $this.addClass('curr').siblings().removeClass('curr');
2832                                $this.find('.pur-fl-desc').stop(true, true).slideDown();
2833                                $this.siblings().find('.pur-fl-desc').stop(true, true).slideUp();
2834                            }
2835                        });
2836                        ($('.pur-fl-item.curr')[0] || $('.pur-fl-item')[0])?.click();
2837                    },
2838                    listenGaEvent: function() {
2839                        var dataLayer = window.dataLayer = window.dataLayer || [];
2840                        $(document).on('click', '.ga-banner-tryFree-btn', function(e) {
2841                            dataLayer.push({
2842                                'event': 'noviai_try', 
2843                                'event-action': 'banner_try' 
2844                            });
2845                        });
2846
2847                        $(document).on('click', '.ga-tools-try-lick', function(e) {
2848                            dataLayer.push({
2849                                'event': 'noviai_try', 
2850                                'event-action':  'tool_try' 
2851                            });
2852                        });
2853
2854                        $(document).on('click', '.ga-createai-try-btn', function(e) {
2855                            dataLayer.push({
2856                                'event': 'noviai_try', 
2857                                'event-action':  'tool_try' 
2858                            });
2859                        });
2860
2861                        $(document).on('click', '.ga-discover-tab-click', function(e) {
2862                            dataLayer.push({
2863                                'event': 'noviai_try', 
2864                                'event-action':  'inspiration_try' 
2865                            });
2866                        });
2867
2868                        $(document).on('click', '.ga-explore-tab-click', function(e) {
2869                            dataLayer.push({
2870                                'event': 'noviai_try', 
2871                                'event-action':  'case_try' 
2872                            });
2873                        });
2874
2875                        $(document).on('click', '.ga-possible-btn-click', function(e) {
2876                            dataLayer.push({
2877                                'event': 'noviai_try', 
2878                                'event-action':  'banner_try' 
2879                            });
2880                        });
2881                    },
2882                };
2883                indexObj.init();
2884            });
2885        </script>
2885
2886</body>
2887</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.