1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5159],{8971:function(e,a,t){t.d(a,{Z:function(){return r}});var i=t(91373);let r=(0,i.Z)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]])},18328:function(e,a,t){t.r(a),t.d(a,{default:function(){return create_image}});var i=t(85893),r=t(50143),l=t(24200),s=t(609),n=t(5358),o=t(73149),m=t(39312),d=t(57258),c=t(54966),u=t(61786),g=t(35340),p=t(82620),h=t(65009),v=t(24808),f=t(29791),x=t(51875),b=t(56906),k=t(53600),j=t(37344),Z=t(60624),_=t(27309),C=t(28356),y=t(88558),M=t(98967),w=t(23324);let N=y.eQ,getValidImageGeneratorModel=e=>{var a,t;return null!==(t=null===(a=y.xp.find(a=>a.key===e))||void 0===a?void 0:a.key)&&void 0!==t?t:N};var G=t(87176),S=t(38245),U=t(66961),I=t(68990),F=t(5220),A=t(39332),q=t(67294),E=t(64712),P=t(6470),T=t(32202),guide=e=>{let{isTrigger:a}=e;return(0,i.jsx)(P.Z,{autoOpenKey:_.W5,autoOpenAtFirstTime:!0,isTrigger:a,videoSrc:"/static/guides/img2img.mp4",content:"Freely modify and edit image content through dialogue",children:(0,i.jsx)(T.Z,{svgId:"shuoming",className:"absolute right-2 top-1 text-base"})})};let X=y.YX.map(e=>({...e,icon:(0,i.jsx)(r.Z,{aspect:e.value}),activeIcon:(0,i.jsx)(r.Z,{aspect:e.value,active:!0})})),z=y.YX[1].value,Y=y.xp[0].key,Q={prompt:"",aspect:z,isMultiple:!1,img0:"",img1:"",img2:"",img3:"",imageGeneratorModel:Y};var create_image=e=>{let{createType:a}=e,t=(0,A.useRouter)(),[{prompt:r,aspect:N,isMultiple:P,imageGeneratorModel:T,img0:Y,img1:B,img2:L,img3:O},V]=(0,q.useState)(Q),D=(0,q.useCallback)((e,t)=>{if(!e)return;let{prompt:i="",aspect:r=z,img0:l,img1:s,img2:n,img3:o,generator_model:m}=e,d=getValidImageGeneratorModel(m),c=(0,I.rP)(y.YX,r);if("img2img"===a){let e=!!(s||n||o);if("single_image"===t){V({...Q,img0:l});return}V({img0:l,img1:s,img2:n,img3:o,prompt:i,aspect:c,isMultiple:e,imageGeneratorModel:d});return}if("txt2img"===a){V({isMultiple:!1,prompt:i,aspect:c,imageGeneratorModel:d});return}},[a]),H=(0,q.useMemo)(()=>(0,F.ff)(T,y.Br)||(0,F.ff)(T,y.Ls),[T]),{loading:K}=(0,k.Z)({onSuccess:D});(0,q.useEffect)(()=>()=>{V(Q)},[]);let R=(0,q.useCallback)((e,a)=>{V(t=>({...t,[e]:a}))},[]),W=(0,q.useCallback)(e=>{V(a=>({...a,...e}))},[]),J=(0,q.useCallback)(()=>{V(Q)},[]),{refreshHistory:$}=(0,S.z)(),{refreshUserQuota:ee}=(0,U.useUserQuotaStore)(),{trackEvent:ea}=(0,x.ZA)(),{runPreparation:et,loading:ei}=(0,j.Z)({onError(e){E.Am.error((0,I.Eh)(e))}}),{runAsync:er,loading:el}=(0,b.Z)(Z.je,{manual:!0,onSuccess(){var e;E.Am.success("Task submitted successfully."),J(),$(),ee(),ea({eventName:"imageGeneration_make",properties:{imageGeneration_type:(0,G.Xd)(a),imageGeneration_ratio:H?void 0:N,imageGeneration_multiple:P,imageGeneration_model:(null===(e=y.xp.find(e=>e.key===T))||void 0===e?void 0:e.label)||T}}),(0,I.tq)()&&t.push(w.Z.mobileTasks)},onError(e){1e4===e.code&&ee()}}),es=(0,q.useCallback)(async()=>{if("img2img"===a&&!Y){(0,s.Pt)("Please upload an image");return}if(!r){(0,s.Pt)("Please describe the image you want to generate");return}let e=[Y,B,L,O].filter(Boolean).map(e=>({file:e,format:"jpg"})),{taskId:t,uploadResults:i=[],uploadDuration:l}=await et({only_task_id:"txt2img"===a,files:"img2img"===a?e:[]});await er({model:_.Xt,task_id:t,entry:"image_generation",sub_entry:a,upload_duration:l,upload_file_urls:null==i?void 0:i.map(e=>e.fileUrl||""),ai_image_data:{prompt_text:r,aspect_ratio:H?void 0:N,image_generator_model:T}})},[Y,B,L,O,N,T,r,et,er,a,H]),en=(0,q.useMemo)(()=>(0,I.eq)(Y),[Y]),eo=(0,q.useMemo)(()=>(0,I.eq)(B),[B]),em=(0,q.useMemo)(()=>(0,I.eq)(L),[L]),ed=(0,q.useMemo)(()=>(0,I.eq)(O),[O]),{loading:ec,runAsync:eu}=(0,b.Z)(e=>fetch((0,I.CF)(e)),{manual:!0}),[eg,ep]=(0,q.useState)(),eh=(0,q.useCallback)(async e=>{var a,t,i,r,l;let s="";if(e.promptUrl){let a=await eu(e.promptUrl);a.ok&&(s=await a.text())}W({img0:null===(a=e.resourceUrls[0])||void 0===a?void 0:a.src,img1:null===(t=e.resourceUrls[1])||void 0===t?void 0:t.src,img2:null===(i=e.resourceUrls[2])||void 0===i?void 0:i.src,img3:null===(r=e.resourceUrls[3])||void 0===r?void 0:r.src,prompt:s}),ep(e.id),(null==e?void 0:null===(l=e.resourceUrls)||void 0===l?void 0:l.length)>1&&W({isMultiple:!0})},[W,eu]);return(0,i.jsxs)(d.Z,{loading:ei||el||K||ec,contentClassName:"pt-[1.88rem]",footer
1:(0,i.jsx)(l.Z,{loading:ei||el,onClick:es,entry:"image_generation",imageGeneratorModel:T}),header:(0,i.jsx)(g.Z,{options:y.Yu.map(e=>"img2img"===e.value?{...e,icon:(0,i.jsx)(guide,{isTrigger:"img2img"===a})}:e),value:a,onChange:e=>{e!==a&&(t.push(w.Z[e]),J())}}),children:[(0,i.jsx)(m.Z,{label:"Model",children:(0,i.jsx)(v.Z,{model:T,onModelChange:e=>R("imageGeneratorModel",e),models:y.xp})}),"img2img"===a&&(0,i.jsxs)(m.Z,{label:(0,i.jsxs)("div",{className:"flex justify-between mb-[0.63rem]",children:["Image",(0,i.jsxs)("div",{className:"flex items-center gap-1 font-normal text-sm",children:[(0,i.jsx)(f.r,{checked:P,onCheckedChange:e=>R("isMultiple",e)}),"Multiple Images"]})]}),labelClassName:"mb-0",children:[P?(0,i.jsx)("div",{className:"grid grid-cols-2 gap-[0.63rem]",children:["img0","img1","img2","img3"].map(e=>{let a="img0"===e?en:"img1"===e?eo:"img2"===e?em:ed;return(0,i.jsx)(o.Z,{uploadConfig:{className:"h-[7.5rem]",icon:(0,i.jsx)(h.Z,{svgId:"upload",size:"md"})},onFileCompleted:a=>R(e,a),onCancel:()=>{R(e,void 0),ep(void 0)},result:a,className:"h-[7.5rem]"},e)})}):(0,i.jsx)(o.Z,{uploadConfig:{icon:(0,i.jsx)(h.Z,{svgId:"upload",size:"md"}),className:"h-[12.5rem]"},onFileCompleted:e=>R("img0",e),result:en,onCancel:()=>{R("img0",void 0),ep(void 0)}}),(0,i.jsx)(n.Z,{hints:C.ci.img_gpt_image,className:"mt-[0.94rem]",onSelect:eh,selectedHintId:eg})]}),(0,i.jsx)(m.Z,{label:"Prompt",children:(0,i.jsx)(p.Z,{name:"prompt",onClear:()=>{R("prompt","")},maxLength:2e3,placeholder:"Describe the image you want to generate",extra:(0,i.jsx)(u.Z,{prompts:"txt2img"===a?M.og:M.yQ,onChange:e=>R("prompt",e)}),value:r,onChange:e=>{R("prompt",e.target.value)}})}),(0,i.jsx)(m.Z,{label:"Aspect ratio",className:(0,I.cn)(H&&"hidden"),children:(0,i.jsx)(c.Z,{options:X,value:N,onSelect:e=>{R("aspect",e)}})})]})}},29791:function(e,a,t){t.d(a,{r:function(){return Switch}});var i=t(85893),r=t(2978);t(67294);var l=t(68990);function Switch(e){let{className:a,...t}=e;return(0,i.jsx)(r.fC,{"data-slot":"switch",className:(0,l.cn)("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-accent focus-visible:border-ring focus-visible:ring-ring/50 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",a),...t,children:(0,i.jsx)(r.bU,{"data-slot":"switch-thumb",className:(0,l.cn)("bg-background dark:data-[state=unchecked]:bg-muted-foreground dark:data-[state=checked]:bg-[#F5F5F5] pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0")})})}}}]);
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.