PageSourceSearch

https://raphael.app/_next/static/chunks/2215-3043185d5d81be03.js

js raphael.app collected 2026-10-02 18:06:50 UTC 51,035 bytes, 1 lines download raw bytes

1!function(){try{var e="u">typeof window?window:"u">typeof global?global:"u">typeof globalThis?globalThis:"u">typeof self?self:{},i=(new e.Error).stack;i&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[i]="20e61201-14da-48f1-93c3-400b0b8badfe",e._sentryDebugIdIdentifier="sentry-dbid-20e61201-14da-48f1-93c3-400b0b8badfe")}catch(e){}}();"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2215],{7298:(e,i,a)=>{a.d(i,{KV:()=>b,ML:()=>h,N7:()=>r,T1:()=>s,Z3:()=>f,lC:()=>g,sh:()=>x,xD:()=>v,yb:()=>n});var o=a(93423),t=a(90938);let r="NEW",n="HOT",s="FREE",d=new Set(["minimax-h3-turbo","raphael-video-pro"]),l=new Set(["minimax-h3-turbo","minimax-h3"]),m={"nano-banana-2-lite":"Nano Banana 2 Lite","seedream-5-flash":"Seedream 5.0 Flash","seedream-5-pro":"Seedream 5.0 Pro","gpt-image-2-5":"GPT Image 2.5","gpt-image-2":"GPT Image 2","nano-banana-2":"Nano Banana 2","seedream-5":"Seedream 5.0 Lite","seedream-4-5":"Seedream 4.5","seedream-4":"Seedream 4.0","nano-banana-pro":"Nano Banana Pro","nano-banana":"Nano Banana","raphael-image-model":"Seedream 3.5 Pro","seedance-2-mini":"Seedance 2.0 Mini","minimax-h3-turbo":"MiniMax H3 Turbo","minimax-h3":"MiniMax H3","minimax-h3-max-turbo":"MiniMax H3 Max Turbo","minimax-h3-max":"MiniMax H3 Max","gemini-omni":"Gemini Omni Flash","seedance-2-5":"Seedance 2.5","seedance-1-5":"Seedance 1.5 Pro","seedance-1":"Seedance 1.0 Pro Fast","kling-3-turbo":"Kling 3.0 Turbo","seedance-2":"Seedance 2.0","veo-3-1":"Veo 3.1","kling-3":"Kling 3.0","raphael-video-pro":"MiniMax H3 Turbo","topaz-video-upscaler":"Topaz Video Upscaler"},p={"gpt-image-2-5":"/images/logos/image-models/openai.svg","gpt-image-2":"/images/logos/image-models/openai.svg","seedream-5-flash":"/images/logos/image-models/seedream.svg","seedream-5-pro":"/images/logos/image-models/seedream.svg","seedream-5":"/images/logos/image-models/seedream.svg","seedream-4-5":"/images/logos/image-models/seedream.svg","seedream-4":"/images/logos/image-models/seedream.svg","raphael-image-model":"/images/logos/image-models/seedream.svg","seedance-2-mini":"/images/logos/video-models/seedance.svg","minimax-h3-turbo":"/images/logos/video-models/minimax-h3-icon.png","minimax-h3":"/images/logos/video-models/minimax-h3-icon.png","minimax-h3-max-turbo":"/images/logos/video-models/minimax-h3-icon.png","minimax-h3-max":"/images/logos/video-models/minimax-h3-icon.png","gemini-omni":"/images/logos/video-models/gemini-omni-flash-aurora.svg","seedance-2-5":"/images/logos/video-models/seedance.svg","seedance-1-5":"/images/logos/video-models/seedance.svg","seedance-1":"/images/logos/video-models/seedance.svg","kling-3-turbo":"/images/logos/video-models/kling-official.png","seedance-2":"/images/logos/video-models/seedance.svg","veo-3-1":"/images/logos/video-models/google-g.svg","kling-3":"/images/logos/video-models/kling-official.png","raphael-video-pro":"/images/logos/video-models/minimax-h3-icon.png","topaz-video-upscaler":"/images/logos/video-models/topaz.png"},c={"nano-banana-2-lite":"\uD83C\uDF4C","nano-banana-2":"\uD83C\uDF4C","nano-banana-pro":"\uD83C\uDF4C","nano-banana":"\uD83C\uDF4C"},u={"gpt-image-2-5":"gpt-image-2-5-flare","seedance-2-mini":"seedance-2.0-mini","seedance-2-5":"seedance-2.5"};function g(e){return(0,o.Xm)(u[e]??e)}function h(e){return m[e]}function f(e){return p[e]}function v(e){return c[e]}function b(e,i){let a;if("gpt-image-2-5"===e||"gpt-image-2-5-flare"===e)return["-50%"];if(d.has(e))return[s];let n=t.i6.find(i=>i.id===e),m=n?Object.keys(n.pricing).find(e=>(0,t.d7)(n,e)):void 0;return n?.promotion&&m?[`-${Math.round((1-n.promotion.priceRate)*100)}%`]:l.has(e)?["-70%"]:"seedream-5-flash"===e?["-40%"]:(a=u[e]??e,(0,o.Kx)(a))?[r]:[]}function x(e){return e?b(e,"").find(e=>/^-\d+%$/.test(e))??null:null}},20723:(e,i,a)=>{a.d(i,{yg:()=>m,QA:()=>y,vi:()=>h,rR:()=>p,__:()=>k,hj:()=>u,Nx:()=>x,Ky:()=>I,hU:()=>c,MB:()=>g,tN:()=>v,hS:()=>b,Ce:()=>A,sR:()=>w});let o=/^\/[a-z0-9]+(?:-[a-z0-9]+)*$/,t=/^[a-z][A-Za-z0-9]*(?:\.[a-z][A-Za-z0-9]*)+$/,r=new Set(["expand-image","remove-background","image-upscaler"]);function n(e){return!!(e?.zh.trim()&&e.en.trim())}function s(e){return!!e?.every(e=>n(e.title)&&n(e.description))}let d=(e,i)=>({zh:e,en:i}),l={"expand-image":{id:"expand-image",categoryId:"image-edit",routes:{public:"/uncrop",task:"/api/extend/task"},presentation:{iconKey:"expand-image",label:{zh:"扩图",en:"Image Expand",key:"tools.expandImage.label"},description:{zh:"先放标题占位,后续补编辑说明与示例。",en:"Title placeholder for now. Editing guidance comes later.",key:"tools.expandImage.description"}}
1,input:{mode:"single",accept:"image/*"},pricing:{kind:"dynamic"},history:{taskType:"image-extend",featureAliases:["image-extend"],promptAliases:["image-extend","image_extend","extend","expand"]},admin:{label:"扩图",badgeLines:["扩","图"],badgeTone:"cyan",modelLabel:"Raphael Expand",providerLabel:"Raphael"},workflow:"single-image",renderer:"legacy",auth:{signInSource:"expand_image"},analytics:{toolType:"expand-image",generationType:"edit"},surfaces:{card:{order:30,cover:"/images/app-tools/image-expand.webp"},resultAction:{order:10}},capabilities:{crossToolHandoff:!0,resultAction:!0,standardSeoLanding:!0}},"remove-background":{id:"remove-background",categoryId:"image-edit",routes:{public:"/background-remover",task:"/api/remove/task"},presentation:{iconKey:"remove-background",label:{zh:"去背景",en:"Remove Background",key:"tools.removeBackground.label"},description:{zh:"先放标题占位,后续补编辑说明与示例。",en:"Title placeholder for now. Editing guidance comes later.",key:"tools.removeBackground.description"}},input:{mode:"single",accept:"image/*"},pricing:{kind:"fixed",credits:1},history:{taskType:"background-remover",featureAliases:["background-remover"],promptAliases:["remove-bg","remove_bg","background-remover","background_remover"]},admin:{label:"去背景",badgeLines:["去","背景"],badgeTone:"orange",modelLabel:"RMBG 2.0",providerLabel:"Raphael"},workflow:"single-image",renderer:"shared",auth:{signInSource:"remove_background"},analytics:{toolType:"remove-background",generationType:"edit"},surfaces:{card:{order:20,cover:"/images/app-tools/remove-background.webp"},resultAction:{order:20}},capabilities:{crossToolHandoff:!0,resultAction:!0,standardSeoLanding:!0}},"image-upscaler":{id:"image-upscaler",categoryId:"image-edit",routes:{public:"/image-upscaler",init:"/api/image-upscaler/init",slot:"/api/image-upscaler/slot"},presentation:{iconKey:"image-upscaler",label:{zh:"高清放大",en:"Image Upscaler",key:"tools.imageUpscaler.label"},description:{zh:"将图片等比放大 2 倍或 4 倍,最高输出 4K。",en:"Upscale images 2\xd7 or 4\xd7 with up to 4K output.",key:"tools.imageUpscaler.description"},badge:"NEW"},input:{mode:"batch",accept:"image/*"},pricing:{kind:"batch"},history:{taskType:"image-upscaler",featureAliases:["image-upscaler"],promptAliases:["image-upscaler","image_upscaler","upscale"]},admin:{label:"高清放大",badgeLines:["高清","放大"],badgeTone:"sky",modelLabel:"Image Upscaler",providerLabel:"Raphael"},workflow:"batch-slots",renderer:"shared",auth:{signInSource:"image_upscaler"},analytics:{toolType:"image-upscaler",generationType:"edit"},surfaces:{card:{order:40,cover:"/images/comparison-high.webp",comparison:!0},resultAction:{order:30}},capabilities:{crossToolHandoff:!0,resultAction:!0,standardSeoLanding:!0}},"remove-watermark":{id:"remove-watermark",categoryId:"image-edit",routes:{public:"/remove-watermark",init:"/api/image-tools/remove-watermark/batch/init",slot:"/api/image-tools/remove-watermark/batch/slot"},presentation:{iconKey:"remove-watermark",label:{zh:"AI 去水印",en:"AI Watermark Remover",key:"tools.removeWatermark.label"},description:{zh:"AI 一键去除水印",en:"Remove watermarks instantly with AI.",key:"tools.removeWatermark.description"},badge:"NEW"},input:{mode:"batch",accept:"image/jpeg,image/png,image/webp"},pricing:{kind:"batch"},history:{taskType:"remove-watermark",featureAliases:["remove-watermark"],promptAliases:["remove-watermark","remove_watermark"]},admin:{label:"去水印",badgeLines:["去","水印"],badgeTone:"rose",modelLabel:"AI Watermark Remover",providerLabel:"Raphael"},workflow:"batch-slots",renderer:"shared",auth:{signInSource:"remove_watermark"},analytics:{toolType:"remove-watermark",generationType:"edit"},surfaces:{card:{order:50,cover:"/images/remove-watermark/examples/travel-before.webp",afterCover:"/images/remove-watermark/examples/travel-after.webp",comparison:!0},resultAction:{order:40}},capabilities:{crossToolHandoff:!0,resultAction:!0,standardSeoLanding:!0},codeConfig:{status:"published",icon:"eraser",i18nNamespace:"imageTools.removeWatermark",input:{mode:"batch",transport:"multipart-slots",formats:["jpeg","png","webp"],maxFileSizeMb:10,maxFiles:10,batchAccess:"premium",maxWidth:2048,maxHeight:2048,maxPixels:4194304},pricing:{kind:"per-image",creditsPerImage:3},parameters:[],page:{template:"standard",title:d("AI 去水印","AI Watermark Remover"),description:d("上传图片,自动识别并移除文字、标志、角标和其他可见水印。购买用户一次最多处理 10 张。","Upload images to automatically remove visible text, logos, badges, and other watermarks. Purchasers can process up to 10 images per batch."),seoContent:d("Raphael AI 去水印工具可å
1œ¨çº¿å¤„理 JPG、PNG 和 WebP 图片,尽量重建水印覆盖区域。支持单张使用;会员或拥有付费积分的用户可批量处理。请只处理你拥有或获准编辑的图片。","Raphael AI Watermark Remover processes JPG, PNG, and WebP images online and reconstructs areas covered by visible overlays. Everyone can process one image, while members or users with paid credits can use batch processing. Only edit images you own or are authorized to use."),showSeoContent:!1,tags:[d("每张 3 积分","3 credits per image"),d("购买用户最多 10 å¼ ","Up to 10 for purchasers"),d("自动适配至 2048 \xd7 2048","Auto-fit to 2048 \xd7 2048"),d("JPG / PNG / WebP","JPG / PNG / WebP")],seo:{title:d("AI 去水印工具 - 在线批量移除图片水印","AI Watermark Remover - Remove Watermarks Online in Batch"),description:d("使用 AI 在线移除图片中的文字、标志、角标和可见水印。支持 JPG、PNG、WebP,购买用户可批量处理。","Use AI to remove visible text, logos, badges, and watermarks from images online. Supports JPG, PNG, WebP, with batch processing for purchasers."),primaryKeyword:"watermark remover",secondaryKeywords:["remove watermark from image","AI watermark remover","remove watermark from photo","batch watermark remover","watermark remover online"],questionKeywords:["how to remove watermark from image","how to remove watermark from photo","can AI remove watermarks"],market:"us",researchedAt:"2026-08-01",sourceUrl:"https://sem.3ue.com/analytics/keywordoverview/?q=watermark%20remover&db=us"},legalNotice:d("你可以处理 Raphael 生成图片上的水印,但请仅上传你拥有、已获授权或依法可以编辑的图片。AI 可能重绘被遮挡区域,结果不保证与原始内容完全一致。","You may process watermarks on Raphael-generated images, but only upload images you own, are authorized to edit, or may lawfully use. AI may redraw covered areas, so reconstructed content may differ from the original."),examples:{status:"ready",title:d("去水印效果示例","Watermark Removal Examples"),description:d("查看文字水印、促销角标和日期戳的真实处理结果。","See real results for a text watermark, promotional badge, and date stamp."),beforeLabel:d("处理前","Before"),afterLabel:d("处理后","After"),items:[{id:"travel-text-watermark",title:d("移除旅行照片文字水印","Remove a Text Watermark from a Travel Photo"),description:d("AI 识别覆盖在风景细节上的半透明文字和底色,并根据周围建筑、海面与山体重建画面。","AI detects translucent text and its background over detailed scenery, then reconstructs the buildings, sea, and cliffs underneath."),beforeImage:"/images/remove-watermark/examples/travel-before.webp",afterImage:"/images/remove-watermark/examples/travel-after.webp",beforeAlt:d("带有 TRAVEL STOCK 文字水印的海滨村庄照片","Coastal village photo with a TRAVEL STOCK text watermark"),afterAlt:d("移除文字水印后的海滨村庄照片","Coastal village photo after the text watermark was removed")},{id:"product-promo-badge",title:d("清理商品图促销角标","Clean a Promotional Badge from a Product Image"),description:d("移除商品图右上角的促销圆章,同时恢复原有的渐变背景和光影。","Remove the promotional badge in the upper-right while restoring the original gradient background and lighting."),beforeImage:"/images/remove-watermark/examples/product-before.webp",afterImage:"/images/remove-watermark/examples/product-after.webp",initialPosition:85,beforeAlt:d("右上角带有五折促销角标的耳机商品图","Headphone product image with a 50% off badge in the upper-right"),afterAlt:d("移除促销角标后的耳机商品图","Headphone product image after the promotional badge was removed")},{id:"photo-date-stamp",title:d("移除照片日期戳","Remove a Date Stamp from a Photo"),description:d("清理照片右下角的日期文字和深色底板,并补全桌面与笔记本边缘。","Clear the date text and dark plate in the lower-right, then restore the tabletop and notebook edge."),beforeImage:"/images/remove-watermark/examples/cafe-before.webp",afterImage:"/images/remove-watermark/examples/cafe-after.webp",initialPosition:85,beforeAlt:d("右下角带日期戳的咖啡馆桌面照片","Cafe table photo with a date stamp in the lower-right"),afterAlt:d("移除日期戳后的咖啡馆桌面照片","Cafe table photo after the date stamp was removed")}]},howItWorks:{title:d("三步完成去水印","Remove Watermarks in Three Steps"),description:d("无需手动画选,上传后由 AI 自动处理。","No manual brushing is required; AI handles the image after upload."),steps:[{title:d("上传图片","Upload images"),description:d("选择 1 张图片;购买用户一次最多可选 10 张。","Choose one image, or up to 10 at once if you have purchase benefits.")},{title:d("AI 自动处理","Let AI process"),description:d("系统识别可见水印,并重建被覆盖的区域。","The system detects visible overlays and reconstructs covered areas.")},{title:d("查看并下载","Review and download"),description:d("逐张查看结果并下载,下载不会添加 Raphael 水印。","Review each result and download it without a Raphael watermark.")}]},features:{title:d("Raphael AI 去水印的强大之处","Why Raphael AI Watermark Remover"),description:d("从水印识别、画面重建到批量下载,提供完整而稳定的图片清理流程。","A reliable image cleanup workflow from detection and reconstruction to download."),items:[{title:d("智能识别多类水印","Detect Multiple Watermark Types"),description:d("自动识别文字、Logo、角标、日期戳、贴纸、二维码和促销图形,无需手动画选。","Detects text, logos, badges, date stamps, stickers, QR codes, and promo graphics without manual brushing."),icon:"HiOutlineScanFace"},{title:d("自然重建遮挡区域","Reconstruct Covered Areas Naturally"),description:d("结合水印周围的纹理、色彩和光影补全被遮挡区域,让清理后的画面更连贯。","Uses surrounding texture, color, and lighting to re
1construct covered areas for a more coherent result."),icon:"RiMagicFill"},{title:d("批量处理更高效","Process Batches Efficiently"),description:d("购买用户一次最多处理 10 张;每张独立完成,单张失败不影响其他图片并独立退回积分。","Process up to 10 images at once. Each runs independently, with separate refunds for failed items."),icon:"HiOutlineBox"},{title:d("大图智能等比适配","Smart Proportional Fit for Large Images"),description:d("限制内保留原尺寸;超出时自动等比例缩小到 2048 \xd7 2048 范围内,不裁切、不拉伸。","Large images auto-fit within 2048 \xd7 2048 proportionally, with no cropping or stretching."),icon:"HiOutlineArrowsExpand"},{title:d("结果稳定长期可用","Keep Results Available Reliably"),description:d("处理结果会转存到 Raphael 自己的存储,不依赖供应商可能过期的临时地址。","Results are saved in Raphael storage instead of temporary provider URLs."),icon:"RiCloudyFill"},{title:d("干净结果直接下载","Download Clean Results Directly"),description:d("支持 JPG、PNG 和 WebP;处理后的下载结果不会再次添加 Raphael 水印。","Supports JPG, PNG, and WebP, and downloaded results do not receive another Raphael watermark."),icon:"HiOutlineDownload"}]},faq:{title:d("AI 去水印常见问题","AI Watermark Remover FAQ"),description:d("关于格式、批量、积分、版权和结果保存的说明。","Answers about formats, batch access, credits, rights, and result storage."),items:[{question:d("支持哪些图片格式?","Which image formats are supported?"),answer:d("支持 JPG、PNG 和 WebP,每张最大 10 MB。","JPG, PNG, and WebP are supported, up to 10 MB per image.")},{question:d("最大支持多大图片?","What is the maximum image size?"),answer:d("每张原文件最大 10 MB。超过处理尺寸的图片会在提交前自动等比例缩小到 2048 \xd7 2048 范围内,不会裁切或拉伸。","Each source file can be up to 10 MB. Images above the processing dimensions are proportionally reduced to fit within 2048 \xd7 2048 before submission, without cropping or stretching.")},{question:d("谁可以批量处理?","Who can use batch processing?"),answer:d("所有登录用户都可处理单张;会员或拥有付费积分余额的用户一次最多可处理 10 张。","All signed-in users can process one image; members or users with paid-credit balance can process up to 10 at once.")},{question:d("如何收费?","How much does it cost?"),answer:d("每张图片固定 3 积分,按实际提交张数计算。","Each submitted image costs 3 credits.")},{question:d("失败会退积分吗?","Are credits refunded on failure?"),answer:d("会。批量任务按张记录,失败图片对应的 3 积分会独立退回。","Yes. Each batch slot is tracked separately, and the 3 credits for a failed image are refunded independently.")},{question:d("可以处理 Raphael 自己的水印吗?","Can I remove Raphael's own watermark?"),answer:d("可以,但仍请遵守图片使用权和适用法律。","Yes, while still respecting image rights and applicable law.")},{question:d("下载结果会再加水印吗?","Will downloaded results have another watermark?"),answer:d("不会。这个图片处理工具的结果下载不添加 Raphael 水印。","No. Downloads from this image utility do not add a Raphael watermark.")},{question:d("去水印后能完全还原吗?","Will the covered area be perfectly restored?"),answer:d("不保证。AI 会根据周围内容重建被遮挡区域,大面积遮挡或关键细节可能出现变化。","Not always. AI reconstructs covered areas from surrounding context, so large overlays or important details may change.")}]},cta:{title:d("上传图片,开始 AI 去水印","Upload an Image to Remove Watermarks with AI"),buttonLabel:d("选择图片","Choose images")},showPricing:!0,showRelatedTools:!0}}}},m=Object.keys(l);function p(e){return`/api/image-tools/${encodeURIComponent(e)}/task`}function c(e){return Object.prototype.hasOwnProperty.call(l,e)}function u(e){return l[e]}function g(){return v().map(e=>l[e]).filter(e=>e.capabilities.resultAction&&e.capabilities.crossToolHandoff&&!!e.surfaces.resultAction).sort((e,i)=>e.surfaces.resultAction.order-i.surfaces.resultAction.order)}function h(e){if(!c(e))return null;let i=l[e];return i.codeConfig?{toolId:i.id,name:{zh:i.presentation.label.zh,en:i.presentation.label.en,key:i.presentation.label.key},publicPath:i.routes.public,...i.codeConfig}:null}function f(e){let i=h(e);return i&&"published"===i.status&&0===function(e){let i=[],a="published"===e.status;if(o.test(e.publicPath)||i.push("publicPath must be a single lowercase kebab-case segment"),!a)return i;if(e.name.zh&&e.name.en||i.push("published tool requires Chinese and English names"),e.icon||i.push("published tool requires an icon"),e.page.title.zh&&e.page.title.en||i.push("published tool requires Chinese and English page titles"),e.page.description.zh&&e.page.description.en||i.push("published tool requires Chinese and English descriptions"),e.page.seoContent.zh&&e.page.seoContent.en||i.push("published tool requires Chinese and English SEO content"),"standard"!==e.page.template&&"legacy-compatible"!==e.page.template&&i.push("published tool requires an explicit page template"),"legacy-compatible"!==e.page.template||r.has(e.toolId)||i.push("legacy-compatible page is limited to existing image tools"),"standard"===e.page.template){let a=e.page;e.i18nNamespace&&t.test(e.i18nNamespace)||i.push("standard page requires a valid i18n namespace"),a.seo&&n(a.seo.title)&&n(a.seo.description)&&a.seo.primaryKeyword.trim()&&0!==a.seo.secondaryKeywords.length&&0!==a.seo.questionKeywords.length&&a.seo.market.trim()&&a.seo.researchedAt.trim()||i.push("standard page requires SEO research and metadata"),a.tags&&!(a.tags.length<3)&&a.tags.every(n)||i.push("standard page requires at least 3 localized tags"),n(a.legalNotice)||i.push("standard page requires a localized legal notice");let o=a.examples?.status==="placeholder";a.examples&&(o||!(a.examples.items.length<3))&&n(a.examples.title)&&n(a.examples.description)&&n(a.examples.beforeLabel)&&n(a.examples.afterLabel)&&a.examples.items.every(e=>!!(e.id&&e.beforeImage&&e.afterImage)&&n(e.title)&&n(e.description)&&n(e.beforeAlt)&&n(e.afterAlt))||i.push("standard page requires at least 3 examples"),o&&!n(a.examples?.placeholderText)&&i.push("standard page example placeholder requires localized text"),a.howItWorks&&3===a.howItWorks.steps.length&&n(a.howItWorks.title)&&n(a.howItWorks.description)&&s(a.howItWorks.steps)||i.push("standard page requires exactly 3 how-it-works steps"),a.features&&6===a.features.items.length&&n(a.features.title)&&n(a.features.description)&&s(a.features.items)&&a.features.items.every(e=>!!e.icon?.trim())||i.push("standard page requires exactly 6 icon features"),a.faq&&!(a.faq.items.length<8)&&n(a.faq.title)&&n(a.faq.description)&&a.faq.items.every(e=>n(e.question)&&n(e.answer))||i.push("standard page requires at least 8 FAQ items"),a.cta&&n(a.cta.title)&&n(a.cta.buttonLabel)||i.push("standard page requires a localized CTA")}for(let[a,o]of(0===e.input.formats.length&&i.push("published tool requires at least one image format"),"json-data-url"!==e.input.transport&&"multipart-slots"!==e.input.transport&&i.push("published tool requires an explicit upload transport"),e.input.maxFileSizeMb>0||i.push("maxFileSizeMb must be greater than 0"),"single"===e.input.mode&&1!==e.input.maxFiles&&i.push("single-image tool must set maxFiles to 1"),"batch"===e.input.mode&&e.input.maxFiles<2&&i.push("batch tool must allow at least 2 images"),"multipart-slots"===e.input.transport&&"batch"!==e.input.mode&&i.push("multipart slot upload requires batch mode"),[["maxWidth",e.input.maxWidth],["maxHeight",e.input.maxHeight],["maxPixels",e.input.maxPixels]]))void 0!==o&&(!Number.isInteger(o)||o<=0)&&i.push(`${a} must be a positive integer`);"json-data-url"===e.input.transport&&Math.ceil(e.input.maxFileSizeMb*e.input.maxFiles*1048576*(4/3))+524288>0x2000000&&i.push("configured upload total exceeds the 32 MB request limit");let d=new Set;for(let a of e.parameters){if(!a.key){i.push("parameter key is required");continue}d.has(a.key)&&i.push(`duplicate parameter key: ${a.key}`),d.add(a.key),a.label.zh&&a.label.en||i.push(`parameter ${a.key} requires Chinese and English labels`),0===a.options.length&&i.push(`parameter ${a.key} requires at least one option`),a.defaultValue&&!a.options.includes(a.defaultValue)&&i.push(`parameter ${a.key} default is not in its options`)}let l=e.pricing;if("fixed"===l.kind)l.credits>0||i.push("fixed pricing credits must be greater than 0");else if("per-image"===l.kind)l.creditsPerImage>0||i.push("per-image credits must be greater than 0");else{let a=e.parameters.find(e=>e.key===l.parameterKey);if(a){let e=new Map(l.rules.map(e=>[e.value,e.credits]));for(let o of a.options)e.get(o)>0||i.push(`parameter pricing is missing a positive price for ${o}`);for(let e of l.rules)a.options.includes(e.value)||i.push(`parameter pricing contains unknown value ${e.value}`)}else i.push("parameter pricing must reference a configured parameter")}return Array.from(new Set(i))}(i).length?i:null}function v(){return m.filter(e=>!l[e].codeConfig||!!f(e))}function b(){return m.flatMap(e=>{let i=l[e],a=f(e);return a?[{toolId:a.toolId,name:a.name,description:i.presentation.description,icon:a.icon,badge:i.presentation.badge,i18nNamespace:a.i18nNamespace,publicPath:a.publicPath}]:[]})}function x(e){if(e)return m.find(i=>l[i].history.taskType===e)}function w(e,i){if(i<=1)return!1;let a=x(e);return!!a&&"batch-slots"===l[a].workflow}function y(e){if(!e)return;let i=m.find(i=>l[i].history.featureAliases.some(i=>i===e));return i?l[i]:void 0}function k(e){return function(e){if(!e)return;let i=e.trim().toLowerCase(),a=m.find(e=>{let a=l[e];return a.id===i||a.history.taskType===i||a.history.featureAliases.some(e=>e===i)});return a?l[a]:void 0}(e)?.admin}function I(){return m.flatMap(e=>[...l[e].history.promptAliases])}function A(e,i){return l[e].history.taskType===i}},50288:(e,i,a)=>{a.d(i,{$P:()=>g,D6:()=>t,LQ:()=>h,Vl:()=>n,X$:()=>s,_z:()=>r,ee:()=>d});var o=a(25347);let t=1048576,r=0x3200000,n=0x1400000,s=0x1400000,d=0x1e00000,l=new Set(["image/jpeg","image/png","image/webp"]),m=new Set([...l,"image/bmp","image/tiff","image/gif"]),p=function(e){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{provider:"evolink",maxBytes:e*t,mimeTypes:l,...i}},c=e=>p(e,{mimeTypes:m,minEdge:15,maxPixels:36e6,minAspectRatio:1/16,maxAspectRatio:16}),u={"raphael-basic":{provider:"internal",mimeTypes:Object.assign(new Set,{has:e=>e.startsWith("image/")})},"raphael-pro":{provider:"internal",mimeTypes:Object.assign(new Set,{has:e=>e.startsWith("image/")})},"nano-banana":p(10),"nano-banana-2":p(20),"nano-banana-2-lite":p(20),"nano-banana-pro":p(20),"gpt-image-1-5":p(50),"gpt-image-2":p(50,{maxEdge:23170,maxPixels:0xaaaaaaa}),[o.yA]:p(o.xW.maxFileMb,{maxEdge:o.xW.maxSidePx,maxPixels:o.xW.maxPixels}),"seedream-4":c(10),"seedream-4-5":c(10),"seedream-5":c(10),"seedream-5-flash":{provider:"evolink",maxBytes:30*t,mimeTypes:new Set(["image/jpeg","image/png","image/webp","image/bmp","image/tiff","image/gif","
1image/heic","image/heif"]),minEdge:15,maxPixels:36e6,minAspectRatio:1/16,maxAspectRatio:16},"seedream-5-pro":{...c(30),mimeTypes:new Set([...m,"image/heic","image/heif"])}};function g(e){let i=function(e){let i=u[e];if(!i)throw Error("Unsupported image input policy");return i}(e);return"internal"!==i.provider||void 0!==i.maxEdge?i:{...i,maxEdge:2048}}function h(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",i=arguments.length>1?arguments[1]:void 0;if("minimax-h3-max"===e||"minimax-h3-max-turbo"===e)return p(30,{provider:"fal",minEdge:256,maxEdge:5760,minAspectRatio:.4,maxAspectRatio:2.5});let a=e.startsWith("minimax-h3")&&/^(480|768)(p|$|-)/.test(String(i??""));return e.startsWith("minimax-h3")||"hailuo-3"===e?p(30,{provider:a?"internal":"evolink",minAspectRatio:.4,maxAspectRatio:2.5,...a?{}:{minEdge:256,maxEdge:5760}}):e.startsWith("seedance-2.")?p(30,{minEdge:300,maxEdge:6e3,minAspectRatio:.4,maxAspectRatio:2.5}):"seedance-1.5-pro"===e?p(10,{minEdge:300,maxEdge:6e3,minAspectRatio:.4,maxAspectRatio:2.5}):"seedance-1.0-pro-fast"===e?p(10):"kling-3"===e||"kling-3-turbo"===e?p("kling-3"===e?10:50,{mimeTypes:new Set(["image/jpeg","image/png"]),minEdge:300,minAspectRatio:.4,maxAspectRatio:2.5}):e.startsWith("veo-3.1-")?p(10):p(50,{provider:e.startsWith("sdw_")?"internal":"evolink"})}},54079:(e,i,a)=>{a.d(i,{HM:()=>r,IR:()=>s,Sx:()=>n,tG:()=>t});let o="raphael-navigation-scroll-intent";function t(e){"top"===e||"latest"===e?window.sessionStorage.setItem(o,e):"anchor-history"===e.type&&e.historyId&&window.sessionStorage.setItem(o,`anchor-history:${e.historyId}`)}function r(){return!!window.sessionStorage.getItem(o)}function n(){let e=window.sessionStorage.getItem(o);("latest"===e||e?.startsWith("anchor-history:"))&&window.sessionStorage.removeItem(o)}function s(){let e=window.sessionStorage.getItem(o);if(window.sessionStorage.removeItem(o),"top"===e||"latest"===e)return e;if(e?.startsWith("anchor-history:")){let i=e.slice(15).trim();if(i)return{type:"anchor-history",historyId:i}}return null}},88799:(e,i,a)=>{a.d(i,{F:()=>r,Z:()=>t});let o=new Set(["/ai-image-generator","/ai-video-generator","/ai-image-editor","/ai-models","/text-to-image","/image-to-image","/image-templates","/text-to-video","/image-to-video","/video-editor","/uncrop","/background-remover","/image-upscaler","/remove-watermark","/nano-banana","/nano-banana-pro","/nano-banana-2","/nano-banana-2-lite","/gpt-image-2-5","/gpt-image-2","/seedream-4-5","/seedream-4","/seedream-5","/seedream-5-flash","/seedream-5-pro","/raphael-image-model","/seedance-2","/seedance-2-5","/seedance-2-mini","/minimax-h3","/gemini-omni","/hailuo-3","/seedance-1","/seedance-1-5","/veo-3","/veo-3-1","/veo-3.1","/kling-3","/kling-3-turbo","/raphael-video-pro"]);function t(e){return e.startsWith("/app")||o.has(e)}function r(e){let{mode:i,entryType:a,hrefVariant:o="app"}=e;return"ai-image-edit"===a?"/ai-image-editor":"public"===o?"image-image"===i?"/image-to-image":"/text-to-image":`/app?mode=${i}`}},90938:(e,i,a)=>{a.d(i,{$w:()=>V,Ch:()=>r,Dr:()=>$,Jg:()=>Z,QA:()=>W,QH:()=>U,UD:()=>P,UG:()=>O,UT:()=>S,Ul:()=>T,Xd:()=>L,Yc:()=>G,Zb:()=>E,d7:()=>_,g2:()=>b,hL:()=>K,i6:()=>M,p1:()=>N,pI:()=>t,q3:()=>D,qd:()=>B,sf:()=>q,td:()=>Q,vc:()=>H,xW:()=>J,xh:()=>z});let o="minimax-h3-turbo";function t(e,i){return!Number.isFinite(e)||e<=0||!Number.isFinite(i)||i<=0?0:Math.ceil(e)*i}function r(e){return e?.promptMaxLength??2e3}function n(e,i){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"round";return Object.fromEntries(e.map(e=>[String(e),Math.max(1,"ceil"===a?Math.ceil(e*i):Math.round(e*i))]))}let s=Array.from({length:12},(e,i)=>i+4),d=Array.from({length:27},(e,i)=>i+4),l=Array.from({length:11},(e,i)=>i+2),m=Array.from({length:9},(e,i)=>i+4),p=Array.from({length:23},(e,i)=>i+8),c=Array.from({length:12},(e,i)=>i+4),u=Array.from({length:11},(e,i)=>i+5),g=Array.from({length:27},(e,i)=>i+4),h=["16:9","9:16","1:1","4:3","3:4","21:9"],f=Array.from({length:8},(e,i)=>i+3),v={priceRate:.3,excludedOutputIds:["2k"]},b="2026-09-30T16:00:00.000Z",x={priceRate:.5,endsAt:b},w=["16:9","9:16","1:1","4:3","3:4","21:9","adaptive"],y=[4,6,8],k=["auto","16:9","9:16"],I=Array.from({length:13},(e,i)=>i+3),A=["16:9","9:16","1:1"];function R(e){let i=String(e).trim().toLowerCase();return!i||/^\d+p-(?:low|medium|high)$/.test(i)?i:/^\d+-(?:low|medium|high)$/.test(i)?i.replace(/^(\d+)-/,"$1p-"):/^\d+k$/.test(i)||i.endsWith("p")?i:`${i}p`}let M=[{id:"sdw_standard",apiModelId:"sdw_standard",provider:"raphael",providerLabel:"Seedance",providerDescription:"Seedance video models",label:"Seedance 1.0 Turbo",logoSrc:"/images/logos/video-models/seedance.svg",visibleInGenerator:!1,description:"Fast video generation with smooth motion",supportsAudio:!1,estimatedTimeLabel:"~1 min",ratios:["16:9","4:3","1:1","3:4","9:16"],maxImageCount:1,pricing:{"480p":{5:10},"720p":{5:20}}},{id:"sdw_plus",apiModelId:"sdw_plus",provider:"raphael",providerLabel:"Raphael",providerDescription:"Raphael video models",label:"Raphael Video Plus",logoSrc:"/logo.webp",visibleInGenerator:!1,description:"Better visual
1s with efficient generation",supportsAudio:!1,estimatedTimeLabel:"~2 min",ratios:["16:9","4:3","1:1","3:4","9:16"],maxImageCount:1,pricing:{"480p":{4:25,8:50,12:75},"720p":{4:55,8:110,12:165}}},{id:"sdw_pro",apiModelId:"sdw_pro",provider:"raphael",providerLabel:"Raphael",providerDescription:"Raphael video models",label:"Raphael Video Pro",logoSrc:"/logo.webp",visibleInGenerator:!1,description:"High quality with start & end frame support",supportsAudio:!1,estimatedTimeLabel:"~3 min",ratios:["16:9","4:3","1:1","3:4","9:16"],maxImageCount:2,pricing:{"480p":{4:60,8:120,12:180},"720p":{4:120,8:240,12:360}}},{id:"seedance-1.0-pro-fast",apiModelId:"doubao-seedance-1.0-pro-fast",provider:"seedance",imageRatioPolicy:"adaptive",providerLabel:"Seedance",providerDescription:"Seedance video models",label:"Seedance 1.0 Pro Fast",logoSrc:"/images/logos/video-models/seedance.svg",description:"Fast, lower-cost text and image animation up to 1080p",supportsAudio:!1,defaultGenerateAudio:!1,estimatedTimeLabel:"~1 min",ratios:w,maxImageCount:1,pricing:{"480p":n(l,4),"720p":n(l,8),"1080p":n(l,17)}},{id:"seedance-1.5-pro",apiModelId:"seedance-1.5-pro",provider:"seedance",imageRatioPolicy:"adaptive",providerLabel:"Seedance",providerDescription:"Seedance video models",label:"Seedance 1.5 Pro",logoSrc:"/images/logos/video-models/seedance.svg",description:"Cinematic video up to 1080p with synchronized native audio",supportsAudio:!0,defaultGenerateAudio:!1,estimatedTimeLabel:"~2 min",ratios:w,maxImageCount:2,pricing:{"480p":n(m,5),"720p":n(m,11),"1080p":n(m,23)},audioPricing:{"480p":n(m,10),"720p":n(m,21),"1080p":n(m,46)}},{id:"seedance-2.5",apiModelId:"seedance-2.5",apiModelVariants:{textToVideo:"seedance-2.5-text-to-video",imageToVideo:"seedance-2.5-image-to-video",referenceToVideo:"seedance-2.5-reference-to-video",videoEdit:"seedance-2.5-video-edit",videoExtend:"seedance-2.5-video-extend"},provider:"seedance",imageRatioPolicy:"adaptive",providerLabel:"Seedance",providerDescription:"Seedance video models",label:"Seedance 2.5",logoSrc:"/images/logos/video-models/seedance.svg",description:"Up to 30-second video with multimodal references, native audio, and production-ready output",supportsAudio:!0,audioPolicy:"optional",defaultGenerateAudio:!0,defaultDurationSeconds:5,supportsReferenceMode:!0,estimatedTimeLabel:"~3 min",ratios:w,maxImageCount:2,maxReferenceImageCount:30,maxReferenceVideoCount:10,maxReferenceAudioCount:10,maxReferenceTotalCount:50,referenceVideoMinDurationSeconds:2,referenceVideoMaxDurationSeconds:30,referenceVideoTotalMaxDurationSeconds:30,referenceAudioMinDurationSeconds:2,referenceAudioMaxDurationSeconds:30,referenceAudioTotalMaxDurationSeconds:30,referenceRequiresVisual:!0,promptMaxLength:6e3,supportsWebSearch:!0,webSearchCreditsPerEnabledTask:1,supportsContentFilter:!0,outputFormats:["mp4","mov"],defaultOutputFormat:"mp4",relaxedContentSurchargePercent:10,pricing:{"480p":n(d,53),"720p":n(d,113)},referenceVideoPricing:{"480p":n(d,32),"720p":n(d,69)},referenceVideoInputBilling:"exact-input-duration",referenceVideoInputCreditsPerSecond:{"480p":32,"720p":69}},{id:"seedance-2.0",apiModelId:"seedance-2.0",apiModelVariants:{textToVideo:"seedance-2.0-text-to-video",imageToVideo:"seedance-2.0-image-to-video",referenceToVideo:"seedance-2.0-reference-to-video"},provider:"seedance",imageRatioPolicy:"adaptive",providerLabel:"Seedance",providerDescription:"Seedance video models",label:"Seedance 2.0",logoSrc:"/images/logos/video-models/seedance.svg",description:"Image, video, and audio references for controllable motion",supportsAudio:!0,defaultGenerateAudio:!1,supportsReferenceMode:!0,estimatedTimeLabel:"~2 min",ratios:w,maxImageCount:2,maxReferenceImageCount:9,maxReferenceVideoCount:3,maxReferenceAudioCount:3,promptMaxLength:4e3,pricing:{"480p":n(s,36),"720p":n(s,77),"1080p":n(s,191)},referenceVideoPricing:{"480p":n(p,22),"720p":n(p,47),"1080p":n(p,117)}},{id:"seedance-2.0-fast",apiModelId:"seedance-2.0-fast",apiModelVariants:{textToVideo:"seedance-2.0-fast-text-to-vi
1deo",imageToVideo:"seedance-2.0-fast-image-to-video",referenceToVideo:"seedance-2.0-fast-reference-to-video"},provider:"seedance",imageRatioPolicy:"adaptive",providerLabel:"Seedance",providerDescription:"Fast Seedance video models",label:"Seedance 2.0 Fast",logoSrc:"/images/logos/video-models/seedance.svg",description:"Faster drafts and social clips with reference control",supportsAudio:!0,defaultGenerateAudio:!1,supportsReferenceMode:!0,estimatedTimeLabel:"~1 min",ratios:w,maxImageCount:2,maxReferenceImageCount:9,maxReferenceVideoCount:3,maxReferenceAudioCount:3,promptMaxLength:4e3,pricing:{"480p":n(s,29),"720p":n(s,62)},referenceVideoPricing:{"480p":n(p,18),"720p":n(p,37)}},{id:"seedance-2.0-mini",apiModelId:"seedance-2.0-mini",apiModelVariants:{textToVideo:"seedance-2.0-mini-text-to-video",imageToVideo:"seedance-2.0-mini-image-to-video",referenceToVideo:"seedance-2.0-mini-reference-to-video"},provider:"seedance",imageRatioPolicy:"adaptive",providerLabel:"Seedance",providerDescription:"Seedance video models",label:"Seedance 2.0 Mini",logoSrc:"/images/logos/video-models/seedance.svg",description:"Lower-cost drafts with image, video, and audio references",supportsAudio:!0,defaultGenerateAudio:!1,supportsReferenceMode:!0,estimatedTimeLabel:"~1 min",ratios:w,maxImageCount:2,maxReferenceImageCount:9,maxReferenceVideoCount:3,maxReferenceAudioCount:3,promptMaxLength:4e3,pricing:{"480p":n(s,18),"720p":n(s,39)},referenceVideoPricing:{"480p":n(p,11),"720p":n(p,24)}},{id:"minimax-h3-turbo",apiModelId:"minimax-h3-turbo",provider:"minimax",imageRatioPolicy:"adaptive",providerLabel:"MiniMax",providerDescription:"MiniMax video models",label:"MiniMax H3 Turbo",logoSrc:"/images/logos/video-models/minimax-h3-icon.png",description:"Fast, lower-cost generation with native stereo audio",supportsAudio:!0,audioPolicy:"optional",defaultGenerateAudio:!0,supportsReferenceMode:!1,estimatedTimeLabel:"~30–60s",ratios:h,maxImageCount:2,promptMaxLength:5e3,outputOptions:[{id:"480p-low",label:"480P",resolution:"480p",quality:"low",apiModelId:"sdw_standard",audioPolicy:"optional",supportsReferenceMode:!1,requiresPaidAccess:!1},{id:"768p-low",label:"768P",resolution:"768p",quality:"low",apiModelId:"sdw_standard",audioPolicy:"optional",supportsReferenceMode:!1,requiresPaidAccess:!1}],pricing:{"480p-low":{4:10,5:12,6:15,7:17,8:20,9:24,10:29,11:34,12:40},"768p-low":{4:30,5:34,6:37,7:40,8:44,9:52,10:60,11:70,12:81}},promotion:v},{id:"minimax-h3",apiModelId:"minimax-h3",apiModelVariants:{textToVideo:"minimax-h3-text-to-video",imageToVideo:"minimax-h3-image-to-video",referenceToVideo:"minimax-h3-reference-to-video"},provider:"minimax",imageRatioPolicy:"adaptive",providerLabel:"MiniMax",providerDescription:"MiniMax video models",label:"MiniMax H3",logoSrc:"/images/logos/video-models/minimax-h3-icon.png",description:"2K high-quality generation with native stereo audio and multimodal references",supportsAudio:!0,audioPolicy:"optional",defaultGenerateAudio:!0,supportsReferenceMode:!0,estimatedTimeLabel:"~30–60s",ratios:h,maxImageCount:2,maxReferenceImageCount:9,maxReferenceVideoCount:3,maxReferenceAudioCount:3,maxReferenceTotalCount:12,referenceRequiresVisual:!0,promptMaxLength:5e3,outputOptions:[{id:"480p-medium",label:"480P",resolution:"480p",quality:"medium",apiModelId:"sdw_standard",audioPolicy:"optional",supportsReferenceMode:!1,requiresPaidAccess:!1},{id:"768p-medium",label:"768P",resolution:"768p",quality:"medium",apiModelId:"sdw_standard",audioPolicy:"optional",supportsReferenceMode:!1,requiresPaidAccess:!1},{id:"2k",label:"2K",resolution:"2k",audioPolicy:"always",supportsReferenceMode:!0,requiresPaidAccess:!0}],pricing:{"480p-medium":{4:14,5:16,6:20,7:23,8:27,9:33,10:40,11:48,12:57},"768p-medium":{4:35,5:41,6:50,7:60,8:71,9:86,10:102,11:122,12:146},"2k":n(c,48)},referenceVideoPricing:{"2k":n(g,48)},referenceVideoInputBilling:"exact-input-duration",referenceVideoInputCreditsPerSecond:{"2k":48},includedReferenceImageCount:5,extraReferenceImageCredits:16,promotion:v},{id:"minimax-h3-max-turbo",apiModelId:"minimax/h3-max-turbo/text-to-vi
1deo",apiModelVariants:{textToVideo:"minimax/h3-max-turbo/text-to-video",imageToVideo:"minimax/h3-max-turbo/image-to-video"},provider:"minimax",imageRatioPolicy:"adaptive",providerLabel:"MiniMax",providerDescription:"MiniMax video models",label:"MiniMax H3 Max Turbo",logoSrc:"/images/logos/video-models/minimax-h3-icon.png",description:"Fast flagship generation with native stereo audio",supportsAudio:!0,audioPolicy:"always",defaultGenerateAudio:!0,defaultDurationSeconds:5,supportsReferenceMode:!1,estimatedTimeLabel:"~5–10s",ratios:h,maxImageCount:2,promptMaxLength:5e4,pricing:{"480p":n(u,5),"768p":n(u,8),"1080p":n(u,16)},promotion:x},{id:"minimax-h3-max",apiModelId:"minimax/h3-max/text-to-video",apiModelVariants:{textToVideo:"minimax/h3-max/text-to-video",imageToVideo:"minimax/h3-max/image-to-video"},provider:"minimax",imageRatioPolicy:"adaptive",providerLabel:"MiniMax",providerDescription:"MiniMax video models",label:"MiniMax H3 Max",logoSrc:"/images/logos/video-models/minimax-h3-icon.png",description:"Highest-quality flagship generation with native stereo audio",supportsAudio:!0,audioPolicy:"always",defaultGenerateAudio:!0,defaultDurationSeconds:5,supportsReferenceMode:!1,estimatedTimeLabel:"~5–10s",ratios:h,maxImageCount:2,promptMaxLength:5e4,pricing:{"480p":n(u,10),"768p":n(u,16),"1080p":n(u,31)},promotion:x},{id:"gemini-omni",apiModelId:"gemini-omni",apiModelVariants:{textToVideo:"gemini-omni-flash-text-to-video",imageToVideo:"gemini-omni-flash-image-to-video",referenceToVideo:"gemini-omni-flash-reference-to-video"},provider:"gemini",providerLabel:"Gemini",providerDescription:"Google Gemini video models",label:"Gemini Omni Flash",logoSrc:"/images/logos/video-models/gemini-omni-flash-aurora.svg",description:"720p video generation from text, one image, or up to six reference images",supportsAudio:!0,audioSelectable:!1,defaultGenerateAudio:!1,defaultDurationSeconds:10,supportsAutoDuration:!0,autoDurationReservationSeconds:10,supportsReferenceMode:!0,estimatedTimeLabel:"~2 min",ratios:["auto","16:9","9:16"],maxImageCount:1,maxReferenceImageCount:6,maxReferenceVideoCount:0,maxReferenceAudioCount:0,maxReferenceTotalCount:6,promptMaxLength:2e3,inputImageCreditsPerImage:1,durationCreditsPerSecond:35,pricing:{"720p":n(f,35)}},{id:"video-editor",apiModelId:"gemini-omni-flash-video-edit",provider:"gemini",providerLabel:"Gemini",providerDescription:"Google Gemini video editing",label:"Video Editor",logoSrc:"/images/logos/video-models/gemini-omni-flash-aurora.svg",visibleInGenerator:!1,description:"Edit an MP4 or MOV video with text instructions",supportsAudio:!1,estimatedTimeLabel:"~2 min",ratios:[],maxImageCount:0,pricing:{},durationCreditsPerSecond:35},{id:"kling-3",apiModelId:"kling-3",apiModelVariants:{textToVideo:"kling-v3-text-to-vi
1deo",imageToVideo:"kling-v3-image-to-video"},provider:"kling",providerLabel:"Kling",providerDescription:"Kling video models",label:"Kling 3.0",logoSrc:"/images/logos/video-models/kling-official.png",description:"Strong motion, camera moves, and optional sound",supportsAudio:!0,defaultGenerateAudio:!1,estimatedTimeLabel:"~3 min",ratios:A,maxImageCount:2,promptMaxLength:2500,pricing:{"720p":n(I,31),"1080p":n(I,41),"4k":n(I,153)},audioPricing:{"720p":n(I,46),"1080p":n(I,62),"4k":n(I,153)}},{id:"kling-3-turbo",apiModelId:"kling-3-turbo",apiModelVariants:{textToVideo:"kling-v3-turbo-text-to-video",imageToVideo:"kling-v3-turbo-image-to-video"},provider:"kling",providerLabel:"Kling",providerDescription:"Kling video models",label:"Kling 3.0 Turbo",logoSrc:"/images/logos/video-models/kling-official.png",description:"Faster short-form generation with text or a first frame",supportsAudio:!1,defaultGenerateAudio:!1,estimatedTimeLabel:"~2 min",ratios:A,maxImageCount:1,promptMaxLength:2500,pricing:{"720p":n(I,41),"1080p":n(I,51)}},{id:"veo-3.1-fast",apiModelId:"veo-3.1-fast-generate-preview",provider:"veo",imageRatioPolicy:"provider-pad",providerLabel:"Veo",providerDescription:"Google Veo video models",label:"Veo 3.1 Fast",logoSrc:"/images/logos/video-models/google-g.svg",description:"Quick Veo previews for fast iteration",supportsAudio:!0,defaultGenerateAudio:!1,supportsReferenceMode:!0,estimatedTimeLabel:"~2 min",ratios:k,maxImageCount:2,maxReferenceImageCount:3,maxReferenceVideoCount:0,maxReferenceAudioCount:0,pricing:{"720p":n(y,33),"1080p":n(y,33),"4k":n(y,98)},audioPricing:{"720p":n(y,49),"1080p":n(y,49),"4k":n(y,115)}},{id:"veo-3.1-pro",apiModelId:"veo-3.1-generate-preview",provider:"veo",imageRatioPolicy:"provider-pad",providerLabel:"Veo",providerDescription:"Google Veo video models",label:"Veo 3.1 Pro",logoSrc:"/images/logos/video-models/google-g.svg",description:"Polished Veo output with higher visual fidelity",supportsAudio:!0,defaultGenerateAudio:!1,supportsReferenceMode:!0,estimatedTimeLabel:"~3 min",ratios:k,maxImageCount:2,maxReferenceImageCount:3,maxReferenceVideoCount:0,maxReferenceAudioCount:0,pricing:{"720p":n(y,65),"1080p":n(y,65),"4k":n(y,131)},audioPricing:{"720p":n(y,131),"1080p":n(y,131),"4k":n(y,196)}}];function P(e){let i=M.map(e=>({...e,ratios:[...e.ratios],outputOptions:e.outputOptions?.map(e=>({...e})),pricing:Object.fromEntries(Object.entries(e.pricing).map(e=>{let[i,a]=e;return[i,{...a}]})),referenceVideoPricing:e.referenceVideoPricing?Object.fromEntries(Object.entries(e.referenceVideoPricing).map(e=>{let[i,a]=e;return[i,{...a}]})):void 0,audioPricing:e.audioPricing?Object.fromEntries(Object.entries(e.audioPricing).map(e=>{let[i,a]=e;return[i,{...a}]})):void 0,promotion:e.promotion?{...e.promotion,excludedOutputIds:e.promotion.excludedOutputIds?[...e.promotion.excludedOutputIds]:void 0}:void 0})),a=e?.defaultModelId,t=a&&i.some(e=>e.id===a)?a:i.some(e=>e.id===o)?o:i.find(e=>!1!==e.visibleInGenerator)?.id??"sdw_standard";return{defaultResolution:e?.defaultResolution??"480p-low",defaultModelId:t,models:i}}function S(e,i){return e?.models.find(e=>e.id===i)}function T(e,i){return e?.outputFormats?.includes(i)?i:void 0}function C(e,i){let a=R(i);return e?.outputOptions?.find(e=>e.id===a)}function V(e,i){return C(e,i)?.label??i.toUpperCase()}function L(e,i){let a=C(e,i)?.resolution;return a||R(i).replace(/-(?:low|medium|high)$/,"")}function q(e,i){let a=C(e,i)?.quality;return a||R(i).match(/-(low|medium|high)$/)?.[1]}function W(e){let i=new Set;for(let a of Q(e))i.add(L(e,a));return Array.from(i)}function E(e,i){let a=R(i),o=new Set;for(let i of e?.outputOptions??[])i.resolution===a&&i.quality&&o.add(i.quality);return Array.from(o)}function G(e,i,a){if(!e)return;let o=R(i),t=(e.outputOptions??[]).filter(e=>e.resolution===o),r=a?t.find(e=>e.quality===a):void 0;return r?r.id:t.length>0?t[0].id:e.pricing[o]?o:void 0}function D(e,i){return e?.supportsAudio?C(e,i)?.audioPolicy??e.audioPolicy??"optional":"unsupported"}function O(e,i){return!!e?.supportsReferenceMode&&(C(e,i)?.supportsReferenceMode??!0)}function N(e){return e?.outputOptions?.find(e=>e.supportsReferenceMode)?.id}function z(e,i){return C(e,i)?.requiresPaidAccess??!1}function F(e,i,a){let o=e?.promotion,t=o?.priceRate;if(!(t&&t>0&&t<1&&!o?.excludedOutputIds?.includes(i))||!t)return{eligible:!1,active:!1,priceRate:null};if(!o.endsAt)return{eligible:!0,active:!0,priceRate:t};let r=a??Date.now(),n=r instanceof Date?r.getTime():new Date(r).getTime(),s=new Date(o.endsAt).getTime();return{eligible:!0,active:Number.isFinite(n)&&Number.isFinite(s)&&n<s,priceRate:t}}function _(e,i,a){return F(e,R(i),a).active}function K(e,i,a){let o=arguments.length>3&&void 0!==arguments[3]&&arguments[3],r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};if(!e)return null;let n=R(i),s=(r.hasReferenceVideoInput&&e.referenceVideoPricing?e.referenceVideoPricing:o&&e.audioPricing?e.audioPricing:e.pricing)[n];if(!s)return null;let d=e.referenceVideoInputCreditsPerSecond?.[n];if(r.hasReferenceVideoInput&&"exact-input-duration"===e.referenceVideoInputBilling&&void 0===d)return null;let l=r.hasReferenceVideoInput&&"exact-input-duration"===e.referenceVideoInputBilling?t(r.referenceVideoInputSeconds??0,d??0):null,m=r.hasReferenceVideoInput&&e.referenceVideoPricing?a+("exact-input-duration"===e.referenceVideoInputBilling?0:Math.max(a,Math.ceil(Math.max(0,r.referenceVideoInputSeconds??0)))):a,p=null!==l?void 0!==s[String(a)]?s[String(a)]+l:void 0:s[String(m)];if(void 0===p)return null;
1let c=Math.max(0,Math.floor(r.referenceImageInputCount??0)-(e.includedReferenceImageCount??1/0)),u=Math.max(0,Math.floor(r.inputImageCount??0))*Math.max(0,e.inputImageCreditsPerImage??0),g=p+c*(e.extraReferenceImageCredits??0),h=Math.max(0,Math.round(e.relaxedContentSurchargePercent??0)),f=(r.relaxedContent?Math.ceil(g*(100+h)/100):g)+u+(r.webSearch?e.webSearchCreditsPerEnabledTask??0:0),v=F(e,n,r.pricingAt);return v.eligible&&!v.active&&v.priceRate?Math.max(f+1,Math.round(f/v.priceRate)):f}function H(e,i,a){let o=arguments.length>3&&void 0!==arguments[3]&&arguments[3],t=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},r=K(e,i,a,o,t);if(null===r)return null;let n=F(e,R(i),t.pricingAt);return n.active&&n.priceRate?{credits:r,originalCredits:Math.max(r+1,Math.round(r/n.priceRate)),priceRate:n.priceRate,discountPercent:Math.round((1-n.priceRate)*100)}:{credits:r,originalCredits:null,priceRate:null,discountPercent:null}}function B(e){let i;for(let[a,o]of Object.entries(e.pricing))for(let[e,t]of Object.entries(o))(!i||t<i.credits)&&(i={outputId:a,durationSeconds:Number(e),credits:t});return i?H(e,i.outputId,i.durationSeconds)??{credits:i.credits,originalCredits:null,priceRate:null,discountPercent:null}:{credits:0,originalCredits:null,priceRate:null,discountPercent:null}}let j={modelId:"minimax-h3-turbo",resolution:"480p-low",resolutionLabel:"480P",durationSeconds:4};function $(){let e=M.find(e=>e.id===j.modelId),i=K(e,j.resolution,j.durationSeconds);if(!e||null===i)throw Error("Paid video plan estimate baseline is not configured");return{...j,modelLabel:e.label,creditsPerVideo:i}}function U(e){let{creditsPerVideo:i}=$();return Math.max(0,Math.floor(e/i))}function J(e){if(!e)return[];let i=new Set;for(let a of Object.values(e.pricing))for(let e of Object.keys(a))i.add(Number(e));return Array.from(i).sort((e,i)=>e-i)}function Q(e){return e?Object.keys(e.pricing):[]}function Z(e,i){if(!e)return[];let a=e.pricing[i];return a?Object.keys(a).map(Number).sort((e,i)=>e-i):[]}},93423:(e,i,a)=>{a.d(i,{Kx:()=>n,Xm:()=>r,r:()=>s});let o=new Set(["gpt-image-2-5-flare","nano-banana-2-lite","seedream-5-pro","seedance-2.0-mini","kling-3-turbo","minimax-h3-turbo","minimax-h3","minimax-h3-max-turbo","minimax-h3-max","seedance-2.5","gemini-omni","topaz-video-upscaler"]),t=new Set(["nano-banana-2-lite","seedream-5-pro","gpt-image-2-5-flare","seedance-2.0-mini","kling-3-turbo","minimax-h3-turbo","minimax-h3"]);function r(e){return o.has(e)}function n(e){return!t.has(e)&&r(e)}function s(e){return e.map((e,i)=>({model:e,index:i})).sort((e,i)=>Number(r(i.model.id))-Number(r(e.model.id))||e.index-i.index).map(e=>{let{model:i}=e;return i})}}}]);

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.