1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[47144],{18098:(e,t,a)=>{"use strict";a.d(t,{MinecraftThumbnailHome:()=>Z});var s=a(47808),n=a(71500),i=a(41208),r=a(27919),l=a(85170),o=a(75127),c=a(21696),d=a(21008),m=a(86349),u=a(79188),h=a(28301),p=a(10969),x=a(7251),f=a(68650),b=a(15133),g=a(74877),w=a(96393),v=a(89602);let j={"1K":10,"2K":15,"4K":25};function y(e,t){let a=Number(e);return!Number.isFinite(a)||a<=0?t:Math.ceil(a)}function k(e){return e.split(/(?:[ââ"]|\*\*|\.?\s*###)/)[0].replace(/^[\s*_'âââ"`]+|[\s*_'âââ"`]+$/g,"").split(/\s+(?:###|main motif|hauptmotiv|subject|scene)\b/i)[0].replace(/[.ã]+$/,"").trim().slice(0,72)}let N=[{value:"16:9",label:"16:9",hint:"Wide"},{value:"1:1",label:"1:1",hint:"Square"},{value:"9:16",label:"9:16",hint:"Vertical"},{value:"4:3",label:"4:3",hint:"Classic"},{value:"3:4",label:"3:4",hint:"Poster"}],_=N.slice(0,1),M=[{value:"1K",label:"1K",hint:"Default"},{value:"2K",label:"2K",hint:"Sharper"},{value:"4K",label:"4K",hint:"Max"}],S=[{value:"auto",label:"Auto",hint:"Infer from image"},{value:"skin",label:"Character Skin",hint:"Identity and colors"},{value:"pose",label:"Pose",hint:"Body and camera"},{value:"build",label:"Build / Terrain",hint:"Blocks and structure"},{value:"composition",label:"Composition",hint:"Framing and placement"},{value:"style",label:"Visual Style",hint:"Lighting and color"}],C=[{value:"none",label:"No text"},{value:"short-label",label:"Short label"},{value:"large-headline",label:"Headline"}],I=[{value:"minecraft",label:"Minecraft",hint:"Pixel block"},{value:"bold",label:"Bold",hint:"High contrast"},{value:"comic",label:"Comic",hint:"Playful"},{value:"minimal",label:"Minimal",hint:"Clean"}],T=[{label:"SMP Betrayal",videoIdea:"My trusted teammate secretly lights TNT behind our wooden survival base while I run away holding the diamond we found together",titleText:"BETRAYED!",textMode:"short-label"},{label:"100 Days",videoIdea:"On day 97 of a deserted island challenge, my small food supply is gone and a drowned attacks beside my unfinished shelter",titleText:"DAY 97",textMode:"short-label"},{label:"1 HP Clutch",videoIdea:"At one heart, I block an incoming sword strike with my shield and counterattack a fully armored opponent in a Minecraft arena",titleText:"1 HP",textMode:"short-label"},{label:"Mega Build",videoIdea:"A clean aerial view comparing the empty valley before construction with the finished medieval city built across the same terrain",titleText:"",textMode:"none"},{label:"Cave Horror",videoIdea:"From a first-person cave view, my torch reveals only part of a tall creature watching from behind a distant stone pillar",titleText:"",textMode:"none"}],A=[{title:"SMP Betrayal",description:"A clear betrayal story with readable text and real game items.",image:"/imgs/minecraft/showcase/smp-betrayal.webp",fallbackImage:"/imgs/minecraft/example-hardcore.svg"},{title:"100 Days Island",description:"A survival milestone with one threat and a visible story.",image:"/imgs/minecraft/showcase/100-days-island.webp",fallbackImage:"/imgs/minecraft/example-survival.svg"},{title:"1 HP PvP",description:"A close arena fight with an immediate one-heart hook.",image:"/imgs/minecraft/showcase/pvp-1hp.webp",fallbackImage:"/imgs/minecraft/example-pvp.svg"},{title:"Mega Build",description:"A clean before-and-after reveal for a medieval city build.",image:"/imgs/minecraft/showcase/mega-build.webp",fallbackImage:"/imgs/minecraft/example-survival.svg"},{title:"Cave Horror",description:"A restrained first-person cave scene with a distant threat.",image:"/imgs/minecraft/showcase/cave-horror.webp",fallbackImage:"/imgs/minecraft/example-hardcore.svg"}],U=[{title:"Create CTR test variants",description:"Generate distinct hooks, subjects, and title treatments so you can test thumbnail ideas and learn which direction earns more clicks."},{title:"Fast thumbnail output",description:"Default 16:9 and 1K settings help the generator produce wide, usable Minecraft thumbnail concepts from the first click."},{title:"Reference image and custom skin aware",description:"Upload a blocky scene, custom skin, character, build, or pose reference so the minecraft thumbnail maker can follow your visual direction."},{title:"Your prompt stays in control",description:"Describe the Minecraft style, scene, mood, and composition directly instead of having presets reinterpret your creative direction."},{title:"Online workflow without Photoshop",description:"Create a Minecraft thumbnail online without opening Photoshop, GIMP, Paint.net, Blender, or Cinema 4D for the first draft."}
1],P=[{title:"How to make a minecraft thumbnail fast",points:["Start with one clear hook.","Keep one large foreground subject.","Use short title text that reads fast."],details:["Many searches around this topic start with how to make a Minecraft thumbnail, not just which tool to open. The fastest workflow is to define the hook first, then choose a readable title, a strong foreground subject, and a simple blocky scene that works at small size. A minecraft thumbnail maker helps compress that process into a short prompt instead of a long layer-by-layer design session.","Use the prompt field like a mini brief: name the moment, the world, the danger, the reward, and the text that should stand out. A good Minecraft thumbnail usually needs one clear subject, one emotional cue, and one readable idea. Once the first concept exists, you can refine the prompt, title, or reference image instead of starting over from a blank canvas."]},{title:"3D minecraft thumbnail maker for custom skin ideas",points:["Upload a custom skin or pose reference.","Keep the character large and readable.","Describe the visual direction in your prompt."],details:["Many creators want 3D Minecraft thumbnails that match a custom skin, character, or pose. You can upload a skin pose, a build screenshot, or a previous thumbnail direction, then describe the exact 3D-style composition you want in the prompt.","For stronger custom skin thumbnails, keep the character large and readable. Mention armor, tools, mob threats, facial emotion, or the exact pose you want. The tool can then shape the scene for an SMP story, 100 Days challenge, PvP fight, survival run, hardcore world, build, redstone machine, or horror moment without forcing you to build everything by hand."]},{title:"Free online minecraft thumbnail maker workflow",points:["Enter the idea in the browser.","Generate a draft before heavy editing.","Download the result from the page."],details:["A free online Minecraft thumbnail maker should feel quick before anything else. This minecraft thumbnail maker keeps that path direct: enter the full creative direction, add optional title text or a reference image, generate a draft, and download the result from the page.","Because the workflow is online, it also fits users searching from Mac, iPad, Android, or mobile devices who do not want to install a full design stack. The goal is a fast draft with strong direction. You can still polish the final image later, but the hard part of finding a clickable Minecraft composition happens first."]},{title:"Minecraft thumbnail maker checklist for good thumbnails",points:["Describe a specific moment.","Use strong contrast and title space.","Check readability at mobile size."],details:["Good, cool, and professional-looking Minecraft thumbnails usually start with one specific moment instead of a generic scene. âI found a hidden diamond cave under my starter baseâ gives the minecraft thumbnail maker a subject, setting, and emotion.","Add short title text if the thumbnail needs words. Keep it punchy: â100 DAYSâ, âSECRET BASEâ, â1 HP CLUTCHâ, or âIMPOSSIBLE FARMâ usually reads better than a full sentence. After generation, judge the result by mobile readability, strong focal point, contrast, title space, and whether the idea is understandable in one glance."]}],R=[{title:"Survival minecraft thumbnail maker ideas",description:"Use the minecraft thumbnail maker for survival bases, hidden caves, rare loot, mob danger, hardcore tension, and challenge thumbnails that need clear stakes."},{title:"PvP, Bedwars, and Skywars thumbnail maker ideas",description:"Use the minecraft thumbnail maker for PvP clutch moments, Bedwars bridges, Skywars islands, armor reveals, weapon impact, speed, particles, and competitive thumbnails with strong motion."},{title:"Build, redstone, and texture pack thumbnail ideas",description:"Use the minecraft thumbnail maker for megabases, farms, secret doors, redstone machines, texture pack reveals, before-and-after builds, and thumbnails where the structure is the star."},{title:"Minecraft server thumbnail maker ideas",description:"Use the minecraft thumbnail maker for server launches, SMP updates, minigame maps, roleplay sce
1nes, manhunt hooks, livestream announcements, and thumbnails that need a clear community signal."}],E=[{question:"What is a Minecraft thumbnail maker?",answer:"A minecraft thumbnail maker is an AI tool that turns a Minecraft idea into a thumbnail concept with blocky scenes, bold foreground subjects, and large readable title text."},{question:"What is the default output size?",answer:"The first-screen generator defaults to 16:9 and 1K resolution, with 2K and 4K available from the output controls."},{question:"Can I upload a reference image?",answer:"Yes. The first screen includes a reference image upload button and shows a preview before generation."},{question:"How does it save time?",answer:"Instead of hand-building scenes, text, lighting, and composition, you describe the idea and let the minecraft thumbnail maker create a polished direction in seconds."},{question:"Is this a free online Minecraft thumbnail maker?",answer:"The page is built as an online Minecraft thumbnail maker workflow, so visitors can start from the browser, create a draft, and download the result without setting up desktop design software."},{question:"Can I make a Minecraft thumbnail without Photoshop or GIMP?",answer:"Yes. The generator is designed for people who want a Minecraft thumbnail without Photoshop, GIMP, Paint.net, Blender, or Cinema 4D as the first step."},{question:"Can I use a custom skin or character reference?",answer:"Yes. Upload a reference image when you want the minecraft thumbnail maker to follow a custom skin, character, build, pose, or previous thumbnail style."},{question:"Does it work for 3D Minecraft thumbnails?",answer:"Yes. Describe the style and 3D composition you want directly in the prompt, including recognizable characters, blocks, items, terrain, lighting, and camera direction."}],D=new Set(["image/png","image/jpeg","image/jpg","image/webp"]),z=/\.(png|jpe?g|webp)$/i,L="border-[6px] border-[#11180d] bg-[#f5e2b8] text-[#1f2a14] shadow-[8px_8px_0_#11180d]",q="border-[6px] border-[#11180d] bg-[#172215] text-[#fff7d6] shadow-[8px_8px_0_#11180d]",B="inline-flex min-h-14 items-center justify-center gap-2 border-[5px] border-[#11180d] bg-[#f6c64b] px-6 py-4 text-base font-black uppercase text-[#11180d] shadow-[7px_7px_0_#11180d] transition-transform hover:-translate-y-1 hover:bg-[#ffe06a] active:translate-x-1 active:translate-y-1 active:shadow-[3px_3px_0_#11180d] disabled:translate-x-0 disabled:translate-y-0 disabled:cursor-not-allowed disabled:opacity-60",K="inline-flex min-h-11 items-center justify-center gap-2 border-[3px] border-[#11180d] bg-[#ead39e] px-4 py-2 text-sm font-black uppercase text-[#11180d] shadow-[3px_3px_0_#11180d] transition-transform hover:-translate-y-0.5 hover:bg-[#f5e2b8] active:translate-x-1 active:translate-y-1 active:shadow-[1px_1px_0_#11180d] disabled:translate-x-0 disabled:translate-y-0 disabled:cursor-not-allowed disabled:opacity-60",O="minecraft_thumbnail_guest_device_id";function H(e){return new Promise(t=>setTimeout(t,e))}function Y(){try{let e=window.localStorage.getItem(O);if(e&&/^[A-Za-z0-9]{24,64}$/.test(e))return e;let t=new Uint8Array(24);window.crypto.getRandomValues(t);let a=Array.from(t,e=>e.toString(16).padStart(2,"0")).join("");return window.localStorage.setItem(O,a),a}catch(e){return""}}function F(e,t){let a=Number((null==e?void 0:e.headers.get("retry-after"))||"");if(Number.isFinite(a)&&a>0)return Math.ceil(a);let s=null==t?void 0:t.match(/retry after\s+(\d+)s/i);return(null==s?void 0:s[1])?Number(s[1]):0}async function G(e){let t=await e.json().catch(()=>null);if(!e.ok){var a;let s=F(e,null==t?void 0:t.message);throw function(e){let{code:t,retryAfterSeconds:a=0,quota:s}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=Error(e);return n.code=t,n.quota=s,a>0&&(n.retryAfterSeconds=a),n}((null==t?void 0:t.message)||"The thumbnail task could not start.",{code:null==t?void 0:t.error,retryAfterSeconds:s,quota:null==t||null==(a=t.data)?void 0:a.quota})}if(!(null==t?void 0:t.data))throw Error("The server returned an empty response.");return t.data}function W(e){return new Promise((t,a)=>{let s=new Image;s.onload=()=>t(s),s.onerror=()=>a(Error("Unable to decode the image.")),s.src=e})}async function V(e){let{imageUrl:t,title:a,textStyle:s}=e,n=await fetch(t);if(!n.ok)throw Error("Unable to prepare title overlay.");let i=URL.createObjectURL(await n.blob());try{let e=await W(i),t=document.createElement("canvas");
1t.width=e.naturalWidth,t.height=e.naturalHeight;let n=t.getContext("2d");if(!n)throw Error("Unable to create title overlay.");n.drawImage(e,0,0);let r=.88*t.width,l=Math.round(.12*t.height),o=[],c="minecraft"===s||"comic"===s?"Impact, Arial Black, sans-serif":"Arial Black, Impact, sans-serif";do n.font="900 ".concat(l,"px ").concat(c),o=function(e,t,a){let s=t.trim().split(/\s+/),n=[],i="";for(let t of s){let s=i?"".concat(i," ").concat(t):t;i&&e.measureText(s).width>a?(n.push(i),i=t):i=s}return i&&n.push(i),n}(n,a,r),l-=2;while((o.length>2||o.some(e=>n.measureText(e).width>r))&&l>.055*t.height);o=o.slice(0,2);let d=Math.round((l+2)*1.04),m=d*o.length,u=t.height-Math.round(.08*t.height)-m+d,h=n.createLinearGradient(0,.58*t.height,0,t.height);h.addColorStop(0,"rgba(0,0,0,0)"),h.addColorStop(1,"rgba(0,0,0,.72)"),n.fillStyle=h,n.fillRect(0,.55*t.height,t.width,.45*t.height),n.textAlign="center",n.textBaseline="alphabetic",n.lineJoin="round",n.strokeStyle="#11180d",n.lineWidth=Math.max(8,.14*l),n.fillStyle="minimal"===s?"#ffffff":"#f6c64b",o.forEach((e,a)=>{let s=u+a*d;n.strokeText(e,t.width/2,s,r),n.fillText(e,t.width/2,s,r)});let p=await new Promise((e,a)=>t.toBlob(t=>t?e(t):a(Error("Unable to encode title overlay.")),"image/png"));return URL.createObjectURL(p)}finally{URL.revokeObjectURL(i)}}async function J(e){let t=await new Promise((t,a)=>{let s=new FileReader;s.onload=()=>t(String(s.result||"")),s.onerror=()=>a(Error("Unable to read the file.")),s.readAsDataURL(e)}),a=await W(t),s=Math.max(a.naturalWidth,a.naturalHeight),n=s>1536?1536/s:1,i=Math.max(1,Math.round(a.naturalWidth*n)),r=Math.max(1,Math.round(a.naturalHeight*n)),l=document.createElement("canvas");l.width=i,l.height=r;let o=l.getContext("2d");return o?(o.drawImage(a,0,0,i,r),l.toDataURL("image/png")):t}function $(){return(0,s.jsx)("div",{className:"flex items-end gap-1","aria-hidden":"true",children:["#65b83e","#8a5a34","#58d7f2","#f3a53b","#d9442d"].map((e,t)=>(0,s.jsx)("span",{className:"h-5 w-5 animate-bounce border-2 border-[#11180d]",style:{background:e,animationDelay:"".concat(100*t,"ms")}},e))})}async function Q(e){let{taskId:t,original:a,presentation:s}=e,n="/api/minecraft-thumbnail/download?taskId=".concat(encodeURIComponent(t)).concat(a?"&original=1":""),i=n,r="",l="";try{var o;if((null==s?void 0:s.textMode)&&"none"!==s.textMode&&(null==(o=s.titleText)?void 0:o.trim())){let e=await fetch(n);if(!e.ok)throw Error("Unable to prepare the protected image download.");r=URL.createObjectURL(await e.blob()),i=l=await V({imageUrl:r,title:s.titleText.trim(),textStyle:s.textStyle||"minecraft"})}let e=document.createElement("a");e.href=i,e.download=a?"minecraft-thumbnail-hd-".concat(Date.now(),".png"):"minecraft-thumbnail-512-".concat(Date.now(),".png"),document.body.appendChild(e),e.click(),e.remove()}finally{r&&URL.revokeObjectURL(r),l&&URL.revokeObjectURL(l)}}function Z(){var e,t;let a=(0,n.useRef)(null),[f,b]=(0,n.useState)(""),[g,O]=(0,n.useState)(""),[W,Z]=(0,n.useState)("short-label"),[ea,ec]=(0,n.useState)("minecraft"),[ed,em]=(0,n.use
1State)("auto"),[eu,eh]=(0,n.useState)("blank"),[ep,ex]=(0,n.useState)("16:9"),[ef,eb]=(0,n.useState)("1K"),[eg,ew]=(0,n.useState)(!1),[ev,ej]=(0,n.useState)(""),[ey,ek]=(0,n.useState)(""),[eN,e_]=(0,n.useState)("idle"),[eM,eS]=(0,n.useState)([]),[eC,eI]=(0,n.useState)(""),[eT,eA]=(0,n.useState)(!1),[eU,eP]=(0,n.useState)(""),[eR,eE]=(0,n.useState)(!1),[eD,ez]=(0,n.useState)(!1),[eL,eq]=(0,n.useState)(""),[eB,eK]=(0,n.useState)(!1),[eO,eH]=(0,n.useState)(""),[eY,eF]=(0,n.useState)(""),[eG,eW]=(0,n.useState)(""),[eV,eJ]=(0,n.useState)(""),[e$,eQ]=(0,n.useState)(0),[eZ,eX]=(0,n.useState)(!1),[e0,e1]=(0,n.useState)(null),[e4,e8]=(0,n.useState)(0),[e3,e2]=(0,n.useState)(new Set),[e6,e5]=(0,n.useState)(!1),[e7,e9]=(0,n.useState)({countryCode:"",limit:3,remaining:3,used:0}),te=(0,n.useRef)(null),tt=(0,n.useRef)(null),ta=(0,n.useRef)(""),ts=(0,n.useRef)(!1),tn=(0,n.useRef)(null),[ti,tr]=(0,n.useState)(!1),{user:tl,isCheckSign:to,setIsShowSignModal:tc,configs:td,fetchUserCredits:tm}=(0,v.U)(),tu="pending"===eN||"processing"===eN,th=!e6||to,tp=eM[0],tx=eY||tp,tf=function(e){let t=e.replace(/\r/g," "),a=t.match(/(?:with\s+(?:the\s+)?title|titled|thumbnail\s+title|title|mit\s+dem\s+titel|titel|namens)\s*[:\-ââ]?\s*(?:\*\*)?["ââ']?([^\n"â']{2,100})/i);if(null==a?void 0:a[1])return k(a[1]);let s=t.match(/\*\*([^*\n]{3,72})\*\*/g);return(null==s?void 0:s.map(e=>k(e)).find(e=>{let t=e.match(/[A-Za-zÃ-ÃÃ-öø-ÿ]/g)||[],a=e.match(/[A-ZÃ-ÃÃ-Ã]/g)||[];return t.length>=3&&a.length/t.length>=.65}))||""}(f),tb=null!=(t=null==tl||null==(e=tl.credits)?void 0:e.remainingCredits)?t:0,tg=function(e,t){let a=t&&["1K","2K","4K"].includes(t)?t:"1K",s="minecraft_thumbnail_".concat(a.toLowerCase(),"_credits"),n=e.minecraft_thumbnail_generation_credits;return y(e[s],y(n,j[a]))}(td,ef);async function tw(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:tl?"authenticated":"guest";for(let a=0;a<45;a+=1){await H(0===a?"authenticated"===t?1200:2500:"authenticated"===t?2e3:4500);let s=await fetch("/api/minecraft-thumbnail/query",{method:"POST",headers:{"Content-Type":"application/json",..."guest"===t?{"x-minecraft-device-id":Y()}:{}},body:JSON.stringify({taskId:e})}),n=await G(s);if("success"===n.state){"guest"===n.accessMode&&(eQ(e=>Math.max(e,96)),await H(6e3)),eS(n.imageUrls||[]),e_("success"),eQ(100),eA(!0),"guest"===n.accessMode?await tk():await tm();return}if("failed"===n.state)throw e_("failed"),"guest"===n.accessMode?await tk():await tm(),Error(n.errorMessage||"The generation provider reported a failure.");e_(n.state)}throw Error("Generation timed out. Please query the task again later.")}async function tv(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=t.source||eu,s=null!=(e=t.videoIdea)?e:f;"regeneration"!==a&&(eK(!1),eH("")),eI(""),eA(!1),e1(null),e8(0),eS([]),eQ(0),e_("idle"),eX(!0);try{let e=tl?"":await tj(),n=await fetch("/api/minecraft-thumbnail/generate",{method:"POST",headers:{"Content-Type":"application/json",...!tl?{"x-minecraft-device-id":Y()}:{}},body:JSON.stringify({videoIdea:s,titleText:g,textMode:W,textStyle:ea,referenceRole:ed,generationSource:a,parentTaskId:"regeneration"===a?t.parentTaskId||eG:void 0,parentImageIndex:"regeneration"===a?t.parentImageIndex||0:void 0,detectedTitle:tf,renderTextWithModel:!1,aspectRatio:ep,resolution:ef,outputFormat:"png",imageInput:"regeneration"===a?[]:ev?[ev]:[],turnstileToken:e})});ty();let i=await G(n);eW(i.taskId),eX(!1),eQ(8),e_(i.state),"guest"===i.accessMode?i.quota&&(e9(i.quota),window.dispatchEvent(new CustomEvent("minecraft-guest-quota-updated",{detail:{remaining:i.quota.remaining}}))):await tm(),await tw(i.taskId,i.accessMode)}catch(t){ty(),eX(!1);let e=Number(null==t?void 0:t.retryAfterSeconds)||F(null,null==t?void 0:t.message);if(e_("failed"),eQ(0),e>0){e1(Date.now()+1e3*e),eI("Please retry after ".concat(e,"s."));return}e1(null),(null==t?void 0:t.quota)&&e9(t.quota),(null==t?void 0:t.code)==="guest_quota_exhausted"&&tc(!0),eI((null==t?void 0:t.message)||"Unable to generate a thumbnail.")}}async function tj(){if(!td.turnstile_site_key)return"";if(ta.current)return ta.current;let e=tt.current;if(!e||!window.turnstile)throw Error("Security check is still loading. Please try again.");return new Promise((t,a)=>{var s;tn.current={resolve:t,reject:a},null==(s=window.turnstile)||s.execute(e),window.setTimeout(()=>{var e;(null==(e=tn.current)?void 0:e.resolve)===t&&(tn.current=null,a(Error("Security check timed out. Please try again.")))},12e3)})}function ty(){ta.current="",tt.current&&window.turnstile&&window.turnstile.reset(tt.current)}async function tk(){try{var e;let t=await fetch("/api/minecraft-thumbnail/guest-quota",{method:"GET",cac
1he:"no-store",headers:{"x-minecraft-device-id":Y()}});if(!t.ok)return;let a=await t.json();(null==(e=a.data)?void 0:e.accessMode)==="guest"&&(e9(a.data),window.dispatchEvent(new CustomEvent("minecraft-guest-quota-updated",{detail:{remaining:a.data.remaining}})))}catch(e){}}function tN(){eh(e=>"quick-start"===e?"edited-quick-start":e)}async function t_(e,t){if(eG)try{await fetch("/api/minecraft-thumbnail/event",{method:"POST",headers:{"Content-Type":"application/json",...!tl?{"x-minecraft-device-id":Y()}:{}},body:JSON.stringify({taskId:eG,event:e,detail:t}),keepalive:!0})}catch(e){}}async function tM(e){e.preventDefault();let t=eO.trim();t.length<3||!eG||eZ||tu||(t_("refine",t.slice(0,120)),await tv({source:"regeneration",videoIdea:t,parentTaskId:eG,parentImageIndex:0}))}async function tS(e){if(e.preventDefault(),!th&&!ts.current){ts.current=!0;try{if(tf&&!g.trim()&&eV!==tf){e_("failed"),eI("We found a possible title in your brief. Use it below or choose Keep no text before generating.");return}if(tl&&tb<tg){e_("failed"),eQ(0),eI("You need ".concat(tg," credits for ").concat(ef,". You have ").concat(tb," credits left."));return}if(!tl&&"1K"!==ef){eb("1K"),e_("failed"),eQ(0),eI("Free thumbnails are limited to 1K. Please try again.");return}if(!tl&&e7.remaining<=0){e_("failed"),eQ(0),eI("You have used all free generations. Sign in to get more credits and continue."),tc(!0);return}await tv()}finally{ts.current=!1}}}async function tC(e){var t;let a=null==(t=e.target.files)?void 0:t[0];if(a){if(!function(e){let t=e.type.toLowerCase();return D.has(t)||z.test(e.name)}(a)){eI("Please upload a PNG, JPG, JPEG, or WEBP image."),e.target.value="";return}if(a.size>4194304){eI("Reference image must be under 4MB."),e.target.value="";return}try{let e=await J(a);ej(e),ek(a.name),tN(),eI(""),e1(null)}catch(t){eI("Unable to read the reference image."),e.target.value=""}}}async function tI(e){eG&&await Q({taskId:eG,original:e,presentation:{textMode:W,textStyle:ea,titleText:g}})}async function tT(e){eP(e),eq("");try{var t;let e=await fetch("/api/minecraft-thumbnail/download/access?taskId=".concat(encodeURIComponent(eG)));if(!e.ok)throw Error("Unable to check download access.");(null==(t=(await e.json()).data)?void 0:t.originalUnlocked)?(t_("download","original-unlocked"),await tI(!0)):eE(!0)}catch(e){eq(e instanceof Error?e.message:"Unable to prepare download."),eE(!0)}finally{eP("")}}async function tA(){t_("download","free-512"),eP(tx||"free-512");try{await tI(!1),eE(!1)}catch(e){eq(e instanceof Error?e.message:"Unable to download preview.")}finally{eP("")}}async function tU(){if(!tl)return void tc(!0);if(eG){ez(!0),eq("");try{var e;let t=await fetch("/api/payment/checkout",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({product_id:"".concat("minecraft-thumbnail-hd:").concat(eG),currency:"USD",locale:document.documentElement.lang||"en",payment_provider:td.default_payment_provider||"paypal",metadata:{thumbnail_task_id:eG}})}),a=await t.json();if(!t.ok||0!==a.code||!(null==(e=a.data)?void 0:e.checkoutUrl))throw Error(a.message||"Checkout could not be started.");window.location.href=a.data.checkoutUrl}catch(e){eq(e instanceof Error?e.message:"Checkout could not be started."),ez(!1)}}}return(0,n.useEffect)(()=>{e5(!0)},[]),(0,n.useEffect)(()=>{if(!e6)return;let e=new URLSearchParams(window.location.search).get("hd_download_task");e&&(window.history.replaceState({},"","".concat(window.location.pathname,"#generator")),fetch("/api/minecraft-thumbnail/download/access?taskId=".concat(encodeURIComponent(e))).then(async t=>{var a;if(!t.ok)throw Error("HD access could not be confirmed.");let s=await t.json();if(!(null==(a=s.data)?void 0:a.originalUnlocked))throw Error("The HD payment is still being confirmed.");await Q({taskId:e,original:!0,presentation:s.data.presentation})}).catch(e=>{eq(e instanceof Error?e.message:"Unable to download HD image."),eE(!0)}))},[e6]),(0,n.useEffect)(()=>{to||tl||tk()},[to,tl]),(0,n.useEffect)(()=>{e6&&!tl&&td.turnstile_site_key&&ti&&te.current&&window.turnstile&&!tt.current&&(tt.current=window.turnstile.render(te.current,{sitekey:td.turnstile_site_key,action:"thumbnail_generate",size:"invisible",execution:"execute",callback:e=>{var t;ta.current=e,null==(t=tn.current)||t.resolve(e),tn.current=null},"expired-callback":()=>{var e;ta.current="",null==(e=tn.current)||e.reject(Error("Security check expired. Please try again.")),tn.current=null},"error-callback":()=>{var e;null==(e=tn.current)||e.reject(Error("Security check failed. Please try again.")),tn.current=null}}))},[td.turnstile_site_key,e6,ti,tl]),(0,n.useEffect)(()=>
1{if(!eT)return;let e=window.setTimeout(()=>{eA(!1)},1e4);return()=>window.clearTimeout(e)},[eT]),(0,n.useEffect)(()=>{let e=!1,t="";return tp&&"none"!==W&&g.trim()?(V({imageUrl:tp,title:g.trim(),textStyle:ea}).then(a=>{if(t=a,e)return void URL.revokeObjectURL(a);eF(e=>(e&&URL.revokeObjectURL(e),a))}).catch(()=>{e||eF("")}),()=>{e=!0,t&&URL.revokeObjectURL(t)}):void eF(e=>(e&&URL.revokeObjectURL(e),""))},[tp,W,ea,g]),(0,n.useEffect)(()=>{if(!tu){"idle"===eN&&eQ(0);return}eQ(e=>Math.max(e,8));let e=window.setInterval(()=>{eQ(e=>e>=94?e:Math.min(94,e+(e<35?8:e<72?5:2)))},1200);return()=>window.clearInterval(e)},[tu,eN]),(0,n.useEffect)(()=>{if(!e0)return void e8(0);function e(){let e=Math.max(0,Math.ceil((e0-Date.now())/1e3));e8(e),e<=0&&(e1(null),eI(e=>/retry after\s+\d+s/i.test(e)?"You can retry now.":e))}e();let t=window.setInterval(e,250);return()=>window.clearInterval(t)},[e0]),(0,s.jsxs)("main",{className:"min-h-screen overflow-x-hidden bg-[#142414] text-[#fff7d6]",children:[td.turnstile_site_key?(0,s.jsx)(i.default,{id:"cloudflare-turnstile",src:"https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit",strategy:"afterInteractive",onLoad:()=>tr(!0)}):null,eT?(0,s.jsx)(et,{onClose:()=>eA(!1)}):null,eR?(0,s.jsx)(ei,{error:eL,isSignedIn:!!tl,isStartingCheckout:eD,onClose:()=>eE(!1),onDownloadFree:tA,onPurchase:()=>void tU(),onSignIn:()=>tc(!0)}):null,(0,s.jsxs)("section",{id:"generator",className:"relative overflow-hidden pt-16 pb-10 lg:min-h-screen",children:[(0,s.jsx)("div",{"aria-hidden":"true",className:"absolute inset-0 bg-[url('/imgs/minecraft/hero-panorama.svg')] bg-cover bg-center opacity-42"}),(0,s.jsx)("div",{"aria-hidden":"true",className:"absolute inset-0 bg-[linear-gradient(180deg,rgba(12,21,13,.78),rgba(20,36,20,.88)_50%,#142414)]"}),(0,s.jsx)("div",{"aria-hidden":"true",className:"absolute inset-0 [background-image:linear-gradient(90deg,#ffffff_1px,transparent_1px),linear-gradient(#ffffff_1px,transparent_1px)] [background-size:32px_32px] opacity-20"}),(0,s.jsxs)("div",{className:"relative z-10 container flex flex-col items-center py-6 text-center lg:py-8",children:[(0,s.jsx)("div",{className:"inline-flex border-[4px] border-[#11180d] bg-[#d8cda8] px-4 py-2 text-xs font-black text-[#405234] uppercase shadow-[4px_4px_0_#11180d]",children:"AI Minecraft Thumbnail Generator"}),(0,s.jsx)("h1",{className:"mt-3 max-w-5xl text-4xl leading-tight font-black text-[#fff7d6] uppercase [text-shadow:5px_5px_0_#11180d] sm:text-5xl lg:text-6xl",children:"Minecraft Thumbnail Maker"}),(0,s.jsx)("p",{className:"mt-3 max-w-3xl text-sm leading-6 font-semibold text-[#fbe7ad] sm:text-base",children:"Turn one video idea into click-focused Minecraft thumbnail concepts in seconds. Test different hooks to improve CTR while saving the hours and cost of hiring a professional designer for every draft."}),(0,s.jsx)("div",{className:"mt-4 flex flex-wrap justify-center gap-2 text-[11px] font-black uppercase",children:["Built for CTR experiments","Drafts in seconds, not hours","Avoid repeated designer fees"].map(e=>(0,s.jsx)("span",{className:"border-[3px] border-[#11180d] bg-[#f6c64b] px-3 py-2 text-[#11180d] shadow-[3px_3px_0_#11180d]",children:e},e))}),(0,s.jsxs)("form",{onSubmit:tS,className:"".concat(L," relative mt-5 w-full max-w-6xl overflow-hidden text-left"),children:[(0,s.jsx)("div",{"aria-hidden":"true",className:"absolute inset-x-0 top-0 h-8 bg-[url('/imgs/minecraft/grass-tile.svg')] bg-[length:80px_80px]"}),(0,s.jsxs)("div",{className:"grid gap-5 p-4 pt-10 sm:p-5 sm:pt-12 lg:grid-cols-[minmax(0,1fr)_280px]",children:[(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("div",{className:"text-xs font-black text-[#516044] uppercase",children:"Quick starts"}),(0,s.jsx)("div",{className:"grid grid-cols-2 gap-2 sm:grid-cols-5",children:T.map(e=>(0,s.jsx)("button",{type:"button",onClick:()=>{b(e.videoIdea),O(e.titleText),Z(e.textMode),eh("quick-start")},className:"min-h-11 border-[3px] border-[#11180d] bg-[#ead39e] px-2 py-2 text-xs font-black text-[#1f2a14] uppercase shadow-[3px_3px_0_#11180d] last:col-span-2 hover:bg-[#f6c64b] sm:last:col-span-1",children:e.label},e.label))})]}),(0,s.jsxs)("label",{className:"block space-y-2",children:[(0,s.jsx)("span",{className:"text-sm font-black uppercase",children:"Video idea"}),(0,s.jsx)("textarea",{value:f,onChange:e=>{b(e.target.value),tN()},maxLength:2e4,className:"min-h-28 w-full resize-none border-[4px] border-[#11180d] !bg-[#fff7d6] p-4 text-sm leading-6 font-bold !text-[#1f2a14] shadow-[4px_4px_0_#11180d] outline-none placeholder:!text-[#6d785c] focu
1s:!bg-white",placeholder:"Describe one moment: who is doing what, where it happens, and what is at stake..."}),(0,s.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2 text-[11px] font-bold uppercase",children:[(0,s.jsx)("span",{className:f.length>=16e3?"text-[#a83b2b]":"text-[#6d785c]",children:f.length>=16e3?"Long brief: keep the must-have details near the top":"Detailed briefs are welcome"}),(0,s.jsxs)("span",{className:"text-[#516044]",children:[f.length,"/",2e4]})]})]}),tf&&!g.trim()&&eV!==tf?(0,s.jsxs)("div",{className:"border-[4px] border-[#11180d] bg-[#f6c64b] p-3 text-[#11180d] shadow-[4px_4px_0_#11180d]",children:[(0,s.jsx)("div",{className:"text-xs font-black uppercase",children:"Possible title found"}),(0,s.jsx)("div",{className:"mt-1 text-sm font-black break-words",children:tf}),(0,s.jsxs)("div",{className:"mt-3 flex flex-wrap gap-2",children:[(0,s.jsx)("button",{type:"button",onClick:function(){tf&&(O(tf),Z(tf.length>18?"large-headline":"short-label"),eJ(""),eI(""),tN())},className:K,children:"Use this title"}),(0,s.jsx)("button",{type:"button",onClick:()=>{Z("none"),eJ(tf),eI("")},className:K,children:"Keep no text"})]})]}):null,(0,s.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,s.jsxs)("fieldset",{className:"space-y-2",children:[(0,s.jsx)("legend",{className:"text-sm font-black uppercase",children:"Text mode"}),(0,s.jsx)("div",{className:"grid h-11 grid-cols-3 border-[4px] border-[#11180d] bg-[#11180d] shadow-[4px_4px_0_#11180d]",children:C.map(e=>{let t=W===e.value;return(0,s.jsx)("button",{type:"button","aria-pressed":t,onClick:()=>{var t;Z(t=e.value),O(e=>e.slice(0,"short-label"===t?18:72)),tN()},className:"h-full border-r-[3px] border-[#11180d] px-1 text-[11px] font-black whitespace-nowrap uppercase last:border-r-0 sm:px-2 sm:text-xs ".concat(t?"bg-[#d8cda8] text-[#1f2a14]":"bg-[#fff7d6] text-[#405234] hover:bg-white"),children:e.label},e.value)})})]}),"none"!==W?(0,s.jsx)(X,{label:"Thumbnail text style",options:I,value:ea,onChange:ec}):null]}),(0,s.jsxs)("div",{className:"grid gap-3 ".concat("none"===W?"":"md:grid-cols-[minmax(0,1fr)_220px]"),children:["none"!==W?(0,s.jsxs)("label",{className:"block space-y-2",children:[(0,s.jsx)("span",{className:"text-sm font-black uppercase",children:"Thumbnail text"}),(0,s.jsx)("input",{value:g,onChange:e=>{O(e.target.value),tN()},maxLength:"short-label"===W?18:72,className:"h-14 w-full border-[4px] border-[#11180d] !bg-[#fff7d6] px-4 text-base font-black !text-[#1f2a14] uppercase shadow-[4px_4px_0_#11180d] outline-none placeholder:!text-[#6d785c] focu
1s:!bg-white",placeholder:"short-label"===W?"1 HP CLUTCH":"I SURVIVED 100 DAYS"})]}):null,(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("span",{className:"block text-sm font-black uppercase",children:"Reference image"}),(0,s.jsx)("input",{ref:a,type:"file",accept:"image/png,image/jpeg,image/jpg,image/webp",className:"sr-only",onChange:tC}),(0,s.jsxs)("button",{type:"button",onClick:()=>{var e;return null==(e=a.current)?void 0:e.click()},className:"".concat(K," h-14 w-full"),children:[(0,s.jsx)(r.A,{className:"size-4"}),"Upload"]})]})]}),ev?(0,s.jsxs)("div",{className:"flex items-center gap-3 border-[4px] border-[#11180d] bg-[#ead39e] p-3 shadow-[4px_4px_0_#11180d]",children:[(0,s.jsx)("img",{src:ev,alt:"Reference image preview",className:"aspect-video h-16 border-[3px] border-[#11180d] object-cover"}),(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsx)("div",{className:"truncate text-sm font-black",children:ey}),(0,s.jsx)("div",{className:"mt-1 text-xs font-bold text-[#516044] uppercase",children:"Preview ready"})]}),(0,s.jsx)("button",{type:"button",onClick:function(){ej(""),ek(""),em("auto"),tN(),a.current&&(a.current.value="")},className:"inline-flex size-10 items-center justify-center border-[3px] border-[#11180d] bg-[#ff6b4a] text-[#11180d] shadow-[3px_3px_0_#11180d]","aria-label":"Remove reference image",children:(0,s.jsx)(l.A,{className:"size-4"})})]}):null,ev?(0,s.jsx)(X,{label:"Reference image controls",options:S,value:ed,onChange:e=>{em(e),tN()}}):null,(0,s.jsx)(ee,{examples:A})]}),(0,s.jsxs)("aside",{className:"space-y-4 border-[4px] border-[#11180d] bg-[#172215] p-4 text-[#fff7d6] shadow-[4px_4px_0_#11180d]",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 text-sm font-black text-[#f6c64b] uppercase",children:[(0,s.jsx)(o.A,{className:"size-4"}),"Output"]}),(0,s.jsx)(X,{label:"Aspect ratio",options:eg?N:_,value:ep,onChange:ex}),(0,s.jsx)(X,{label:"Resolution",options:tl?M:M.slice(0,1),value:ef,onChange:eb}),(0,s.jsxs)("button",{type:"button","aria-expanded":eg,onClick:function(){ew(e=>(e&&ex("16:9"),!e))},className:"inline-flex min-h-10 w-full items-center justify-center gap-2 border-[3px] border-[#11180d] bg-[#d8cda8] px-3 py-2 text-xs font-black text-[#11180d] uppercase shadow-[3px_3px_0_#11180d] hover:bg-[#fff7d6]",children:[(0,s.jsx)(c.A,{className:"size-4 transition-transform ".concat(eg?"rotate-180":"")}),eg?"Basic output":"Advanced output"]}),(0,s.jsxs)("button",{type:"submit",disabled:th||eZ||tu||!f.trim(),className:"".concat(B," w-full"),children:[th||eZ||tu?(0,s.jsx)(d.A,{className:"size-5 animate-spin"}):(0,s.jsx)(m.A,{className:"size-5"}),th?"Checking Account":eZ?tl?"Starting":"Checking Access":tu?"Generating":"Generate"]}),!tl&&td.turnstile_site_key?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{ref:te,"aria-hidden":"true",className:"h-0 overflow-hidden"}),(0,s.jsx)("div",{className:"text-[11px] leading-4 font-bold text-[#a9b18f]",children:"An automatic security check protects this tool."})]}):null,tl||e7.remaining<=0?(0,s.jsxs)("div",{className:"space-y-2 border-[4px] border-[#11180d] bg-[#0f1b11] p-3 text-sm font-black shadow-[4px_4px_0_#11180d]",children:[tl?(0,s.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,s.jsxs)("span",{className:"text-[#d9c99c] uppercase",children:[ef," cost"]}),(0,s.jsxs)("span",{className:"text-[#f6c64b]",children:[tg," credits"]})]}):null,(0,s.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,s.jsx)("span",{className:"text-[#d9c99c] uppercase",children:tl?"Your credits":"Free generations"}),(0,s.jsx)("span",{className:"text-[#7fd7f7]",children:tl?tb:"".concat(e7.remaining," of ").concat(e7.limit," left")})]})]}):null,tl&&tb<tg?(0,s.jsxs)(w.N_,{href:"/pricing",className:"".concat(K," w-full"),children:[(0,s.jsx)(u.A,{className:"size-4"}),"Buy Credits"]}):null,!tl&&e7.remaining<=0?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("button",{type:"button",onClick:()=>tc(!0),className:"".concat(K," w-full"),children:[(0,s.jsx)(h.A,{className:"size-4"}),"Sign In to Continue"]}),(0,s.jsxs)(w.N_,{href:"/pricing",className:"".concat(K," w-full"),children:[(0,s.jsx)(u.A,{className:"size-4"}),"View Pricing"]})]}):null,(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,s.jsx)(es,{status:eN}),tu?$():null]}),tl?(0,s.jsx)("div",{className:"border-[3px] border-[#405c32] bg-[#20351f] p-2 text-[11px] leading-4 font-black text-[#b9e48c] uppercase",children:"Priority delivery active \xb7 faster progress checks and instant result reveal"}):!tl&&e7.remaining<=0?(0,s.jsx)("div",{className:"border-[3px] border-[#4b5336] bg-[#202819] p-2 text-[11px] leading-4 font-bold text-[#b9b98a]",children:"Free trials use standard result delivery. Paid credits unlock priority delivery."}):null]})]})]}),(0,s.jsxs)("div",{className:"mt-7 w-full max-w-6xl text-left",children:["failed"===eN?(0,s.jsxs)("div",{className:"mb-4 flex items-center gap-3 border-[4px] border-[#11180d] bg-[#3a1611] p-3 text-sm font-bold text-[#ffd8c6] shadow-[4px_4px_0_#11180d]",children:[(0,s.jsx)(p.A,{className:"size-5 shrink-0 text-[#ff6b4a]"}),e4>0?"Please retry after ".concat(e4,"s."):eC]}):null,tp||tu?(0,s.jsxs)("section",{className:"mb-7",children:[(0,s.jsx)("div",{className:"mb-3 flex flex-wrap items-center justify-between gap-3",children:(0,s.jsx)("h2",{className:"text-xl font-black text-[#fff7d6] uppercase [text-shadow:3px_3px_0_#11180d]",children:"Your generated thumbnail"})}),(0,s.jsx)("div",{className:"max-w-2xl",children:tp?(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsx)(en,{imageUrl:tx,title:eY?"Your Result + Exact Title":"Your Result",isDownloading:eU===tx,onDownload:()=>tT(tx)}),(0,s.jsxs)("div",{className:"border-[4px] border-[#11180d] bg-[#ead39e] text-[#11180d] shadow-[4px_4px_0_#11180d]",children:[(0,s.jsxs)("button",{type:"button","aria-expanded":eB,"aria-controls":"thumbnail-refine-editor",onClick:()=>
1eK(e=>!e),className:"flex w-full items-center gap-3 p-3 text-left",children:[(0,s.jsx)(m.A,{className:"size-5 shrink-0"}),(0,s.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,s.jsx)("span",{className:"block text-sm font-black uppercase",children:"Refine this image"}),(0,s.jsx)("span",{className:"mt-0.5 block text-xs font-bold normal-case",children:"Describe what to change. The current thumbnail is used as the reference image."})]}),(0,s.jsx)(c.A,{className:"size-5 shrink-0 transition-transform ".concat(eB?"rotate-180":"")})]}),eB?(0,s.jsxs)("form",{id:"thumbnail-refine-editor",onSubmit:tM,className:"border-t-[4px] border-[#11180d] bg-[#f3e4b8] p-3",children:[(0,s.jsx)("label",{htmlFor:"thumbnail-refinement-instruction",className:"text-xs font-black uppercase",children:"Refinement instructions"}),(0,s.jsx)("textarea",{id:"thumbnail-refinement-instruction",value:eO,onChange:e=>eH(e.target.value.slice(0,500)),rows:3,maxLength:500,disabled:eZ||tu,placeholder:"For example: Make the Creeper larger and brighter, but keep the character, camera angle, and background unchanged.",className:"mt-2 w-full resize-y border-[4px] border-[#11180d] bg-[#fff7d6] p-3 text-sm font-bold outline-none focus:bg-white"}),(0,s.jsx)("div",{className:"mt-2 flex flex-wrap gap-2",children:[["larger-subject","Larger subject"],["cleaner","Cleaner scene"],["more-action","More action"],["less-cinematic","More gameplay-like"]].map(e=>{let[t,a]=e;return(0,s.jsx)("button",{type:"button",disabled:eZ||tu,onClick:()=>{eH(({"larger-subject":"Revision: make the main character or build substantially larger and immediately readable at mobile size.",cleaner:"Revision: simplify the background, remove nonessential details, and strengthen the single visual idea.","more-action":"Revision: increase the readable action and interaction while keeping Minecraft physics understandable.","less-cinematic":"Revision: reduce dramatic lighting and effects; make the scene look closer to authentic Minecraft gameplay."})[t].replace(/^Revision:\s*/i,"")),eK(!0)},className:K,children:a},t)})}),(0,s.jsxs)("div",{className:"mt-3 flex items-center justify-between gap-3",children:[(0,s.jsxs)("span",{className:"text-xs font-bold text-[#516044]",children:[eO.length,"/",500]}),(0,s.jsxs)("button",{type:"submit",disabled:eO.trim().length<3||eZ||tu,className:B,children:[eZ||tu?(0,s.jsx)(d.A,{className:"size-5 animate-spin"}):(0,s.jsx)(m.A,{className:"size-5"}),"Create revision"]})]})]}):null]})]}):(0,s.jsx)(er,{progress:e$})})]}):null,(0,s.jsxs)("section",{children:[(0,s.jsx)("h2",{className:"mb-3 text-xl font-black text-[#fff7d6] uppercase [text-shadow:3px_3px_0_#11180d]",children:"Minecraft thumbnail maker sample results"}),(0,s.jsx)("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-5",children:A.map(e=>(0,s.jsx)(el,{example:e},e.title))})]})]})]})]}),(0,s.jsx)("section",{id:"features",className:"bg-[#172917] py-16",children:(0,s.jsxs)("div",{className:"container grid gap-8 lg:grid-cols-[0.8fr_1.2fr] lg:items-start",children:[(0,s.jsx)(eo,{label:"Built for creators",title:"Why this minecraft thumbnail maker is built for speed",description:"This tool is intentionally narrow: every control, example, and prompt field points at Minecraft creators who need a fast thumbnail workflow."}),(0,s.jsx)("div",{className:"grid gap-4 sm:grid-cols-2",children:U.map(e=>(0,s.jsx)("div",{className:L,children:(0,s.jsxs)("div",{className:"p-5",children:[(0,s.jsx)("div",{className:"mb-4 inline-flex size-10 items-center justify-center border-[4px] border-[#11180d] bg-[#58d7f2] text-[#11180d] shadow-[3px_3px_0_#11180d]",children:(0,s.jsx)(x.A,{className:"size-5"})}),(0,s.jsx)("h3",{className:"text-lg font-black uppercase",children:e.title}),(0,s.jsx)("p",{className:"mt-2 text-sm leading-6 font-bold text-[#516044]",children:e.description})]})},e.title))})]})}),(0,s.jsx)("section",{id:"minecraft-thumbnail-maker-guide",className:"bg-[#142414] py-16",children:(0,s.jsxs)("div",{className:"container space-y-10",children:[(0,s.jsx)(eo,{label:"Thumbnail guide",title:"Minecraft thumbnail maker guide for better thumbnails",description:"Quick rules for faster ideas, stronger scenes, cleaner title text, and repeatable Minecraft thumbnail output."}),(0,s.jsx)("div",{className:"grid gap-5 lg:grid-cols-2 xl:grid-cols-4",children:P.map(e=>{let t=e3.has(e.title);return(0,s.jsx)("article",{className:L,children:(0,s.jsxs)("div",{className:"space-y-4 p-5",children:[(0,s.jsx)("h3",{className:"text-xl leading-7 font-black uppercase",children:e.title}),(0,s.jsx)("ul",{className:"space-y-3",children:e.points.map(e=>(0,s.jsxs)("li",{className:"flex gap-3 text-sm leading-6 font-black text-[#516044]",children:[(0,s.jsx)("span",{className:"mt-2 size-3 shrink-0 border-2 border-[#11180d] bg-[#65b83e] shadow-[2px_2px_0_#11180d]"}),(0,s.jsx)("span",{children:e})]},e))}),(0,s.jsx)("div",{className:"grid transition-[grid-template-rows] duration-300 ease-out ".concat(t?"grid-rows-[1fr]":"grid-rows-[0fr]"),children:(0,s.jsx)("div",{className:"overflow-hidden",children:(0,s.jsx)("div",{className:"space-y-4 border-t-[4px] border-[#11180d] pt-4",children:e.details.map(e=>(0,s.jsx)("p",{className:"text-sm leading-7 font-bold text-[#516044]",children:e},e))})})}),(0,s.jsxs)("button",{type:"button",className:"".concat(K," min-h-10 w-full px-3 py-2 text-xs"),"aria-expanded":t,onClick:()=>{var t;return t=e.title,void e2(e=>{let a=new Set(e);return a.has(t)?a.delete(t):a.add(t),a})},children:[(0,s.jsx)(c.A,{className:"size-4 transition-transform ".concat(t?"rotate-180":"")}),t?"Hide details":"Show details"]}
1)]})},e.title)})})]})}),(0,s.jsx)("section",{id:"minecraft-thumbnail-maker-use-cases",className:"bg-[#172917] py-16",children:(0,s.jsxs)("div",{className:"container space-y-8",children:[(0,s.jsx)(eo,{label:"Use cases",title:"Minecraft thumbnail maker use cases",description:"Different Minecraft ideas need different thumbnail hooks. This minecraft thumbnail maker keeps those hooks close to the generator so your prompt can stay specific."}),(0,s.jsx)("div",{className:"grid gap-5 md:grid-cols-2 xl:grid-cols-4",children:R.map(e=>(0,s.jsx)("article",{className:q,children:(0,s.jsxs)("div",{className:"p-5",children:[(0,s.jsx)("h3",{className:"text-lg leading-7 font-black text-[#f6c64b] uppercase",children:e.title}),(0,s.jsx)("p",{className:"mt-3 text-sm leading-7 font-bold text-[#d9c99c]",children:e.description})]})},e.title))})]})}),(0,s.jsx)("section",{id:"examples",className:"bg-[#0f1b11] py-16",children:(0,s.jsxs)("div",{className:"container space-y-8",children:[(0,s.jsx)(eo,{label:"Example worlds",title:"Minecraft thumbnail maker examples",description:"Use these minecraft thumbnail maker examples as a quick quality bar, then rewrite the prompt for your exact Minecraft idea."}),(0,s.jsx)("div",{className:"grid gap-5 md:grid-cols-2 xl:grid-cols-4",children:A.map(e=>(0,s.jsx)(el,{example:e,large:!0},e.title))})]})}),(0,s.jsx)("section",{id:"faq",className:"bg-[#142414] py-16",children:(0,s.jsxs)("div",{className:"container space-y-8",children:[(0,s.jsx)(eo,{label:"FAQ",title:"Minecraft Thumbnail Maker questions",description:"Short answers for creators comparing AI thumbnail tools and Minecraft-specific thumbnail workflows."}),(0,s.jsx)("div",{className:"grid gap-5 md:grid-cols-2",children:E.map(e=>(0,s.jsx)("article",{className:L,children:(0,s.jsxs)("div",{className:"p-5",children:[(0,s.jsx)("h3",{className:"text-lg font-black uppercase",children:e.question}),(0,s.jsx)("p",{className:"mt-3 text-sm leading-6 font-bold text-[#516044]",children:e.answer})]})},e.question))})]})})]})}function X(e){let{label:t,options:a,value:n,onChange:i}=e;return(0,s.jsxs)("fieldset",{className:"space-y-2",children:[(0,s.jsx)("label",{className:"block text-xs leading-5 font-black text-[#f6c64b] uppercase [text-shadow:2px_2px_0_#11180d]",children:t}),(0,s.jsx)("select",{value:n,onChange:e=>i(e.target.value),className:"h-11 w-full border-[4px] border-[#11180d] !bg-[#fff7d6] px-3 text-sm font-black !text-[#1f2a14] uppercase shadow-[4px_4px_0_#11180d] outline-none",children:a.map(e=>(0,s.jsx)("option",{value:e.value,children:e.hint?"".concat(e.label," - ").concat(e.hint):e.label},e.value))})]})}function ee(e){let{examples:t}=e;return(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("div",{className:"text-xs font-black text-[#516044] uppercase",children:"Thumbnail style references"}),(0,s.jsx)("div",{className:"grid grid-cols-2 gap-2 sm:grid-cols-5",children:t.map(e=>(0,s.jsx)("div",{className:"overflow-hidden border-[4px] border-[#11180d] bg-[#0e150d] shadow-[3px_3px_0_#11180d]",children:(0,s.jsx)("img",{src:e.image,alt:"".concat(e.title," Minecraft thumbnail sample"),className:"aspect-video w-full object-cover",onError:t=>{t.currentTarget.src=e.fallbackImage}})},e.title))})]})}function et(e){let{onClose:t}=e;return(0,s.jsxs)("div",{role:"status","aria-live":"polite",className:"animate-in fade-in slide-in-from-top-4 fixed top-4 right-4 left-4 z-[60] mx-auto max-w-4xl border-[4px] border-[#11180d] bg-[#f6c64b] text-[#11180d] shadow-[6px_6px_0_#11180d] duration-300 sm:top-20",children:[(0,s.jsxs)("div",{className:"flex items-start gap-3 p-4 sm:items-center",children:[(0,s.jsx)("div",{className:"flex size-11 shrink-0 items-center justify-center border-[3px] border-[#11180d] bg-[#65b83e] shadow-[3px_3px_0_#11180d]",children:(0,s.jsx)(x.A,{className:"size-6"})}),(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsx)("p",{className:"text-base font-black uppercase sm:text-lg",children:"Thumbnail crafted!"}),(0,s.jsx)("p",{className:"mt-1 text-sm leading-5 font-bold",children:"Your thumbnail is ready. View or download it again anytime from AI Tasks."})]}),(0,s.jsx)(w.N_,{href:"/activity/ai-tasks",className:"".concat(B," hidden min-h-10 shrink-0 px-4 py-2 text-xs sm:inline-flex"),children:"View AI Tasks"}),(0,s.jsx)("button",{type:"button",onClick:t,className:"flex size-10 shrink-0 items-center justify-center border-[3px] border-[#11180d] bg-[#fff7d6] shadow-[3px_3px_0_#11180d] transition-transform hover:-translate-y-0.5","aria-label":"Dismiss generation success message",children:(0,s.jsx)(l.A,{className:"size-5"})})]}),(0,s.jsx)(w.N_,{href:"/activity/ai-tasks",className:"".concat(B," mx-4 mb-4 min-h-10 px-4 py-2 text-xs sm:hidden"),children:"View AI Tasks"})]})}function ea(e){let{progress:t}=e,a=Math.min(100,Math.max(0,Math.round(t)));return(0,s.jsxs)("div",{className:"w-full",children:[(0,s.jsxs)("div",{className:"mb-2 flex items-center justify-between gap-3 text-xs font-black text-[#f6c64b] uppercase",children:[(0,s.jsx)("span",{children:"Mining pixels"}),(0,s.jsxs)("span",{children:[a,"%"]})]}),(0,s.jsx)("div",{className:"h-8 overflow-hidden border-[4px] border-[#11180d] bg-[#1a2717] shadow-[4px_4px_0_#11180d]",children:(0,s.jsx)("div",{className:"h-full border-r-[3px] border-[#11180d] transition-[width] duration-700 ease-out",style:{width:"".concat(a,"%"),backgroundImage:"linear-gradient(180deg,#65b83e 0 46%,#8a5a34 46% 100%),repeating-linear-gradient(90deg,rgba(255,255,255,.18) 0 10px,rgba(0,0,0,.08) 10px 20px)",backgroundBlendMode:"normal, overlay"}})})]})}function es(e){let{status:t}=e;return"idle"===t?null:(0,s.jsx)("div",{className:"border-[4px] border-[#11180d] bg-[#f6c64b] px-3 py-2 text-xs font-black text-[#11180d] uppercase shadow-[3px_3px_0_#11180d]",children:"success"===t?"Done":"failed"===t?"Try again":"Crafting"})}function en(e){let{imageUrl:t,title:a,isDownloading:n,onDownload:i}=e;return(0,s.jsxs)("article",{className:q,children:[(0,s.jsx)("img",{src:t,alt:"Generated Minecraft thumbnail",className:"aspect-video w-full border-b-[6px] border-[#11180d] object-cover"}),(0,s.jsxs)("div",{className:"flex items-center justify-between gap-3 p-4",children:[(0,s.jsx)("h3",{className:"text-lg font-black text-[#f6c64b] uppercase",children:a}),(0,s.jsxs)("button",{type:"button",onClick:i,disabled:n,className:"".concat(K," min-h-10 px-3 py-2 text-xs"),"aria-label":"Download generated thumbnail",children:[n?(0,s.jsx)(d.A,{className:"size-4 animate-spin"}):(0,s.jsx)(f.A,{className:"size-4"}),"Download"]})]})]})}function ei(e){let{error:t,isSignedIn:a,isStartingCheckout:n,onClose:i,onDownloadFree:r,onPurchase:o,onSignIn:c}=e;return(0,s.jsx)("div",{className:"fixed inset-0 z-[80] flex items-center justify-center bg-[#071006]/85 p-4",role:"dialog","aria-modal":"true","aria-labelledby":"download-gate-title",children:(0,s.jsxs)("div",{className:"".concat(L," w-full max-w-2xl overflow-hidden"),children:[(0,s.jsxs)("div",{className:"flex items-start justify-between gap-4 border-b-[5px] border-[#11180d] bg-[#f6c64b] p-4 text-[#11180d]",children:[(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 text-xs font-black uppercase",children:[(0,s.jsx)(b.A,{className:"size-4"})," Download options"]}),(0,s.jsx)("h2",{id:"download-gate-title",className:"mt-1 text-2xl font-black uppercase",children:"Keep testing or unlock HD"})]}),(0,s.jsx)("button",{type:"button",onClick:i,className:"flex size-10 shrink-0 items-center justify-center border-[3px] border-[#11180d] bg-[#fff7d6] shadow-[3px_3px_0_#11180d]","aria-label":"Close download options",children:(0,s.jsx)(l.A,{className:"size-5"})})]}),(0,s.jsxs)("div",{className:"space-y-4 p-5 text-[#1f2a14]",children:[(0,s.jsxs)("div",{className:"flex gap-3 border-[4px] border-[#11180d] bg-[#dff1c9] p-3 shadow-[3px_3px_0_#11180d]",children:[(0,s.jsx)(g.A,{className:"mt-0.5 size-5 shrink-0"}),(0,s.jsx)("p",{className:"text-sm leading-6 font-bold",children:"Use thumbnail variants as CTR experiments: test different hooks, subjects, and title treatments. Each fast iteration can also save hours of manual design work and the cost of commissioning another professional draft."})]}),(0,s.jsxs)("div",{className:"grid gap-3 md:grid-cols-3",children:[(0,s.jsxs)("button",{type:"button",onClick:r,className:"".concat(K," min-h-28 flex-col px-3 py-4 text-center"),children:[(0,s.jsx)(f.A,{className:"size-5"}),"Free 512px PNG",(0,s.jsx)("span",{className:"text-[10px] normal-case",children:"Best for review"})]}),(0,s.jsxs)("button",{type:"button",onClick:a?o:c,disabled:n,className:"".concat(B," min-h-28 flex-col px-3 py-4 text-center"),children:[n?(0,s.jsx)(d.A,{className:"size-5 animate-spin"}):(0,s.jsx)(f.A,{className:"size-5"}),"Buy this HD image",(0,s.jsxs)("span",{className:"text-xs",children:["$9.90"," once"]})]}),(0,s.jsxs)(w.N_,{href:"/pricing?group=monthly",className:"".concat(K," min-h-28 flex-col px-3 py-4 text-center"),children:[(0,s.jsx)(u.A,{className:"size-5"}),"Start membership",(0,s.jsx)("span",{className:"text-[10px] normal-case",children:"Original resolution on every image"})]})]}),a?null:(0,s.jsx)("p",{className:"text-center text-xs font-bold text-[#516044]",children:"Sign in to bind an HD purchase to your account. The 512px preview remains free."}),t?(0,s.jsx)("p",{className:"border-[3px] border-[#11180d] bg-[#ffd8c6] p-3 text-sm font-bold text-[#7c251c]",children:t}):null]})]})})}function er(e){let{progress:t}=e;return(0,s.jsxs)("article",{className:q,children:[(0,s.jsxs)("div",{className:"flex aspect-video flex-col items-center justify-center gap-4 border-b-[6px] border-[#11180d] bg-[#0e150d] p-6 text-center",children:[$(),(0,s.jsx)("div",{className:"w-full max-w-md",children:(0,s.jsx)(ea,{progress:t})}),(0,s.jsx)("p",{className:"text-sm font-black text-[#f6c64b] uppercase",children:"Crafting thumbnail blocks"})]}),(0,s.jsxs)("div",{className:"p-4",children:[(0,s.jsx)("h3",{className:"text-lg font-black text-[#f6c64b] uppercase",children:"Your Result"}),(0,s.jsx)("p",{className:"mt-2 text-sm leading-6 font-bold text-[#d9c99c]",children:"Your thumbnail preview is being built."})]})]})}function el(e){let{example:t,large:a=!1}=e;return(0,s.jsxs)("article",{className:q,children:[(0,s.jsx)("img",{src:t.image,alt:"".concat(t.title," Minecraft thumbnail example"),className:"aspect-video w-full border-b-[6px] border-[#11180d] object-cover",onError:e=>{e.currentTarget.src=t.fallbackImage}}),(0,s.jsxs)("div",{className:a?"p-4":"p-3",children:[(0,s.jsx)("h3",{className:"text-base font-black text-[#f6c64b] uppercase",children:t.title}),(0,s.jsx)("p",{className:"mt-2 text-xs leading-5 font-bold text-[#d9c99c]",children:t.description})]})]})}function eo(e){let{label:t,title:a,description:n}=e;return(0,s.jsxs)("div",{className:"max-w-3xl space-y-3",children:[(0,s.jsx)("div",{className:"inline-flex border-[4px] border-[#11180d] bg-[#7fd7f7] px-3 py-1 text-xs font-black text-[#11180d] uppercase shadow-[3px_3px_0_#11180d]",children:t}),(0,s.jsx)("h2",{className:"text-3xl leading-tight font-black text-[#fff7d6] uppercase [text-shadow:4px_4px_0_#11180d] sm:text-4xl",children:a}),(0,s.jsx)("p",{className:"text-base leading-7 font-semibold text-[#d9c99c]",children:n})]})}},81324:(e,t,a)=>{Promise.resolve().then(a.bind(a,18098))}},e=>{e.O(0,[34247,95784,82450,33486,45591,5718,44154,89883,47714,77358],()=>e(e.s=81324)),_N_E=e.O()}]);
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.