PageSourceSearch

https://flux3.video/blog

html flux3.video collected 2026-09-29 13:12:14 UTC 165,497 bytes, 200 lines download raw bytes

1<!DOCTYPE html><html lang="en" data-theme="dark" class="dark"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="description" content="Guides, updates, and announcements."><title>Blog: AI Image Tips &amp; Tutorials | FLUX 3</title><link rel="icon" href="/favicon.ico" sizes="any"><link rel="icon" type="image/png" href="/icon-512.png"><link rel="apple-touch-icon" href="/apple-touch-icon.png"><style is:global>img[src="/logo.webp"]{filter:brightness(0) invert(1) brightness(.122)}html.dark img[src="/logo.webp"]{filter:brightness(0) invert(1) brightness(.89)}#site-topnav.over-hero img[src="/logo.webp"]{filter:brightness(0) invert(1)}</style><link rel="canonical" href="https://flux3.video/blog"><meta property="og:title" content="Blog: AI Image Tips &amp; Tutorials | FLUX 3"><meta property="og:description" content="Guides, updates, and announcements."><meta property="og:url" content="https://flux3.video/blog"><meta property="og:type" content="website"><meta property="og:image" content="https://flux3.video/og-image.webp"><meta property="og:site_name" content="FLUX 3"><meta property="og:locale" content="en_US"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="Blog: AI Image Tips &amp; Tutorials | FLUX 3"><meta name="twitter:description" content="Guides, updates, and announcements."><meta name="twitter:image" content="https://flux3.video/og-image.webp"><style>@font-face{font-family:Lexend-53fd42ccf4bbf84a;src:url("/_astro/fonts/f67f37af850040a8.woff2") format("woff2");font-display:swap;font-weight:100 900;font-style:normal;}@font-face{font-family:"Lexend-53fd42ccf4bbf84a fallback: Arial";src:local("Arial");font-display:swap;font-weight:100 900;font-style:normal;size-adjust:109.9146%;ascent-override:90.9798%;descent-override:22.7449%;line-gap-override:0%;}:root{--font-sans:Lexend-53fd42ccf4bbf84a,"Lexend-53fd42ccf4bbf84a fallback: Arial",sans-serif;}</style><link rel="preload" href="/_astro/fonts/f67f37af850040a8.woff2" as="font" type="font/woff2" crossorigin>
1<script data-astro-rerun>(function(){const bentoThemeDefault = "dark";
2const bentoThemeLocked = true;
3const themeCookieName = "theme";
4
5      (function () {
6        try {
7          var COOKIE = themeCookieName;
8          var STORAGE = "theme";
9          var legacy = {
10            system: "auto",
11            "bento-light": "light",
12            "bento-dark": "dark",
13          };
14
15          function readCookie(name) {
16            var m = document.cookie.match(
17              new RegExp("(?:^|; )" + name.replace(/[.$*+?^()[\]\\]/g, "\\$&") + "=([^;]*)"),
18            );
19            return m ? decodeURIComponent(m[1]) : null;
20          }
21          function writeCookie(name, value) {
22            document.cookie =
23              name + "=" + encodeURIComponent(value) +
24              "; path=/; max-age=31536000; SameSite=Lax";
25          }
26
27          var t;
28          if (bentoThemeLocked) {
29            // Toggle disabled site-wide: the persisted choice is dead
30            // weight (there is no UI left to change it), so ignore it
31            // instead of stranding a returning visitor on a theme the
32            // site no longer offers. Left unwritten rather than cleared
33            // so re-enabling the toggle restores their old preference.
34            t = bentoThemeDefault;
35          } else {
36            var fromCookie = readCookie(COOKIE);
37            var fromStorage = null;
38            try { fromStorage = localStorage.getItem(STORAGE); } catch (e) {}
39            // Cookie wins; fall back to localStorage for legacy users
40            // and migrate it across so next request SSRs correctly.
41            var stored = fromCookie || fromStorage;
42            var raw = stored || bentoThemeDefault;
43            t = legacy[raw] || raw;
44            if (t !== "light" && t !== "dark" && t !== "auto") t = bentoThemeDefault;
45            // ONLY persist when there was already a stored value to
46            // migrate/normalize. Writing the site default on a first
47            // visit would freeze it into a 1-year cookie that is
48            // indistinguishable from a real user choice — an operator
49            // who later flips features.theme.default could never move
50            // anyone who had visited once. Not writing costs nothing:
51            // with no cookie the next request SSRs from the same
52            // default anyway.
53            if (stored) {
54              if (fromCookie !== t) writeCookie(COOKIE, t);
55              if (fromStorage !== t) {
56                try { localStorage.setItem(COOKIE, t); } catch (e) {}
57              }
58            }
59          }
60
61          var mql = window.matchMedia("(prefers-color-scheme: dark)");
62          function apply(theme) {
63            var dark = theme === "dark" || (theme === "auto" && mql.matches);
64            document.documentElement.classList.toggle("dark", dark);
65            document.documentElement.style.colorScheme = dark ? "dark" : "light";
66            document.documentElement.setAttribute("data-theme", dark ? "dark" : "light");
67          }
68          apply(t);
69
70          // ThemeToggle.tsx owns the OS-change listener for normal sites,
71          // but a locked site never mounts it — without this, `auto`
72          // there would freeze at whatever the OS was at page load and
73          // only correct on a hard refresh. Bound once per document
74          // (data-astro-rerun re-executes this script on every SPA
75          // navigation, which would otherwise stack listeners).
76          if (bentoThemeLocked && !window.__bentoThemeMqlBound) {
77            window.__bentoThemeMqlBound = 1;
78            mql.addEventListener("change", function () {
79              apply(bentoThemeDefault);
80            });
81          }
82        } catch (e) {}
83      })();
84    })();</script>
84<meta name="astro-view-transitions-enabled" content="true"><meta name="astro-view-transitions-fallback" content="animate">
84<script type="module" src="/_astro/ClientRouter.astro_astro_type_script_index_0_lang.C4RYya0w.js"></script>
84<script type="module">globalThis.process??={};globalThis.process.env??={};function a(){return{ssrOwned:new WeakSet,runtimeOwned:new WeakSet}}const l="style, link[rel=stylesheet]";function u(e,t){for(const n of e.querySelectorAll(l))t.runtimeOwned.has(n)||t.ssrOwned.add(n)}function c(e,t){for(const n of e.head.querySelectorAll("style"))if(n.textContent===t)return!0;return!1}function i(e,t){for(const n of e.head.querySelectorAll("link[rel=stylesheet]"))if(n.getAttribute("href")===t)return!0;return!1}function d(e,t,n){for(const r of t.querySelectorAll(l))if(!n.ssrOwned.has(r)){if(n.runtimeOwned.add(r),r.tagName==="LINK"){const s=r.getAttribute("href");if(!s||i(e,s))continue}else{const s=r.textContent;if(!s||c(e,s))continue}e.head.append(e.importNode(r,!0))}}const o=a();u(document.head,o);document.addEventListener("astro:before-swap",e=>{const{newDocument:t}=e;d(t,document.head,o)});document.addEventListener("astro:after-swap",()=>{u(document.head,o)});</script>
84<link rel="alternate" hreflang="en" href="https://flux3.video/blog"><link rel="alternate" hreflang="zh-Hans" href="https://flux3.video/zh/blog"><link rel="alternate" hreflang="zh-Hant" href="https://flux3.video/zh-tw/blog"><link rel="alternate" hreflang="de" href="https://flux3.video/de/blog"><link rel="alternate" hreflang="pt-BR" href="https://flux3.video/br/blog"><link rel="alternate" hreflang="ja" href="https://flux3.video/ja/blog"><link rel="alternate" hreflang="ko" href="https://flux3.video/ko/blog"><link rel="alternate" hreflang="fr" href="https://flux3.video/fr/blog"><link rel="alternate" hreflang="es" href="https://flux3.video/es/blog"><link rel="alternate" hreflang="ru" href="https://flux3.video/ru/blog"><link rel="alternate" hreflang="tr" href="https://flux3.video/tr/blog"><link rel="alternate" hreflang="th" href="https://flux3.video/th/blog"><link rel="alternate" hreflang="vi" href="https://flux3.video/vi/blog"><link rel="alternate" hreflang="id" href="https://flux3.video/id/blog"><link rel="alternate" hreflang="pl" href="https://flux3.video/pl/blog"><link rel="alternate" hreflang="nl" href="https://flux3.video/nl/blog"><link rel="alternate" hreflang="da" href="https://flux3.video/da/blog"><link rel="alternate" hreflang="nb" href="https://flux3.video/nb/blog"><link rel="alternate" hreflang="x-default" href="https://flux3.video/blog">
84<script type="application/ld+json">{"@context":"https://schema.org","@type":"WebSite","name":"FLUX 3","url":"https://flux3.video","description":"Free FLUX 3 AI video generator online. Text to video and image to video in one workspace. Start free — no card required.","inLanguage":"en"}</script>
84<script type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","name":"FLUX 3","url":"https://flux3.video","logo":"https://flux3.video/logo.webp","description":"Free FLUX 3 AI video generator online. Text to video and image to video in one workspace. Start free — no card required.","contactPoint":{"@type":"ContactPoint","contactType":"customer support","email":"[email protected]"}}</script>
84<!-- Pages can inject hreflang / canonical / Article JSON-LD / OG -->
84<script>(function(){const denied = {"ad_storage":"denied","analytics_storage":"denied","ad_user_data":"denied","ad_personalization":"denied","functionality_storage":"denied","security_storage":"denied"};
85const granted = {"ad_storage":"granted","analytics_storage":"granted","ad_user_data":"granted","ad_personalization":"granted","functionality_storage":"granted","security_storage":"granted"};
86const consentRegions = ["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","RO","SK","SI","ES","SE","IS","LI","NO","GB","CH"];
87const priorConsent = null;
88
89      window.dataLayer = window.dataLayer || [];
90      function gtag(){ window.dataLayer.push(arguments); }
91      window.gtag = gtag;
92      // Consent-required regions (EEA/UK/CH) default all-denied and wait
93      // for the banner; everywhere else defaults granted. gtag resolves
94      // overlaps by region specificity, not call order, so the pair is safe.
95      gtag("consent", "default", Object.assign({}, denied, { region: consentRegions, wait_for_update: 500 }));
96      gtag("consent", "default", granted);
97      if (priorConsent) { gtag("consent", "update", priorConsent); }
98      // While ad_storage is denied: url_passthrough carries gclid across
99      // internal navigations via URL params so an eventual conversion can
100      // still be attributed to the ad click; ads_data_redaction strips ad
101      // identifiers from the cookieless pings. Both no-op when granted.
102      gtag("set", "url_passthrough", true);
103      gtag("set", "ads_data_redaction", true);
104    })();</script>
vendor: 63 bytes, line 104
104<script async src="https://www.googletagmanager.com/gtag/js?id=
104AW-18079496541
vendor: 11 bytes, line 104
104"></script>
104<script>(function(){const ga4Id = null;
105const googleAdsId = "AW-18079496541";
106const adsConversions = {"sign_up":"AW-18079496541/mz8JCKjFvOkcEN3y_KxD","purchase":"AW-18079496541/PQ1_CMfbvOkcEN3y_KxD"};
107
108      if (typeof window.gtag === "function") {
109        window.gtag("js", new Date());
110        if (ga4Id) { window.gtag("config", ga4Id, { anonymize_ip: true }); }
111        // Ads is configured as a second target on the same gtag.js. Conversions
112        // themselves are sent by lib/analytics.ts via the map below; a `config`
113        // alone only enables the tag and its automatic remarketing hit.
114        if (googleAdsId) { window.gtag("config", googleAdsId); }
115      }
116      if (adsConversions) { window.__bentoAdsConversions = adsConversions; }
117    })();</script>
117<script defer data-website-id="4d2ee1d7-69c0-46a6-916e-b9116bee7ef4" data-host-url="https://flux3.video" src="/_b/script.js"></script>
117<script defer data-bento-analytics="umami-recorder" src="/_b/umami/bootstrap.js"></script>
117<script>(function(){const clarityId = "xvncz93vi4";
118
119    (function(c,l,a,r,i,t,y){
120      c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
121      t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
122      y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
123    })(window, document, "clarity", "script", clarityId);
124  })();</script>
124<script type="module" src="/_astro/Layout.astro_astro_type_script_index_1_lang.CmeHgRAX.js"></script>
124<script type="module" src="/_astro/Layout.astro_astro_type_script_index_2_lang.CqNbLY0g.js"></script>
124<style>
125      body[data-auth-restoring] [data-testid="account-login"],
126      body[data-auth-restoring] [data-testid="account-start-free"] {
127        visibility: hidden;
128        pointer-events: none;
129      }
130    </style><link rel="stylesheet" href="/_astro/Layout.Df7rhEvr.css">
130<script type="module" src="/_astro/page.Bs8mWKHI.js"></script>
130</head> <body class="min-h-screen bg-base-100 text-base-content flex flex-col" style="--bento-dock-h: calc(4rem + env(safe-area-inset-bottom))">  
130<script id="i18n-messages" type="application/json" data-locale="en" data-full-messages-url="/_i18n/en.json?v=2fbea7843d74" data-lazy-i18n-namespaces="[]">{"account":{"pageTitle":"Account","pageSubtitle":"Manage your account settings and preferences.","nav":{"profile":"Profile","credits":"Credits","billing":"Billing","referral":"Referral","overview":"Overview","tasks":"My tasks","apiKeys":"API keys","tickets":"Support tickets"},"profile":{"pageTitle":"Profile","title":"Profile","email":"Email","emailVerified":"Email verified","loginMethod":"Login method","loginMethodPassword":"Email + password","joined":"Joined","plan":"Current plan","planFree":"Free tier","planUpgrade":"Upgrade →","loading":"Loading…","loginMethodEmailOtp":"Email code"},"credits":{"pageTitle":"Credits","label":"Credits","subtitle":{"freeTier":"Free tier","upgradeLink":"upgrade for monthly credits"},"cta":"Purchase credits","monthlyQuota":"{used} / {quota} used this cycle","refreshIn":"Refreshes in {days} days","refreshToday":"Refreshes today","breakdown":"Premium {premium} (subscription {subscription} + purchased {purchased}) · standard-only {standardOnly}","purchasedLabel":"Purchased credits","purchasedNote":"One-time credits that can run Premium models while they last.","standardOnlyLabel":"Standard-only credits","standardOnlyNote":"Signup, check-in, and referral credits for standard models.","extraLabel":"Extra credits","extraNote":"From bonuses & purchases — never expire","recent":{"title":"Recent activity","description":"Credit changes on your account."}},"danger":{"title":"Delete account","body":"Cancelling your subscription, zeroing your credit balance, and removing all account data after 30 days. This cannot be reversed from here — contact support if you change your mind within the window.","button":"Delete my account","dialogTitle":"Delete this account?","confirmCheckbox":"I understand this will zero my credits and cancel my subscription.","emailMatchHint":"Type your full email to confirm","passwordLabel":"Your password","submit":"Delete account","submitting":"Deleting…","cancel":"Cancel"}},"assets":{"pageTitle":"My Assets","title":"My Assets","navHome":"Home","navAll":"All media","navUploads":"Uploads","navGenerated":"Generated","navFavorites":"Favorites","navTrash":"Trash","recentlyAdded":"Recently added","itemsCount":"{n} items","typeAll":"All","typeImages":"Images","typeVideos":"Videos","typeAudio":"Audio","searchPlaceholder":"Search…","zoomIn":"Smaller thumbnails","zoomOut":"Larger thumbnails","emptyTitle":"Nothing here yet","emptyDesc":"Your uploads and generated media will show up here.","loadMore":"Load more","openImage":"Open image","openVideo":"Play video","openAudio":"Play audio","itemMenu":"More actions","select":"Select","favorite":"Add to favorites","unfavorite":"Remove from favorites","addToCollection":"Add to collection","removeFromCollection":"Remove from this collection","removeFromCollectionFailed":"Couldn't remove from collection","noCollectionsYet":"No collections yet","moveToCollection":"Add to collection","download":"Download","delete":"Delete","cancel":"Cancel","deleteTitle":"Delete this asset?","deleteBody":"It moves to Trash and is removed from your generations.","bulkDeleteTitle":"Delete {n} assets?","bulkDeleteBody":"They move to Trash and are removed from your generations.","selectedCount":"{n} selected","bulkLimit":"Select up to {n} at a time","clearSelection":"Clear selection","addedToCollection":"Added to collection","addToCollectionFailed":"Couldn't add to collection","favoriteFailed":"Couldn't update favorite","deleteFailed":"Couldn't delete some assets","retentionFreeBanner":"Free plan — your media is kept for {n} days.","retentionGraceBanner":"Your subscription ends {date} — media is kept {n} more days after that. Resubscribe to keep everything.","retentionUpgradeCta":"Upgrade for permanent storage","expiresInDays":"{n}d left","upload":"Upload","uploadDone":"Uploaded {n} file(s)","uploadFailed":"Some files couldn't be uploaded","restore":"Restore","restoreFailed":"Couldn't restore","collectionsLabel":"Collections","newCollection":"New collection","newCollectionDesc":"Group your assets manually.","renameCollection":"Rename","deleteCollection":"Delete collection","deleteCollectionTitle":"Delete this collection?","deleteCollectionBody":"The collection is removed. Your assets are kept.","collectionMenu":"Collection options","collectionNamePlaceholder":"Collection name","collectionSaveFailed":"Couldn't save collection","save":"Save","sortNewest":"Newest first","sortOldest":"Oldest first","filterModel":"Model","filterUploadsOnly":"Uploads only","detailFit":"Fit","detailShowInfo":"Show info","detailHideInfo":"Hide info","detailInCollection":"In {name}","detailFormat":"Format","detailCreated":"Created","detailDownloadOriginal":"Original","detailDownloadPng":"PNG","detailLoop":"Loop","detailPosition":"{current} of {total}","multiSelectHint":"+ click to multi-select","loadMoreCount":"Load {n} more","detailShowMore":"Show more","detailInputImages":"Input images","detailSwipeHint":"swipe","copyAction":"Copy","copiedAction":"Copied"},"auth":{"register":{"pageTitle":"Sign up","title":"Create an account","emailLabel":"Email","passwordLabel":"Password (≥ 6 chars)","submit":"Create account","submitting":"Sending…","haveAccount":"Already have an account?","logIn":"Log in","verificationSent":"Check your email and open the verification link to finish signing up."},"verify":{"pageTitle":"Verify email","title":"Verify your email","hint":"Open the verification link 
130we sent to your email to activate your account.","emailLabel":"Email","codeLabel":"Verification link","submit":"Verify email","submitting":"Verifying…","verifyingLink":"Verifying your email…","success":"Email verified. Redirecting…","resend":"Resend verification email","resent":"Verification email sent. Check your inbox.","errors":{"expired":"This verification link has expired. Enter your email and send a new link.","invalid":"This verification link is invalid. Enter your email and send a new link.","session":"Email verified, but we could not start a session. Please log in."}},"login":{"pageTitle":"Log in","title":"Log in","emailLabel":"Email","passwordLabel":"Password","emailPlaceholder":"[email protected]","passwordPlaceholder":"Enter your password","submit":"Log in","submitting":"Logging in…","noAccount":"No account?","signUp":"Sign up","forgot":"Forgot password?","continueWithGoogle":"Continue with Google","orDivider":"or","emailDisabledBody":"Email sign-in is disabled for this site. Please continue with Google.","noAuthMethodsBody":"No sign-in method is currently available. Please contact the site operator.","errors":{"oauth_failed":"Google sign-in failed. Please try again.","popupClosed":"The Google sign-in window was closed. Please try again.","popupDenied":"Google sign-in was cancelled. Please try again.","popupTimeout":"Google sign-in timed out. Please try again.","sessionRefreshFailed":"Google sign-in completed, but this page could not refresh your session. Refresh the page to continue.","banned":"Your account has been disabled. Please contact support.","invalidCredentials":"Email or password is incorrect.","emailNotVerified":"Please verify your email first. We sent a fresh verification link."},"recovery":{"title":"You're already signed in","body":"This Google sign-in didn't finish, but this browser is still signed in as {account}.","continue":"Continue with this account","switchAccount":"Use a different account","switchFailed":"Couldn't sign out. Please try again."}},"forgot":{"pageTitle":"Forgot password","title":"Forgot your password?","hint":"Enter your email and we'll send you a password reset link.","emailLabel":"Email","submit":"Send reset code","submitting":"Sending…","sentTitle":"Check your email","sentBody":"If an account exists for this email, we've sent a reset link.","sentBodyPrefix":"If an account exists for","sentBodySuffix":", we've sent a reset link. Open it to set a new password.","continue":"Continue","remember":"Remember your password?","logIn":"Log in"},"reset":{"pageTitle":"Reset password","title":"Reset your password","emailLabel":"Email","codeLabel":"Reset code","newPasswordLabel":"New password (≥ 6 chars)","submit":"Update password","submitting":"Updating…","success":"Password updated. You can log in now.","errors":{"expired":"This reset link has expired. Request a new one.","invali
130d":"This reset link is invalid. Request a new one."}},"extensionLogin":{"pageTitle":"Connect extension","connecting":"Connecting your extension…","invalid":"This extension link is invalid or expired. Please reopen it from the extension.","errors":{"oauth_failed":"Sign-in failed. Please try again from the extension."}},"otp":{"email":"Email address","code":"6-digit code","send":"Continue with email","verify":"Verify and continue","pending":"Please wait…","sent":"We sent a sign-in code to","resend":"Resend code","change":"Change email","hint":"No password needed. New here? We’ll create your account after verification.","wait":"Please wait a minute before trying again.","invalid":"This code is incorrect or expired. Try again or request a new code.","unverified":"Please verify your existing account using its original sign-in method.","failed":"Unable to complete email sign-in. Please try again or use Google."}},"banner":{"dismiss":"Dismiss"},"billing":{"pageTitle":"Billing","tabCredits":"Credits","tabSubscription":"Subscription","tabOrders":"Orders","creditsTitle":"Credit balance & history","subscriptionTitle":"Subscription","ordersTitle":"Order history","currentBalance":"Current balance","credits":{"loading":"Loading credits…","empty":"No credit activity yet.","timeCol":"Time","amountCol":"Change","balanceCol":"Balance","reasonCol":"Reason","refundClawback":"Refund requested {requested}; recovered {actual} from remaining credits.","prev":"‹ Prev","next":"Next ›","filterAll":"All","filterEarned":"Earned","filterSpent":"Spent"},"creditsReason":{"purchase":"Credit pack purchase","admin_adjust":"Admin adjustment","ai_deduct":"AI generation","ai_refund":"AI refund","checkin":"Daily check-in","signup_bonus":"Sign-up bonus","subscription_reset":"Subscription renewal","refund":"Order refund","referral_inviter":"Referral reward","referral_invitee":"Friend invite bonus","referral_first_purchase":"Referral first-purchase bonus","account_deleted":"Account deletion","account_restored":"Account restored","recall_bonus":"Win-back bonus"},"creditsTier":{"subscription":"Subscription","paid_pack":"Purchased","free":"Standard-only","permanent":"Legacy"}},"blog":{"indexTitle":"Blog: AI Image Tips & Tutorials","indexDescription":"Guides, updates, and announcements.","indexHeading":"Blog","indexSubheading":"Read about our latest product features, solutions, and updates.","emptyState":"No posts yet. Check back soon.","backToList":"← Back to all posts","writtenBy":"Written by","publishedOn":"Published on","updatedOn":"Last updated","notFoundTitle":"Post not found","notFoundBody":"The article you're looking for doesn't exist in this language.","categoriesLabel":"Categories","allCategoriesLabel":"All posts","categoryHeadingPrefix":"Category","categorySubheading":"Posts filed under","categoryEmpty":"No posts in this category yet.","categoryDescription":"Browse Bento blog posts filed under {name}.","viewCategory":"View category","showMorePosts":"Show more posts","categories":{"products":"Products","partner":"Partner","information":"Information","announcements":"Announcements","release-notes":"Release notes","uncategorized":"Uncategorized"}},"breadcrumb":{"home":"Home"},"capability":{"t2i":{"label":"Text to image","description":"Generate images from a text prompt."},"i2i":{"label":"Image to image","description":"Edit an uploaded image with a prompt."},"t2v":{"label":"Text to video","description":"Generate a video from a text prompt."},"i2v":{"label":"Image to video","description":"Animate a still image with a prompt."},"v2v":{"label":"Video to video","description":"Transform an existing video."},"r2v":{"label":"Reference to video","description":"Generate a video from reference images."},"audio_tts":{"label":"Text to speech","description":"Synthesize speech from text."},"text_chat":{"label":"Chat","description":"Conversational completion."},"image_generate":{"label":"Text to Image","description":"Generate images from a text prompt."},"image_edit":{"label":"Image to Image","description":"Edit an uploaded image with a prompt."},"image_restyle":{"label":"Restyle","description":"Restyle an image into a chosen art style."},"image_upscale":{"label":"Upscale","description":"Increase image resolution."},"image_inpaint":{"label":"Inpaint","description":"Fill or replace masked regions of an image."},"image_outpaint":{"label":"Outpaint","description":"Extend an image beyond its borders."},"image_remove_bg":{"label":"Remove background","description":"Cut the subject out of its background."},"image_restore":{"label":"Restore","description":"Repair noisy or damaged images."},"video_generate":{"label":"Text to video","description":"Generate a video from a text prompt."},"video_animate":{"label":"Image to video","description":"Animate a still image with a prompt."},"video_first_last_frame":{"label":"First/last frame","description":"Interpolate a video between two key frames."},"video_extend":{"label":"Extend video","description":"Extend an existing video."},"video_upscale":{"label":"Upscale video","description":"Increase video resolution."},"video_lip_sync":{"label":"Lip sync","description":"Sync video lips to an audio track."},"video_motion_control":{"label":"Motion control","description":"Apply camera motion to a still image."},"audio_speech":{"label":"Text to speech","description":"Synthesize speech from text."},"audio_music":{"label":"Music","description":"Generate a music clip from a prompt."},"audio_voice_clone":{"label":"Voice clone","description":"Clone a voice from a sample."},"audio_separate":{"label":"Stem separation","description":"Split audio into vocals/instrumental."},"model_generate":{"label":"Text to 3D","description":"Generate a 3D model from a prompt."},"model_reconstruct":{"label":"Image to 3D","description":"Reconstruct a 3D model from an image."},"image_understand":{"label":"Image Q&A","description":"Ask questions about an image."},"chat":{"label":"Chat","description":"Conversational completion."}},"checkin":{"pageTitle":"Daily check-in","title":"Daily Check-In","subtitle":"Check in consecutively to earn more credits. The 7-day cycle resets if you miss a day.","guestTitle":"Sign in to get {free} free credits instantly","guestSubtitle":"Plus earn {cycle} more credits by checking in for 7 consecutive days","guestCapImages":"~{n} images","guestCapVideos":"~{n} videos","streakLabel":"Current streak","streakUnit":"days","nextRewardLabel":"Next reward","cycleDayLabel":"Day {n}","cycleLabel":"7-day streak cycle","dailyRewards":"Daily rewards: up to {n} credits","claimButton":"Check in today","claiming":"Claiming…","alreadyClaimed":"You've checked in today","successPrefix":"Got","successSuffix":"credits!","invite
130Cta":"Want more? Invite friends — you both earn free credits","pleaseLogin":"Please log in to check in","loginCta":"Login to Start Check-In","todayLabel":"Today"},"cookie":{"banner":{"title":"Cookie Settings","message":"We use cookies to improve your experience.","messageShort":"We use cookies to improve your experience.","accept":"Accept All","reject":"Reject All","close":"Dismiss","learnMore":"Privacy Policy"}},"creations":{"pageTitle":"My Creations","title":"My Creations","subtitle":"View and manage all your AI-generated content","tabAll":"All","tabImages":"Images","tabVideos":"Videos","tabFavorites":"Favorites","searchPlaceholder":"Search prompts...","allStatus":"All Status","loading":"Loading creations…","emptyTitle":"No creations yet","emptyDesc":"Start creating to see your work here","empty":"You haven't created anything yet.","goGenerate":"Start creating","loadMore":"Load more","noMore":"No more creations","status_completed":"Completed","status_failed":"Failed","status_processing":"Processing","status_pending":"Pending","status_timeout":"Timeout","creditsUsed":"Credits: {n}","openImage":"Open image","openVideo":"Play video","generating":"Generating…","actions":{"download":"Download"}},"dashboard":{"pageTitle":"Dashboard","welcome":"Welcome back","credits":"Credits","emailVerified":"Email verified","memberSince":"Member since","recentActivity":"Recent activity","noActivity":"No activity yet. Activity from AI tasks will show here once you start using credits.","loading":"Loading your dashboard…","pleaseLogin":"Please log in","loginHint":"You need an account to view this page.","goToLogin":"Go to login","refreshFailed":"Failed to refresh account","refreshErrorPrefix":"Couldn't refresh:","manageSubscription":"Manage subscription","buyCredits":"Buy credits","shortcutsTitle":"Quick actions","checkinLabel":"Daily check-in","checkinGo":"Claim now","checkinDone":"Done today","referralLabel":"Invite friends","referralInvitedSuffix":"invited","referralCta":"Share your link","ticketsLabel":"Support tickets","ticketsOpenSuffix":"open","ticketsNew":"Open a ticket","loginPromptTitle":"Sign in to continue","loginPromptBody":"Log in to access your account, credits, and history."},"errors":{"unexpected":"Unexpected error. Please try again.","unexpected_hint":"Reload the page to continue.","retry":"Retry","network_offline":"You are offline.","network_restored":"Back online.","draft_media_too_large":"This file is too large to keep through sign-in. Choose a file under 50 MB.","draft_media_unavailable":"This browser couldn't keep the image for sign-in. Try a smaller image or another browser.","draft_media_restore_failed":"We couldn't restore your selected image after sign-in. Please choose it again.","draft_media_restore_failed_generic":"We couldn't restore your selected image. Please choose it again.","draft_media_upload_failed":"We couldn't upload your selected image. Please try again.","moderation_blocked":"Your input contains content that violates our content policy. Please revise and try again.","moderation_blocked_sexual":"Your input contains sexual content. Please revise and try again.","moderation_blocked_violence":"Your input contains violent content. Please revise and try again.","moderation_blocked_hate":"Your input contains hateful content. Please revise and try again.","moderation_blocked_self_harm":"Your input references self-harm. Please revise and try again.","moderation_blocked_illicit":"Your input contains illicit content. Please revise and try again.","moderation_blocked_too_long":"Your input is too long. Please shorten it and try again.","music_copyrighted_lyrics":"Those lyrics look copyrighted. Please write original lyrics and try again.","music_audio_matches_existing_work":"That upload matches an existing recording. Please use an original clip.","music_sensitive_words":"That prompt was filtered for sensitive words. Please revise and try again."},"family":{"google":{"description":"Google's image and video models."},"openai":{"description":"OpenAI image and chat models."},"anthropic":{"description":"Anthropic's Claude models."},"gemini":{"description":"Google Gemini models."},"meta":{"description":"Meta's open models."},"stability":{"description":"Stability AI image models."},"flux":{"description":"Flux image models."},"ideogram":{"description":"Ideogram image models."},"recraft":{"description":"Recraft design-focused models."},"bytedance":{"description":"ByteDance Doubao / Seedream family."},"kling":{"description":"Kling video and image models."},"minimax":{"description":"MiniMax models."},"hailuo":{"description":"Hailuo video models."},"runway":{"description":"Runway video models."},"luma":{"description":"Luma Dream Machine models."}
130,"qwen":{"description":"Qwen multimodal models."},"wan":{"description":"Wan video models."},"z-image":{"description":"Z-Image models."},"elevenlabs":{"description":"ElevenLabs voice models."},"topaz":{"description":"Topaz Labs upscalers."},"custom":{"description":"Custom and white-label models."}},"feedback":{"title":"Send feedback","close":"Close","categoryLabel":"Type","categoryBug":"Bug report","categoryFeature":"Feature request","categoryOther":"Other","subjectLabel":"Subject (optional)","subjectPlaceholder":"Briefly describe the topic","messageLabel":"Message","messagePlaceholder":"Tell us what's on your mind","ratingLabel":"Rating (optional)","emailLabel":"Email (optional)","emailPlaceholder":"[email protected]","submit":"Send","submitting":"Sending…","successMessage":"Thanks for your feedback!","rateLimit":"Too many submissions. Please wait a minute and try again."},"footer":{"tagline":"","disclaimer":"FLUX 3 is an independent product and is not affiliated with, endorsed by, or sponsored by Black Forest Labs. Related model names are trademarks of their respective owners, used here for identification only. We provide access to third-party AI models through our own interface.","badgeHeading":"Featured on","legal":{"terms":"Terms","privacy":"Privacy","refund":"Refund","cookiePreferences":"Cookie Preferences"}},"funnel":{"heroCta":"Generate for Free"},"generate":{"pageTitle":"AI generation","title":"Studio","subtitle":"Create · iterate · collect","topup":"Top up","creditsUnit":"credits","creditCost":{"one":"{n} credit","few":"{n} credits","many":"{n} credits","other":"{n} credits"},"freeCost":"Free","capUnsupported":"Current model doesn't support this task","compareAll":"Compare all","browseAll":"Browse all models","browseAllTools":"Browse all tools","modelPickerAllFamilies":"All","modelPicker":{"searchPlaceholder":"Search models...","speed":"Speed","quality":"Quality","cost":"Cost","back":"Back","useThisModel":"Use this model"},"pricing":{"chip":{"second":"Per second","clip":"Per clip","image":"Per image","task":"Per generation"},"suffix":{"second":"/s","clip":"credits","image":"/image","task":"credits"},"valueHeader":{"second":"Per second","clip":"Per clip","image":"Per image","task":"Credits"},"present":{"standard":"Standard","withRef":"With reference video"},"floor":"⚓ Minimum charge {n} credits","detailsToggle":"Cost breakdown"},"pasteUrl":"Paste URL","fromHistory":"From history","fromAssets":"From assets","assetPicker":{"all":"All media","generated":"Generated","uploads":"Uploads","favorites":"Favorites","collections":"Collections","empty":"Nothing here yet.","emptyCollection":"This collection is empty.","full":"You've reached the limit of {max}. Remove one to add another.","loadError":"Couldn't load your assets — tap to retry."},"resetForm":"Reset form","watermark":{"label":"Remove watermark","freeHint":"Upgrade for images without the site mark","paidHint":"Turn off to skip the site mark","paywallTitle":"Images without a watermark","paywallBody":"A plan or credit pack lets you turn the site mark off."},"formPreferences":"Form preferences","creditsLabel":"Credits:","discountBadge":"{percent}% OFF","discountSaleTag":"SALE","discountPickerTag":"OFF","advancedOptions":"{n} advanced option","editPrompt":"Edit Prompt","expandField":"Open editor","saveChanges":"Save Changes","clear":"Clear","promptDialogHint":"Press Cmd/Ctrl + Enter to save","prefs":{"title":"Form preferences","subtitle":"Customize how the form behaves after submit.","clearAfterSubmit":"Clear after submit","clearAfterSubmitHint":"Reset the input after you generate.","clearScope":"Clear scope","clearScopePrompt":"Clear prompt only","clearScopeAll":"Clear all fields (reset to defaults)","keepPrompt":"Keep prompt when switching models","keepPromptHint":"Preserve your prompt text across models.","expandAdvanced":"Expand advanced options by default","expandAdvancedHint":"Always show advanced parameters."},"enhance":"Enhance","aiPolish":"Polish prompt","aiPolishLoading":"Polishing…","aiPolishFailed":"Polish failed. Please try again.","aiEdit":"Edit with AI","aiEditLoading":"Editing…","aiEditFailed":"Edit failed. Please try again.","aiEditPopoverTitle":"What do you want to change?","aiEditInstructionPlaceholder":"Write the part you want to change","aiEditSubmit":"Apply","aiEditCancel":"Cancel","promptClampedToLimit":"Trimmed to {max} characters for this model.","surprise":"Surprise me","chipInsert":"Insert into prompt","invali
130dHintPrefix":"Prompt references missing images:","removeAllInvalid":"Remove all","submitWarnTitle":"Prompt references missing images","submitWarnBody":"Some references in your prompt point to images that no longer exist. The model may ignore them or interpret them incorrectly. Continue anyway?","submitWarnContinue":"Generate anyway","submitWarnCancel":"Go back","handoffImageUnsupported":"This model doesn't accept reference images — only the prompt was filled in.","missingImage":"Please upload an image first","missingVideo":"Please upload a video first","missingAudio":"Please upload an audio file first","missingPrompt":"Please write a prompt first","missingRequired":"Please fill in the required fields","outputEyebrow":"Output","outputParams":"Output settings","outputParamsLocked":"Some settings are locked by this tool.","outputParamOn":"on","outputParamOff":"off","outputParamAudio":"Audio","submitVerb":"Generate","unitImage":"image|images","unitVideo":"video|videos","crShort":"cr","creditsShort":"Just {n} credits short — top up to continue","copiedToast":"Prompt copied","downloadStartedToast":"Downloading…","generateWithAI":"Generate with AI","pleaseLogin":"Please log in to use AI generation.","pleaseLoginAlt":"Mochi, our mascot, holding a key by a locked sign-in panel","loadingModels":"Loading models…","noModels":"No models available. Ask an admin to enable one.","modelLabel":"Model","effectHub":{"label":"Effect","modalTitle":"Select an effect"},"toolLabel":"Tool","capPicker":{"browseAll":"Browse all","categoryLabel":{"image":"Image","video":"Video","audio":"Audio"},"section":{"all":"All","generation":"Generate","tool":"Tools","effect":"Effects"}},"promptLabel":"Prompt","promptPlaceholder":"Describe what you want to generate… (type @ to reference an image)","promptPlaceholderNoRef":"Describe what you want to generate…","placeholderHint":"Tap the blue fields below to fill them in","refsAtHint":"After uploading, type @ in the prompt to reference an image.","atEmptyTitle":"No reference images yet — upload one first.","atEmptyAction":"Upload","atEmptyEsc":"Esc to close","insertRefTooltip":"Insert reference (@)","submit":"Generate Image","submitting":"Submitting…","estimate":"Estimated credits:","creditsBalance":"Balance:","statusLabel":"Status","status_pending":"Queued","status_processing":"Generating…","status_completed":"Done","status_failed":"Failed","status_timeout":"Timed out","failedRefunded":"Generation failed, credits refunded","failedShort":"Generation failed","creditsRefunded":"Credits refunded","waiting":"Waiting for result (this can take 10–60 seconds)…","elapsed":"{s}s elapsed","retry":"Retry","timedOut":"Generation timed out, credits refunded","partialBadge":"{n} of {m} succeeded — some outputs failed and credits refunded accordingly","refundedToast":"Refunded {n} credits","result":"Result","download":"Download","viewAll":"View all my tasks","failed":"Couldn't submit task:","submitHint":"Enter describes what you want","mode":{"image":"Image","video":"Video"},"feed":{"title":"History","runs":"{n} runs","empty_hint_cmd":"Type your idea and hit","show_n_more":"Show {n} more","empty_title":"Let's make something!","anon_empty_title":"Your history starts here","anon_empty_body":"Create something and your results will appear here.","anon_empty_start":"Start creating","anon_empty_shortcut":"Tip: Press","anon_empty_open_image_generator":"Open image generator","anon_empty_open_video_generator":"Open video generator","anon_empty_open_audio_generator":"Open music generator","empty_hint":"Describe what you want on the left, then press ⌘↵","empty_alt":"Mochi, our mascot, waiting for your first creation","show_more":"Show more","loading_more":"Loading…","local_runs":"{n} pending","tab_history":"History","tab_examples":"Examples","try_sample":"Try Sample","use_this":"Use this","tab_inspiration":"Inspiration","inspiration_empty_title":"No inspiration yet.","inspiration_empty_body":"Check back soon.","inspiration_load_error":"Couldn’t load inspiration.","previous_example":"Previous example","next_example":"Next example","go_to_example":"Go to example {n}","tab_image":"Images","tab_video":"Videos","empty_history":"No images from history yet.","empty_video":"No videos from history yet.","filter":{"category_aria":"Filter by media","kind_aria":"Filter by type","category_all":"All","category_image":"Image","category_video":"Video","category_audio":"Audio","kind_all":"All","kind_generation":"Generation","kind_tool":"Tools","kind_effect":"Effects","kind_menu":"Type","clear":"Clear filters"}
130,"empty_filtered_hint":"Try another filter, or create something new.","empty_filtered":{"image":"No image creations yet","video":"No video creations yet","audio":"No audio creations yet","generation":"No model generations yet","tool":"No tool runs yet","effect":"No effect runs yet","image_generation":"No image generations yet","image_tool":"No image tool runs yet","image_effect":"No image effect runs yet","video_generation":"No video generations yet","video_tool":"No video tool runs yet","video_effect":"No video effect runs yet","audio_generation":"No audio generations yet","audio_tool":"No audio tool runs yet","audio_effect":"No audio effect runs yet"},"delete_run":"Delete","delete_image":"Remove this image","delete_failed":"Failed to delete, please try again","favorite":"Favorite","favorited":"Favorited","favorite_failed":"Couldn't update favorite, please try again","stuck":"Stuck","processing_with_elapsed":"Processing · {elapsed}","input_badge":"{n} input","batch_ready":"Generation ready","actions":{"download":"Download","more":"More actions","play":"Play video"},"unsupported_media":{"video":"Video preview coming soon","audio":"Audio preview coming soon","text":"This task type isn't previewable yet"},"time_bucket":{"today":"Today","yesterday":"Yesterday","this_week":"Earlier this week","last_week":"Last week"}},"detail":{"title":"Run detail","prompt":"Prompt","meta":"Metadata","outputs":"Outputs","expand":"Open full-size","close":"Close","regenerate":"Regenerate","copy_prompt":"Copy prompt","download":"Download","no_output":"No output yet","credits":"credits","share":"Share","shareEarnBadge":"Earn credits","continue":"Continue with this image","group_edit_image":"Edit image","group_make_video":"Make video","image_to_image":"Edit Image","image_to_video":"Animate image","inputs":"Inputs","input_expired":"Expired","use_input_as_ref":"Use as reference"},"action":{"edit_this":"Edit this image","edit_short":"Edit","video_short":"Video","tool_short":{"image-upscaler":"Upscale","image-extender":"Extend","background-remover":"BG Remove"},"audio_extend":"Extend","audio_cover":"Cover","audio_remove_vocals":"Remove vocals","audio_download_wav":"Download WAV","added_as_reference":"Added as reference image","switched_to_i2i":"Switched to an image-editing model and filled in the image","array_full":"Reference image slot is full","no_i2i_model":"No image-editing model is currently available"},"cap":{"t2i":"Text to image","i2i":"Image to image","t2v":"Text to video","i2v":"Image to video","v2v":"Video to video","r2v":"Reference to video"},"loginRequiredTitle":"Sign in to generate","loginContinueTitle":"Welcome to {appName}","loginPromptUnlock":"Unlock premium AI tools for free","loginContinueSubtitleDialog":"Sign up and generate for free","loginRequiredBody":"Sign up to unlock free generation across every model.","loginCountdownUnlock":"Log in within the next {countdown} to unlock:","loginBenefitCredits":"Get {n} free credits when you sign up — ~3 images or 1 video","loginBenefitModels":"Unlock more models and capabilities","loginPromptBenefit":{"credits":"{freeCredits} free credits when you sign up — ~3 images or 1 video","creditsWithCheckin":"**{freeCredits} free credits** when you sign up + **{weeklyCredits}/week** via daily check-ins","premiumModels":"Premium AI Models: **FLUX3 Image**, **FLUX3 Video**, **GPT Image** & **Veo 3**","premiumModelsLine":"Premium AI Models: {models}","studioQuality":"Studio-quality generation: cinematic video + photoreal stills","history":"Keep every generation in **History**","video":"Free video generation","videoModels":"(FLUX3, Veo 3.1, Seedance 2 and more)","image":"Free image generation","imageModels":"(FLUX3 Image, GPT Image, Nano Banana and more)","music":"Free music generation","voice":"Free voice generation"},"loginPromptGift":{"title":"Welcome Gift for You!","body":"Sign up now — no credit card. Start creating instantly.","quota":"Your first **video** is on us","quotaThen":"Then 2 images or another clip if you want","quotaImage":"Your first **image** is on us","quotaImageThen":"That's 1 image on us","quotaOne":"Your first **generation** is on us","quotaOneThen":"That's 1 free generation","speed":"Lightning-fast generation","quality":"Studio-quality image & video","noPayment":"No payment needed","claim":"Claim your free gift","limited":"Limited time offer","discount":"Sign up and get an additional discount"},"welcomeGiftPrompt":{"title":"A welcome gift for you","lineLogin":"Free credits when you sign up","lineCheckin":"No credit card required","lineMore":"Use your credits to start creating","cta":"Claim free credits","close"
130:"Close"},"welcomeGiftDialog":{"later":"Not now","eyebrow":"A welcome gift for you","title":{"video":"Your first video is on us.","image":"Create your first image for free."},"subtitle":"Sign in to claim {credits} free credits, enough for {buys}. No credit card or subscription required.","subtitleNoCredits":"Sign in to claim your free welcome credits. No credit card or subscription required.","buys":{"clip":"one clip","clips":"{n} clips","image":"one image","images":"{n} images"},"cta":{"video":"Create a free video","image":"Create a free image"},"card":{"title":"A little gift to get you started.","subtitle":"Sign in to claim your free credits, enough for {buys}. No credit card required.","cta":"Claim free credits","label":"Welcome gift","member":"New member","unit":"credits"}},"inviteFloatPrompt":{"title":"Invite & Earn","subtitle":"Free credits for you both","lineFriends":"Friends get {invitee} free credits on signup","lineYou":"You earn {inviter} credits per invite","statFriend":"Friend signs up","statYou":"You, per inv
130ite","cta":"Invite friends","close":"Close"},"freeQuotaWall":{"visitorTitle":"You've used today's free generations","visitorBody":"Log in to keep creating — faster, with more models.","siteTitle":"Today's free quota is all used up","siteBody":"Sign in to save your work and use your available credits.","loginCta":"Log in","dismissCta":"Not now","claimed":"Welcome back — your earlier creations are now in your library.","premiumResubmitRequired":"This saved creation now uses a Premium model. Please submit it again after choosing a Premium credits option.","claimInsufficientCredits":"We saved your earlier creation, but you need more credits before it can start."},"anonSavePrompt":{"body":"Signed-out creations vanish from this page on refresh. Sign in to save them to your library — and generate faster.","cta":"Sign in"},"loginRegisterGoogle":"Continue with Google","loginGoRegister":"Sign up with email","loginGoLogin":"Go to login","loginConsent":"By continuing, you agree to our {terms} and {privacy}.","loginConsentTerms":"Terms of Service","loginConsentPrivacy":"Privacy Policy","lowCreditHint":"{n} credits left — keep the groove going","topUp":"Top up","softPromptHint":"Want to keep this groove? Fuel your inspiration","softPromptCta":"Top up →","returningUserPromptHint":"You've got the hang of it — keep creating without limits","referralPromptHint":"Love your creations? Invite friends and you both earn free credits","referralPromptCta":"Invite →","goToLogin":"Go to login","dismiss":"Not now","outOfCreditsTitle":"Out of credits","outOfCreditsBody":"Pick a plan below to keep generating — checkout opens in a new tab and you'll come right back here.","upgradeRecommended":"Recommended","upgradeBuyNow":"Buy now","viewPlans":"View plans","referralExit":"Low on credits? Invite friends and you both earn free credits","subscriptionBadge":"Premium","premiumOption":"This option","premiumCreditsTitle":"Premium credits required","premiumCreditsBody":"{model} uses Premium credits. Subscribe or buy credits once to continue.","selectModel":"Select a model","uploadReference":"Upload Reference Image","uploadImage":"Click or drop","replaceImage":"Replace","uploadVideo":"Click or drop video","uploadAudio":"Click or drop audio","videoModeText":"Text","videoModeFrames":"Frames","videoModeReference":"Reference","framePairTitle":"Start & End Frames","startFrame":"Start frame","endFrame":"End frame (optional)","simple":{"startFrame":"Start frame","endFrame":"End frame","start":"Start","end":"End","addStartFrame":"Add a start frame","addEndFrameTitle":"Add an end frame","addEndFrame":"Optional end frame","dropHint":"Click or drop an image","removeFrame":"Remove","preview":"Production preview","recreate":"Recreate","examples":"Examples","previousExample":"Previous example","nextExample":"Next example","recent":"Recent generations","viewHistory":"View history"},"uploadHint":"Max 50 MB per file","referenceUploadHint":"Upload 1-3 reference images to guide style and subject.","referenceCountExact":"Upload exactly {n} images.","referenceCountAtLeast":"Upload at least {n} images.","uploading":"Uploading…","optional":"(Optional)","showAll":"Show all ({n})","assetPickerTitle":"Select Image ({n})","yourUploads":"Your uploads","yourGenerations":"Your generations","noImagesFound":"No images found","loading":"Loading…","cancel":"Cancel","confirm":"Confirm","requiredCredits":"Required Credits","generateButton":"Generate","loadMore":"Load more","copied":"Copied","additionalDetails":"Additional Details","detailModel":"Model","detailSource":"Source","detailStatus":"Status","nextSteps":"Next Steps","regenerate":"ReGenerate","imageToImage":"Image to Image","imageToVideo":"Image to Video","threeDCamera":"3D Camera","comingSoon":"Soon","publicToggle":"Public","delete":"Delete","share":"Share","confirmDeleteTitle":"Delete this generation?","confirmDeleteBody":"This hides the generation from your history. It cannot be undone from here.","confirmDeleteImageTitle":"Remove this image?","confirmDeleteImageBody":"This image will be hidden from your history. This cannot be undone.","confirmDeleteChatTitle":"Delete this conversation?","confirmDeleteChatBody":"The conversation and its share link are removed. Your generated images are kept.","detailDialogTitle":"Generation details","rightPanel":{"sampleImagesTitle":"Sample Images","myImagesTitle":"My Images","signInPrompt":"Sign in to see your creations and history.","signInCta":"Sign in","noGenerationsYet":"No generations yet.","noGenerationsHint":"Your finished generations will appear here.","historyComingSoon":"History browsing is coming back soon. Your current generation appears below the form."},"family":{"openai":{"description":"OpenAI image model family"},"xai":{"description":"xAI image model family"},"google":{"description":"Google AI model family"},"turbo":{"description":"Lightning-fast image generation and editing"},"supaimagine":{"description":"SupaImagine house models"},"bytedance":{"description":"Bytedance Seedance video model family"}
130,"tools":{"description":"Specialized AI tools"},"alibaba":{"description":"Alibaba HappyHorse cinematic video models"},"krea":{"description":"Krea aesthetic image models"},"reve":{"description":"Reve visual intelligence and precision editing models"},"qwen":{"description":"Qwen Image model family — rich layouts, authentic details, multi-language text"},"flux":{"description":"FLUX models from Black Forest Labs — multimodal image and video generation with high control and realism"},"minimax":{"description":"MiniMax music and multimodal models"},"studio":{"description":"In-house music engine — prompt, lyrics, or instrumental tracks with vocals"},"hailuo":{"description":"MiniMax Hailuo video models"},"memoji":{"description":"Memoji Generator — cartoon character looks from photos for social profiles and content"}},"model":{"gpt-image-2":{"description":"Realistic images with readable multilingual text and precise edits. Up to 4K, 16 reference images."},"gpt-image-2-5-flare":{"description":"Everyday default, faster than GPT Image 2. Holds one character and style across grid sheets; up to 4K."},"gpt-image-2-5-sunburst":{"description":"For repeated precise edits: untouched areas stay put across passes. Slower; up to 4K, 16 references."},"grok-imagine-image-2":{"description":"Precise region edits and strong in-image text on high-fidelity stills. Up to 2K, 4 images per run."},"flux3":{"description":"Video with synchronized audio from text, images, or a start clip. 720p or 1080p, clips of 5–20s."},"flux3-image":{"description":"High-fidelity stills with strong in-image text and precise control. Up to 4K, 16 reference images."},"qwen-image-3":{"description":"Dense multi-panel layouts, fine detail, and multi-language text for production work. Up to 2K."},"qwen-image-2":{"description":"Fast, varied everyday images and edits for drafts and iteration. Blends up to 10 reference images."},"reve-2-1":{"description":"Layout-smart images with accurate text, including non-Latin scripts. Up to 4 images per run."},"background-remover":{"description":"Cuts out the subject in one click. Export on transparent, white, green, or blurred backgrounds."},"image-upscaler":{"description":"Enlarges photos 2×, 4×, or 8× for print or crisp display."},"image-extender":{"description":"Changes a photo's aspect ratio without cropping; AI fills in the extra scene. From 21:9 to 9:21."},"ai-clothes-changer":{"description":"Virtual try-on: dresses a person in up to 6 garments while keeping their face, pose, and body."},"ai-music-generator":{"description":"Full songs from a quick prompt, your own lyrics, or instrumental only. Choose male or female vocals."},"minimax-music-3":{"description":"MiniMax Music 3: lyrics-driven songs up to five minutes, with a structured brief for genre, BPM and arrangement"},"video-upscaler":{"description":"Upscales any video to 1080p, 2K, or 4K with sharper textures and cleaner edges."},"video-background-remover":{"description":"Removes a video's background and keeps the original audio. Export transparent or swap in a solid color."},"lip-sync-video":{"description":"Makes a portrait photo talk, lip-synced to your audio file. 720p or 1080p; length follows your audio."},"motion-control":{"description":"Copies the motion from a reference video onto your character image. Up to 30s, 720p or 1080p."},"grok-imagine":{"description":"Fast, cinematic images for brainstorming and trying styles. Edits with up to 5 reference images."},"grok-imagine-video-1-5":{"description":"Fast video drafts from text or a first frame. 480p or 720p, clips of 1–15s."},"nano-banana":{"description":"Quick everyday images and edits for casual experiments. Blends up to 10 reference images."},"nano-banana-2":{"description":"Balanced speed and quality, the go-to Google pick. Up to 4K; edits with up to 14 reference images."},"nano-banana-2-lite":{"description":"Fastest Nano Banana tier for 1K drafts, with legible text and consistent characters."},"nano-banana-pro":{"description":"Studio-grade accuracy for complex scenes, using real-world knowledge. Up to 4K, 8 reference images."},"turbo-image":{"description":"Very fast drafts with good prompt following and text rendering. Edits with up to 10 reference images."},"supaimagine-turbo":{"description":"Very fast drafts and quick multi-image edits with clear text rendering. Up to 10 references."},"krea-2-turbo":{"description":"Stylish, aesthetic images in seconds for rapid ideation. Text-to-image only, no reference edits."},"seedance-2":{"description":"Top Seedance tier with sound, the only one up to 4K. Text, start and end frames, or image, video, and audio references; 4–15s."},"seedream-5-lite":{"description":"Fast, lower-cost photoreal images and edits at 2K or 4K. Up to 14 reference images."},"seedream-5-pro":{"description":"Dense infographics, pro layouts, and native multilingual text with photoreal detail. 1K or 2K."},"seedance-2-fast":{"description":"Faster, lower-cost Seedance 2 with sound and the same frame and reference inputs. 480p or 720p, 4–15s."},"seedance-2-mini":{"description":"Lowest-cost Seedance tier for drafts, with sound. Same text, frame, and reference inputs; 480p or 720p, 4–15s."},"happyhorse-1-1":{"description":"Cinematic video guided by up to 9 reference images, a first frame, or text. 720p or 1080p, 3–15s."},"wan-3":{"description":"Clips up to 30s that keep characters consistent across image, video, and audio references. Up to 1080P."},"veo3":{"description":"Highest-quality Veo 3.1 tier for finals. 8s clips with native sound, 720p to 4K, optional start and end frames."},"veo3-fast":{"description":"Faster, lower-cost Veo 3.1 for iterating. 8s clips with sound, up to 4K; guide with frames or 3 reference images."},"veo3-lite":{"description":"Budget Veo 3.1 tier for quick drafts. 8s clips with sound, up to 4K, with optional start and end frames."}
130,"logo-background-remover":{"description":"Logo Background Remover: isolate a brand mark and clear the backdrop for mockups and kits"},"hailuo-03":{"description":"2K video from text or start and end frames. Choose 768P or 2K; clips run 5–15s."},"minimax-h3-max":{"description":"Prompt-faithful video from text, frames, or up to 12 references (9 images, 3 videos, 3 audio). 5–15s, up to 1080P."},"minimax-h3-max-turbo":{"description":"Faster, lower-cost H3 Max for high-volume drafts. Text or start and end frames, 5–15s, up to 1080P."},"minimax-h3-max-multi-angle":{"description":"Animates a photo with a preset camera move: dolly in, dolly out, or crane up. 5–15s, up to 1080P."},"minimax-h3-max-lip-sync":{"description":"Turns a photo and your audio into a talking video with synced lips. Up to about 15s, up to 1080P."},"memoji-generator":{"description":"Turns selfies into cartoon memoji-style characters for profiles and posts. Up to 4K output."},"memoji-video":{"description":"Short, social-ready character clips from text or a still. Set start and end frames; up to 4K."},"cover-song":{"description":"Restyles an uploaded song in a new genre or voice while keeping the melody."},"extend-song":{"description":"Continues an uploaded or library song from the second you pick, up to 8 minutes in, for a longer arrangement."},"add-tracks":{"description":"Turns one stem into a full mix: add vocals to an instrumental, or backing to a vocal take. Male or female vocals."},"remove-vocals":{"description":"Splits a song into separate vocal and instrumental tracks, ready for karaoke or remixes."},"download-wav":{"description":"Saves a generated or extended track as an uncompressed WAV for editing. Not for uploads or covers."}},"tool":{"background-remover":{"name":"Background Remover"},"image-extender":{"name":"Image Extender"},"image-upscaler":{"name":"Image Upscaler"},"photo-restore":{"name":"Photo Restore"},"ai-clothes-changer":{"name":"AI Clothes Changer"},"video-upscaler":{"name":"Video Upscaler"},"video-background-remover":{"name":"Video Background Remover"},"lip-sync-video":{"name":"Lip-Sync Video"},"motion-control":{"name":"Motion Control"},"add-text-to-photo":{"name":"Add Text to Photo"},"image-text-editor":{"name":"Image Text Editor"},"logo-background-remover":{"name":"Logo Background Remover"},"ai-album-cover-generator":{"name":"AI Album Cover Generator"},"ai-fashion-video-generator":{"name":"AI Fashion Video Generator"},"ai-product-packshot-generator":{"name":"AI Product Packshot Generator"},"ai-flyer-generator":{"name":"AI Flyer Generator"},"ai-furniture-visualizer":{"name":"AI Furniture Visualizer"},"ai-virtual-staging":{"name":"AI Virtual Staging"}},"example":{"try":"Try this example","applied":"Example loaded — hit Generate","result":"Result","open_generator":"Start generating"},"effectLabel":"Effect","browseAllEffects":"Browse all effects","imageToPrompt":{"button":"Image to prompt","title":"Image to prompt","subtitle":"Reverse-engineer an editable prompt from any image, then generate.","upload":"Click or drop an image (PNG / JPG / WebP)","stageFailed":"We couldn't prepare your image. Please try again or pick a different one.","lengthShort":"Short","lengthStandard":"Standard","lengthDetailed":"Detailed","submit":"Analyze image","loading":"Reading the image…","progressPreparing":"Preparing your image…","progressAnalyzing":"Analyzing the image…","progressUnderstanding":"Understanding composition…","progressGenerating":"Writing the prompt…","progressPolishing":"Polishing the result…","use":"Use","retry":"Retry","errorUnreadable":"We couldn't read this image — try a different one.","errorFormat":"Unsupported or oversized image (PNG / JPG / WebP).","errorSiteBusy":"Reverse is at today's capacity, try again later.","errorGeneric":"Reverse failed, please try again.","wallTitle":"This reverse costs 1 credit","wallBody":"You're out of credits. Get more to keep reversing images.","loginRequiredTitle":"Sign in to reverse an image","loginRequiredBody":"Sign in to reverse an image. Each reverse costs 1 credit.","loginRequiredCta":"Sign in"},"inputSamples":{"hint":"Try a sample","tryAModel":"Try a Model","tryAGarment":"Try a garment"},"submitGuest":"Sign up free","submitGuestHint":"{n} free credits when you sign up","submitGuestMobile":"Try free","toolStyleLabel":"Style","queue":{"badge":"Queued","stage":{"waiting":{"title":"Waiting in the free queue","detail":"Your task is saved. Matching you with an available free generation lane."},"matched":{"title":"You're up next","detail":"Lane matched. Getting everything ready for you."},"ready":{"title":"Ready — starting shortly","detail":"Nothing to do. Your task starts in a moment."}},"waiting_label":"Waiting to generate","starting_title":"Starting generation","starting_detail":"Your task is ready","skip_cta":"Skip the free queue with Premium","dialog":{"eyebrow":"Premium speed","body":"Skip the free-lane queue and unlock more Premium creation power.","benefit_models_title":"More models","benefit_models_detail":"Premium image and video models plus editing tools","benefit_flexible_title":"Flexible unlock","benefit_flexible_detail":"Subscribe, or buy Premium credits once","cta":"See Premium plans","cta_offer":"See limited-time Premium plans","continue":"Keep waiting for free"},"progress_label":"Queue progress"},"agent":{"starterHeading":"What would you like to create?","starterSubheading":"Describe your idea or start with a photo. We’ll help bring it to life.","resultAlt":"Generated result","creditsShortTitle":"Not enough credits","premiumShortTitle":"This needs Premium credits","creditsShortBody":"This 
130needs {required} credits and you have {available}.","creditsShortBodyUnknown":"Add credits to run it.","addCredits":"Add credits","dailyLimitTitle":"Your free trial is done for today","dailyLimitBody":"Free accounts get {limit} messages a day. Upgrade for unlimited conversations, or come back tomorrow.","dailyLimitBodyNoCount":"Free accounts have a daily message limit. Upgrade for unlimited conversations, or come back tomorrow.","dailyLimitCta":"Upgrade","newChat":"New chat","planFree":"Free plan","planUpgrade":"Upgrade · unlimited chats","menuCreditsBilling":"Credits & billing","menuTheme":"Theme","planPassTitle":"Create anything.","planPassDaily":"chats / day","planPassSignup":"sign-up credits","planPassNoCard":"no card needed","planPassLoginLead":"Have an account?","planPassLogin":"Log in","planPackBadge":"Credit pack","planLeftToday":"{n} chats left today","menuAccount":"Account","menuPreferences":"Preferences","statusThinking":"Thinking","statusReadingLink":"Looking at {host}","statusModels":"Finding the right model","statusParams":"Checking {model}'s settings","statusCredits":"Checking your credits","statusMedia":"Looking through your work","statusMediaQuery":"Looking through your work for “{query}”","statusShow":"Pulling those up","statusGenerate":"Getting it started","statusWriting":"Writing the prompt","statusHandoff":"Handing it to {model}","statusProgress":"Checking on it","statusWorking":"Working on it","genFreeQueue":"Free queue","genQueued":"Queued","genGenerating":"Generating","genDone":"Done","genPartial":"Partly done","genReady":"{ready}/{total} ready","genOutputs":"{n} results","genSlow":"taking longer than usual","genLeft":"{n}s left","genSkipQueue":"Skip the queue","elapsedSeconds":"{n}s","statusImageTool":"Working on the image","statusGif":"Turning it into a GIF","statusExamples":"Looking at examples","statusSkill":"Planning how to do it","statusSkillStoryboard":"Planning it shot by shot","statusSkillVideoPrompt":"Writing it the way video models like","statusSkillGridGif":"Planning a grid that becomes a GIF","workedSeconds":"Worked for {n}s","workedMinutes":"Worked for {m}m {s}s","turnDone":"Turn completed","turnError":"Request failed","turnWaiting":"Waiting for your answer","turnStopped":"Stopped","turnHistory":"Processing steps","turnSteps":"{n} steps","turnInterrupted":"This reply didn't finish","turnInterruptedBody":"It stopped partway through. Anything that already started generating will still finish, and nothing is charged twice.","turnRetry":"Answer again","turnRetryHint":"or just say something new below","resumedNotice":"Started before you refreshed — still answering in the background","threadRunning":"Still answering","threadUnread":"New reply","offer":{"title":{"first_order":"Your first order has its own price","queue":"Your next one doesn't wait","yearly":"Using it a lot? Save {amount} a year","low_balance":"Enough credits for {count} more","low_balance_zero":"Your credits are used up","credits_short":"This one needs {short} more credits","picked":"Recommended for you: {plan}"},"hook":{"firstOrderFact":"First-order price · first order only","firstOrderNote":"Renews at {price} from next month · cancel anytime","queueFact":"Wait before it starts","queueThis":"This one","queueMember":"Paid users","seconds":"{count}s","queueNote":"When it's busy, free generations queue behind paid ones","yearlyFact":"{plan} for one year","monthlyTimes12":"Monthly × 12","yearly":"Yearly","yearlyNote":"{perMonth} a month · billed once a year","lowFact":"Each image costs {cost} credits with this model","lowNote":"Balance {balance} · enough for {count} more","creditsFact":"This needs {required} credits","creditsHave":"You have {available}","creditsShort":"{short} short","creditsNote":"Pay and it carries on with this one — no need to describe it again"},"plan":{"month":"{credits} credits a month","year":"{credits} credits a month · billed yearly","once":"{credits} credits · one-time · never expire","perMonth":"/ month","perYear":"/ year"},"cta":{"first_order":"Start at the first-order price · {price}","queue":"Skip the queue · {price}","yearly":"Go yearly · {price}","pack":"Add {credits} credits · {price}","credits_short":"Add credits and continue · {price}","continue":"Continue with {plan} · {price}"},"otherPlans":"Other plans","cheaperModel":"Use a cheaper model","cheaperModelPrompt":"Try that again with a cheaper model.","dismiss":"Not now","collapse":"Collapse","expand":"Show","footer":"Pay here in the chat — no redirect","tab":{"monthly":"Monthly","yearly":"Yearly","one_time":"Credit packs"},"badge":{"save":"Save {percent}%","firstOrder":"First order −{percent}%"},"comparePlans":"Compare all plans","changePlan":"Change plan","renews":"Renews at {price} · cancel anytime","loading":"Loading the payment form…","confirming":"Confirming your payment","confirmingNote":"Usually a few seconds","receipt":{"title":"{plan} is active","note":"{price} · receipt sent to your email","credits":"{credits} credits added","queue":"No more waiting in the free queue","continue":"Picking up where you left off…","pending":"We haven't seen the payment yet. If you paid, it will show up here in a moment."},"failed":"The payment didn't go through and nothing was charged. Try another card or method.","retry":"Try again","loadFailed":"The payment form couldn't load here.","openNewTab":"Open checkout in a new tab","newTabNote":"Finish paying in the new tab, then come back — this chat picks it up."},"planFreeChatsToday":"Free chats today","planOfLeft":"of {n} left","planGoUnlimited":"Go unlimited","planHintUpgrade":"Chat without limits","planHintDismiss":"Dismiss","planFirstOrderOff":"{n}% OFF","planFirstMonthOnly":"First month only","planRunningLow":"Running low","planUpgradeUnlimited":"Upgrade · unlimited","planKeepChatting":"Keep chatting now","planCheckinCredits":"Check in · +{n} credits","planGetCredits":"Get credits","planPayAsYouGo":"Pay as you go","planUsedUp":"Used up","planPaidCredits":"paid credits","planTopUpUnlimited":"Top up · unlimited chats","planTopUp":"Top up credits","planBuyMore":"Buy more credits","planMonthly":"Monthly","planYearly":"Yearly","planSavePercent":"SAVE {n}%","planManage":"Manage plan","planResetsAt":"Chats reset {time}","planGoYearly":"Go yearly","planBackTodayAt":"Free chats back today at","planBackTomorrowAt":"Free chats back tomorrow at"},"pendingSend":{"count":"{count} queued","clear":"Clear queued messages","continue":"Continue sending","heldNote":"Saved before refresh","editBadge":"Editing queued message","editCancel":"Cancel edit","editing":"Editing","pausedEdit":"Sending is paused while you edit","pausedDrag":"Sending resumes when you finish reordering","pausedAsk":"Waiting for your answer","backToAsk":"Back to the question","stopping":"Stopping…","stopFailed":"Couldn't confirm the previous reply has finished. This message is still queued.","full":"You can queue up to 5 messages. This one stays in the box.","remove":"Remove","edit":"Edit","steer":"Steer","steerHint":"Stops the current reply, then sends this one. Images or videos already submitted keep generating, and those credits are not refunded.","drag":"Drag to reorder","moved":"Moved to position {position} of {total}","actions":"Message actions","resend":"Send again","discard":"Discard","uncertain":"This one may already have been sent","save":"Save queued message","attachmentOnly":"Attachment"},"tray":{"title":"References","uploadTitle":"Upload","count":"{n} added","required":"Required","optional":"Optional","drop":"Drop or choose files","waiting":"+{n} waiting","videoTime":"Video time","mention":"Tap a name to add it to your prompt, e.g. Image 1.","unsupported":"File type not supported here","full":"Limit reached: up to {n}","ruleImage":"Images: JPG, PNG or WebP","ruleVideo":"Videos: MP4 or MOV","ruleAudio":"Audio: MP3, WAV or M4A","upTo":"up to {n}","totalSeconds":"max {s} s in total","view":"View {name}","play":"Play {name}","pause":"Pause {name}","remove":"Remove {name}"}},"home":{"getStarted":"Get started","login":"Log in","muteVideo":"Mute video","unmuteVideo":"Unmute video"},"nav":{"home":"Home","dashboard":"Account","pricing":"Pricing","generate":"Generate","tasks":"My tasks","orders":"Orders","login":"Login","signup":"Sign up","logout":"Logout","logoutConfirm":{"title":"Log out?","body":"You will need to sign in again to access your account.","confirm":"Log out","cancel":"Cancel"},"credits":"credits","creditsSplit":"Subscription {subscription} · Extra {extra}","earnCredits":"Get credits","getFreeCredits":"Get Free Credits","language":"Language","checkin":"Daily check-in","referral":"Invite friends","tickets_support":"Support tickets","apiKeys":"API keys","accountMenu":{"accountPanel":"Account menu","closePanel":"Close account menu","upgrade":"Upgrade","updatePayment":"Update payment","startForFree":"Start for Free","availableCredits":"Available Credits","creditsAvailable":"credits available","freePlan":"Free plan","planName":"{plan}
130 plan","noMonthlyRefill":"No monthly credit refill","creditsResetIn":"Credits reset in {days} days","creditsResetToday":"Credits reset today","thisMonthsCredits":"This month's credits","monthlyCreditsUsedUp":"Monthly credits used up","usedAndLeft":"{used} used · {left} left","creditsLeft":"{left} left","monthlyUsage":"Monthly credit usage","monthlyCredits":"Monthly credits","notIncludedInFree":"Not included in Free","extraCredits":"Extra credits","oneTimePurchase":"From a one-time purchase","forStandardModels":"For Standard models","subscriptionBeforeExtra":"Monthly credits are used before extra credits","buyCreditsOnce":"Buy credits once","addMoreCredits":"Add more credits","freeCredits":"Free Credits","premiumCredits":"Premium credits","subscriptionCredits":"Subscription Credits","purchasedCredits":"Purchased Credits","standardOnlyCredits":"Standard-only Credits","dailyBonus":"Daily Bonus","claimed":"Claimed","addMore":"Add more credits","inviteFriends":"Invite friends","profile":"Profile","plans":"Plans","display":"Ap
130pearance"},"header":{"aiStudio":"AI Studio","generate":"Generate","image":"AI Image","video":"AI Video","pricing":"Pricing","blog":"Blog","docs":"Docs","features":"Features","faq":"FAQ","flux3DraftMode":"Draft Mode","fluxVideoUpscale":"FLUX Video Upscale","fluxVideoEdit":"FLUX 3 Video Edit"},"dock":{"home":"Home","image":"Image","video":"Video","premium":"Premium","assets":"Assets"},"sidebar":{"create":{"title":"Create"},"tools":{"title":"Tools","chatStudio":"Agent Mode","image":"AI Image","imageGeneration":"AI Image Generator","imageTools":"AI Image Tools","imageGenerator":"AI Image Generator","video":"AI Video","music":"AI Music","videoGenerator":"AI Video Generator","videoTools":"AI Video Tools","backgroundRemover":"Background Remover","imageUpscaler":"Image Upscaler","imageReframer":"Image Extender","lipSyncVideo":"Lip Sync","videoUpscaler":"Video Upscaler","videoBackgroundRemover":"Video Background Remover","motionControl":"Motion Control","myCreations":"My Creations","myAssets":"Assets","explore":"Explore prompts","browseAll":"Browse all tools","photoRestore":"Photo Restore"},"account":{"title":"Account","referAndEarn":"Refer & Earn","helpFeedback":"Help & Feedback"},"workspace":{"title":"Workspace","dashboard":"Dashboard","create":"Create"},"library":{"title":"Library","history":"History","favorites":"Favorites"},"feedback":"Feedback","signIn":"Sign In","getStarted":"Get Started","quickSettings":{"title":"Quick settings","subtitle":"Language & theme"},"upgrade":{"loggedOut":{"unit":"free credits","subtitle":"Sign in to claim","cta":"Claim","titleNoGrant":"Free credits","subtitleNoGrant":"Sign in to start","ctaNoGrant":"Sign in","ariaLabel":"Sign in to claim free credits"},"free":{"promoTitle":"Yearly savings","promoSubtitle":"Save more with annual plans","cta":"View plans"},"ariaLabel":"Upgrade to a paid plan","discountBadge":"Up to 30% OFF","discountHighlight":"30% OFF"},"models":{"flux3":"FLUX 3 Video","flux3Image":"FLUX 3 Image","flux3DraftMode":"Draft Mode","fluxVideoUpscale":"FLUX Video Upscale","fluxVideoEdit":"FLUX 3 Video Edit"}},"footer":{"generate":{"title":"Generate","imageGenerator":"AI Image Generator","imageTools":"AI Image Tools","videoGenerator":"AI Video Generator","videoTools":"AI Video Tools","myCreations":"My Creations","myAssets":"My Assets"},"imageModels":{"title":"Image Models","gptImage2":"GPT Image 2"},"imageTools":{"title":"Image Tools","backgroundRemover":"AI Background Remover","upscaler":"AI Image Upscaler","reframer":"AI Image Extender"},"resources":{"title":"Resources","pricing":"Pricing","blog":"Blog","support":"Tickets","referral":"Refer a Friend","about":"About","contact":"Contact"},"legal":{"title":"Legal","privacy":"Privacy Policy","refund":"Refund Policy","terms":"Terms & Conditions","acceptable":"Acceptable Use","disclaimer":"Disclaimer"},"seo":{"generators":{"title":"Generators","video":"AI Video Generator","image":"AI Image Generator","flux3DraftMode":"FLUX 3 Draft Mode"}}},"topbar":{"toggleSidebar":"Toggle sidebar","notifications":"Notifications"}},"notFound":{"pageTitle":"Page not found","code":"404","heading":"We couldn't find that page","body":"The page you're looking for doesn't exist or may have moved. Let's get you back on track.","homeCta":"Back to home","imageAlt":"Illustration of an empty state","nextStepsHeading":"Where to go next","sitemapLabel":"All pages (sitemap)","agentGuideLabel":"Site guide for AI agents","contactLabel":"Contact support"},"orders":{"pageTitle":"Orders","title":"Order history","loading":"Loading orders…","empty":"No orders yet.","goPricing":"Browse plans","colOrder":"Order","colType":"Type","colAmount":"Amount","colCredits":"Credits","colStatus":"Status","colDate":"Date","typeOneTime":"One-time","typeSubscription":"Subscription"},"param":{"prompt":"Prompt","negative_prompt":"Negative Prompt","aspect_ratio":"Aspect Ratio","image_size":"Image Size","size":"Image Size","num_outputs":"Number of Images","num_images":"Number of Images","number_of_images":"Number of Images","seed":"Seed","guidance_scale":"Guidance","steps":"Steps","strength":"Strength","image_url":"Reference Image","input_image":"Reference Image","style":"Style","quality":"Quality","ratio":"Ratio","resolution":"Resolution","duration":"Duration"},"payCancel":{"pageTitle":"Nothing was charged","title":"Nothing was charged","subtitle":"You can pick up right where you left off. Your credits and plan are still waiting.","continueCheckout":"Continue to checkout","comparePlans":"Compare plans","selectedPlan":"Your selected plan","planCredits":"{credits} credits","backToPricing":"Back to pricing"},"paySuccess":{"pageTitle":"Payment successful","title":"Thanks for your purchase!","imageAlt":"Glass wallet with a green success checkmark","subtitle":"Your credits are being delivered. This usually takes a few seconds.","credits":"Current credits","refreshing":"Refreshing balance…","stillProcessing":"Stripe is still processing your payment. Your credits will arrive shortly — refresh this page in a moment to see the updated balance.","stillProcessingRefresh":"Refresh n
130ow","viewDashboard":"Go to dashboard","buyMore":"Buy more"},"pricing":{"pageTitle":"Pricing","brandedTitle":"Pricing for {brandName}","firstOrderBadge":"{percent}% off your first order","title":"Top up credits","subtitle":"Credits for FLUX3 Image, FLUX3 Video, and every model on this site.","loading":"Loading plans…","noPlans":"No plans available yet. Check back later.","credits":"credits","buyNow":"Buy now","subscribe":"Upgrade now","alreadySubscribed":"Already subscribed","monthly":"/ mo","quarterly":"/ qtr","yearly":"/ yr","cycleTab":{"monthly":"Monthly","yearly":"Yearly","oneTime":"One-time"},"pleaseLogin":"Please log in first to purchase.","redirecting":"Redirecting to checkout…","comingSoon":"Payments are launching soon — stay tuned!","secureCheckout":{"heading":"Secure checkout with Stripe","note":"Encrypted by Stripe. Card details stay there — {brandName} never stores them."},"errors":{"_fallback":"Payments are temporarily unavailable. Please try again later or contact support.","STRIPE_SECRETS_NOT_CONFIGURED":"Payments are temporarily unavailable. Please try again later or contact support.","CREEM_SECRETS_NOT_CONFIGURED":"Payments are temporarily unavailable. Please try again later or contact support.","WAFFO_SECRETS_NOT_CONFIGURED":"Payments are temporarily unavailable. Please try again later or contact support.","PAYMENT_FAILED":"Payment couldn't be processed. Please try again later or contact support.","STRIPE_API_ERROR":"Payment couldn't be processed. Please try again later or contact support.","CREEM_API_ERROR":"Payment couldn't be processed. Please try again later or contact support.","WAFFO_API_ERROR":"Payment couldn't be processed. Please try again later or contact support.","INVALID_PLAN":"This plan is no longer available. Please choose another plan.","INVALID_PRICE_CONFIG":"This plan is no longer available. Please choose another plan.","NO_CHANNEL_BOUND":"Payments are temporarily unavailable. Please try again later or contact support.","CHANNEL_DISABLED":"Payments are temporarily unavailable. Please try again later or contact support.","ALREADY_SUBSCRIBED":"You already have an active subscription on this plan.","CHECKOUT_ALREADY_PAID":"Your previous payment went through and that plan is being activated — check your account page in a moment to manage or change it.","CHECKOUT_TIMEOUT":"Checkout took too long to start. You haven't been charged — please try again.","CHECKOUT_STATE_UNKNOWN":"We couldn't confirm your checkout in time. Please try again — you won't be charged twice.","RATE_LIMITED":"Too many checkout attempts just now. Please wait a moment and try again.","UNAUTHORIZED":"Please sign in again to continue.","EMAIL_NOT_VERIFIED":"Please verify your email before purchasing.","USER_BANNED":"Your account cannot make purchases. Please contact support."},"ribbons":{"recommended":"Recommended","enthusiast":"Popular","bestValue":"Best Value"},"freePlan":{"title":"Free","desc":"Start with free credits and try FLUX3 Image before you upgrade.","cta":"Start for free","credits":"starter credits"},"features":{"freeCreditsLogin":"{n} free credits with login","weeklyCheckin":"Earn up to {n} credits via weekly check-in","upToImages":"Up to {n} images","upToVideos":"Up to {n} videos","starterModelsOnly":"Access limited to starter models","allModels":"Access to all models on this site","creditsPerMonth":"{n} credits / month","creditsCapacity":"{n} credits per month for fast generation","creditsPerYear":"{n} credits / year","creditsNeverExpire":"{n} credits, never expire","unlimitedStorage":"Unlimited storage","storage30Day":"30-day result storage","commercialUse":"Commercial-use license under Terms","standardSupport":"Standard support","prioritySupport":"Priority support","fasterGeneration":"Faster generation speed","skipFreeQueue":"Priority generation — skip the free queue","premiumCreditsSkipQueue":"Skip the free queue when generating with Premium credits","standardFreeQueue":"Standard free queue before generating","supportedModels":"Supported Models"},"cancelAnytime":"Cancel anytime — no hidden fees.","savePrefix":"Save","billedAnnually":"Billed annually:","billedAnnuallyFirstYear":"Billed annually, {first} the first year, then {renewal}","saveVsMonthly":"Save {amount}
130 vs paying monthly","billedMonthly":"Billed monthly","unitPriceLowest":"{price} per credit – lowest unit price","toggleSavingsBadge":"{percent}% OFF","popularBadgeFull":"{percent}% OFF - Save {amount}","popularBadgePercent":"{percent}% OFF","creditsPerMonth":"credits / month","creditsPerYear":"credits / year","creditsNeverExpire":"credits, never expire","planBonusNote":"incl. {bonus} bonus","usageTable":{"heading":"Compare FLUX 3 & other models by plan","subheading":"Estimated generations if you spend the full plan credits on one model at its default settings — FLUX 3 Image and FLUX 3 Video first.","disclaimer":"Estimates only. Credits are shared across all models and tools — using one model reduces remaining credits for others. Actual cost may change with resolution, duration, or other options.","loading":"Loading model usage…","empty":"Usage estimates are temporarily unavailable.","imagesUnit":"images","videosUnit":"videos","imageGroup":"Image models","videoGroup":"Video models","creditsRow":"Credits","priceRow":"Price","cycleTabsAria":"Billing cycle for usage comparison"},"offerDialogs":{"billingChoice":"Billing option","planChoice":"Choose a plan","otherPlans":"Need more credits?","recommendedPlan":"Recommended plan","selectedPlan":"Selected plan","yearlySavings":"Save {amount}/year · {percent}% OFF","creditPacks":"Credit Packs","annualSavingsBanner":"Save up to {percent}% on annual plans","valueProof":{"eyebrow":"Advanced models after upgrading","unlockMore":"Unlock {name} and more","premiumAccess":"Unlock Premium models and tools","included":"Benefits unlocked after upgrading"},"premiumAccess":{"eyebrow":"Premium access","title":"Bring your best ideas to life with Premium","subtitle":"{name} uses Premium credits. Subscribe or buy credits once to continue.","primaryCta":"Upgrade now","secondaryCta":"Explore all plans","creditPackTitle":"Buy credits once","creditPackSubtitle":"{credits} Premium-capable credits · {price}","creditPackCta":"Buy credits"},"freeOutOfCredits":{"eyebrow":"Keep creating","title":"Keep creating—your next idea is waiting","subtitle":"Subscribe to continue generating with a fresh credit allowance every cycle.","primaryCta":"Upgrade now","secondaryCta":"Explore all plans"},"subscriberOutOfCredits":{"eyebrow":"Add credits","title":"Keep your creative momentum","subtitle":"Your subscription is active. Add a credit pack to keep creating right away.","primaryCta":"Buy credits","secondaryCta":"Explore all plans"},"fallbackLink":{"eyebrow":"Upgrade","title":"See plans to keep creating","subtitle":"Compare available subscriptions and credit packs on the pricing page.","primaryCta":"View plans","secondaryCta":"Explore all plans"}},"plans":{"basic_monthly":{"title":"Basic","desc":"For solo creative work.","features":["Premium image and video models on this site","Image and video editing tools","Commercial-use license under Terms","Standard support"]},"standard_monthly":{"title":"Standard","desc":"More credits for regular use.","features":["Premium image and video models on this site","Image and video editing tools","Commercial-use license under Terms","Faster generation speed","Priority support"]},"pro_monthly":{"title":"Pro","desc":"For team production.","features":["Premium image and video models on this site","Image and video editing tools","Commercial-use license under Terms","Faster generation speed","Priority support"]},"ultra_monthly":{"title":"Ultra","desc":"For studio-scale creation.","features":["Premium image and video models on this site","Image and video editing tools","Commercial-use license under Terms","Faster generation speed","Priority support"]},"basic_yearly":{"title":"Basic","desc":"For solo creative work.","features":["Premium image and video models on this site","Image and video editing tools","Commercial-use license under Terms","Standard support"]},"standard_yearly":{"title":"Standard","desc":"More credits for regular use.","features":["Premium image and video models on this site","Image and video editing tools","Commercial-use license under Terms","Faster generation speed","Priority support"]},"pro_yearly":{"title":"Pro","desc":"For team production.","features":["Premium image and video models on this site","Image and video editing tools","Commercial-use license under Terms","Faster generation speed","Priority support"]},"ultra_yearly":{"title":"Ultra","desc":"For studio-scale creation.","features":["Premium image and video models on this site","Image and video editing tools","Commercial-use license under Terms","Faster generation speed","Priority support"]},"credits_starter":{"title":"Starter Pack","desc":"Light credit top-up.","features":["One-time Premium-capable credits for models and tools","Use after subscription credits run out, or without a subscription","Commercial-use license under Terms","Failed generations automatically refund credits","30-day result storage"]},"credits_plus":{"title":"Plus Pack","desc":"Better value for repeat runs.","features":["One-time Premium-capable credits for models and tools","Use after subscription credits run out, or without a subscription","Commercial-use license under Terms","Failed generations automatically refund credits","30-day result storage"]},"credits_pro":{"title":"Pro Pack","desc":"Bulk credits for production.","features":["Bulk Premium-capable credits for models and tools","Use after subscription credits run out, or without a subscription","Commercial-use license under Terms","Failed generations automatically refund credits","30-day result storage"]},"credits_max":{"title":"Max Pack","desc":"Largest credit pack.","features":["Largest one-time Premium-capable credit top-up","Use after subscription credits run out, or without a subscription","Commercial-use license under Terms","Failed generations automatically refund credits","30-day result storage"]},"credits_ultra":{"title":"Ultra Pack","desc":"Larger one-time credit top-up.","features":["One-time Premium-capable credits for models and tools","Use after subscription credits run out, or without a subscription","Commercial-use license under Terms","Failed generations automatically refund credits","30-day result storage"]},"credits_super":{"title":"Super Pack","desc":"Highest one-time credit top-up.","features":["One-time Premium-capable credits for models and tools","Use after subscription credits run out, or without a subscription","Commercial-use license under Terms","Failed generations automatically refund credits","30-day result storage"]}}},"pricingCard":{"upToBoth":"Up to {images} or {videos}","upToOne":"Up to {amount}","images":{"one":"{n} image","other":"{n} images"},"videos":{"one":"{n} video","other":"{n} videos"},"oneTime":"one-time","freeNote":"No card required","packNote":"No subscription","ledger":{"starter":"Starter credits","base":"Base credits","bonus":"Bonus","limitedTime":"(limited time)","total":"Total","totalMonthly":"Total monthly","perMonth":"Credits per month","credits":"Credits","expiry":"Expiry","never":"Never"},"benefits":{"allModels":"All models, including Premium","hdAndBatch":"HD resolution and batch generation","hdOnly":"HD resolution","batchOnly":"Batch generation","agentUnlimited":"No daily limit on AI agent chat","noWatermark":"No watermark on images","instantStart":"Starts instantly, no wait","keptWhileSubscribed":"Creations kept while subscribed","commercialUse":"Commercial use license"},"free":{"modelsImageAndVideo":"Image and video models","modelsImage":"Image models","modelsVideo":"Video models","agentDaily":{"one":"AI agent chat, {n} message a day","other":"AI agent chat, {n} messages a day"},"refunds":"Failed runs refunded"},"footer":{"refunds":"Failed runs are refunded automatically","cancelAnytime":"Cancel anytime","monthlyCredits":"Credits added every month","packNeverExpire":"Pack credits never expire"}
130,"wasPrice":"Original price:","ticket":{"firstPayment":"First payment","percentOff":"{percent}% OFF","upToPercentOff":"Up to {percent}% OFF","autoApplied":"Applied automatically at checkout.","autoAppliedShort":"Auto-applied"},"countdown":{"days":"days","hours":"hrs","minutes":"min","seconds":"sec"},"switchYearly":"Switch to yearly · save {amount}/yr"},"promo":{"flash_sale":"Enjoy Limited-Time **30% OFF**!","flash_sale_short":"Limited-Time **30% OFF**!","cta":"Get Offer","offerLabel":"Limited-time offer"},"referral":{"pageTitle":"Invite friends","title":"Invite friends, earn credits","subtitle":"Share your personal link. When a friend signs up and verifies their email, you both get credits.","valueProp":"Earn {inviter} credits for every friend who signs up — and {first} more when they upgrade.","codeLabel":"Your invite code","linkLabel":"Your invite link","copy":"Copy","copied":"Copied!","copyFallback":"Copy this link:","shareTextLabel":"Suggested message","shareText":"I've been using this AI tool — sign up with my link and we both get credits: {url}","invitedCountLabel":"Friends invited","earnedCreditsLabel":"Credits earned","pleaseLogin":"Please log in to view your invite link","loginImageAlt":"Mochi, our mascot, holding up a gift and an invite coupon","copyLinkCta":"Copy invite link","linkCopied":"Invite link copied","shareOnLabel":"Or share via","shareAriaLabel":"Share on {network}","step1":"Share your invite link with friends or on social media.","step2":"Your friend signs up and starts creating.","step3":"Get credits for their sign-up — and a bigger bonus when they upgrade.","historyLink":"Referral history →","history":{"pageTitle":"Referral history","heading":"Your referrals","subtitle":"Everyone who joined through your invite link.","invite
130Cta":"Invite friends","invitedStat":"Invited","earnedStat":"Credits earned","underReviewNote":"{n} under review","empty":"No referrals yet — share your invite link to get started.","colDate":"Date","colStatus":"Status","colCredits":"Credits","statusJoined":"Joined","statusUpgraded":"Upgraded","statusUnderReview":"Under review","earnedSuffix":"credits","prev":"Previous","next":"Next","loadError":"Couldn't load your referrals.","loggedOutMessage":"Log in to see who you've invited and the credits you've earned."},"giveGet":"Give +{give}, get +{get}."},"share":{"modal":{"title":"Share this creation","chatTitle":"Share this chat","description":"Anyone with the link can view this creation and try the generator.","creating":"Creating share link…","copy":"Copy","copied":"Copied!","shareOn":"Share to","intentText":"Check out this AI creation","referralPromo":"Share to earn credits — when a friend signs up through your link, you both get free credits.","referralValueTitle":"Share & earn free credits","referralValueYou":"You","referralValueFriend":"Friend","referralValueFirst":"First purchase","referralValueImagesUnit":"free images for you"},"page":{"referralTitle":"Try it free — you both get credits","referralHint":"Sign up through this link and both you and the creator get free credits.","eyebrow":"Made with {brand}","headlineImage":"Create AI images like this in seconds","headlineVideo":"Create AI videos like this in seconds","headlineAudio":"Create AI music like this in seconds","cta":"Create your own","features":["Multiple AI models","Seconds to generate","Download in HD","Free credits to start"]},"task":{"shareButton":"Share","alreadyShared":"Shared"},"chat":{"copied":"Link copied — ready to share","copying":"Copying link…","copyFailed":"Link ready. Automatic copying failed.","copyAgain":"Copy again","copyLink":"Copy link","open":"Open shared chat","visibility":"Anyone with the link can view the shared conversation and results.","revoke":"Revoke link","revokeConfirm":"Revoke this link? Anyone using it will lose access.","revoking":"Revoking link…","revokeFailed":"Could not revoke the link. Try again.","revoked":"Link revoked","createFailed":"Could not create a share link. Try again.","pending":"Generation is still running. Share once it finishes.","empty":"There is nothing in this conversation to share yet.","more":"Share options"}},"showcase":{"section":{"explore_cta":"Explore the full library","steps_lead":"No blank canvas — remix a prompt that already works","step1_title":"Click any image","step1_desc":"Its exact prompt loads in the generator","step2_title":"Swap the highlighted blanks","step2_desc":"Tap a highlighted word, type your own","step2_chip_from":"CITY","step2_chip_to":"Tokyo","step3_title":"Generate","step3_desc":"First result in seconds — no prompt skills needed"},"card":{"try_sample":"Create similar","more_images":"+{n}"},"detail":{"page_position":"{i} / {n}","use_prompt":"Create similar","use_as_ref":"Use as reference","copy":"Copy prompt","copied":"Copied to clipboard","segment_image":"Image prompt","segment_video":"Video prompt","segment_step":"Step {n}","copy_segment":"Copy","attribution_via":"via @{handle} on {provider}","close":"Close","esc":"esc","download":"Download","share":"Share","copy_link":"Copy link","link_copied":"Link copied","prompt_label":"Prompt","related":"Related creations","expand":"Expand","collapse":"Collapse","unknown_author":"Unknown","model_badge":"Model: {model}","stats_likes":"{n} likes","stats_views":"{n} views","applied_sample":"Prompt loaded — edit and generate","applied_ref":"Reference image added"},"filters":{"sort":"Sort","latest":"Latest","trending":"Trending","type":"Type","category":"Category","all":"All","image":"Image","video":"Video","all_categories":"All categories"},"categories":{"photography":"Photography","portrait":"Portraits","illustration-3d":"Illustration & 3D","product-brand":"Product & Brand","brand-logo":"Brand & Logo","food-drink":"Food & Drink","poster-design":"Poster Design","ui-graphic":"UI & Graphic","world-cup":"World Cup","cinematic-live":"Cinematic / Live-action","animation-3d":"3D Animation","animation-stylized":"Stylized / Anime / Painterly","commercial-ad":"Commercial / Ad","motion-graphic":"Motion Graphic","vfx-action":"VFX / Action"}},"subscription":{"pageTitle":"Subscription","title":"Your subscription","loading":"Loading subscription…","none":"You don't have an active subscription.","goSubscribe":"Subscribe","plan":"Plan","status":"Status","renewsOn":"Renews on","endsOn":"Ends on","cancellingAtPeriodEnd":"Your subscription will end at the end of the current period.","creditsPerCycle":"Credits per cycle","manage":"Manage in Stripe","opening":"Opening portal…"},"tasks":{"pageTitle":"My tasks","title":"My AI tasks","loading":"Loading tasks…","empty":"You haven't created any tasks yet.","goGenerate":"Generate one now","colTask":"Task","colModel":"Model","colStatus":"Status","colCredits":"Credits","colCreated":"Created","colResult":"Result","view":"View","refund":"(refunded)"},"theme":{"label":"Toggle theme","light":"Light","dark":"Dark","system":"System"},"ticket":{"listPageTitle":"Support tickets","detailPageTitle":"Ticket","listTitle":"Support tickets","newButton":"New ticket","newTitle":"Create a ticket","subjectLabel":"Subject","bodyLabel":"Describe your issue","priorityLabel":"Priority","priority_low":"Low","priority_normal":"Normal","priority_high":"High","create":"Create","creating":"Creating…","loading":"Loading tickets…","empty":"You don't have any tickets yet.","lastReplyLabel":"Last reply:","status_open":"Open","status_in_progress":"In progress","status_closed":"Closed","prev":"Previous","next":"Next","pleaseLogin":"Please log in to view your tickets","backToList":"← Back to tickets","refresh":"Refresh","senderUser":"You","senderOperator":"Support","replyLabel":"Your reply","send":"Send reply","sending":"Sending…","closedReplyHint":"This ticket is closed and can't accept new replies.","closedReplyError":"This ticket is closed.","notFound":"Ticket not found."}
130,"waitlist":{"pageTitle":"Join the waitlist","title":"We're not open yet","subtitle":"Drop your email and we'll notify you the moment registration opens.","emailLabel":"Email","submit":"Join waitlist","submitting":"Saving…","successTitle":"You're on the list","successBody":"We'll email you as soon as registration opens.","alreadyTitle":"You're already on the list","alreadyBody":"No need to sign up again — we'll email you when registration opens.","rateLimit":"Too many requests. Please wait and try again.","sectionEyebrow":"Early access","sectionHeading":"Get early access","sectionBody":"Join the waitlist and help us prioritize what to build next.","nameLabel":"Name","namePlaceholder":"Ada Lovelace","useCaseLabel":"What would you use this for?","useCasePlaceholder":"Tell us what you are trying to do.","errorMessage":"We could not save your request. Please try again."}}</script>
130  <style>astro-island,astro-slot,astro-static-slot{display:contents}</style>
130<script>(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).load=e;window.dispatchEvent(new Event("astro:load"));})();</script>
130<script>(()=>{var g=Object.defineProperty;var w=(c,s,d)=>s in c?g(c,s,{enumerable:!0,configurable:!0,writable:!0,value:d}):c[s]=d;var l=(c,s,d)=>w(c,typeof s!="symbol"?s+"":s,d);var E=new Set(["__proto__","constructor","prototype"]);{let c={0:t=>y(t),1:t=>d(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(d(t)),5:t=>new Set(d(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t),11:t=>Number.POSITIVE_INFINITY*t},s=t=>{let[p,e]=t;return p in c?c[p](e):void 0},d=t=>t.map(s),y=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([p,e])=>[p,s(e)]));class f extends HTMLElement{constructor(){super(...arguments);l(this,"Component");l(this,"hydrator");l(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let n=this.querySelectorAll("astro-slot"),r={},i=this.querySelectorAll("template[data-astro-template]");for(let o of i){let a=o.closest(this.tagName);a!=null&&a.isSameNode(this)&&(r[o.getAttribute("data-astro-template")||"default"]=o.innerHTML,o.remove())}for(let o of n){let a=o.closest(this.tagName);a!=null&&a.isSameNode(this)&&(r[o.getAttribute("name")||"default"]=o.innerHTML)}let u;try{u=this.hasAttribute("props")?y(JSON.parse(this.getAttribute("props"))):{}}catch(o){let a=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(a+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${a}`,this.getAttribute("props"),o),o}let h;await this.hydrator(this)(this.Component,u,r,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});l(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),n.disconnect(),this.childrenConnectedCallback()},n=new MutationObserver(()=>{var r;((r=this.lastChild)==null?void 0:r.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});n.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}getRetryImportUrl(e){let n=new URL(e,document.baseURI),r=`astro-retry=${Date.now()}`,i=n.hash.replace(/^#/,"");return n.hash=i?`${i}&${r}`:r,n.toString()}async importWithRetry(e){try{return await import(e)}catch(n){return await new Promise(r=>setTimeout(r,1e3)),import(this.getRetryImportUrl(e))}}handleHydrationError(e){let n=this.getAttribute("component-url"),r=new CustomEvent("astro:hydration-error",{cancelable:!0,bubbles:!0,composed:!0,detail:{error:e,componentUrl:n}});this.dispatchEvent(r)&&console.error(`[astro-island] Error hydrating ${n}`,e)}async start(){let e=JSON.parse(this.getAttribute("opts")),n=this.getAttribute("client");if(Astro[n]===void 0){window.addEventListener(`astro:${n}`,()=>this.start(),{once:!0});return}try{await Astro[n](async()=>{let r=this.getAttribute("renderer-url");try{let[i,{default:u}]=await Promise.all([this.importWithRetry(this.getAttribute("component-url")),r?this.importWithRetry(r):Promise.resolve({default:()=>()=>{}})]),h=this.getAttribute("component-export")||"default";if(h.includes(".")){this.Component=i;for(let m of h.split(".")){if(E.has(m)||!this.Component||typeof this.Component!="object"&&typeof this.Component!="function"||!Object.hasOwn(this.Component,m))throw new Error(`Invalid component export path: ${h}`);this.Component=this.Component[m]}}else{if(E.has(h))throw new Error(`Invalid component export path: ${h}`);this.Component=i[h]}return this.hydrator=u,this.hydrate}catch(i){return this.handleHydrationError(i),()=>{}}},e,this)}catch(r){this.handleHydrationError(r)}}attributeChangedCallback(){this.hydrate()}}l(f,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",f)}})();</script>
130<astro-island uid="ZchRoA" prefix="r0" component-url="/_astro/GoogleBAReturnHandler.CXelM6Xq.js" component-export="default" renderer-url="/_astro/client.t9W_-msv.js" props="{&quot;active&quot;:[0,false]}" ssr client="load" opts="{&quot;name&quot;:&quot;GoogleBAReturnHandler&quot;,&quot;value&quot;:true}"></astro-island> <div id="page-progress" aria-hidden="true" data-astro-cid-2s5p3qaa></div>  
130<script type="module">globalThis.process??={};globalThis.process.env??={};(()=>{let t;function s(){return document.getElementById("page-progress")}document.addEventListener("astro:before-preparation",()=>{const e=s();e&&(clearTimeout(t),e.style.transition="width 0.25s ease, opacity 0.15s ease",e.style.opacity="1",e.style.width="30%",requestAnimationFrame(()=>{requestAnimationFrame(()=>{const i=s();i&&(i.style.width="75%")})}))}),document.addEventListener("astro:page-load",()=>{const e=s();e&&(e.style.transition="width 0.1s ease, opacity 0.3s ease 0.15s",e.style.width="100%",t=setTimeout(()=>{e.style.opacity="0",t=setTimeout(()=>{e.style.width="0%"},300)},150))})})();</script>
130 <div class="sticky top-0 z-[70]"> <div data-promo-banner data-dismiss-key="promo-dismissed:flux3:promo.flash_sale" class="relative overflow-hidden border-b border-white/10"><img src="https://cdn.flux3.video/assets/promo/live-stream-web-poster.webp" alt="" aria-hidden="true" width="1920" height="100" class="absolute inset-0 h-full w-full object-cover" decoding="async" fetchpriority="low"><video data-promo-video data-promo-video-src="https://cdn.flux3.video/assets/promo/live-stream-web.mp4" class="absolute inset-0 h-full w-full object-cover" poster="https://cdn.flux3.video/assets/promo/live-stream-web-poster.webp" muted loop playsinline preload="none" tabindex="-1" aria-hidden="true"></video><div class="relative z-10 px-3 py-2 text-[11px] leading-snug sm:px-6 sm:py-2.5 sm:text-sm sm:leading-normal"><div class="flex items-center justify-center gap-1.5 sm:gap-3 text-white font-medium pr-8 sm:pr-10"><span class="text-center text-white drop-shadow-sm sm:text-left"><span class="hidden sm:inline">Enjoy Limited-Time <span class="font-extrabold text-amber-200">30% OFF</span>!</span><span class="sm:hidden">Limited-Time <span class="font-extrabold text-amber-200">30% OFF</span>!</span></span><a href="/pricing" class="inline-flex h-6 shrink-0 items-center rounded-field bg-white/20 px-2.5 text-[10px] font-semibold text-white backdrop-blur-md transition-colors hover:bg-white/30 sm:h-7 sm:px-3.5 sm:text-xs">Get Offer</a></div><button type="button" data-promo-banner-dismiss aria-label="Dismiss" class="absolute right-1.5 top-1/2 inline-flex h-6 w-6 -translate-y-1/2 items-center justify-center rounded-field bg-white/20 text-sm leading-none text-white backdrop-blur-md transition-colors hover:bg-white/30 sm:right-3 sm:h-7 sm:w-7 sm:text-base">
131×
132</button></div></div>
132<script data-astro-rerun>
133    (function () {
134      var el = document.querySelector('[data-promo-banner]');
135      if (!el) {
136        document.documentElement.style.setProperty('--promo-h', '0px');
137        return;
138      }
139      var key = el.getAttribute('data-dismiss-key') || '';
140      try {
141        if (key && window.localStorage.getItem(key) === '1') {
142          el.style.display = 'none';
143          document.documentElement.style.setProperty('--promo-h', '0px');
144          return;
145        }
146      } catch (_) { /* private mode — keep banner visible */ }
147      document.documentElement.style.setProperty('--promo-h', el.offsetHeight + 'px');
148      var btn = el.querySelector('[data-promo-banner-dismiss]');
149      if (btn) {
150        btn.addEventListener('click', function () {
151          try { if (key) window.localStorage.setItem(key, '1'); } catch (_) {}
152          document.documentElement.style.setProperty('--promo-h', '0px');
153          el.style.display = 'none';
154        });
155      }
156
157      // Lazy-attach promo video after load + idle so Lighthouse / LCP only
158      // see the ~1.4 KB poster. Skips reduced-motion / Save-Data / 2g.
159      var vid = el.querySelector('[data-promo-video]');
160      if (!vid) return;
161      var mq =
162        window.matchMedia &&
163        window.matchMedia('(prefers-reduced-motion: reduce)');
164      if (mq && mq.matches) return;
165      var conn = navigator.connection || {};
166      if (conn.saveData || /(^|-)2g$/.test(conn.effectiveType || '')) return;
167      function startVideo() {
168        if (vid.getAttribute('src')) return;
169        var src = vid.getAttribute('data-promo-video-src');
170        if (!src) return;
171        vid.setAttribute('src', src);
172        var p = vid.play();
173        if (p && p.catch) p.catch(function () {});
174      }
175      function schedule() {
176        if ('requestIdleCallback' in window)
177          requestIdleCallback(startVideo, { timeout: 2500 });
178        else setTimeout(startVideo, 800);
179      }
180      if (document.readyState === 'complete') schedule();
181      else window.addEventListener('load', schedule, { once: true });
182    })();
183  </script>
183 <header id="site-topnav" class="bg-transparent relative z-30 transition-[background-color,box-shadow,backdrop-filter] duration-200"> <div class="max-w-screen-2xl mx-auto px-4 py-3 md:py-4 grid grid-cols-[minmax(0,1fr)_auto] md:grid-cols-[1fr_auto_1fr] items-center gap-3"> <div class="justify-self-start flex min-w-0 items-center gap-2"> <button type="button" id="mobile-menu-toggle" aria-expanded="false" aria-controls="mobile-menu-panel" aria-label="Menu" class="md:hidden inline-flex items-center justify-center w-10 h-10 rounded-field text-base-content/70 hover:text-base-content hover:bg-base-200/60 transition shrink-0"> <svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" class="block" data-icon="bars"> <line x1="4" y1="6" x2="20" y2="6"></line> <line x1="4" y1="12" x2="20" y2="12"></line> <line x1="4" y1="18" x2="20" y2="18"></line> </svg> <svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round" class="hidden" data-icon="close"> <line x1="18" y1="6" x2="6" y2="18"></line> <line x1="6" y1="6" x2="18" y2="18"></line> </svg> </button> <a href="/" class="flex min-w-0 items-center gap-2 text-base md:text-lg font-semibold text-base-content"> <img src="/logo.webp" alt="" width="36" height="36" class="h-9 w-9 rounded-field object-cover shrink-0"> <span class="sidebar-wordmark min-w-0 truncate font-black"> FLUX 3 </span> </a> </div>  <nav class="hidden md:flex items-center gap-1 text-sm justify-self-center"> <a href="/video" class="inline-flex items-center gap-1.5 px-3 py-2 rounded-field transition hover:bg-base-200 text-base-content/80 hover:text-base-content"> <span>AI Video</span>  </a><a href="/video/flux3-video-edit" class="inline-flex items-center gap-1.5 px-3 py-2 rounded-field transition hover:bg-base-200 text-base-content/80 hover:text-base-content"> <span>FLUX 3 Video Edit</span>  </a><a href="/video/flux3-draft-mode" class="inline-flex items-center gap-1.5 px-3 py-2 rounded-field transition hover:bg-base-200 text-base-content/80 hover:text-base-content"> <span>Draft Mode</span>  </a><a href="/video/video-upscaler" class="inline-flex items-center gap-1.5 px-3 py-2 rounded-field transition hover:bg-base-200 text-base-content/80 hover:text-base-content"> <span>FLUX Video Upscale</span>  </a><a href="/pricing" class="inline-flex items-center gap-1.5 px-3 py-2 rounded-field transition hover:bg-base-200 text-base-content/80 hover:text-base-content"> <span>Pricing</span> <span class="badge badge-sm badge-soft badge-primary">Up to 30%</span> </a><a href="/blog" aria-current="page" class="inline-flex items-center gap-1.5 px-3 py-2 rounded-field transition hover:bg-base-200 text-primary font-medium"> <span>Blog</span>  </a> </nav>  <div class="justify-self-end flex items-center gap-2"> <div class="hidden md:flex items-center gap-2">  
183<script>(()=>{var a=(s,i,o)=>{let r=async()=>{await(await s())()},t=typeof i.value=="object"?i.value:void 0,c={rootMargin:t==null?void 0:t.rootMargin},n=new IntersectionObserver(e=>{for(let l of e)if(l.isIntersecting){n.disconnect(),r();break}},c);for(let e of o.children)n.observe(e)};(self.Astro||(self.Astro={})).visible=a;window.dispatchEvent(new Event("astro:visible"));})();</script>
183<astro-island uid="1t0CPb" prefix="r7" component-url="/_astro/LocaleSwitcher.lQjEkZcH.js" component-export="default" renderer-url="/_astro/client.t9W_-msv.js" props="{&quot;pathname&quot;:[0,&quot;/blog&quot;],&quot;placement&quot;:[0,&quot;bottom&quot;],&quot;locales&quot;:[0]}" ssr client="visible" opts="{&quot;name&quot;:&quot;LocaleSwitcher&quot;,&quot;value&quot;:true}" await-children><div class="dropdown dropdown-bottom dropdown-end"><button type="button" tabindex="0" aria-label="Language" aria-haspopup="menu" data-testid="locale-switcher" class="btn btn-ghost btn-sm w-9 px-0"><svg width="16" height="16" viewBox="0 0 24 24" class="h-4 w-4" aria-hidden="true"><use href="/_astro/s-3c4635894d05.Bb8zE0tJ.svg#lucide-languages"></use></svg><span class="sr-only">EN</span></button><ul tabindex="0" role="menu" aria-label="Language" class="dropdown-content z-50 mt-1 max-h-[min(20rem,calc(100dvh-6rem))] w-[min(12rem,calc(100vw-2rem))] overflow-y-auto rounded-box border border-base-200 bg-base-100 p-1 shadow-lg"><li role="none"><a href="/blog" hrefLang="en" role="menuitemradio" aria-checked="true" aria-current="page" class="w-full flex items-center rounded-field px-2 py-1.5 text-left text-sm text-base-content transition-colors hover:bg-base-200 focus-visible:bg-base-200 focus-visible:outline-none bg-base-200 font-medium"><span class="truncate">English</span></a></li><li role="none"><a href="/zh/blog" hrefLang="zh-CN" role="menuitemradio" aria-checked="false" class="w-full flex items-center rounded-field px-2 py-1.5 text-left text-sm text-base-content transition-colors hover:bg-base-200 focus-visible:bg-base-200 focus-visible:outline-none"><span class="truncate">简体中文</span></a></li><li role="none"><a href="/zh-tw/blog" hrefLang="zh-Hant" role="menuitemradio" aria-checked="false" class="w-full flex items-center rounded-field px-2 py-1.5 text-left text-sm text-base-content transition-colors hover:bg-base-200 focus-visible:bg-base-200 focus-visible:outline-none"><span class="truncate">繁體中文</span></a></li><li role="none"><a href="/de/blog" hrefLang="de" role="menuitemradio" aria-checked="false" class="w-full flex items-center rounded-field px-2 py-1.5 text-left text-sm text-base-content transition-colors hover:bg-base-200 focus-visible:bg-base-200 focus-visible:outline-none"><span class="truncate">Deutsch</span></a></li><li role="none"><a href="/br/blog" hrefLang="pt-BR" role="menuitemradio" aria-checked="false" class="w-full flex items-center rounded-field px-2 py-1.5 text-left text-sm text-base-content transition-colors hover:bg-base-200 focus-visible:bg-base-200 focus-visible:outline-none"><span class="truncate">português (Brasil)</span></a></li><li role="none"><a href="/ja/blog" hrefLang="ja" role="menuitemradio" aria-checked="false" class="w-full flex items-center rounded-field px-2 py-1.5 text-left text-sm text-base-content transition-colors hover:bg-base-200 focus-visible:bg-base-200 focus-visible:outline-none"><span class="truncate">日本語</span></a></li><li role="none"><a href="/ko/blog" hrefLang="ko" role="menuitemradio" aria-checked="false" class="w-full flex items-center rounded-field px-2 py-1.5 text-left text-sm text-base-content transition-colors hover:bg-base-200 focus-visible:bg-base-200 focus-visible:outline-none"><span class="truncate">한국어</span></a></li><li role="none"><a href="/fr/blog" hrefLang="fr" role="menuitemradio" aria-checked="false" class="w-full flex items-center rounded-field px-2 py-1.5 text-left text-sm text-base-content transition-colors hover:bg-base-200 focus-visible:bg-base-200 focus-visible:outline-none"><span class="truncate">français</span></a></li><li role="none"><a href="/es/blog" hrefLang="es" role="menuitemradio" aria-checked="false" class="w-full flex items-center rounded-field px-2 py-1.5 text-left text-sm text-base-content transition-colors hover:bg-base-200 focus-visible:bg-base-200 focus-visible:outline-none"><span class="truncate">español</span></a></li><li role="none"><a href="/ru/blog" hrefLang="ru" role="menuitemradio" aria-checked="false" class="w-full flex items-center rounded-field px-2 py-1.5 text-left text-sm text-base-content transition-colors hover:bg-base-200 focus-visible:bg-base-200 focus-visible:outline-none"><span class="truncate">русский</span></a></li><li role="none"><a href="/tr/blog" hrefLang="tr" role="menuitemradio" aria-checked="false" class="w-full flex items-center rounded-field px-2 py-1.5 text-left text-sm text-base-content transition-colors hover:bg-base-200 focus-visible:bg-base-200 focus-visible:outline-none"><span class="truncate">Türkçe</span></a></li><li role="none"><a href="/th/blog" hrefLang="th" role="menuitemradio" aria-checked="false" class="w-full flex items-center rounded-field px-2 py-1.5 text-left text-sm text-base-content transition-colors hover:bg-base-200 focus-visible:bg-base-200 focus-visible:outline-none"><span class="truncate">ไทย</span></a></li><li role="none"><a href="/vi/blog" hrefLang="vi" role="menuitemradio" aria-checked="false" class="w-full flex items-center rounded-field px-2 py-1.5 text-left text-sm text-base-content transition-colors hover:bg-base-200 focus-visible:bg-base-200 focus-visible:outline-none"><span class="truncate">Tiếng Việt</span></a></li><li role="none"><a href="/id/blog" hrefLang="id" role="menuitemradio" aria-checked="false" class="w-full flex items-center rounded-field px-2 py-1.5 text-left text-sm text-base-content transition-colors hover:bg-base-200 focus-visible:bg-base-200 focus-visible:outline-none"><span class="truncate">Indonesia</span></a></li><li role="none"><a href="/pl/blog" hrefLang="pl" role="menuitemradio" aria-checked="false" class="w-full flex items-center rounded-field px-2 py-1.5 text-left text-sm text-base-content transition-colors hover:bg-base-200 focus-visible:bg-base-200 focus-visible:outline-none"><span class="truncate">polski</span></a></li><li role="none"><a href="/nl/blog" hrefLang="nl" role="menuitemradio" aria-checked="false" class="w-full flex items-center rounded-field px-2 py-1.5 text-left text-sm text-base-content transition-colors hover:bg-base-200 focus-visible:bg-base-200 focus-visible:outline-none"><span class="truncate">Nederlands</span></a></li><li role="none"><a href="/da/blog" hrefLang="da" role="menuitemradio" aria-checked="false" class="w-full flex items-center rounded-field px-2 py-1.5 text-left text-sm text-base-content transition-colors hover:bg-base-200 focus-visible:bg-base-200 focus-visible:outline-none"><span class="truncate">dansk</span></a></li><li role="none"><a href="/nb/blog" hrefLang="nb" role="menuitemradio" aria-checked="false" class="w-full flex items-center rounded-field px-2 py-1.5 text-left text-sm text-base-content transition-colors hover:bg-base-200 focus-visible:bg-base-200 focus-visible:outline-none"><span class="truncate">norsk bokmål</span></a></li></ul></div><!--astro:end--></astro-island>  
183<script>(()=>{var l=(n,t)=>{let i=async()=>{await(await n())()},e=typeof t.value=="object"?t.value:void 0,s={timeout:e==null?void 0:e.timeout};"requestIdleCallback"in window?window.requestIdleCallback(i,s):setTimeout(i,s.timeout||200)};(self.Astro||(self.Astro={})).idle=l;window.dispatchEvent(new Event("astro:idle"));})();</script>
183<astro-island uid="k4H9N" prefix="r8" component-url="/_astro/AccountMenu.lfFxtj5H.js" component-export="default" renderer-url="/_astro/client.t9W_-msv.js" props="{&quot;initialLocale&quot;:[0,&quot;en&quot;],&quot;availableLocales&quot;:[0]}" ssr client="idle" opts="{&quot;name&quot;:&quot;AccountMenu&quot;,&quot;value&quot;:true}" await-children><div class="flex items-center gap-3 sm:gap-5" data-testid="account-auth-pending" aria-busy="true" aria-hidden="true"><span class="hidden sm:inline-block h-5 w-10 shrink-0"></span><span class="inline-block h-8 w-[7.5rem] shrink-0 rounded-field bg-base-content/5"></span></div><!--astro:end--></astro-island> </div> <div class="flex md:hidden items-center"> <astro-island uid="ZCoaME" prefix="r9" component-url="/_astro/AccountMenu.lfFxtj5H.js" component-export="default" renderer-url="/_astro/client.t9W_-msv.js" props="{&quot;initialLocale&quot;:[0,&quot;en&quot;],&quot;availableLocales&quot;:[0],&quot;hideLogin&quot;:[0,true]}" ssr client="idle" opts="{&quot;name&quot;:&quot;AccountMenu&quot;,&quot;value&quot;:true}" await-children><div class="flex items-center gap-3 sm:gap-5" data-testid="account-auth-pending" aria-busy="true" aria-hidden="true"><span class="inline-block h-8 w-[7.5rem] shrink-0 rounded-field bg-base-content/5"></span></div><!--astro:end--></astro-island> </div> </div> </div> </header>  <div id="mobile-menu-panel" class="md:hidden fixed inset-0 z-[60] pointer-events-none flex" aria-hidden="true">  <button type="button" data-mobile-menu-overlay data-mobile-menu-close aria-label="Close menu" class="flex-1 bg-black/50 opacity-0 transition-opacity duration-200 ease-out motion-reduce:transition-none"></button> <div role="dialog" aria-label="Site navigation" class="absolute inset-y-0 left-0 w-[300px] max-w-[85vw] -translate-x-full bg-base-100 border-r border-base-content/10 shadow-xl flex flex-col transition-transform duration-200 ease-out motion-reduce:transition-none will-change-transform" style="background-color: var(--color-base-100, #ffffff)" data-mobile-menu-drawer> <div class="flex h-20 shrink-0 items-center justify-between border-b border-base-content/10 px-6"> <a href="/" class="flex min-w-0 items-center gap-3 text-xl font-semibold text-base-content" aria-label="FLUX 3" data-mobile-menu-link> <img src="/logo.webp" alt="" width="44" height="44" class="h-11 w-11 rounded-field object-cover shrink-0"> <span class="sidebar-wordmark truncate font-black"> FLUX 3 </span> </a> <button type="button" aria-label="Close menu" class="inline-flex h-11 w-11 items-center justify-center rounded-field text-base-content/70 hover:text-base-content hover:bg-base-200/60 transition" data-mobile-menu-close> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"> <line x1="18" y1="6" x2="6" y2="18"></line> <line x1="6" y1="6" x2="18" y2="18"></line> </svg> </button> </div> <nav aria-label="Site navigation" class="flex-1 min-h-0 overflow-y-auto px-6 py-8"> <ul class="flex flex-col gap-6"> <li> <a href="/video" class="inline-flex items-center gap-2 text-lg font-semibold tracking-normal transition-colors text-base-content hover:text-primary" data-mobile-menu-link> <span class="flex-1">AI Video</span>  </a> </li><li> <a href="/video/flux3-video-edit" class="inline-flex items-center gap-2 text-lg font-semibold tracking-normal transition-colors text-base-content hover:text-primary" data-mobile-menu-link> <span class="flex-1">FLUX 3 Video Edit</span>  </a> </li><li> <a href="/video/flux3-draft-mode" class="inline-flex items-center gap-2 text-lg font-semibold tracking-normal transition-colors text-base-content hover:text-primary" data-mobile-menu-link> <span class="flex-1">Draft Mode</span>  </a> </li><li> <a href="/video/video-upscaler" class="inline-flex items-center gap-2 text-lg font-semibold tracking-normal transition-colors text-base-content hover:text-primary" data-mobile-menu-link> <span class="flex-1">FLUX Video Upscale</span>  </a> </li><li> <a href="/pricing" class="inline-flex items-center gap-2 text-lg font-semibold tracking-normal transition-colors text-base-content hover:text-primary" data-mobile-menu-link> <span class="flex-1">Pricing</span> <span class="badge badge-sm badge-soft badge-primary">Up to 30%</span> </a> </li><li> <a href="/blog" aria-current="page" class="inline-flex items-center gap-2 text-lg font-semibold tracking-normal transition-colors text-primary" data-mobile-menu-link> <span class="flex-1">Blog</span>  </a> </li> </ul> </nav> <div class="shrink-0 border-t border-base-content/10 px-6 py-6"> <div class="flex items-center gap-4" data-mobile-menu-settings>   
183<script>(()=>{var n=(a,t)=>{let i=async()=>{await(await a())()};if(t.value){let e=matchMedia(t.value);e.matches?i():e.addEventListener("change",i,{once:!0})}};(self.Astro||(self.Astro={})).media=n;window.dispatchEvent(new Event("astro:media"));})();</script>
183<astro-island uid="Z1rxHVp" prefix="r10" component-url="/_astro/LocaleSwitcher.lQjEkZcH.js" component-export="default" renderer-url="/_astro/client.t9W_-msv.js" props="{&quot;pathname&quot;:[0,&quot;/blog&quot;],&quot;placement&quot;:[0,&quot;top&quot;],&quot;locales&quot;:[0],&quot;collapsed&quot;:[0,true],&quot;showWhenSingle&quot;:[0,true],&quot;triggerClassName&quot;:[0,&quot;!h-12 !w-12 !min-h-12 !rounded-full !px-0 border border-base-content/15 bg-base-200/40 shadow-sm&quot;]}" ssr client="media" opts="{&quot;name&quot;:&quot;LocaleSwitcher&quot;,&quot;value&quot;:&quot;(max-width: 767.98px)&quot;}" await-children><div class="dropdown dropdown-top"><button type="button" tabindex="0" aria-label="Language" aria-haspopup="menu" data-testid="locale-switcher" class="btn btn-ghost btn-sm w-9 px-0 !h-12 !w-12 !min-h-12 !rounded-full !px-0 border border-base-content/15 bg-base-200/40 shadow-sm"><svg width="16" height="16" viewBox="0 0 24 24" class="h-4 w-4" aria-hidden="true"><use href="/_astro/s-3c4635894d05.Bb8zE0tJ.svg#lucide-languages"></use></svg><span class="sr-only">EN</span></button><ul tabindex="0" role="menu" aria-label="Language" class="dropdown-content z-50 mt-1 max-h-[min(20rem,calc(100dvh-6rem))] w-[min(12rem,calc(100vw-2rem))] overflow-y-auto rounded-box border border-base-200 bg-base-100 p-1 shadow-lg"><li role="none"><a href="/blog" hrefLang="en" role="menuitemradio" aria-checked="true" aria-current="page" class="w-full flex items-center rounded-field px-2 py-1.5 text-left text-sm text-base-content transition-colors hover:bg-base-200 focus-visible:bg-base-200 focus-visible:outline-none bg-base-200 font-medium"><span class="truncate">English</span></a></li><li role="none"><a href="/zh/blog" hrefLang="zh-CN" role="menuitemradio" aria-checked="false" class="w-full flex items-center rounded-field px-2 py-1.5 text-left text-sm text-base-content transition-colors hover:bg-base-200 focus-visible:bg-base-200 focus-visible:outline-none"><span class="truncate">简体中文</span></a></li><li role="none"><a href="/zh-tw/blog" hrefLang="zh-Hant" role="menuitemradio" aria-checked="false" class="w-full flex items-center rounded-field px-2 py-1.5 text-left text-sm text-base-content transition-colors hover:bg-base-200 focus-visible:bg-base-200 focus-visible:outline-none"><span class="truncate">繁體中文</span></a></li><li role="none"><a href="/de/blog" hrefLang="de" role="menuitemradio" aria-checked="false" class="w-full flex items-center rounded-field px-2 py-1.5 text-left text-sm text-base-content transition-colors hover:bg-base-200 focus-visible:bg-base-200 focus-visible:outline-none"><span class="truncate">Deutsch</span></a></li><li role="none"><a href="/br/blog" hrefLang="pt-BR" role="menuitemradio" aria-checked="false" class="w-full flex items-center rounded-field px-2 py-1.5 text-left text-sm text-base-content transition-colors hover:bg-base-200 focus-visible:bg-base-200 focus-visible:outline-none"><span class="truncate">português (Brasil)</span></a></li><li role="none"><a href="/ja/blog" hrefLang="ja" role="menuitemradio" aria-checked="false" class="w-full flex items-center rounded-field px-2 py-1.5 text-left text-sm text-base-content transition-colors hover:bg-base-200 focus-visible:bg-base-200 focus-visible:outline-none"><span class="truncate">日本語</span></a></li><li role="none"><a href="/ko/blog" hrefLang="ko" role="menuitemradio" aria-checked="false" class="w-full flex items-center rounded-field px-2 py-1.5 text-left text-sm text-base-content transition-colors hover:bg-base-200 focus-visible:bg-base-200 focus-visible:outline-none"><span class="truncate">한국어</span></a></li><li role="none"><a href="/fr/blog" hrefLang="fr" role="menuitemradio" aria-checked="false" class="w-full flex items-center rounded-field px-2 py-1.5 text-left text-sm text-base-content transition-colors hover:bg-base-200 focus-visible:bg-base-200 focus-visible:outline-none"><span class="truncate">français</span></a></li><li role="none"><a href="/es/blog" hrefLang="es" role="menuitemradio" aria-checked="false" class="w-full flex items-center rounded-field px-2 py-1.5 text-left text-sm text-base-content transition-colors hover:bg-base-200 focus-visible:bg-base-200 focus-visible:outline-none"><span class="truncate">español</span></a></li><li role="none"><a href="/ru/blog" hrefLang="ru" role="menuitemradio" aria-checked="false" class="w-full flex items-center rounded-field px-2 py-1.5 text-left text-sm text-base-content transition-colors hover:bg-base-200 focus-visible:bg-base-200 focus-visible:outline-none"><span class="truncate">русский</span></a></li><li role="none"><a href="/tr/blog" hrefLang="tr" role="menuitemradio" aria-checked="false" class="w-full flex items-center rounded-field px-2 py-1.5 text-left text-sm text-base-content transition-colors hover:bg-base-200 focus-visible:bg-base-200 focus-visible:outline-none"><span class="truncate">Türkçe</span></a></li><li role="none"><a href="/th/blog" hrefLang="th" role="menuitemradio" aria-checked="false" class="w-full flex items-center rounded-field px-2 py-1.5 text-left text-sm text-base-content transition-colors hover:bg-base-200 focus-visible:bg-base-200 focus-visible:outline-none"><span class="truncate">ไทย</span></a></li><li role="none"><a href="/vi/blog" hrefLang="vi" role="menuitemradio" aria-checked="false" class="w-full flex items-center rounded-field px-2 py-1.5 text-left text-sm text-base-content transition-colors hover:bg-base-200 focus-visible:bg-base-200 focus-visible:outline-none"><span class="truncate">Tiếng Việt</span></a></li><li role="none"><a href="/id/blog" hrefLang="id" role="menuitemradio" aria-checked="false" class="w-full flex items-center rounded-field px-2 py-1.5 text-left text-sm text-base-content transition-colors hover:bg-base-200 focus-visible:bg-base-200 focus-visible:outline-none"><span class="truncate">Indonesia</span></a></li><li role="none"><a href="/pl/blog" hrefLang="pl" role="menuitemradio" aria-checked="false" class="w-full flex items-center rounded-field px-2 py-1.5 text-left text-sm text-base-content transition-colors hover:bg-base-200 focus-visible:bg-base-200 focus-visible:outline-none"><span class="truncate">polski</span></a></li><li role="none"><a href="/nl/blog" hrefLang="nl" role="menuitemradio" aria-checked="false" class="w-full flex items-center rounded-field px-2 py-1.5 text-left text-sm text-base-content transition-colors hover:bg-base-200 focus-visible:bg-base-200 focus-visible:outline-none"><span class="truncate">Nederlands</span></a></li><li role="none"><a href="/da/blog" hrefLang="da" role="menuitemradio" aria-checked="false" class="w-full flex items-center rounded-field px-2 py-1.5 text-left text-sm text-base-content transition-colors hover:bg-base-200 focus-visible:bg-base-200 focus-visible:outline-none"><span class="truncate">dansk</span></a></li><li role="none"><a href="/nb/blog" hrefLang="nb" role="menuitemradio" aria-checked="false" class="w-full flex items-center rounded-field px-2 py-1.5 text-left text-sm text-base-content transition-colors hover:bg-base-200 focus-visible:bg-base-200 focus-visible:outline-none"><span class="truncate">norsk bokmål</span></a></li></ul></div><!--astro:end--></astro-island>  </div> </div> </div> </div>  
183<script type="module">globalThis.process??={};globalThis.process.env??={};let d="",i=null;function l(){return document.getElementById("site-topnav")}function u(){return document.getElementById("mobile-menu-panel")?.dataset.open==="true"}function s(){const e=l();e&&document.documentElement.style.setProperty("--site-topnav-h",`${e.offsetHeight}px`)}function o(){const e=l();if(!e)return;const t=window.scrollY>4;e.classList.toggle("bg-transparent",!t),e.classList.toggle("bg-base-100/80",t),e.classList.toggle("backdrop-blur-md",t);const n="heroBehindHeader"in document.body.dataset;e.classList.toggle("over-hero",n&&!t)}function a(e){const t=document.getElementById("mobile-menu-panel"),n=document.getElementById("mobile-menu-toggle");if(!t||!n)return;const v=u();if(e===v){s(),o();return}const r=t.querySelector("[data-mobile-menu-overlay]"),c=t.querySelector("[data-mobile-menu-drawer]"),m=n.querySelector('[data-icon="bars"]'),b=n.querySelector('[data-icon="close"]');s(),t.dataset.open=String(e),t.setAttribute("aria-hidden",String(!e)),t.classList.toggle("pointer-events-none",!e),t.classList.toggle("pointer-events-auto",e),r?.classList.toggle("opacity-0",!e),r?.classList.toggle("opacity-100",e),c?.classList.toggle("-translate-x-full",!e),c?.classList.toggle("translate-x-0",e),n.setAttribute("aria-expanded",String(e)),m?.classList.toggle("hidden",e),b?.classList.toggle("hidden",!e),e?(d=document.body.style.overflow,document.body.style.overflow="hidden"):document.body.style.overflow=d,o()}document.addEventListener("click",e=>{const t=e.target;if(!(t instanceof Element))return;if(t.closest("#mobile-menu-toggle")){a(!u());return}if(t.closest("[data-mobile-menu-close]")||t.closest("[data-mobile-menu-link]")){a(!1);return}const n=t.closest("[data-nav-action]");n?.dataset.navAction&&window.dispatchEvent(new CustomEvent("bento:nav-action",{detail:{action:n.dataset.navAction}}))});document.addEventListener("keydown",e=>{e.key==="Escape"&&a(!1)});window.addEventListener("resize",s,{passive:!0});window.addEventListener("scroll",o,{passive:!0});function g(){a(!1),s(),o();const e=l();e&&"ResizeObserver"in window&&(i?.disconnect(),i=new ResizeObserver(s),i.observe(e))}g();document.addEventListener("astro:page-load",g);</script>
183 </div> <main class="flex-1 w-full max-w-screen-2xl mx-auto px-4 py-8">   <section class="mx-auto max-w-6xl px-4 py-12 sm:py-16 lg:py-20"> <header class="mb-12 sm:mb-16"> <h1 class="font-serif text-5xl font-bold leading-none text-base-content sm:text-6xl"> Blog </h1> <p class="mt-5 max-w-2xl text-base leading-relaxed text-base-content/60 sm:text-lg"> Read about our latest product features, solutions, and updates. </p> </header> <section class="grid gap-8 lg:grid-cols-[minmax(0,2fr)_minmax(280px,1fr)] lg:items-start"> <article class="group"> <a href="/blog/flux-3-vs-h3-max" class="block"> <figure class="relative aspect-[4/3] overflow-hidden rounded-box bg-base-200"> <img src="https://cdn.flux3.video/assets/landing/flux3/blog/flux-3-vs-h3-max-cover-filmstrip.webp" alt="FLUX 3 vs H3 Max: Longer Multi-Shot or Fast 5–15s Drafts?" loading="eager" fetchpriority="high" class="h-full w-full object-cover transition duration-500 group-hover:scale-[1.02]">  </figure> <h2 class="mt-6 max-w-3xl text-3xl font-bold leading-tight text-base-content transition-colors group-hover:text-primary sm:text-4xl"> FLUX 3 vs H3 Max: Longer Multi-Shot or Fast 5–15s Drafts? </h2> <p class="mt-3 max-w-3xl line-clamp-2 text-sm leading-relaxed text-base-content/60 sm:text-base"> Two 2026 video jobs: FLUX 3 is the longer multi-shot native-audio path on this site. H3 Max is the hosted 5–15s 768p speed lane. Public axes, honest gaps, three copy-paste prompts. </p> </a> </article> <div class="grid gap-8 sm:grid-cols-2 lg:grid-cols-1"> <article class="group"> <a href="/blog/minimax-h3-max-vs-flux-3" class="block"> <figure class="relative aspect-[16/10] overflow-hidden rounded-box bg-base-200"> <img src="https://cdn.flux3.video/assets/landing/flux3/blog/minimax-h3-max-vs-flux-3-cover.webp" alt="MiniMax H3 Max vs FLUX 3: Fast Drafts or Longer Multi-Shot?" loading="lazy" class="h-full w-full object-cover transition duration-500 group-hover:scale-[1.03]">  </figure> <h2 class="mt-4 text-lg font-bold leading-snug text-base-content transition-colors group-hover:text-primary"> MiniMax H3 Max vs FLUX 3: Fast Drafts or Longer Multi-Shot? </h2> </a> </article><article class="group"> <a href="/blog/ltx-2-5-vs-flux-3" class="block"> <figure class="relative aspect-[16/10] overflow-hidden rounded-box bg-base-200"> <img src="https://cdn.flux3.video/assets/landing/flux3/blog/ltx-2-5-vs-flux-3-cover.webp" alt="LTX 2.5 vs FLUX 3: Open Weights or Browser Video?" loading="lazy" class="h-full w-full object-cover transition duration-500 group-hover:scale-[1.03]">  </figure> <h2 class="mt-4 text-lg font-bold leading-snug text-base-content transition-colors group-hover:text-primary"> LTX 2.5 vs FLUX 3: Open Weights or Browser Video? </h2> </a> </article> </div> </section><section class="mt-20 sm:mt-24"> <div class="mb-7 flex items-center justify-between gap-4 border-t border-base-content/10 pt-8"> <h2 class="text-2xl font-bold text-base-content sm:text-3xl"> Information </h2> <a href="/blog/category/information" class="hidden text-sm font-semibold text-base-content/60 transition hover:text-primary sm:inline"> View category </a> </div> <ul class="grid grid-cols-1 gap-x-8 gap-y-10 sm:grid-cols-2 lg:grid-cols-3"> <li class="group"> <a href="/blog/seedance-2-5-vs-flux-3" class="block"> <figure class="relative aspect-[16/9] overflow-hidden rounded-box bg-base-200"> <img src="https://cdn.flux3.video/assets/landing/flux3/blog/seedance-2-5-vs-flux-3-cover.webp" alt="Seedance 2.5 vs FLUX 3: Which AI Video Model Fits Your Job?" loading="lazy" class="h-full w-full object-cover transition duration-500 group-hover:scale-[1.03]">  </figure> <h3 class="mt-4 text-lg font-bold leading-snug text-base-content transition-colors group-hover:text-primary"> Seedance 2.5 vs FLUX 3: Which AI Video Model Fits Your Job? </h3> <p class="mt-2 line-clamp-2 text-sm leading-relaxed text-base-content/60"> Two 2026 frontier video models, two different jobs. Use official axes, community demos on X, and three copy-paste prompts to decide when FLUX 3 is the right first try. </p> </a> </li><li class="group">
183 <a href="/blog/flux-3-text-to-video-vs-image-to-video" class="block"> <figure class="relative aspect-[16/9] overflow-hidden rounded-box bg-base-200"> <img src="https://cdn.flux3.video/assets/landing/flux3/blog/flux-3-text-to-video-vs-image-to-video-cover-v2.webp" alt="FLUX 3 Text-to-Video vs Image-to-Video: When to Start From a Still" loading="lazy" class="h-full w-full object-cover transition duration-500 group-hover:scale-[1.03]">  </figure> <h3 class="mt-4 text-lg font-bold leading-snug text-base-content transition-colors group-hover:text-primary"> FLUX 3 Text-to-Video vs Image-to-Video: When to Start From a Still </h3> <p class="mt-2 line-clamp-2 text-sm leading-relaxed text-base-content/60"> Pure text invents the world. A still locks the look. Use this FLUX 3 decision guide before you burn free runs. </p> </a> </li><li class="group"> <a href="/blog/how-to-use-flux-3-free" class="block"> <figure class="relative aspect-[16/9] overflow-hidden rounded-box bg-base-200"> <img src="https://cdn.flux3.video/assets/landing/flux3/blog/how-to-use-flux-3-free-cover-v2.webp" alt="How to Use FLUX 3 Free (Signup Credits, No Card)" loading="lazy" class="h-full w-full object-cover transition duration-500 group-hover:scale-[1.03]">  </figure> <h3 class="mt-4 text-lg font-bold leading-snug text-base-content transition-colors group-hover:text-primary"> How to Use FLUX 3 Free (Signup Credits, No Card) </h3> <p class="mt-2 line-clamp-2 text-sm leading-relaxed text-base-content/60"> Open the FLUX 3 video generator, sign up for free credits with no card, and run a clear first prompt—without fake unlimited or no-signup free claims. </p> </a> </li><li class="group hidden" data-blog-section-extra="blog-section-0"> <a href="/blog/flux-3-ai-short-film-first-pass" class="block"> <figure class="relative aspect-[16/9] overflow-hidden rounded-box bg-base-200"> <img src="https://cdn.flux3.video/assets/landing/flux3/blog/flux-3-ai-short-film-first-pass-cover.webp" alt="FLUX 3 AI Short Film First Pass: Multi-Shot Scene Prompts" loading="lazy" class="h-full w-full object-cover transition duration-500 group-hover:scale-[1.03]">  </figure> <h3 class="mt-4 text-lg font-bold leading-snug text-base-content transition-colors group-hover:text-primary"> FLUX 3 AI Short Film First Pass: Multi-Shot Scene Prompts </h3> <p class="mt-2 line-clamp-2 text-sm leading-relaxed text-base-content/60"> Short-film first-pass pack for FLUX 3—dialogue, outdoor action, and mood scenes with copy-paste multi-shot prompts. </p> </a> </li><li class="group hidden" data-blog-section-extra="blog-section-0"> <a href="/blog/flux-3-product-demo-video-prompts" class="block"> <figure class="relative aspect-[16/9] overflow-hidden rounded-box bg-base-200"> <img src="https://cdn.flux3.video/assets/landing/flux3/blog/flux-3-product-demo-video-prompts-cover.webp" alt="FLUX 3 Product Demo Videos: 3 Prompts for Clean Motion Ads" loading="lazy" class="h-full w-full object-cover transition duration-500 group-hover:scale-[1.03]">  </figure> <h3 class="mt-4 text-lg font-bold leading-snug text-base-content transition-colors group-hover:text-primary"> FLUX 3 Product Demo Videos: 3 Prompts for Clean Motion Ads </h3> <p class="mt-2 line-clamp-2 text-sm leading-relaxed text-base-content/60"> Product demo pack for FLUX 3: multi-shot hero spins, feature beats, and image-to-video continuity with copy-paste prompts. </p> </a> </li><li class="group hidden" data-blog-section-extra="blog-section-0"> <a href="/blog/flux-3-ugc-ad-video-prompts" class="block"> <figure class="relative aspect-[16/9] overflow-hidden rounded-box bg-base-200"> <img src="https://cdn.flux3.video/assets/landing/flux3/blog/flux-3-ugc-ad-video-prompts-cover.webp" alt="FLUX 3 UGC Ad Videos: 3 Copy-Paste Prompts That Convert" loading="lazy" class="h-full w-full object-cover transition duration-500 group-hover:scale-[1.03]">  </figure> <h3 class="mt-4 text-lg font-bold leading-snug text-base-content transition-colors group-hover:text-primary"> FLUX 3 UGC Ad Videos: 3 Copy-Paste Prompts That Convert </h3> <p class="mt-2 line-clamp-2 text-sm leading-relaxed text-base-content/60"> Scenario-first UGC ad pack for FLUX 3: three copy-paste multi-shot prompts, native audio cues, and a pass/fail review for social crops. </p> </a> </li><li class="group hidden" data-blog-section-extra="blog-section-0"> <a href="/blog/flux-3-vs-peer-video-models" class="block"> <figure class="relative aspect-[16/9] overflow-hidden rounded-box bg-base-200"> <img src="https://cdn.flux3.video/assets/landing/flux3/blog/flux-3-vs-peer-video-models-cover.webp" alt="FLUX 3 vs Peer AI Video Models: Decision Criteria" loading="lazy" class="h-full w-full object-cover transition duration-500 group-hover:scale-[1.03]">  </figure> <h3 class="mt-4 text-lg font-bold leading-snug text-base-content transition-colors group-hover:text-primary"> FLUX 3 vs Peer AI Video Models: Decision Criteria </h3> <p class="mt-2 line-clamp-2 text-sm leading-relaxed text-base-content/60"> Skip the forever #1 crown. Use criteria, public model facts, and three copy-paste prompts to decide when FLUX 3 fits your clip. </p> </a> </li><li class="group hidden" data-blog-section-extra="blog-section-0"> <a href="/blog/flux-3-video-multi-shot-native-audio" class="block"> <figure class="relative aspect-[16/9] overflow-hidden rounded-box bg-base-200"> <img src="https://cdn.flux3.video/assets/landing/flux3/blog/flux-3-video-multi-shot-cover-v2.webp" alt="FLUX 3 Video: Multi-Shot, ~20s Clips &amp; Native Audio" loading="lazy" class="h-full w-full object-cover transition duration-500 group-hover:scale-[1.03]">  </figure> <h3 class="mt-4 text-lg font-bold leading-snug text-base-content transition-colors group-hover:text-primary"> FLUX 3 Video: Multi-Shot, ~20s Clips &amp; Native Audio </h3> <p class="mt-2 line-clamp-2 text-sm leading-relaxed text-base-content/60"> Write shots—not vibes. A practical how-to for multi-shot FLUX 3 video with 
183native audio cues and copy-paste prompts. </p> </a> </li><li class="group hidden" data-blog-section-extra="blog-section-0"> <a href="/blog/what-is-flux-3" class="block"> <figure class="relative aspect-[16/9] overflow-hidden rounded-box bg-base-200"> <img src="https://cdn.flux3.video/assets/landing/flux3/blog/what-is-flux-3-cover-v2.webp" alt="What Is FLUX 3? Multimodal Video &amp; Image, Free Online" loading="lazy" class="h-full w-full object-cover transition duration-500 group-hover:scale-[1.03]">  </figure> <h3 class="mt-4 text-lg font-bold leading-snug text-base-content transition-colors group-hover:text-primary"> What Is FLUX 3? Multimodal Video &amp; Image, Free Online </h3> <p class="mt-2 line-clamp-2 text-sm leading-relaxed text-base-content/60"> One multimodal FLUX 3 stack for video and image. What shipped at launch, creator use cases, and a free browser path on FLUX 3. </p> </a> </li> </ul> <div class="mt-12 flex justify-center"> <button type="button" class="btn btn-sm rounded-field border-base-content/10 bg-base-100 px-6 font-semibold text-base-content shadow-none hover:border-primary/40 hover:bg-base-200" data-blog-section-toggle="blog-section-0"> Show more posts </button> </div> </section> </section> 
183<script data-astro-rerun>
184    // data-astro-rerun: this binds click to the section "show more" toggles,
185    // which Astro ClientRouter swaps out on navigation; re-run after each
186    // transition so the fresh toggles get their listeners.
187    (() => {
188      document.querySelectorAll("[data-blog-section-toggle]").forEach((button) => {
189        button.addEventListener("click", () => {
190          const sectionId = button.getAttribute("data-blog-section-toggle");
191          if (!sectionId) return;
192          document
193            .querySelectorAll(`[data-blog-section-extra="${sectionId}"]`)
194            .forEach((item) => item.classList.remove("hidden"));
195          button.classList.add("hidden");
196        });
197      });
198    })();
199  </script>
199   </main> <footer class="bg-base-100 rounded-box shadow-sm ring-1 ring-base-200/70 mx-4 mb-3 overflow-hidden mt-auto" data-astro-cid-rgvd4mof> <div class="footer sm:footer-horizontal px-6 py-10 max-w-5xl mx-auto" data-astro-cid-rgvd4mof> <aside class="max-w-xs" data-astro-cid-rgvd4mof> <img src="/logo.webp" alt="FLUX 3" class="w-12 h-12 rounded-field object-contain" data-astro-cid-rgvd4mof> <p data-astro-cid-rgvd4mof>  <span class="footer-wordmark font-black text-lg text-base-content" data-astro-cid-rgvd4mof>FLUX 3</span>  </p> <a href="mailto:[email protected]" class="inline-flex items-center gap-1.5 text-sm text-base-content/70 hover:text-base-content mt-1" data-astro-cid-rgvd4mof> <svg width="16" height="16" viewBox="0 0 24 24" class="w-4 h-4 shrink-0" aria-hidden="true"><use href="/_astro/s-3c4635894d05.Bb8zE0tJ.svg#lucide-mail"></use></svg> [email protected] </a> </aside> <nav aria-label="Resources"><h2 class="footer-title px-2 text-sm font-semibold uppercase tracking-wide text-primary mb-1">Resources</h2><a href="/pricing" class="inline-flex items-center gap-1.5 rounded-field px-2 py-1 text-sm text-base-content/70 hover:bg-primary/10 hover:text-primary transition-colors"><span>Pricing</span></a><a href="/blog" class="inline-flex items-center gap-1.5 rounded-field px-2 py-1 text-sm text-base-content/70 hover:bg-primary/10 hover:text-primary transition-colors"><span>Blog</span></a><a href="/about" class="inline-flex items-center gap-1.5 rounded-field px-2 py-1 text-sm text-base-content/70 hover:bg-primary/10 hover:text-primary transition-colors"><span>About</span></a><a href="/contact" class="inline-flex items-center gap-1.5 rounded-field px-2 py-1 text-sm text-base-content/70 hover:bg-primary/10 hover:text-primary transition-colors"><span>Contact</span></a><a href="/account/tickets" class="inline-flex items-center gap-1.5 rounded-field px-2 py-1 text-sm text-base-content/70 hover:bg-primary/10 hover:text-primary transition-colors"><span>Tickets</span></a><a href="/account/referral" class="inline-flex items-center gap-1.5 rounded-field px-2 py-1 text-sm text-base-content/70 hover:bg-primary/10 hover:text-primary transition-colors"><span>Refer a Friend</span></a></nav><nav aria-label="Legal"><h2 class="footer-title px-2 text-sm font-semibold uppercase tracking-wide text-primary mb-1">Legal</h2><a href="/legal/privacy" class="inline-flex items-center gap-1.5 rounded-field px-2 py-1 text-sm text-base-content/70 hover:bg-primary/10 hover:text-primary transition-colors"><span>Privacy Policy</span></a><a href="/legal/refund" class="inline-flex items-center gap-1.5 rounded-field px-2 py-1 text-sm text-base-content/70 hover:bg-primary/10 hover:text-primary transition-colors"><span>Refund Policy</span></a><a href="/legal/terms" class="inline-flex items-center gap-1.5 rounded-field px-2 py-1 text-sm text-base-content/70 hover:bg-primary/10 hover:text-primary transition-colors"><span>Terms &amp; Conditions</span></a><a href="/legal/acceptable-use" class="inline-flex items-center gap-1.5 rounded-field px-2 py-1 text-sm text-base-content/70 hover:bg-primary/10 hover:text-primary transition-colors"><span>Acceptable Use</span></a><a href="/legal/disclaimer" class="inline-flex items-center gap-1.5 rounded-field px-2 py-1 text-sm text-base-content/70 hover:bg-primary/10 hover:text-primary transition-colors"><span>Disclaimer</span></a></nav> </div> <div class="border-t border-base-200/60" data-astro-cid-rgvd4mof> <div class="footer sm:footer-horizontal px-6 py-8 max-w-5xl mx-auto" data-astro-cid-rgvd4mof> <nav aria-label="Generators"><h2 class="footer-title px-2 text-sm font-semibold uppercase tracking-wide text-primary mb-1">Generators</h2><a href="/video" class="inline-flex items-center gap-1.5 rounded-field px-2 py-1 text-sm text-base-content/70 hover:bg-primary/10 hover:text-primary transition-colors"><span>AI Video Generator</span></a><a href="/image" class="inline-flex items-center gap-1.5 rounded-field px-2 py-1 text-sm text-base-content/70 hover:bg-primary/10 hover:text-primary transition-colors"><span>AI Image Generator</span></a><a href="/video/flux3-draft-mode" class="inline-flex items-center gap-1.5 rounded-field px-2 py-1 text-sm text-base-content/70 hover:bg-primary/10 hover:text-primary transition-colors"><span>FLUX 3 Draft Mode</span></a></nav> </div> </div>   <div class="border-t border-base-200/60" data-astro-cid-rgvd4mof> <nav aria-label="Language" data-testid="footer-language-nav" class="max-w-5xl mx-auto px-6 py-4 flex flex-wrap items-center justify-center gap-2" data-astro-cid-rgvd4mof> <a href="/blog" hreflang="en" aria-current="page" class="inline-flex items-center gap-1.5 rounded-field px-3 py-1.5 text-sm transition-colors bg-primary/10 text-primary font-medium ring-1 ring-primary/30" data-astro-cid-rgvd4mof> <span class="text-[10px] font-semibold uppercase tracking-wide text-base-content/70" data-astro-cid-rgvd4mof> US </span> <span data-astro-cid-rgvd4mof>English</span> </a><a href="/zh/blog" hreflang="zh-CN" class="inline-flex items-center gap-1.5 rounded-field px-3 py-1.5 text-sm transition-colors bg-base-200 text-base-content/70 hover:bg-base-300 hover:text-base-content" data-astro-cid-rgvd4mof> <span class="text-[10px] font-semibold uppercase tracking-wide text-base-content/70" data-astro-cid-rgvd4mof> CN </span> <span data-astro-cid-rgvd4mof>简体中文</span> </a><a href="/zh-tw/blog" hreflang="zh-Hant" class="inline-flex items-center gap-1.5 rounded-field px-3 py-1.5 text-sm transition-colors bg-base-200 text-base-content/70 hover:bg-base-300 hover:text-base-content" data-astro-cid-rgvd4mof> <span class="text-[10px] font-semibold uppercase tracking-wide text-base-content/70" data-astro-cid-rgvd4mof> TW </span> <span data-astro-cid-rgvd4mof>繁體中文</span> </a><a href="/de/blog" hreflang="de" class="inline-flex items-center gap-1.5 rounded-field px-3 py-1.5 text-sm transition-colors bg-base-200 text-base-content/70 hover:bg-base-300 hover:text-base-content" data-astro-cid-rgvd4mof> <span class="text-[10px] font-semibold uppercase tracking-wide text-base-content/70" data-astro-cid-rgvd4mof> DE </span> <span data-astro-cid-rgvd4mof>Deutsch</span> </a><a href="/br/blog" hreflang="pt-BR" class="inline-flex items-center gap-1.5 rounded-field px-3 py-1.5 text-sm transition-colors bg-base-200 text-base-content/70 hover:bg-base-300 hover:text-base-content" data-astro-cid-rgvd4mof> <span class="text-[10px] font-semibold uppercase tracking-wide text-base-content/70" data-astro-cid-rgvd4mof> BR </span> <span data-astro-cid-rgvd4mof>português (Brasil)</span> </a><a href="/ja/blog" hreflang="ja" class="inline-flex items-center gap-1.5 rounded-field px-3 py-1.5 text-sm transition-colors bg-base-200 text-base-content/70 hover:bg-base-300 hover:text-base-content" data-astro-cid-rgvd4mof> <span class="text-[10px] font-semibold uppercase tracking-wide text-base-content/70" data-astro-cid-rgvd4mof> JP </span> <span data-astro-cid-rgvd4mof>日本語</span> </a><a href="/ko/blog" hreflang="ko" class="inline-flex items-center gap-1.5 rounded-field px-3 py-1.5 text-sm transition-colors bg-base-200 text-base-content/70 hover:bg-base-300 hover:text-base-content" data-astro-cid-rgvd4mof> <span class="text-[10px] font-semibold uppercase tracking-wide text-base-content/70" data-astro-cid-rgvd4mof>
199 KR </span> <span data-astro-cid-rgvd4mof>한국어</span> </a><a href="/fr/blog" hreflang="fr" class="inline-flex items-center gap-1.5 rounded-field px-3 py-1.5 text-sm transition-colors bg-base-200 text-base-content/70 hover:bg-base-300 hover:text-base-content" data-astro-cid-rgvd4mof> <span class="text-[10px] font-semibold uppercase tracking-wide text-base-content/70" data-astro-cid-rgvd4mof> FR </span> <span data-astro-cid-rgvd4mof>français</span> </a><a href="/es/blog" hreflang="es" class="inline-flex items-center gap-1.5 rounded-field px-3 py-1.5 text-sm transition-colors bg-base-200 text-base-content/70 hover:bg-base-300 hover:text-base-content" data-astro-cid-rgvd4mof> <span class="text-[10px] font-semibold uppercase tracking-wide text-base-content/70" data-astro-cid-rgvd4mof> ES </span> <span data-astro-cid-rgvd4mof>español</span> </a><a href="/ru/blog" hreflang="ru" class="inline-flex items-center gap-1.5 rounded-field px-3 py-1.5 text-sm transition-colors bg-base-200 text-base-content/70 hover:bg-base-300 hover:text-base-content" data-astro-cid-rgvd4mof> <span class="text-[10px] font-semibold uppercase tracking-wide text-base-content/70" data-astro-cid-rgvd4mof> RU </span> <span data-astro-cid-rgvd4mof>русский</span> </a><a href="/tr/blog" hreflang="tr" class="inline-flex items-center gap-1.5 rounded-field px-3 py-1.5 text-sm transition-colors bg-base-200 text-base-content/70 hover:bg-base-300 hover:text-base-content" data-astro-cid-rgvd4mof> <span class="text-[10px] font-semibold uppercase tracking-wide text-base-content/70" data-astro-cid-rgvd4mof> TR </span> <span data-astro-cid-rgvd4mof>Türkçe</span> </a><a href="/th/blog" hreflang="th" class="inline-flex items-center gap-1.5 rounded-field px-3 py-1.5 text-sm transition-colors bg-base-200 text-base-content/70 hover:bg-base-300 hover:text-base-content" data-astro-cid-rgvd4mof> <span class="text-[10px] font-semibold uppercase tracking-wide text-base-content/70" data-astro-cid-rgvd4mof> TH </span> <span data-astro-cid-rgvd4mof>ไทย</span> </a><a href="/vi/blog" hreflang="vi" class="inline-flex items-center gap-1.5 rounded-field px-3 py-1.5 text-sm transition-colors bg-base-200 text-base-content/70 hover:bg-base-300 hover:text-base-content" data-astro-cid-rgvd4mof> <span class="text-[10px] font-semibold uppercase tracking-wide text-base-content/70" data-astro-cid-rgvd4mof> VN </span> <span data-astro-cid-rgvd4mof>Tiếng Việt</span> </a><a href="/id/blog" hreflang="id" class="inline-flex items-center gap-1.5 rounded-field px-3 py-1.5 text-sm transition-colors bg-base-200 text-base-content/70 hover:bg-base-300 hover:text-base-content" data-astro-cid-rgvd4mof> <span class="text-[10px] font-semibold uppercase tracking-wide text-base-content/70" data-astro-cid-rgvd4mof> ID </span> <span data-astro-cid-rgvd4mof>Indonesia</span> </a><a href="/pl/blog" hreflang="pl" class="inline-flex items-center gap-1.5 rounded-field px-3 py-1.5 text-sm transition-colors bg-base-200 text-base-content/70 hover:bg-base-300 hover:text-base-content" data-astro-cid-rgvd4mof> <span class="text-[10px] font-semibold uppercase tracking-wide text-base-content/70" data-astro-cid-rgvd4mof> PL </span> <span data-astro-cid-rgvd4mof>polski</span> </a><a href="/nl/blog" hreflang="nl" class="inline-flex items-center gap-1.5 rounded-field px-3 py-1.5 text-sm transition-colors bg-base-200 text-base-content/70 hover:bg-base-300 hover:text-base-content" data-astro-cid-rgvd4mof> <span class="text-[10px] font-semibold uppercase tracking-wide text-base-content/70" data-astro-cid-rgvd4mof> NL </span> <span data-astro-cid-rgvd4mof>Nederlands</span> </a><a href="/da/blog" hreflang="da" class="inline-flex items-center gap-1.5 rounded-field px-3 py-1.5 text-sm transition-colors bg-base-200 text-base-content/70 hover:bg-base-300 hover:text-base-content" data-astro-cid-rgvd4mof> <span class="text-[10px] font-semibold uppercase tracking-wide text-base-content/70" data-astro-cid-rgvd4mof> DK </span> <span data-astro-cid-rgvd4mof>dansk</span> </a><a href="/nb/blog" hreflang="nb" class="inline-flex items-center gap-1.5 rounded-field px-3 py-1.5 text-sm transition-colors bg-base-200 text-base-content/70 hover:bg-base-300 hover:text-base-content" data-astro-cid-rgvd4mof> <span class="text-[10px] font-semibold uppercase tracking-wide text-base-content/70" data-astro-cid-rgvd4mof> NO </span> <span data-astro-cid-rgvd4mof>norsk bokmål</span> </a> </nav> </div> <div class="border-t border-base-200/60 px-6 py-4" data-astro-cid-rgvd4mof> <div class="max-w-5xl mx-auto flex flex-col gap-3" data-astro-cid-rgvd4mof> <div class="flex flex-col sm:flex-row items-center justify-between gap-2" data-astro-cid-rgvd4mof> <aside class="text-xs text-base-content/70" data-astro-cid-rgvd4mof> <p data-astro-cid-rgvd4mof>&copy; 2026 FLUX 3</p> </aside> <button type="button" data-cookie-prefs class="inline-flex items-center gap-1.5 rounded-field px-3 py-1.5 text-xs text-base-content/60 hover:bg-primary/10 hover:text-primary transition-colors bg-transparent border-0 cursor-pointer" data-astro-cid-rgvd4mof> <svg width="14" height="14" viewBox="0 0 24 24" class="w-3.5 h-3.5" aria-hidden="true"><use href="/_astro/s-3c4635894d05.Bb8zE0tJ.svg#lucide-cookie"></use></svg> Cookie Preferences </button> </div> <p class="text-xs text-base-content/60 text-center sm:text-left" data-astro-cid-rgvd4mof>FLUX 3 is an independent product and is not affiliated with, endorsed by, or sponsored by Black Forest Labs. Related model names are trademarks of their respective owners, used here for identification only. We provide access to third-party AI models through our own interface.</p> </div> </div> </footer> 
199<script type="module">globalThis.process??={};globalThis.process.env??={};document.addEventListener("click",e=>{if(e.target?.closest?.("[data-cookie-prefs]")){e.preventDefault();try{localStorage.removeItem("bento:cookie-consent")}catch{}location.reload()}});</script>
199    <div class="lg:hidden" aria-hidden="true" style="height: calc(4rem + env(safe-area-inset-bottom))"></div> <astro-island uid="Z1rNKpO" prefix="r1" component-url="/_astro/MobileDock.D5MoY09g.js" component-export="default" renderer-url="/_astro/client.t9W_-msv.js" props="{&quot;candidates&quot;:[1,[[0,{&quot;key&quot;:[0,&quot;home&quot;],&quot;labelKey&quot;:[0,&quot;nav.dock.home&quot;],&quot;href&quot;:[0,&quot;/&quot;],&quot;icon&quot;:[0,&quot;bento:home&quot;],&quot;auth&quot;:[0,&quot;always&quot;]}],[0,{&quot;key&quot;:[0,&quot;video&quot;],&quot;labelKey&quot;:[0,&quot;nav.dock.video&quot;],&quot;href&quot;:[0,&quot;/video&quot;],&quot;icon&quot;:[0,&quot;bento:ai-video&quot;],&quot;auth&quot;:[0,&quot;always&quot;]}],[0,{&quot;key&quot;:[0,&quot;premium&quot;],&quot;labelKey&quot;:[0,&quot;nav.dock.premium&quot;],&quot;href&quot;:[0,&quot;/pricing&quot;],&quot;icon&quot;:[0,&quot;lucide:gem&quot;],&quot;auth&quot;:[0,&quot;loggedOut&quot;]}],[0,{&quot;key&quot;:[0,&quot;assets&quot;],&quot;labelKey&quot;:[0,&quot;nav.dock.assets&quot;],&quot;href&quot;:[0,&quot;/assets&quot;],&quot;icon&quot;:[0,&quot;bento:assets&quot;],&quot;auth&quot;:[0,&quot;loggedIn&quot;]}]]],&quot;initialLocale&quot;:[0,&quot;en&quot;],&quot;initialPath&quot;:[0,&quot;/blog&quot;]}" ssr client="visible" opts="{&quot;name&quot;:&quot;MobileDock&quot;,&quot;value&quot;:true}" await-children><nav class="dock dock-md lg:hidden z-30" aria-label="Mobile navigation" data-testid="mobile-dock"><a href="/" data-testid="dock-home" class="text-base-content/70"><svg width="22" height="22" viewBox="0 0 24 24" aria-hidden="true"><use href="/_astro/s-3c4635894d05.Bb8zE0tJ.svg#bento-home"></use></svg><span class="dock-label">Home</span></a><a href="/video" data-testid="dock-video" class="text-base-content/70"><svg width="22" height="22" viewBox="0 0 24 24" aria-hidden="true"><use href="/_astro/s-3c4635894d05.Bb8zE0tJ.svg#bento-ai-video"></use></svg><span class="dock-label">Video</span></a><a href="/pricing" data-testid="dock-premium" class="text-base-content/70"><svg width="22" height="22" viewBox="0 0 24 24" aria-hidden="true"><use href="/_astro/s-3c4635894d05.Bb8zE0tJ.svg#lucide-gem"></use></svg><span class="dock-label">Premium</span></a></nav><!--astro:end--></astro-island>   <astro-island uid="Z2bX25B" prefix="r2" component-url="/_astro/FeedbackDialog.CwocY1Hy.js" component-export="default" renderer-url="/_astro/client.t9W_-msv.js" props="{}" ssr client="idle" opts="{&quot;name&quot;:&quot;FeedbackDialog&quot;,&quot;value&quot;:true}" await-children><dialog data-testid="feedback-modal"></dialog><!--astro:end--></astro-island>
199  <astro-island uid="1HzVA8" prefix="r3" component-url="/_astro/InviteModal.B6mD8wt0.js" component-export="default" renderer-url="/_astro/client.t9W_-msv.js" props="{}" ssr client="idle" opts="{&quot;name&quot;:&quot;InviteModal&quot;,&quot;value&quot;:true}" await-children><dialog data-testid="invite-modal" data-open="false"></dialog><!--astro:end--></astro-island>  <astro-island uid="Z2n0Nvj" prefix="r4" component-url="/_astro/PromoFloatStack.zxbU6KDh.js" component-export="default" renderer-url="/_astro/client.t9W_-msv.js" props="{}" ssr client="idle" opts="{&quot;name&quot;:&quot;PromoFloatStack&quot;,&quot;value&quot;:true}" await-children><div class="promo-float-anchor pointer-events-none flex flex-col gap-3" data-testid="promo-float-stack"><div class="pointer-events-auto empty:hidden"></div><div class="pointer-events-auto empty:hidden"></div></div><!--astro:end--></astro-island>  <astro-island uid="1iKIUP" prefix="r5" component-url="/_astro/GoogleOneTap.CURDdeP6.js" component-export="default" renderer-url="/_astro/client.t9W_-msv.js" props="{}" ssr client="idle" opts="{&quot;name&quot;:&quot;GoogleOneTap&quot;,&quot;value&quot;:true}"></astro-island> <astro-island uid="20fzy5" prefix="r6" component-url="/_astro/CookieConsent.E5FcfWB4.js" component-export="default" renderer-url="/_astro/client.t9W_-msv.js" props="{&quot;locale&quot;:[0,&quot;en&quot;]}" ssr client="idle" opts="{&quot;name&quot;:&quot;CookieConsent&quot;,&quot;value&quot;:true}"></astro-island>  
199<script type="module">globalThis.process??={};globalThis.process.env??={};(()=>{if(!("IntersectionObserver"in window)||window.matchMedia("(prefers-reduced-motion: reduce)").matches)return;const t=new IntersectionObserver(e=>{for(const r of e)r.isIntersecting&&(r.target.classList.add("is-revealed"),t.unobserve(r.target))},{rootMargin:"0px 0px -14% 0px",threshold:.08}),o=()=>{document.querySelectorAll("[data-reveal]:not(.reveal-armed)").forEach(e=>{e.classList.add("reveal-armed"),t.observe(e)})};o(),document.addEventListener("astro:page-load",o)})();</script>
199 
199<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"591495561bc24087a4ae3cd25c0c833c","r":1,"spa":2}' crossorigin="anonymous"></script>
199
200</body> </html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.