1<!DOCTYPE html><html lang="en" class="h-full bg-canvas"> <head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><link rel="icon" type="image/svg+xml" href="/favicon.svg?v=aiie-20260503"><link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=aiie-20260503"><link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png?v=aiie-20260503"><link rel="shortcut icon" href="/favicon.ico?v=aiie-20260503"><link rel="apple-touch-icon" href="/apple-touch-icon.png?v=aiie-20260503"><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,[email protected],400..800&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap" rel="stylesheet"><link rel="preconnect" href="https://upload.apimart.ai"><link rel="preconnect" href="https://api.skybringup.com"><!-- Primary Meta Tags --><title>Pricing â Plans and Credit Packs | AI Image Extender</title><meta name="title" content="Pricing â Plans and Credit Packs | AI Image Extender"><meta name="description" content="AI Image Extender pricing: 5 free monthly credits, one-time packs, and monthly or annual plans for repeat image extension work."><meta name="robots" content="index, follow"><link rel="canonical" href="https://aiimageextender.app/pricing/"><!-- Open Graph --><meta property="og:type" content="website"><meta property="og:url" content="https://aiimageextender.app/pricing/"><meta property="og:title" content="Pricing â Plans and Credit Packs | AI Image Extender"><meta property="og:description" content="AI Image Extender pricing: 5 free monthly credits, one-time packs, and monthly or annual plans for repeat image extension work."><meta property="og:image" content="https://aiimageextender.app/og-image.png"><meta property="og:site_name" content="AI Image Extender"><meta property="og:locale" content="en-US"><!-- Twitter --><meta name="twitter:card" content="summary_large_image"><meta name="twitter:url" content="https://aiimageextender.app/pricing/"><meta name="twitter:title" content="Pricing â Plans and Credit Packs | AI Image Extender"><meta name="twitter:description" content="AI Image Extender pricing: 5 free monthly credits, one-time packs, and monthly or annual plans for repeat image extension work."><meta name="twitter:image" content="https://aiimageextender.app/og-image.png">
1<script defer data-domain="aiimageextender.app" src="https://plausible.skybringup.tech/js/script.tagged-events.js"></script>
vendor: 63 bytes, line 1
1<script async src="https://www.googletagmanager.com/gtag/js?id=
1G-MMNQCTNV9W
vendor: 11 bytes, line 1
1"></script>
1<script>window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments);}window.gtag=gtag;gtag('js',new Date());gtag('config','G-MMNQCTNV9W',{anonymize_ip:true});</script>
1<script>window.track=function(name,props){try{if(window.plausible)window.plausible(name,{props:props||{}});}catch(e){}try{if(window.gtag)window.gtag('event',name,props||{});}catch(e){}};</script>
1<script>window.addEventListener('saas:checkout-start',function(e){if(window.track)window.track('checkout_click',{productType:e.detail&&e.detail.productType,packageId:e.detail&&e.detail.packageId});});</script>
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","name":"AI Image Extender","url":"https://aiimageextender.app/","logo":{"@type":"ImageObject","url":"https://aiimageextender.app/logo.svg"}}</script>
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"WebSite","name":"AI Image Extender","url":"https://aiimageextender.app/","description":"AI Image Extender pricing: 5 free monthly credits, one-time packs, and monthly or annual plans for repeat image extension work."}</script>
1<link rel="stylesheet" href="/_astro/site.css">
1<script type="module" src="/_astro/hoisted.CB8-LtYg.js"></script>
1</head> <body class="min-h-full flex flex-col bg-canvas text-ink antialiased font-body"> <header class="sticky top-0 z-50 bg-canvas border-b-2 border-ink"> <nav class="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 h-14 sm:h-16 flex items-center justify-between"> <a href="/" class="flex items-center gap-2.5 group min-w-0"> <img src="/brand-mark.svg" alt="" width="28" height="28" class="h-7 w-7 rounded-crisp"> <span class="font-serif font-extrabold text-ink text-lg sm:text-xl tracking-tight whitespace-nowrap"> AI Image<span class="text-terracotta">Extender</span> </span> </a> <div class="hidden md:flex items-center gap-7"> <a href="/" class="text-ink-muted hover:text-ink transition-colors text-sm font-semibold hover:underline decoration-terracotta-ink decoration-2 underline-offset-4"> Tool </a><a href="/aspect/" class="text-ink-muted hover:text-ink transition-colors text-sm font-semibold hover:underline decoration-terracotta-ink decoration-2 underline-offset-4"> Aspects </a><a href="/use/" class="text-ink-muted hover:text-ink transition-colors text-sm font-semibold hover:underline decoration-terracotta-ink decoration-2 underline-offset-4"> Use Cases </a><a href="/pricing/" class="text-ink-muted hover:text-ink transition-colors text-sm font-semibold hover:underline decoration-terracotta-ink decoration-2 underline-offset-4"> Pricing </a><a href="/blog/" class="text-ink-muted hover:text-ink transition-colors text-sm font-semibold hover:underline decoration-terracotta-ink decoration-2 underline-offset-4"> Blog </a><a href="/about/" class="text-ink-muted hover:text-ink transition-colors text-sm font-semibold hover:underline decoration-terracotta-ink decoration-2 underline-offset-4"> About </a> <style>astro-island,astro-slot,astro-static-slot{display:contents}</style>
1<script>(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).load=e;window.dispatchEvent(new Event("astro:load"));})();;(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!="symbol"?o+"":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(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=>1/0*t},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,"Component");d(this,"hydrator");d(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 c=this.querySelectorAll("astro-slot"),n={},h=this.querySelectorAll("template[data-astro-template]");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("data-astro-template")||"default"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("name")||"default"]=r.innerHTML)}let p;try{p=this.hasAttribute("props")?m(JSON.parse(this.getAttribute("props"))):{}}catch(r){let s=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(s+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${s}`,this.getAttribute("props"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});d(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),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute("opts")),c=this.getAttribute("client");if(Astro[c]===void 0){window.addEventListener(`astro:${c}`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute("renderer-url"),[h,{default:p}]=await Promise.all([import(this.getAttribute("component-url")),n?import(n):()=>()=>{}]),u=this.getAttribute("component-export")||"default";if(!u.includes("."))this.Component=h[u];else{this.Component=h;for(let f of u.split("."))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(`[astro-island] Error hydrating ${this.getAttribute("component-url")}`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",y)}})();</script>
1<astro-island uid="JA6xY" prefix="r9" component-url="/_astro/AuthButton.BcDOgDjr.js" component-export="default" renderer-url="/_astro/client.i2PwhOJ4.js" props="{"slot":[0,"auth-button"],"apiBaseUrl":[0,"https://api.skybringup.com"],"siteId":[0,"ai-image-extender"],"googleClientId":[0,"305000389638-jpppcusmqj8di5b9mb0r36kepsdip21b.apps.googleusercontent.com"],"googleOneTap":[0,false],"buttonClassName":[0,"rounded-pill border-2 border-ink bg-terracotta px-5 py-2 text-sm font-bold text-ink shadow-hardSm transition hover:-translate-y-0.5 hover:shadow-hard active:translate-y-0 active:shadow-none"]}" ssr="" client="load" opts="{"name":"AuthButton","value":true}" await-children=""><button class="rounded-pill border-2 border-ink bg-terracotta px-5 py-2 text-sm font-bold text-ink shadow-hardSm transition hover:-translate-y-0.5 hover:shadow-hard active:translate-y-0 active:shadow-none">Sign In</button><!--astro:end--></astro-island> </div> <button id="mobile-menu-btn" class="md:hidden p-2 -mr-2 text-ink transition-colors hover:text-terracotta-ink" aria-label="Toggle menu"> <svg id="menu-icon-open" class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16"></path> </svg> <svg id="menu-icon-close" class="w-6 h-6 hidden" fill="none" stroke="currentColor" viewBox="0 0 24 24"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path> </svg> </button> </nav> <div id="mobile-menu" class="md:hidden overflow-hidden transition-[max-height] duration-300 ease-in-out max-h-0 border-t-2 border-ink bg-canvas"> <div class="px-4 py-3 space-y-1"> <a href="/" class="block py-2.5 text-ink-muted hover:text-terracotta-ink transition-colors text-sm font-semibold"> Tool </a><a href="/aspect/" class="block py-2.5 text-ink-muted hover:text-terracotta-ink transition-colors text-sm font-semibold"> Aspects </a><a href="/use/" class="block py-2.5 text-ink-muted hover:text-terracotta-ink transition-colors text-sm font-semibold"> Use Cases </a><a href="/pricing/" class="block py-2.5 text-ink-muted hover:text-terracotta-ink transition-colors text-sm font-semibold"> Pricing </a><a href="/blog/" class="block py-2.5 text-ink-muted hover:text-terracotta-ink transition-colors text-sm font-semibold"> Blog </a><a href="/about/" class="block py-2.5 text-ink-muted hover:text-terracotta-ink transition-colors text-sm font-semibold"> About </a> <div class="pt-2 border-t border-canvas-line mt-2"> <astro-island uid="Z2fSNrC" prefix="r10" component-url="/_astro/AuthButton.BcDOgDjr.js" component-export="default" renderer-url="/_astro/client.i2PwhOJ4.js" props="{"slot":[0,"auth-button-mobile"],"apiBaseUrl":[0,"https://api.skybringup.com"],"siteId":[0,"ai-image-extender"],"googleClientId":[0,"305000389638-jpppcusmqj8di5b9mb0r36kepsdip21b.apps.googleusercontent.com"],"googleOneTap":[0,false],"buttonClassName":[0,"w-full flex items-center justify-center rounded-pill border-2 border-ink bg-terracotta px-4 py-2.5 text-sm font-bold text-ink shadow-hardSm transition hover:-translate-y-0.5 hover:shadow-hard active:translate-y-0 active:shadow-none"]}" ssr="" client="load" opts="{"name":"AuthButton","value":true}" await-children=""><button class="w-full flex items-center justify-center rounded-pill border-2 border-ink bg-terracotta px-4 py-2.5 text-sm font-bold text-ink shadow-hardSm transition hover:-translate-y-0.5 hover:shadow-hard active:translate-y-0 active:shadow-none">Sign In</button><!--astro:end--></astro-island> </div> </div> </div> </header> <main class="flex-1"> <section class="border-b-2 border-ink bg-canvas"> <div class="mx-auto flex max-w-6xl flex-col gap-5 px-4 py-6 sm:flex-row sm:items-center sm:justify-between lg:py-8"> <div> <h1 class="font-serif text-3xl font-extrabold text-ink sm:text-4xl"> <span class="relative inline-block"> 2Pricing 3<svg class="absolute left-0 top-full -mt-1.5 h-3 w-full text-terracotta" viewB
3ox="0 0 120 12" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"> <path d="M4 6 C 14 1, 26 1, 36 6 S 58 11, 70 6 S 94 1, 106 6" stroke="currentColor" stroke-width="4" stroke-linecap="round"></path> </svg> </span> </h1> <p class="mt-3 max-w-xl text-sm text-ink-muted sm:text-base"> 5 free credits every month. 1 credit makes 1 finished image. 4<a href="/" class="ml-2 font-bold text-terracotta-ink underline underline-offset-2">Try free â</a> </p> </div> <div class="flex w-full items-center gap-1 rounded-pill border-2 border-ink bg-canvas-card p-1 shadow-hardSm sm:w-auto" role="group" aria-label="Billing interval"> <button type="button" data-pricing-tab="yearly" class="pricing-tab flex-1 whitespace-nowrap rounded-pill px-4 py-2 font-mono text-sm font-semibold text-ink-muted transition sm:flex-none sm:px-5"> 5Yearly · save 20% 6</button> <button type="button" data-pricing-tab="monthly" class="pricing-tab flex-1 whitespace-nowrap rounded-pill px-4 py-2 font-mono text-sm font-semibold text-ink-muted transition sm:flex-none sm:px-5"> 7Monthly 8</button> </div> </div> </section> <section class="border-b-2 border-ink bg-canvas-warm"> <div class="mx-auto max-w-6xl px-4 py-10 lg:py-14"> <div data-pricing-panel="yearly"> <div class="grid gap-6 lg:grid-cols-3"> <article class="relative flex flex-col rounded-chunk border-2 border-ink p-8 shadow-hardLg bg-canvas-card"> <div class="font-mono text-sm font-semibold uppercase tracking-wide text-ink-muted"> Pro </div> <div class="mt-4 flex items-baseline gap-2"> <span class="font-mono text-4xl font-bold text-ink">$10.42</span> <span class="font-mono text-lg font-semibold text-ink-muted">/mo</span> </div> <p class="mt-2 text-sm text-ink-soft">billed $124.99 yearly</p> <ul class="mt-6 flex flex-col gap-3"> <li class="flex items-start gap-2.5 text-sm leading-snug text-ink"> <span class="mt-1 h-2.5 w-2.5 shrink-0 rounded-[3px] border-2 border-ink bg-moss"></span> <span>100 images every month</span> </li><li class="flex items-start gap-2.5 text-sm leading-snug text-ink"> <span class="mt-1 h-2.5 w-2.5 shrink-0 rounded-[3px] border-2 border-ink bg-moss"></span> <span>$0.104 per image</span> </li><li class="flex items-start gap-2.5 text-sm leading-snug text-ink"> <span class="mt-1 h-2.5 w-2.5 shrink-0 rounded-[3px] border-2 border-ink bg-moss"></span> <span>No watermark · commercial use</span> </li> </ul> <div class="mt-auto pt-8"> <astro-island uid="Z2k3QDW" prefix="r0" component-url="/_astro/CheckoutButton.Czni8ktD.js" component-export="default" renderer-url="/_astro/client.i2PwhOJ4.js" props="{"apiBaseUrl":[0,"https://api.skybringup.com"],"siteId":[0,"ai-image-extender"],"productType":[0,"subscription"],"packageId":[0,"pro_annual"],"label":[0,"Start Pro"],"popular":[0,false],"fromSource":[0,""],"className":[0,"!bg-canvas-card !text-ink !border-2 !border-ink hover:!bg-canvas-warm !shadow-hardSm !rounded-crisp"],"containerClassName":[0,"mt-0"]}" ssr="" client="load" opts="{"name":"CheckoutButton","value":true}" await-children=""><div class="mt-0"><button type="button" class="block w-full text-center py-3 px-4 rounded-lg font-semibold text-sm transition-colors disabled:opacity-50 bg-gray-100 text-gray-900 hover:bg-gray-200 !bg-canvas-card !text-ink !border-2 !border-ink hover:!bg-canvas-warm !shadow-hardSm !rounded-crisp">Start Pro</button></div><!--astro:end--></astro-island> </div> </article><article class="relative flex flex-col rounded-chunk border-2 border-ink p-8 shadow-hardLg bg-terracotta"> <span class="absolute -top-4 right-6 -rotate-3 rounded-crisp border-2 border-ink bg-canvas-card px-3.5 py-1.5 font-serif text-sm font-extrabold text-ink shadow-hardSm"> Recommended </span> <div class="font-mono text-sm font-semibold uppercase tracking-wide text-ink"> Max </div> <div class="mt-4 flex items-baseline gap-2"> <span class="font-mono text-4xl font-bold text-ink">$24.00</span> <span class="font-mono text-lg font-semibold text-ink">/mo</span> </div> <p class="mt-2 text-sm text-ink">billed $287.99 yearly</p> <ul class="mt-6 flex flex-col gap-3"> <li class="flex items-start gap-2.5 text-sm leading-snug text-ink"> <span class="mt-1 h-2.5 w-2.5 shrink-0 rounded-[3px] border-2 border-ink bg-ink"></span> <span>400 images every month</span> </li><li class="flex items-start gap-2.5 text-sm leading-snug text-ink"> <span class="mt-1 h-2.5 w-2.5 shrink-0 rounded-[3px] border-2 border-ink bg-ink"></span> <span>$0.060 per image â 42% less than Pro</span> </li><li class="flex items-start gap-2.5 text-sm leading-snug text-ink"> <span class="mt-1 h-2.5 w-2.5 shrink-0 rounded-[3px] border-2 border-ink bg-ink"></span> <span>Batch upload up to 5 images</span> </li> </ul> <div class="mt-auto pt-8"> <astro-island uid="xgvQm" prefix="r1" component-url="/_astro/CheckoutButton.Czni8ktD.js" component-export="default" renderer-url="/_astro/client.i2PwhOJ4.js" props="{"apiBaseUrl":[0,"https://api.skybringup.com"],"siteId":[0,"ai-image-extender"],"productType":[0,"subscription"],"packageId":[0,"max_annual"],"label":[0,"Start Max"],"popular":[0,true],"fromSource":[0,""],"className":[0,"!bg-ink !text-canvas hover:!brightness-125 !border-2 !border-ink !shadow-hard !rounded-crisp"],"containerClassName":[0,"mt-0"]}" ssr="" client="load" opts="{"name":"CheckoutButton","value":true}" await-children=""><div class="mt-0"><button type="button" class="block w-full text-center py-3 px-4 roun
8ded-lg font-semibold text-sm transition-colors disabled:opacity-50 bg-blue-600 text-white hover:bg-blue-700 !bg-ink !text-canvas hover:!brightness-125 !border-2 !border-ink !shadow-hard !rounded-crisp">Start Max</button></div><!--astro:end--></astro-island> </div> </article><article class="relative flex flex-col rounded-chunk border-2 border-ink p-8 shadow-hardLg bg-canvas-card"> <div class="font-mono text-sm font-semibold uppercase tracking-wide text-ink-muted"> Studio </div> <div class="mt-4 flex items-baseline gap-2"> <span class="font-mono text-4xl font-bold text-ink">$79.00</span> <span class="font-mono text-lg font-semibold text-ink-muted">/mo</span> </div> <p class="mt-2 text-sm text-ink-soft">billed $948.00 yearly</p> <ul class="mt-6 flex flex-col gap-3"> <li class="flex items-start gap-2.5 text-sm leading-snug text-ink"> <span class="mt-1 h-2.5 w-2.5 shrink-0 rounded-[3px] border-2 border-ink bg-moss"></span> <span>2,000 images every month</span> </li><li class="flex items-start gap-2.5 text-sm leading-snug text-ink"> <span class="mt-1 h-2.5 w-2.5 shrink-0 rounded-[3px] border-2 border-ink bg-moss"></span> <span>$0.040 per image â best rate</span> </li><li class="flex items-start gap-2.5 text-sm leading-snug text-ink"> <span class="mt-1 h-2.5 w-2.5 shrink-0 rounded-[3px] border-2 border-ink bg-moss"></span> <span>For listing teams and high volume</span> </li> </ul> <div class="mt-auto pt-8"> <astro-island uid="19OknY" prefix="r2" component-url="/_astro/CheckoutButton.Czni8ktD.js" component-export="default" renderer-url="/_astro/client.i2PwhOJ4.js" props="{"apiBaseUrl":[0,"https://api.skybringup.com"],"siteId":[0,"ai-image-extender"],"productType":[0,"subscription"],"packageId":[0,"studio_annual"],"label":[0,"Start Studio"],"popular":[0,false],"fromSource":[0,""],"className":[0,"!bg-canvas-card !text-ink !border-2 !border-ink hover:!bg-canvas-warm !shadow-hardSm !rounded-crisp"],"containerClassName":[0,"mt-0"]}" ssr="" client="load" opts="{"name":"CheckoutButton","value":true}" await-children=""><div class="mt-0"><button type="button" class="block w-full text-center py-3 px-4 rounded-lg font-semibold text-sm transition-colors disabled:opacity-50 bg-gray-100 text-gray-900 hover:bg-gray-200 !bg-canvas-card !text-ink !border-2 !border-ink hover:!bg-canvas-warm !shadow-hardSm !rounded-crisp">Start Studio</button></div><!--astro:end--></astro-island> </div> </article> </div> </div> <div data-pricing-panel="monthly" class="hidden"> <div class="grid gap-6 lg:grid-cols-3"> <article class="relative flex flex-col rounded-chunk border-2 border-ink p-8 shadow-hardLg bg-canvas-card"> <div class="font-mono text-sm font-semibold uppercase tracking-wide text-ink-muted"> Pro </div> <div class="mt-4 flex items-baseline gap-2"> <span class="font-mono text-4xl font-bold text-ink">$12.99</span> <span class="font-mono text-lg font-semibold text-ink-muted">/mo</span> </div> <p class="mt-2 text-sm text-ink-soft">billed monthly · switch anytime</p> <ul class="mt-6 flex flex-col gap-3"> <li class="flex items-start gap-2.5 text-sm leading-snug text-ink"> <span class="mt-1 h-2.5 w-2.5 shrink-0 rounded-[3px] border-2 border-ink bg-moss"></span> <span>100 images every month</span> </li><li class="flex items-start gap-2.5 text-sm leading-snug text-ink"> <span class="mt-1 h-2.5 w-2.5 shrink-0 rounded-[3px] border-2 border-ink bg-moss"></span> <span>$0.130 per image</span> </li><li class="flex items-start gap-2.5 text-sm leading-snug text-ink"> <span class="mt-1 h-2.5 w-2.5 shrink-0 rounded-[3px] border-2 border-ink bg-moss"></span> <span>No watermark · commercial use</span> </li> </ul> <div class="mt-auto pt-8">
8 <astro-island uid="1hvHTP" prefix="r3" component-url="/_astro/CheckoutButton.Czni8ktD.js" component-export="default" renderer-url="/_astro/client.i2PwhOJ4.js" props="{"apiBaseUrl":[0,"https://api.skybringup.com"],"siteId":[0,"ai-image-extender"],"productType":[0,"subscription"],"packageId":[0,"pro_monthly"],"label":[0,"Start Pro"],"popular":[0,false],"fromSource":[0,""],"className":[0,"!bg-canvas-card !text-ink !border-2 !border-ink hover:!bg-canvas-warm !shadow-hardSm !rounded-crisp"],"containerClassName":[0,"mt-0"]}" ssr="" client="load" opts="{"name":"CheckoutButton","value":true}" await-children=""><div class="mt-0"><button type="button" class="block w-full text-center py-3 px-4 rounded-lg font-semibold text-sm transition-colors disabled:opacity-50 bg-gray-100 text-gray-900 hover:bg-gray-200 !bg-canvas-card !text-ink !border-2 !border-ink hover:!bg-canvas-warm !shadow-hardSm !rounded-crisp">Start Pro</button></div><!--astro:end--></astro-island> </div> </article><article class="relative flex flex-col rounded-chunk border-2 border-ink p-8 shadow-hardLg bg-terracotta"> <span class="absolute -top-4 right-6 -rotate-3 rounded-crisp border-2 border-ink bg-canvas-card px-3.5 py-1.5 font-serif text-sm font-extrabold text-ink shadow-hardSm"> Recommended </span> <div class="font-mono text-sm font-semibold uppercase tracking-wide text-ink"> Max </div> <div class="mt-4 flex items-baseline gap-2"> <span class="font-mono text-4xl font-bold text-ink">$29.99</span> <span class="font-mono text-lg font-semibold text-ink">/mo</span> </div> <p class="mt-2 text-sm text-ink">billed monthly · switch anytime</p> <ul class="mt-6 flex flex-col gap-3"> <li class="flex items-start gap-2.5 text-sm leading-snug text-ink"> <span class="mt-1 h-2.5 w-2.5 shrink-0 rounded-[3px] border-2 border-ink bg-ink"></span> <span>400 images every month</span> </li><li class="flex items-start gap-2.5 text-sm leading-snug text-ink"> <span class="mt-1 h-2.5 w-2.5 shrink-0 rounded-[3px] border-2 border-ink bg-ink"></span> <span>$0.075 per image â 42% less than Pro</span> </li><li class="flex items-start gap-2.5 text-sm leading-snug text-ink"> <span class="mt-1 h-2.5 w-2.5 shrink-0 rounded-[3px] border-2 border-ink bg-ink"></span> <span>Batch upload up to 5 images</span> </li> </ul> <div class="mt-auto pt-8"> <astro-island uid="2Al3G" prefix="r4" component-url="/_astro/CheckoutButton.Czni8ktD.js" component-export="default" renderer-url="/_astro/client.i2PwhOJ4.js" props="{"apiBaseUrl":[0,"https://api.skybringup.com"],"siteId":[0,"ai-image-extender"],"productType":[0,"subscription"],"packageId":[0,"max_monthly"],"label":[0,"Start Max"],"popular":[0,true],"fromSource":[0,""],"className":[0,"!bg-ink !text-canvas hover:!brightness-125 !border-2 !border-ink !shadow-hard !rounded-crisp"],"containerClassName":[0,"mt-0"]}" ssr="" client="load" opts="{"name":"CheckoutButton","value":true}" await-children=""><div class="mt-0"><button type="button" class="block w-full text-center py-3 px-4 rounded-lg font-semibold text-sm transition-colors disabled:opacity-50 bg-blue-600 text-white hover:bg-blue-700 !bg-ink !text-canvas hover:!brightness-125 !border-2 !border-ink !shadow-hard !rounded-crisp">Start Max</button></div><!--astro:end--></astro-island> </div> </article><article class="relative flex flex-col rounded-chunk border-2 border-ink p-8 shadow-hardLg bg-canvas-card"> <div class="font-mono text-sm font-semibold uppercase tracking-wide text-ink-muted"> Studio </div> <div class="mt-4 flex items-baseline gap-2"> <span class="font-mono text-4xl font-bold text-ink">$99.00</span> <span class="font-mono text-lg font-semibold text-ink-muted">/mo</span> </div> <p class="mt-2 text-sm text-ink-soft">billed monthly · switch anytime</p> <ul class="mt-6 flex flex-col gap-3"> <li class="flex items-start gap-2.5 text-sm leading-snug text-ink"> <span class="mt-1 h-2.5 w-2.5 shrink-0 rounded-[3px] border-2 border-ink bg-moss"></span> <span>2,000 images every month</span> </li><li class="flex items-start gap-2.5 text-sm leading-snug text-ink"> <span class="mt-1 h-2.5 w-2.5 shrink-0 rounded-[3px] border-2 border-ink bg-moss"></span> <span>$0.050 per image â best rate</span> </li><li class="flex items-start gap-2.5 text-sm leading-snug text-ink"> <span class="mt-1 h-2.5 w-2.5 shrink-0 rounded-[3px] border-2 border-ink bg-moss"></span> <span>For listing teams and high volume</span> </li> </ul> <div class="mt-auto pt-8"> <astro-island uid="1RaweR" prefix="r5" component-url="/_astro/CheckoutButton.Czni8ktD.js" component-export="default" renderer-url="/_astro/client.i2PwhOJ4.js" props="{"apiBaseUrl":[0,"https://api.skybringup.com"],"siteId":[0,"ai-image-extender"],"productType":[0,"subscription"],"packageId":[0,"studio_monthly"],"label":[0,"Start Studio"],"popular":[0,false],"fromSource":[0,""],"className":[0,"!bg-canvas-card !text-ink !border-2 !border-ink hover:!bg-canvas-warm !sh
8adow-hardSm !rounded-crisp"],"containerClassName":[0,"mt-0"]}" ssr="" client="load" opts="{"name":"CheckoutButton","value":true}" await-children=""><div class="mt-0"><button type="button" class="block w-full text-center py-3 px-4 rounded-lg font-semibold text-sm transition-colors disabled:opacity-50 bg-gray-100 text-gray-900 hover:bg-gray-200 !bg-canvas-card !text-ink !border-2 !border-ink hover:!bg-canvas-warm !shadow-hardSm !rounded-crisp">Start Studio</button></div><!--astro:end--></astro-island> </div> </article> </div> </div> <p class="mt-8 text-center text-sm text-ink-muted"> 9Every plan includes: Upload up to 5 images together · No watermark on saved images · Download all images or save from mobile · Commercial use included </p> <details class="group mt-8 rounded-chunk border-2 border-ink bg-moss px-6 py-5 shadow-hard"> <summary class="flex cursor-pointer list-none flex-wrap items-center justify-between gap-4"> <p class="m-0 max-w-xl text-base font-semibold text-canvas"> 10Just need a few images? One-time credit packs never expire. 11</p> <span class="inline-flex h-11 shrink-0 items-center gap-2 rounded-pill border-2 border-canvas px-6 text-sm font-black text-canvas transition group-open:bg-canvas group-open:text-moss"> 12Browse packs 13<span class="font-mono transition group-open:rotate-45">+</span> </span> </summary> <div class="mt-6 grid gap-3 border-t-2 border-canvas/40 pt-6 sm:grid-cols-3"> <div class="flex flex-col gap-3 rounded-crisp border-2 border-canvas/70 bg-canvas/10 p-4"> <div class="flex items-center justify-between gap-2"> <div> <div class="font-mono text-sm font-bold uppercase text-canvas">30 credits</div> <div class="text-xs text-canvas">$0.166 per image</div> </div> <div class="font-mono text-xl font-bold text-canvas">$4.99</div> </div> <astro-island uid="Z9uMrD" prefix="r6" component-url="/_astro/CheckoutButton.Czni8ktD.js" component-export="default" renderer-url="/_astro/client.i2PwhOJ4.js" props="{"apiBaseUrl":[0,"https://api.skybringup.com"],"siteId":[0,"ai-image-extender"],"productType":[0,"credits_pack"],"packageId":[0,"starter_30"],"label":[0,"Buy 30 credits"],"popular":[0,false],"fromSource":[0,""],"className":[0,"!bg-canvas !text-moss !border-2 !border-canvas hover:!bg-canvas-warm !rounded-crisp !text-sm"],"containerClassName":[0,"mt-0"]}" ssr="" client="load" opts="{"name":"CheckoutButton","value":true}" await-children=""><div class="mt-0"><button type="button" class="block w-full text-center py-3 px-4 rounded-lg font-semibold text-sm transition-colors disabled:opacity-50 bg-gray-100 text-gray-900 hover:bg-gray-200 !bg-canvas !text-moss !border-2 !border-canvas hover:!bg-canvas-warm !rounded-crisp !text-sm">Buy 30 credits</button></div><!--astro:end--></astro-island> </div><div class="flex flex-col gap-3 rounded-crisp border-2 border-canvas/70 bg-canvas/10 p-4"> <div class="flex items-center justify-between gap-2"> <div> <div class="font-mono text-sm font-bold uppercase text-canvas">100 credits</div> <div class="text-xs text-canvas">$0.150 per image · most popular</div> </div> <div class="font-mono text-xl font-bold text-canvas">$14.99</div> </div> <astro-island uid="2vMu5I" prefix="r7" component-url="/_astro/CheckoutButton.Czni8ktD.js" component-export="default" renderer-url="/_astro/client.i2PwhOJ4.js" props="{"apiBaseUrl":[0,"https://api.skybringup.com"],"siteId":[0,"ai-image-extender"],"productType":[0,"credits_pack"],"packageId":[0,"popular_100"],"label":[0,"Buy 100 credits"],"popular":[0,true],"fromSource":[0,""],"className":[0,"!bg-canvas !text-moss !border-2 !border-canvas hover:!bg-canvas-warm !rounded-crisp !text-sm"],"containerClassName":[0,"mt-0"]}" ssr="" client="load" opts="{"name":"CheckoutButton","value":true}" await-children=""><div class="mt-0"><button type="button" class="block w-full text-center py-3 px-4 roun
13ded-lg font-semibold text-sm transition-colors disabled:opacity-50 bg-blue-600 text-white hover:bg-blue-700 !bg-canvas !text-moss !border-2 !border-canvas hover:!bg-canvas-warm !rounded-crisp !text-sm">Buy 100 credits</button></div><!--astro:end--></astro-island> </div><div class="flex flex-col gap-3 rounded-crisp border-2 border-canvas/70 bg-canvas/10 p-4"> <div class="flex items-center justify-between gap-2"> <div> <div class="font-mono text-sm font-bold uppercase text-canvas">300 credits</div> <div class="text-xs text-canvas">$0.100 per image</div> </div> <div class="font-mono text-xl font-bold text-canvas">$29.99</div> </div> <astro-island uid="Z4AW87" prefix="r8" component-url="/_astro/CheckoutButton.Czni8ktD.js" component-export="default" renderer-url="/_astro/client.i2PwhOJ4.js" props="{"apiBaseUrl":[0,"https://api.skybringup.com"],"siteId":[0,"ai-image-extender"],"productType":[0,"credits_pack"],"packageId":[0,"pro_300"],"label":[0,"Buy 300 credits"],"popular":[0,false],"fromSource":[0,""],"className":[0,"!bg-canvas !text-moss !border-2 !border-canvas hover:!bg-canvas-warm !rounded-crisp !text-sm"],"containerClassName":[0,"mt-0"]}" ssr="" client="load" opts="{"name":"CheckoutButton","value":true}" await-children=""><div class="mt-0"><button type="button" class="block w-full text-center py-3 px-4 rounded-lg font-semibold text-sm transition-colors disabled:opacity-50 bg-gray-100 text-gray-900 hover:bg-gray-200 !bg-canvas !text-moss !border-2 !border-canvas hover:!bg-canvas-warm !rounded-crisp !text-sm">Buy 300 credits</button></div><!--astro:end--></astro-island> </div> </div> </details> </div> </section> <section class="border-b-2 border-ink bg-canvas"> <div class="mx-auto grid max-w-6xl gap-4 px-4 py-12 md:grid-cols-3"> <div class="rounded-chunk border-2 border-ink bg-canvas-card p-5 shadow-hardSm"> <h2 class="font-serif text-lg font-bold text-ink">Occasional work</h2> <p class="mt-2 text-sm leading-relaxed text-ink-muted">Use credit packs when you only need a few images at a time.</p> </div><div class="rounded-chunk border-2 border-ink bg-canvas-card p-5 shadow-hardSm"> <h2 class="font-serif text-lg font-bold text-ink">Weekly image sets</h2> <p class="mt-2 text-sm leading-relaxed text-ink-muted">Use Pro or Max when social, listing, or product images are recurring work.</p> </div><div class="rounded-chunk border-2 border-ink bg-canvas-card p-5 shadow-hardSm"> <h2 class="font-serif text-lg font-bold text-ink">High volume</h2> <p class="mt-2 text-sm leading-relaxed text-ink-muted">Use Studio when a team needs thousands of clean saved images every month.</p> </div> </div> </section> <section class="bg-canvas-warm"> <div class="mx-auto max-w-3xl px-4 py-12"> <h2 class="mb-6 font-serif text-3xl font-bold text-ink">Frequently asked questions</h2> <div class="flex flex-col gap-4"> <details class="group rounded-chunk border-2 border-ink bg-canvas-card p-5 shadow-hardSm sm:p-6"> <summary class="flex cursor-pointer list-none items-center justify-between gap-4 font-serif text-base font-extrabold text-ink sm:text-lg"> <span>When do I need to sign in?</span> <span class="flex h-7 w-7 shrink-0 items-center justify-center rounded-crisp border-2 border-ink bg-canvas font-mono text-lg font-bold text-terracotta-ink transition group-open:rotate-45 group-open:bg-terracotta group-open:text-ink">+</span> </summary> <p class="mt-4 max-w-2xl text-sm leading-relaxed text-ink-muted">Only when you create the finished image. You can upload images, choose a canvas, and prepare the set first.</p> </details><details class="group rounded-chunk border-2 border-ink bg-canvas-card p-5 shadow-hardSm sm:p-6"> <summary class="flex cursor-pointer list-none items-center justify-between gap-4 font-serif text-base font-extrabold text-ink sm:text-lg"> <span>What is one credit worth?</span> <span class="flex h-7 w-7 shrink-0 items-center justify-center rounded-crisp border-2 border-ink bg-canvas font-mono text-lg font-bold text-terracotta-ink transition group-open:rotate-45 group-open:bg-terracotta group-open:text-ink">+</span> </summary> <p class="mt-4 max-w-2xl text-sm leading-relaxed text-ink-muted">
131 credit creates 1 finished outpainted image. Failed provider tasks are refunded automatically.</p> </details><details class="group rounded-chunk border-2 border-ink bg-canvas-card p-5 shadow-hardSm sm:p-6"> <summary class="flex cursor-pointer list-none items-center justify-between gap-4 font-serif text-base font-extrabold text-ink sm:text-lg"> <span>Do credit packs expire?</span> <span class="flex h-7 w-7 shrink-0 items-center justify-center rounded-crisp border-2 border-ink bg-canvas font-mono text-lg font-bold text-terracotta-ink transition group-open:rotate-45 group-open:bg-terracotta group-open:text-ink">+</span> </summary> <p class="mt-4 max-w-2xl text-sm leading-relaxed text-ink-muted">No. One-time credit packs stay on your account until you use them.</p> </details><details class="group rounded-chunk border-2 border-ink bg-canvas-card p-5 shadow-hardSm sm:p-6"> <summary class="flex cursor-pointer list-none items-center justify-between gap-4 font-serif text-base font-extrabold text-ink sm:text-lg"> <span>Why is yearly selected first?</span> <span class="flex h-7 w-7 shrink-0 items-center justify-center rounded-crisp border-2 border-ink bg-canvas font-mono text-lg font-bold text-terracotta-ink transition group-open:rotate-45 group-open:bg-terracotta group-open:text-ink">+</span> </summary> <p class="mt-4 max-w-2xl text-sm leading-relaxed text-ink-muted">It gives the same monthly credits at a lower effective monthly price, which is better for repeat image work.</p> </details><details class="group rounded-chunk border-2 border-ink bg-canvas-card p-5 shadow-hardSm sm:p-6"> <summary class="flex cursor-pointer list-none items-center justify-between gap-4 font-serif text-base font-extrabold text-ink sm:text-lg"> <span>Can I cancel?</span> <span class="flex h-7 w-7 shrink-0 items-center justify-center rounded-crisp border-2 border-ink bg-canvas font-mono text-lg font-bold text-terracotta-ink transition group-open:rotate-45 group-open:bg-terracotta group-open:text-ink">+</span> </summary> <p class="mt-4 max-w-2xl text-sm leading-relaxed text-ink-muted">Yes. Monthly and annual subscriptions can be cancelled before the next renewal.</p> </details> </div> </div> </section> </main> <footer class="border-t-2 border-ink bg-cocoa"> <div class="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 py-12"> <div class="flex flex-col sm:flex-row sm:items-start sm:justify-between gap-6"> <div class="min-w-0"> <a href="/" class="inline-flex items-center gap-2 font-serif font-extrabold text-canvas text-base sm:text-lg"> <img src="/brand-mark.svg" alt="" width="28" height="28" class="h-7 w-7 rounded-crisp"> <span> AI Image <span class="text-terracotta">Extender</span> </span> </a> <p class="mt-2 text-canvas/60 text-xs"> 14© 2026 AI Image Extender. All rights reserved. 15</p> </div> <nav class="flex flex-wrap gap-x-5 gap-y-2 text-sm"> <a href="/pricing/" class="text-canvas/80 hover:text-terracotta-glow transition-colors font-medium"> Pricing </a><a href="/blog/" class="text-canvas/80 hover:text-terracotta-glow transition-colors font-medium"> Blog </a><a href="/use/real-estate/" class="text-canvas/80 hover:text-terracotta-glow transition-colors font-medium"> Real Estate </a><a href="/use/ecommerce/" class="text-canvas/80 hover:text-terracotta-glow transition-colors font-medium"> E-commerce </a><a href="/use/social-media/" class="text-canvas/80 hover:text-terracotta-glow transition-colors font-medium"> Social Media </a><a href="/aspect/16-9/" class="text-canvas/80 hover:text-terracotta-glow transition-colors font-medium"> 16:9 Widescreen </a><a href="/aspect/9-16/" class="text-canvas/80 hover:text-terracotta-glow transition-colors font-medium"> 9:16 Vertical </a><a href="/aspect/1-1/" class="text-canvas/80 hover:text-terracotta-glow transition-colors font-medium"> 1:1 Square </a> </nav> </div> <nav class="mt-8 pt-6 border-t border-cocoa-soft flex flex-wrap gap-x-5 gap-y-2 text-xs"> <a href="/account/" class="text-canvas/70 hover:text-terracotta-glow transition-colors"> Account </a><a href="/account-deletion/" class="text-canvas/70 hover:text-terracotta-glow transition-colors"> Account Deletion </a><a href="/privacy/" class="text-canvas/70 hover:text-terracotta-glow transition-colors"> Privacy </a><a href="/terms/" class="text-canvas/70 hover:text-terracotta-glow transition-colors"> Terms </a>
15<script>(()=>{var l=(o,t)=>{let i=async()=>{await(await o())()},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>
15<astro-island uid="TzkP4" prefix="r12" component-url="/_astro/FeedbackLink.D9Z0VWNn.js" component-export="default" renderer-url="/_astro/client.i2PwhOJ4.js" props="{"locale":[0,"en"],"className":[0,"inline-flex items-center gap-1 text-canvas/70 hover:text-terracotta-glow transition-colors"]}" ssr="" client="idle" opts="{"name":"FeedbackLink","value":true}" await-children=""><button type="button" class="inline-flex items-center gap-1 text-canvas/70 hover:text-terracotta-glow transition-colors" aria-haspopup="dialog"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M21 12c0 4.4-4 8-9 8a9.9 9.9 0 0 1-4.3-.9L3 20l1.4-3.7A7.5 7.5 0 0 1 3 12c0-4.4 4-8 9-8s9 3.6 9 8Z"></path></svg>Feedback</button><!--astro:end--></astro-island> </nav> </div> </footer> <astro-island uid="r5rcM" prefix="r11" component-url="/_astro/FeedbackWidget.C8GVXJJX.js" component-export="default" renderer-url="/_astro/client.i2PwhOJ4.js" props="{"apiBaseUrl":[0,"https://api.skybringup.com"],"siteId":[0,"ai-image-extender"],"locale":[0,"en"],"accentColor":[0,"#FF7A1A"],"accentTextColor":[0,"#1a1a1a"]}" ssr="" client="idle" opts="{"name":"FeedbackWidget","value":true}" await-children=""><div class="sf-fb-root" style="--sf-fb-accent:#FF7A1A;--sf-fb-on-accent:#1a1a1a" data-sf-feedback=""><style> 16.sf-fb-root{--sf-fb-accent-d:var(--sf-fb-accent,#1f2937);--sf-fb-on-accent-d:var(--sf-fb-on-accent,#fff)} 17.sf-fb-launcher{position:fixed;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px) + var(--sf-fb-offset,0px));z-index:40;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:9999px;background:var(--sf-fb-accent-d);color:var(--sf-fb-on-accent-d);box-shadow:0 6px 18px rgba(15,23,42,.22);cursor:pointer;transition:transform .15s ease,filter .15s ease;-webkit-tap-highlight-color:transparent} 18.sf-fb-launcher:hover{filter:brightness(1.1)} 19.sf-fb-launcher:active{transform:scale(.94)} 20.sf-fb-launcher:focus-visible,.sf-fb-icon-btn:focus-visible,.sf-fb-send:focus-visible{outline:2px solid var(--sf-fb-accent-d);outline-offset:2px} 21.sf-fb-launcher svg{width:20px;height:20px} 22.sf-fb-backdrop{position:fixed;inset:0;z-index:49;background:rgba(15,23,42,.35);animation:sf-fb-fade .15s ease} 23.sf-fb-panel{position:fixed;z-index:50;left:0;right:0;bottom:var(--sf-fb-kb,0px);box-sizing:border-box;max-height:calc(var(--sf-fb-vh,100dvh) - 16px);overflow-y:auto;overscroll-behavior:contain;padding:8px 16px calc(16px + env(safe-area-inset-bottom,0px));border-radius:18px 18px 0 0;background:var(--sf-fb-surface,#fff);color:var(--sf-fb-text,#111827);box-shadow:0 -8px 30px rgba(15,23,42,.18);font:14px/1.45 ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;animation:sf-fb-up .2s ease} 24.sf-fb-handle{width:36px;height:4px;margin:0 auto 8px;border-radius:9999px;background:var(--sf-fb-line,#e5e7eb)} 25.sf-fb-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px} 26.sf-fb-title{display:flex;align-items:center;gap:8px;margin:0;font-size:15px;font-weight:600} 27.sf-fb-title svg{width:18px;height:18px;color:var(--sf-fb-muted,#6b7280)} 28.sf-fb-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin-right:-8px;padding:0;border:0;border-radius:9999px;background:transparent;color:var(--sf-fb-muted,#6b7280);cursor:pointer} 29.sf-fb-icon-btn:hover{background:rgba(127,127,127,.12)} 30.sf-fb-icon-btn svg{width:18px;height:18px}
31.sf-fb-field{display:block;box-sizing:border-box;width:100%;margin:0;padding:10px 12px;border:1px solid var(--sf-fb-line,#e5e7eb);border-radius:10px;background:transparent;color:inherit;font:inherit;font-size:16px;outline:none} 32.sf-fb-field::placeholder{color:var(--sf-fb-muted,#9ca3af)} 33.sf-fb-field:focus{border-color:var(--sf-fb-accent-d);box-shadow:0 0 0 3px color-mix(in srgb,var(--sf-fb-accent-d) 18%,transparent)} 34.sf-fb-field[aria-invalid="true"]{border-color:#dc2626} 35textarea.sf-fb-field{height:112px;resize:none} 36.sf-fb-email{position:relative;display:block;margin-top:8px} 37.sf-fb-email svg{position:absolute;left:12px;top:50%;width:16px;height:16px;transform:translateY(-50%);color:var(--sf-fb-muted,#9ca3af);pointer-events:none} 38.sf-fb-email .sf-fb-field{padding-left:36px} 39.sf-fb-send{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;margin-top:10px;padding:0 16px;border:0;border-radius:10px;background:var(--sf-fb-accent-d);color:var(--sf-fb-on-accent-d);font:inherit;font-weight:600;cursor:pointer;transition:filter .15s ease,opacity .15s ease} 40.sf-fb-send:hover:not(:disabled){filter:brightness(1.1)} 41.sf-fb-send:disabled{opacity:.45;cursor:default} 42.sf-fb-send svg{width:16px;height:16px} 43.sf-fb-done{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 8px 10px;text-align:center} 44.sf-fb-done svg{width:36px;height:36px;color:#16a34a} 45.sf-fb-error{margin:8px 0 0;color:#dc2626;font-size:13px} 46@keyframes sf-fb-up{from{transform:translateY(24px);opacity:.4}to{transform:none;opacity:1}} 47@keyframes sf-fb-fade{from{opacity:0}to{opacity:1}} 48@media (min-width:640px){ 49.sf-fb-launcher{bottom:calc(20px + var(--sf-fb-desktop-offset,0px));right:20px;width:48px;height:48px} 50.sf-fb-backdrop,.sf-fb-handle{display:none} 51.sf-fb-panel{left:auto;right:20px;bottom:calc(20px + var(--sf-fb-desktop-offset,0px));width:340px;max-height:calc(100vh - 40px);padding:14px 16px 16px;border:1px solid var(--sf-fb-line,#e5e7eb);border-radius:14px;box-shadow:0 18px 50px rgba(15,23,42,.2)} 52textarea.sf-fb-field{height:96px} 53.sf-fb-field{font-size:14px} 54} 55@media (prefers-reduced-motion:reduce){.sf-fb-panel,.sf-fb-backdrop{animation:none}.sf-fb-launcher{transition:none}} 56</style><button type="button" class="sf-fb-launcher" aria-label="Send feedback" aria-haspopup="dialog"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M21 12c0 4.4-4 8-9 8a9.9 9.9 0 0 1-4.3-.9L3 20l1.4-3.7A7.5 7.5 0 0 1 3 12c0-4.4 4-8 9-8s9 3.6 9 8Z"></path><path d="M8 12h.01M12 12h.01M16 12h.01"></path></svg></button></div><!--astro:end--></astro-island>
56<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":"be53c6bee8b04ab19ea8434afd2547fd","r":1,"spa":2}' crossorigin="anonymous"></script>
56 57</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.