1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[21878],{1016:(e,t,a)=>{a.d(t,{V:()=>p});var r=a(2193),o=a(95897),i=a(73732),s=a(13889),l=a(36516),n=a(73423),c=a(56839),m=a(66057),d=a(37198),u=a(73180);function p(){let e=(0,s.c)("components.image-form.polling"),t=(0,n.A)(e=>e.processingTasks),a=(0,n.A)(e=>e.remove),p=(0,n.A)(e=>e.selectedDisplayTasks),g=(0,c.A)(e=>e.auth),f=(0,l.A)(e=>e.updateImageObj),h=(0,l.A)(e=>e.setIsPolling),{updateUserInfoWithDelay:x}=(0,u.A)(!1),b=(0,r.useRef)(new Map),y=(0,r.useRef)(new Set);return(0,r.useEffect)(()=>{let r=Array.from(t.values()).filter(e=>"image"===e.type),s=new Set(r.map(e=>e.traceId));h(r.length>0),b.current.forEach((e,t)=>{s.has(t)||(clearInterval(e),b.current.delete(t))}),r.forEach(t=>{if(!b.current.has(t.traceId)){if(!g?.access_token)return void a(t.traceId);let r=t.createTime||t.submitTime,s=setInterval(async()=>{if(!y.current.has(t.traceId)){y.current.add(t.traceId);try{if((0,d.Ch)(r)){clearInterval(s),b.current.delete(t.traceId),a(t.traceId),t.modelName&&((0,d.In)(t.modelName,"failed",{errorMsg:e("timeout")}),(0,d.PZ)(t.modelName,t.traceId,"failed")),(0,i.T)(),x();return}let l=await m.A.getKey(g.access_token);if(!l){clearInterval(s),b.current.delete(t.traceId),a(t.traceId);return}let n=await (0,o.JC)(l,t.traceId);if(0===n.code||200===n.code){let{task_status:r,task_result:o,task_status_msg:l}=n.data;if(("succeed"===r||"failed"===r)&&x(),"succeed"===r)if(clearInterval(s),b.current.delete(t.traceId),o?.images&&o.images.length>0){let r=o.images[0],s=t.modelName?p[`image:${t.modelName}`]??null:null;if(!s||s===t.traceId){let a={id:t.traceId,src:r.url||"",name:e("generated-name"),resolution:r.resolution||"2k",prompt:"",type:"display-one"};f(a)}t.modelName&&((0,d.In)(t.modelName,"succeed",{result:{url:r.url||"",resolution:r.resolution||"2k"}}),(0,d.PZ)(t.modelName,t.traceId,"succeed",{result:{url:r.url||"",resolution:r.resolution||"2k"}}));try{await (0,i.T)()}finally{a(t.traceId)}}else{t.modelName&&((0,d.In)(t.modelName,"succeed"),(0,d.PZ)(t.modelName,t.traceId,"succeed"));try{await (0,i.T)()}finally{a(t.traceId)}}else if("failed"===r){clearInterval(s),b.current.delete(t.traceId),t.modelName&&((0,d.In)(t.modelName,"failed",{errorMsg:l||e("failed")}),(0,d.PZ)(t.modelName,t.traceId,"failed"));try{await (0,i.T)()}finally{a(t.traceId)}}}}catch(e){}finally{y.current.delete(t.traceId)}}},3e3);b.current.set(t.traceId,s)}});let l=b.current;return()=>{l.forEach(e=>clearInterval(e)),l.clear()}},[t,a,p,g,f,h,x]),null}},8530:(e,t,a)=>{a.d(t,{Ay:()=>s,gZ:()=>l});var r=a(47477),o=a(2193);let i=(0,o.createContext)(null);function s({imageFormType:e,children:t}){return(0,r.jsx)(i.Provider,{value:e,children:t})}function l(){return(0,o.useContext)(i)}},21878:(e,t,a)=>{a.d(t,{A:()=>q});var r=a(47477),o=a(2193),i=a(36516),s=a(56028),l=a(16984),n=a(89457),c=a(53054),m=a(56839),d=a(13889),u=a(90641),p=a(61270),g=a(63169),f=a(81071),h=a(72315),x=a(50810),b=a(19940),y=a(8273),j=a(93101),w=a(97836),v=a(60480),I=a(92531),N=a(93703),k=a(96658),A=a(84094),T=a(73423),R=a(51883),C=a(37198),O=a(1016),S=a(8530),P=a(73790),U=a(37267),_=a(25909),E=a(14918),L=a(64368),F=a(137);function M({prompt:e,successCb:t,className:a,duration:i=30}){let s=(0,d.c)("components.form-EnhanceBtn"),c=(0,U.a8)(),u=(0,n.A)(e=>e.setOpen),p=(0,l.A)(e=>e.setOpen),f=(0,E.A)(e=>e.setLocalRedirectUrl),h=(0,m.A)(e=>e.userInfo),[x,b]=(0,o.useState)(!1),[y,j]=(0,o.useState)(0),w=!!h?.isValidity;(0,o.useEffect)(()=>{let e;return y>0?e=setTimeout(()=>{j(y-1)},1e3):0===y&&b(!1),()=>{e&&clearTimeout(e)}},[y]);let v=async()=>{if(!h){f(c),p(!0);return}w?e.trim()&&(b(!0),j(i),t((await (0,_.A)(e)).data.newPrompt),b(!1)):u(!0,"credits")};return(0,r.jsx)(F.A,{className:"shrink-0",children:(0,r.jsxs)("button",{type:"button",onClick:v,disabled:x||!e.trim(),className:(0,g.cn)("mx-auto flex flex-1 flex-nowrap items-center justify-center gap-1 text-sm",(x||!e.trim())&&"cursor-not-allowed opacity-40",a),children:[(0,r.jsx)(L.A,{}),(0,r.jsxs)("span",{className:"text-color-main",children:[s("optimizePrompt"),y>0&&` (${y})s`]})]})})}async function $(e){let{file:t,isSeedrameModel:a,errorMessages:r,onError:o}=e;return"image/webp"===t.type&&a?(o(r.webpNotSupported),!1):await new Promise(e=>{let a=new Image;a.onload=()=>{let t=a.width/a.height;t<.33||t>3?(o(`${r.aspectRatioOutOfRange} ${t.toFixed(2)}`),e(!1)):e(!0),URL.revokeObjectURL(a.src)},a.onerror=()=>{o(r.imageLoadFailed),URL.revokeObjectURL(a.src),e(!1)},a.src=URL.createObjectURL(t)})}function q({modelConfig:e,externalPricing:t,imageFormType:a,moreFormSchema:U,defaultValues:_,defaultValuesVersion:E,defaultValuePriority:L,formTitle:F,promptTitle:D,uploadImagesTitle:z,submitBtnId:V,onResetAll:B,formatPrompt:Z,showPromptInput:G=!0,showRatio:W=!0,showModelVersion:J=!0,showOptimizePromptBtn:K=!0,showReleaseStageInTitle:X=!0,showTemplateSelector:H=!1,translationNamespace:Q="components.image-form",imageTemplateList:Y=[],imageUploadMode:ee="auto",requireImageUpload:et=!1,showMotionField:ea=!1,motionFieldOptions:er=[],motionFieldLabel:eo,currentMotionId:ei,onMotionChange:es,showRadioButtonGroup:el=!1,radioButtonGroupOptions:en=[],radioButtonGroupFieldName:ec="selectedOption",radioButtonGroupLabel:em="RadioButtonGroup",radioButtonGroupTranslationNamespace:ed="components.image-form",onRadioButtonGroupChange:eu=()=>{},slotNode:ep,slotNodeAfter:eg,slotNodeFunc:ef,slotNodeAfterModel:eh,slotNodeFuncAfterInput:ex,customRightContent:eb,imageObjContext:e
1y="default",enablePollingRecovery:ej=!0,className:ew}){let ev=(0,d.c)("components.image-form"),eI=(0,d.c)("Common"),eN=e.releaseStage?.stage==="preview",ek=X&&eN&&e.releaseStage?.showInTitle!==!1,eA=eI.has("model-release-stage.preview.label")?eI("model-release-stage.preview.label"):"Preview",eT=!!t&&("isLoading"in t||"error"in t),{pricingData:eR,isLoading:eC,error:eO}=(0,j.$)(e.model,{enabled:!eT}),eS=eT?t.pricingData:eR,eP=eT?!!t.isLoading:eC,eU=eT?t.error:eO,e_=(0,o.useMemo)(()=>eS?(0,h.e$)(eS):void 0,[eS]),eE=(0,o.useRef)(null);(0,m.A)(e=>e.userInfo),(0,m.A)(e=>e.auth),(0,i.A)(e=>"start-frame"===ey?e.startFrameImageObj:"end-frame"===ey?e.endFrameImageObj:e.imageObj),(0,i.A)(e=>"start-frame"===ey?e.updateStartFrameImageObj:"end-frame"===ey?e.updateEndFrameImageObj:e.updateImageObj),(0,b.A)(),(0,l.A)(e=>e.setOpen),(0,c.A)(e=>e.setOpen),(0,n.A)(e=>e.setOpen);let eL=(0,s.A)(e=>e.prompt),eF=(0,s.A)(e=>e.remixImages),eM=(0,s.A)(e=>e.updateDefaultStore),{validate:e$}=(0,y.X)(),{uiConfig:eq}=function(e){let{modelConfig:t}=e,a=(0,d.c)("components.image-form.quality-options"),r=(0,o.useMemo)(()=>{let{options:e}=t,r=e.ratio||[],o=e.resolution||[],i=e.quality||[],s=i.length>0,l=s?i.map(e=>({name:a.has(e)?a(e):e.charAt(0).toUpperCase()+e.slice(1),value:e})):[],n=e.imageInput?.isSupported||!1,c=e.imageInput?.max||0,m=r[0]?.value||"1:1",d=o[0]?.value||"2k",u=l[0]?.value||"auto";return{ratioOptions:r,resolutionOptions:o,qualityOptions:l,supportsImageInput:n,maxImages:c,defaultRatio:m,defaultResolution:d,defaultQuality:u,supportsQuality:s,supportsSeed:e.seed||!1}},[t,a]);return{modelConfig:t,uiConfig:r}}({modelConfig:e}),{ratioOptions:eD,resolutionOptions:ez,qualityOptions:eV,supportsImageInput:eB,maxImages:eZ,defaultRatio:eG,defaultResolution:eW,defaultQuality:eJ,supportsQuality:eK,supportsSeed:eX}=eq,eH=(0,u.mN)({defaultValues:{prompt:"",images:[],isTranslate:!1,modelVersion:e.modelVersion,ratio:eG,resolution:eW,quality:eJ,..._}});(0,o.useEffect)(()=>{eL&&(eH.setValue("prompt",eL),eM({prompt:""}))},[eL,eH,eM]),(0,o.useEffect)(()=>{eF&&eF.length>0&&eE.current?.setImageUrls&&(eE.current.setImageUrls(eF),eM({remixImages:[]}))},[eF,eM]);let eQ="none"!==ee&&("single"===ee||eB),eY="single"===ee?1:eB?eZ:1,e0=eH.watch("images"),e1=eH.watch("subjectImage"),e3=eH.watch("objectImage"),e8=eH.watch("resolution"),e2=eH.watch("ratio"),e7=eQ&&(e0?.length>0||!!(e1&&(e1 instanceof File||"string"==typeof e1))||!!(e3&&(e3 instanceof File||"string"==typeof e3))),e9=eB?(e0?.length||0)+Number(!!e1&&(e1 instanceof File||"string"==typeof e1))+Number(!!e3&&(e3 instanceof File||"string"==typeof e3)):0,e4=(0,o.useMemo)(()=>[{name:"ratio",options:eD,priority:[...L?.ratio||[],eG]},{name:"resolution",options:ez,priority:[...L?.resolution||[],eW]},{name:"quality",options:eV,priority:[...L?.quality||[],eJ],enabled:eK}],[eJ,eG,eW,L?.quality,L?.ratio,L?.resolution,eV,eD,ez,eK]);(0,w.A)({form:eH,modelKey:e.model,fields:e4});let e6=(0,o.useRef)(void 0);(0,o.useEffect)(()=>{void 0!==E&&_&&e6.current!==E&&(void 0!==_.prompt&&eH.setValue("prompt",_.prompt),void 0!==_.images&&(eH.setValue("images",_.images),eE.current?.setImageUrls?.(_.images.filter(e=>"string"==typeof e))),void 0!==_.ratio&&eH.setValue("ratio",(0,x.Z)(eD,_.ratio,[eG])),void 0!==_.resolution&&eH.setValue("resolution",(0,x.Z)(ez,_.resolution,[eW])),void 0!==_.quality&&eK&&eH.setValue("quality",(0,x.Z)(eV,_.quality,[eJ])),e6.current=E)},[eJ,eG,eW,_,E,eH,eV,eD,ez,eK]);let e5=(0,o.useMemo)(()=>eD.map(e=>({name:e.name,value:e.value})),[eD]),te=(0,o.useMemo)(()=>ez.map(e=>({name:e.name,value:e.value})),[ez]),tt=e.modelVersion?.includes("seedream"),ta=(0,f.T)(e,{generationType:e7?"image-to-image":"text-to-image",resolution:e8,quality:eH.watch("quality"),ratio:e2,referenceImageCount:e9},e_),tr=(0,f.T)(e,{generationType:e7?"image-to-image":"text-to-image",resolution:e8,quality:eH.watch("quality"),ratio:e2,referenceImageCount:e9}),to=e_?(0,f.T)(e,{generationType:e7?"image-to-image":"text-to-image",resolution:e8,quality:eH.watch("quality"),ratio:e2,referenceImageCount:e9},{...e_,discount:100}):void 0,ti=e_?.discount?Math.max(0,100-e_.discount):0,{handleSubmit:ts,isSubmitting:tl}=(0,A.T)({imageFormType:a,selectModel:()=>e,pricing:e_,showPromptInput:G,requireImageUpload:et,formatPrompt:Z,submitBtnId:V,t:ev});(0,O.V)(),function(e){let{modelName:t,imageFormType:a,enabled:r=!0}=e,s=(0,T.A)(e=>e.add),l=(0,T.A)(e=>e.processingTasks),n=(0,m.A)(e=>e.auth),c=(0,i.A)(e=>e.updateImageObj),d=(0,o.useRef)(!1);(0,o.useEffect)(()=>
1{if(r&&n?.access_token&&!d.current){if((0,C.PM)(),Array.from(l.values()).some(e=>"image"===e.type&&e.imageType===a)){d.current=!0;return}d.current=!0,(async()=>{let e=(0,C.hz)(t);if(e){if("succeed"===e.status){e.result?.url&&c({id:e.taskId,src:e.result.url,name:"Generated Image",resolution:e.result.resolution||"2k",prompt:"",type:"display-one"});return}if("failed"===e.status)return;if("processing"===e.status)return s(e.taskId,"image",a,t,{prompt:e.prompt,createTime:e.createTime,credit:e.credit,ratio:e.ratio})}let r=(0,C.i5)(t).filter(e=>"processing"===e.status||"submitted"===e.status);if(r.length>0)return r.forEach(e=>{s(e.taskId,"image",a,t,{prompt:e.prompt,createTime:e.createTime,credit:e.credit,ratio:e.ratio})});try{(await (0,R.t)(n.access_token,t,"image")).filter(e=>"processing"===e.status||"submitted"===e.status).forEach(e=>{let r={prompt:e.prompt,createTime:e.createTime,credit:e.credit,ratio:e.ratio};(0,C.ZX)(t,e.taskId,"image",r),s(e.taskId,"image",a,t,r)})}catch{}})()}},[r,n?.access_token,s,a,t,l,c])}({modelName:e.modelVersion,imageFormType:a,enabled:ej}),(0,o.useCallback)(()=>{eH.reset(),eE.current?.removeAllImages(),B?.()},[eH,B]);let tn=async e=>$({file:e,isSeedrameModel:!!tt,errorMessages:{webpNotSupported:ev("errors.webpNotSupported"),aspectRatioOutOfRange:ev("errors.aspectRatioOutOfRange"),imageLoadFailed:ev("errors.imageLoadFailed")},onError:p.oR.error}),tc=(0,o.useCallback)(e=>{eH.setValue("prompt",e)},[]),tm=async(e,t)=>{tl||await ts(e,t)};return(0,r.jsx)(S.Ay,{imageFormType:a,children:(0,r.jsxs)("div",{className:(0,g.cn)("bg-color-1 border-color-b1 flex h-auto w-full flex-col gap-3 rounded-2xl border p-3","lg:h-[calc(100vh-110px)] lg:flex-row",ew),children:[(0,r.jsx)(v.lV,{...eH,children:(0,r.jsxs)("form",{onSubmit:e=>{e.stopPropagation(),eH.handleSubmit(tm)(e)},className:"no-scrollbar border-color-b1 bg-color-bg relative isolate z-40 flex h-auto w-full shrink-0 flex-col gap-2.5 rounded-2xl border p-3 lg:h-full lg:w-[351px]",children:[F&&(0,r.jsx)("div",{className:"border-color-b1 shrink-0 border-b pb-2.5 text-lg font-medium tracking-[0.36px] text-white",children:(0,r.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,r.jsx)("span",{className:"min-w-0 flex-1 truncate",children:F}),ek&&(0,r.jsx)(k.A,{label:eA,className:"shrink-0"})]})}),(0,r.jsxs)("div",{className:"custom-scrollbar flex flex-1 flex-col gap-2.5 overflow-y-auto pb-20",children:[ep,ef?.(eH),ea&&(0,r.jsx)(I.H$,{options:er,show:ea,label:eo,currentMotionId:ei,onMotionChange:es}),eh,eQ&&(0,r.jsx)(I.B4,{title:eY>1?z:void 0,name:"images",maxImages:eY,isPaidUserOnly:!1,ref:eE,acceptTypes:e.modelVersion?.includes("seedream")?["image/jpg","image/jpeg","image/png"]:["image/jpg","image/jpeg","image/png","image/webp"],validateFileBeforeAdd:tn}),el&&(0,r.jsx)(I.zW,{options:en||[],fieldName:ec,label:em,translationNamespace:ed,onChange:eu}),H&&(0,r.jsx)(I.U4,{templates:Y||[],translationNamespace:Q,templateFieldName:"template",promptFieldName:"prompt"}),G&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(I.DB,{show:!0,title:D||ev("enterPrompt"),translationNamespace:"components.image-form",showTranslateToggle:!0}),K&&(0,r.jsx)(M,{prompt:eH.watch("prompt")||"",successCb:tc})]}),(0,r.jsx)(I._3,{show:eK,options:eV}),(0,r.jsx)(I.GG,{show:eX}),ex?.(eH),eg]}),(0,r.jsx)(N.A,{ratioOptions:W&&eD.length>0?e5:void 0,resolutionOptions:ez.length>0?te:void 0,showRatio:W&&eD.length>0,showResolution:ez.length>0,showDuration:!1,isSubmitting:tl,disabled:e.isComingSoon||e.releaseStage?.stage==="coming-soon",disabledMessage:eI("coming-soon"),isPricingLoading:eP,isPricingError:!!eU,creditCost:ta,frontendConfigCredit:tr,originalCreditCost:to,discountPercent:ti,submitButtonText:ev("generate"),ratioFieldName:"ratio",resolutionFieldName:"resolution",debugModelName:e.model})]})}),eb||(0,r.jsx)("div",{className:"flex h-full flex-1 flex-col gap-3",children:(0,r.jsx)(P.A,{modelVersion:e.modelVersion,showResultMeta:!1,enableDetailModal:!1})})]})})}},25909:(e,t,a)=>{a.d(t,{A:()=>o,Q:()=>i});var r=a(86736);async function o(e){return await (0,r.wi)("/image/optimizePrompt",{method:"POST",body:JSON.stringify({prompt:e})})}let i=async e=>await (0,r.wi)(`/image/getResult/free/${e}`)},73732:(e,t,a)=>{a.d(t,{A:()=>i,T:()=>o});var r=a(94704);async function o(){await (0,r.yi)("image")}function i(e=1,t=30,a){let{data:o,isLoading:s,error:l}=(0,r.Ay)({pageNum:e,pageSize:t,media_type:"image"});return{data:o.map(e=>({id:e.id,prompt:e.prompt||"",modelName:e.model_name,modelInfo:e.model_name,taskId:e.task_id,status:e.status,mediaType:"image",url:e.result||"",thumbnailUrl:e.result||"",resolution:"",createTime:e.create_time,credit:e.credit,error:e.error})),isLoading:s,error:l,mutate:()=>Promise.resolve()}}},73790:(e,t,a)=>{a.d(t,{A:()=>A});var r=a(47477),o=a(2193),i=a(84976),s=a(36516),l=a(73423),n=a(47386),c=a(78953),m=a(91220),d=a(94414),u=a(86984),p=a(74420),g=a(13889),f=a(63169),h=a(71265),x=a(77060),b=a(84883),y=a(77385),j=a(89340),w=a(19617),v=a(59343),I=a(8530),N=a(50379);let k=(0,i.default)(()=>Promise.all([a.e(61623),a.e(61883),a.e(98156)]).then(a.bind(a,61883)),{loadableGenerated:{webpack:()=>[61883]},ssr:!1});function A({modelVersion:e,showProcessingTasks:t=!0,showFallbackPreview:a=!1,showResultMeta:i=!0,enableDetailModal:T=!0}){let R=(0,g.c)("components.image-form.display"),C=(0,g.c)("components.image-form.polling"),O=(0,g.c)("components.modal.image-detail"),S=(0,I.gZ)(),P=(0,s.A)(e=>e.imageObj),U=(0,s.A)(e=>e.updateImageObj),_=(0,l.A)(t=>e?t.selectedDisplayTasks[`image:${e}`]??null:null),E=(0,l.A)(e=>e.setSelectedDisplayTask),{convertAndDownload:L,isLoading:F}=(0,b.A)(),[M,$]=(0,o.useState)("png"),[q,D]=(0,o.useState)(!1),[z,V]=(0,o.useState)(!1),[B,Z]=(0,o.useState)(!1),{tasks:G,isLoading:W}=(0,j.G)({modelName:t?e:void 0,mediaType:"image"}),J=G.find(e=>e.taskId===_)||null,K=!!J?.isPolling;(0,o.useEffect)(()=>{P&&"object"==typeof P&&P.src&&(0,h.ER)(P.src).then(e=>{if(e){let t={WEBP:"webp",PNG:"png",JPG:"jpg"}[e];t&&$(t)}})},[P]);let X=!!P&&"object"==typeof P&&!!P.src,H="",Q="fallback";if(a&&"object"==typeof P&&P?.mediaList){let e=P.mediaList.find(e=>e.formType===S);e&&(Q="fallback",H=e.imgSrc)}"object"==typeof P&&P?.src&&(Q="preview",H=P.src);let Y=!P||"loading"===P||"fallback"===Q,ee=!Y&&"object"==typeof P,et=ee?[P.createTime?(0,x.fU)(P.createTime,"MM-DD"):"",void 0!==P.credit?`$${P.credit.toFixed(4)}`:"",P.modelName?`${O("model")}: ${P.modelName}
1`:""].filter(Boolean):[],ea=async()=>{P&&"object"==typeof P&&P.src&&P.name&&await L({imageUrl:P.src,type:M,imageName:P.name})};return(0,r.jsxs)("div",{id:"ImageDisplay",className:"flex h-[440px] w-full flex-col overflow-hidden rounded-2xl contain-strict lg:flex-1",children:[(0,r.jsxs)("div",{className:"relative flex size-full flex-col rounded-2xl border border-color-b1 bg-color-bg overflow-hidden",children:[(0,r.jsxs)("div",{className:"relative flex min-h-0 flex-1 items-center justify-center overflow-hidden p-2",children:[K&&(0,r.jsx)("div",{className:"flex flex-col items-center justify-center gap-4",children:(0,r.jsx)(N.A,{})}),H&&!K&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("button",{type:"button",onClick:()=>{U(null),e&&E("image",e,null)},className:"absolute top-3 right-3 z-10 flex size-8 items-center justify-center rounded-lg bg-color-2 text-white/70 backdrop-blur hover:bg-color-3 hover:text-white",children:(0,r.jsx)(n.A,{className:"size-4"})}),(0,r.jsx)("img",{src:H,alt:"Generated",className:"max-h-full max-w-full rounded-lg object-contain"})]}),"loading"===P&&!K&&(0,r.jsx)("div",{className:"flex flex-col items-center justify-center gap-4",children:(0,r.jsx)(N.A,{})}),!H&&"loading"!==P&&!K&&(0,r.jsxs)("div",{className:"flex flex-col items-center justify-center gap-4 text-gray-400",children:[(0,r.jsx)(c.A,{className:"size-16",strokeWidth:1}),(0,r.jsx)("p",{className:"text-sm",children:R("noImage")})]})]}),(0,r.jsxs)("div",{className:"flex shrink-0 flex-col items-stretch gap-2 border-t border-color-b1 px-4 py-3 sm:flex-row sm:items-center sm:justify-between",children:[(0,r.jsx)("div",{className:"min-w-0 flex-1",children:i&&ee&&et.length>0?(0,r.jsx)("div",{className:"flex min-w-0 flex-col gap-1 text-xs text-white/60",children:(0,r.jsx)("div",{className:"flex min-w-0 flex-wrap items-center gap-x-1.5 gap-y-0.5",children:et.map((e,t)=>(0,r.jsxs)("span",{className:"max-w-full break-words",children:[t>0&&(0,r.jsx)("span",{className:"mr-1.5 text-white/30",children:"|"}),e]},`${e}-${t}`))})}):t?(0,r.jsx)(y.A,{tasks:G,isLoading:W,selectedTaskId:_,onSelectTask:t=>{if(!e)return;let a=_===t.taskId?null:t.taskId;(E("image",e,a),null===a)?U(null):"succeed"===t.status&&t.result?.url?U({id:t.taskId,src:t.result.url,name:C("generated-name"),resolution:t.result.resolution||"2k",prompt:t.prompt,modelName:e,createTime:t.createTime,credit:t.credit,type:"display-one"}):U(null)}}):null}),(0,r.jsxs)("div",{className:"flex w-full flex-wrap items-center justify-end gap-2 sm:ml-auto sm:w-auto sm:flex-nowrap",children:[ee&&P.prompt&&(0,r.jsxs)(w.AM,{open:z,onOpenChange:V,children:[(0,r.jsx)(w.Wv,{asChild:!0,children:(0,r.jsxs)("button",{type:"button",className:"flex h-9 shrink-0 items-center gap-1.5 rounded-xl border border-color-b1 bg-color-2 px-3 text-sm text-[#e2e2e2] transition-colors hover:bg-color-3 lg:h-10",children:[(0,r.jsx)(m.A,{className:"size-4"}),O("prompt"),(0,r.jsx)(d.A,{className:(0,f.cn)("size-3.5 rotate-0 transition duration-200",z&&"-rotate-180")})]})}),(0,r.jsx)(w.hl,{side:"top",sideOffset:12,className:"custom-scrollbar max-h-60 overflow-y-auto rounded-xl border-color-b1 bg-color-1 p-3 text-sm leading-5 text-white shadow-md",children:P.prompt})]}),T&&(0,r.jsxs)("button",{type:"button",onClick:()=>{T&&ee&&D(!0)},disabled:Y,className:(0,f.cn)("flex h-9 shrink-0 items-center gap-1.5 rounded-xl border border-color-b1 bg-color-2 px-3 text-sm text-[#e2e2e2] transition-colors lg:h-10",Y?"cursor-not-allowed opacity-50":"hover:bg-color-3"),children:[(0,r.jsx)(u.A,{className:"size-4"}),R("viewDetails")]}),(0,r.jsxs)(w.AM,{open:B,onOpenChange:Z,children:[(0,r.jsx)(w.Wv,{asChild:!0,children:(0,r.jsxs)("button",{disabled:Y,className:(0,f.cn)("flex shrink-0 items-center gap-1 rounded-lg px-3 py-2 text-sm font-medium transition-colors",Y?"cursor-not-allowed text-gray-600":"text-gray-300 hover:bg-color-3"),children:[M.toUpperCase(),(0,r.jsx)(d.A,{className:"size-4"})]})}),(0,r.jsx)(w.hl,{className:"w-32 border-color-b1 bg-color-1 p-0 overflow-hidden",children:(0,r.jsx)("div",{className:"flex flex-col gap-0.5",children:b.B.map(e=>(0,r.jsx)("button",{onClick:()=>{$(e),Z(!1)},className:(0,f.cn)("rounded-none px-3 py-2 text-left text-sm transition-colors",M===e?"bg-color-3 text-white":"text-gray-400 hover:bg-color-3 hover:text-white"),children:e.toUpperCase()},e))})})]}),(0,r.jsx)("button",{onClick:ea,disabled:Y||F,className:(0,f.cn)("flex size-9 shrink-0 cursor-pointer items-center justify-center rounded-xl border border-color-b1 bg-color-2 transition-colors lg:size-10",Y||F?"cursor-not-allowed opacity-50":"hover:bg-color-3"),children:F?(0,r.jsx)(v.A,{className:"size-4 text-white lg:size-5"}):(0,r.jsx)(p.A,{className:"size-4 text-white lg:size-5"})})]})]})]}),T&&X&&"object"==typeof P&&(0,r.jsx)(k,{open:q,onOpenChange:D,image:{id:P.historyId||P.id||"",taskId:P.historyId?void 0:P.id,url:P.src||"",title:P.name,prompt:P.prompt,createTime:P.createTime,resolution:P.resolution,modelName:P.modelName,credit:P.credit},onDelete:()=>U(null),showHistoryHint:!0})]})}},84094:(e,t,a)=>{a.d(t,{T:()=>I});var r=a(2193),o=a(13889),i=a(95897),s=a(73732),l=a(73423),n=a(53054),c=a(56839),m=a(61270),d=a(79887),u=a(66057),p=a(26480),g=a(90420),f=a(33952),h=a(81071),x=a(37198),b=a(64785),y=a(61388),j=a(19940),w=a(8273),v=a(73180);function I(e){let{imageFormType:t,selectModel:a,pricing:I,showPromptInput:N=!0,requireImageUpload:k=!1,formatPrompt:A,submitBtnId:T="image-form-submit-btn",t:R,onTaskCreated:C}=e,[O,S]=(0,r.useState)(!1),P=(0,o.c)("Common"),U=(0,o.c)("components.hero-form.reference-upload"),_=(0,l.A)(e=>e.add),E=(0,l.A)(e=>e.remove),L=(0,n.A)(e=>e.setOpen),F=(0,c.A)(e=>e.auth),M=(0,c.A)(e=>e.userInfo),$=(0,j.A)(),{updateUserInfoWithDelay:q}=(0,v.A)(!1),{validate:D}=(0,w.X)();return{handleSubmit:(0,r.useCallback)(async(e,r)=>{var o;let l;if(O)return;r?.stopPropagation(),(0,d.o)(T);let n=(o=e.images)?Array.isArray(o)?o:[o]:[],c=n.length>0||!!(e.subjectImage||e.objectImage),j=a(c);if(!j)return void m.oR.error("Please select a model");if(j.isComingSoon||j.releaseStage?.stage==="coming-soon")return void m.oR.error(P("coming-soon"));let w=!!j.options.imageInput?.isSupported,v=w&&c,z=w?n.length+Number(!!e.subjectImage)+Number(!!e.objectImage):0,V=(0,h.T)(j,{generationType:v?"image-to-image":"text-to-image",resolution:e.resolution,qual
1ity:e.quality,ratio:e.ratio,referenceImageCount:z},I);if(D({creditCost:V,validateFormFields:()=>{if(N&&!e.prompt)return m.oR.error(R("noPromptInput")),{valid:!1};if(k){if("subjectImage"in e||"objectImage"in e){if(!e.subjectImage||!e.objectImage)return m.oR.error(R("noImageUpload")),{valid:!1}}else if(0===n.length)return m.oR.error(R("noImageUpload")),{valid:!1}}return{valid:!0}}}).valid){if(!F?.access_token){m.oR.error("Please login again."),L(!0);return}S(!0);try{if(w){let t=[...n,e.subjectImage,e.objectImage].filter(e=>!!e);for(let e of t)if("string"==typeof e&&!await (0,g.YO)(e,"image"))return void m.oR.error(U("invalidMediaUrl"));if((await Promise.all(t.map(e=>(0,f.q0)({imageFile:e})))).some(e=>!e))return void m.oR.error(U("imageDimensionMin",{value:f.jO}))}let a=await u.A.getKey(F.access_token);if(!a){m.oR.error("Failed to get client key. Please try again."),L(!0);return}let r=[],o=[];w&&(n.forEach(e=>{"string"==typeof e?o.push(e):e instanceof File&&r.push({data:e,type:e.type})}),e.subjectImage&&("string"==typeof e.subjectImage?o.push(e.subjectImage):e.subjectImage instanceof File&&r.push({data:e.subjectImage,type:e.subjectImage.type})),e.objectImage&&("string"==typeof e.objectImage?o.push(e.objectImage):e.objectImage instanceof File&&r.push({data:e.objectImage,type:e.objectImage.type})));let c=[...r.length>0?await $(r):[],...o],d=A?A(e.prompt||""):e.prompt||"",h=(0,i.Ls)(j,{...e,prompt:d,imageUrls:c,isTranslate:e.isTranslate,isStrict:!(0,y.KL)(M)}),v=await (0,i.Di)(a,h);if(0!==v.code&&200!==v.code||!v.data?.task_id)throw Error(v.message||"Failed to create task");l=v.data.task_id;let I=j.modelVersion,N={prompt:d,createTime:Date.now(),credit:(0,p.DS)(V,4),ratio:e.ratio};_(l,"image",t,I,N),I&&((0,x.ZX)(I,l,"image",N),(0,x.de)(I,{id:l,taskId:l,prompt:d,status:"processing",createTime:N.createTime,credit:N.credit,ratio:N.ratio,modelName:j.model,mediaType:"image"})),(0,b.E)(3e3),(0,s.T)();try{C?.()}catch(e){}}catch(e){l&&E(l),e?.message==="401"&&L(!0),m.oR.error(e?.message||String(e))}finally{S(!1),q()}}},[O,T,a,I,D,N,k,A,t,R,P,U,F,_,E,L,$,q,C]),isSubmitting:O}}},84883:(e,t,a)=>{a.d(t,{A:()=>i,B:()=>o});var r=a(2193);let o=["webp","png","jpg"],i=()=>{let[e,t]=(0,r.useState)(!1),[a,o]=(0,r.useState)(null);return{convertAndDownload:(0,r.useCallback)(async({imageUrl:e,type:a,imageName:r})=>{t(!0),o(null);try{let t,o=r.replace(/\.[^/.]+$/,"");try{let a=await fetch(e);if(!a.ok)throw Error("fetch failed");t=await a.blob()}catch{let a=`/api/proxy-download?url=${encodeURIComponent(e)}`,r=await fetch(a);if(!r.ok)throw Error("proxy fetch failed");t=await r.blob()}let i=t.type.split("/")[1];if(("jpeg"===i?"jpg":i)===a){let e=document.createElement("a");e.href=URL.createObjectURL(t),e.download=`${o}.${a}`,document.body.appendChild(e),e.click(),document.body.removeChild(e),URL.revokeObjectURL(e.href);return}let s=new Image;s.src=URL.createObjectURL(t),await new Promise((e,t)=>{s.onload=e,s.onerror=t});let l=document.createElement("canvas");l.width=s.width,l.height=s.height;let n=l.getContext("2d");if(!n)throw Error("Unable to create canvas context");n.drawImage(s,0,0);let c=`image/${"jpg"===a?"jpeg":a}`,m=l.toDataURL(c,1),d=document.createElement("a");d.href=m,d.download=`${o}.${a}`,document.body.appendChild(d),d.click(),document.body.removeChild(d),URL.revokeObjectURL(s.src)}catch(e){o(e instanceof Error?e.message:"An unknown error occurred")}finally{t(!1)}},[]),isLoading:e,error:a}}},95897:(e,t,a)=>{a.d(t,{Di:()=>i,JC:()=>l,Ls:()=>s});var r=a(33698),o=a(91967);async function i(e,t){return(0,o.B)("/api/v1/image/task",{clientKey:e,method:"POST",body:t,fallbackResponse:e=>({code:e.status,message:e.statusText,data:{task_id:"",task_status:"failed",response_url:""}})})}function s(e,t){let{width:a,height:o}=function(e){if(!e)return{width:1,height:1};let[t,a]=e.split(":").map(Number);return{width:t||1,height:a||1}}(t.ratio),{options:i}=e,s={model_name:e.model,prompt:t.prompt,width:a,height:o,is_strict:t.isStrict,is_retry:!1,is_front:!0};return t.isTranslate&&(s.is_translate=!0),i.resolution&&t.resolution&&(s.resolution=t.resolution),i.imageInput?.isSupported&&t.imageUrls?.length&&(s.image_url_list=t.imageUrls),i.seed&&void 0!==t.seed&&-1!==t.seed&&(s.seed=t.seed),i.quality&&t.quality&&(s.quality=t.quality),t.negativePrompt&&(s.negative_prompt=t.negativePrompt),(0,r.$)(s)}async function l(e,t,a){return(0,o.B)(`/api/v1/image/${t}`,{clientKey:e,method:"GET",signal:a?.signal,fallbackResponse:e=>({code:e.status,message:e.statusText,data:{task_id:t,task_status:"failed",task_status_msg:e.statusText,response_url:""}})})}},96658:(e,t,a)=>{a.d(t,{A:()=>i});var r=a(47477),o=a(63169);function i({label:e,className:t}){return(0,r.jsx)("span",{className:(0,o.cn)("border-color-b1 bg-color-2 inline-flex items-center rounded-full border px-2 py-0.5 text-xs font-medium tracking-[0.24px] text-white/70",t),children:e})}}}]);
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.