1import{L as e}from"./index-DnRH7h1J.js";import{h as t,a,z as i,i as o,u as s,v as n,E as r,s as l,S as u,r as p,g as h,R as c,_ as g}from"./index-CsrWnaU6.js";import{r as d,c as m,az as y,a0 as f,o as v,$ as q,V as M,E as T,J as b,v as w,a4 as I,D as S,j as P,B as R}from"./vue-vendor-Bw9FB4GB.js";import{g as G,d as k}from"./generate-C_uO8-Eq.js";import{g as x}from"./analysis-Bn7hPsu5.js";import{C as F}from"./clothing-B-Gf25L-.js";import{H as C}from"./common-Gpu7r0jD.js";import{G as D}from"./generationManager-_lPYYpho.js";/* empty css */import{u as O}from"./useFieldErrors-DlHxMDHc.js";import{u as j}from"./useDevice-CG4K0oq9.js";import{u as A}from"./useLocalizedSeoHead-BpXxh6do.js";import{A as L}from"./AppPromotionPage-1hQQuhij.js";import{u as K}from"./i18n-BHrxWlsI.js";import"./TryonMobileVideo-BqZKzJhH.js";import"./lottiePlayers-CAVgj5Hp.js";import"./UploadSourceDropdown-DWWQq1bB.js";import"./el-popper-BDCswERc.js";import"./constants-0EFMbEs_.js";import"./utils-C7MzJQS2.js";import"./index-vmmgAv_J.js";import"./el-popover-Cu5HoJVw.js";import"./dropdown-Da3jlaSw.js";import"./el-collapse-item-ICP9Gszf.js";import"./event-BwRzfsZt.js";import"./CustomerReviews-WHh_2RFC.js";import"./auth0-1J-6ldl2.js";import"./promise-poller-DQ7_5qNL.js";import"./_commonjsHelpers-lGe4XDVY.js";import"./index-BJhmuWAi.js";import"./download-xa7RH0aO.js";import"./singleUpload-BHOJlIBx.js";import"./useLottie-1xE3PweK.js";import"./shopify-BeUFq182.js";import"./aiUndress-D86U_Ku9.js";import"./packDisplay-B4iX3oip.js";import"./vue.f36acd1f-BAKef-bi.js";const _=O(),{errors:Q,registerField:U,setError:H,clearError:E}=_,{isPC:N,isMobile:B}=j(),W=s(),V=i();class z extends D{uploadCardTitle="generation.funcRouting.ghostMannequin";uploadBtnTitle=a("ghostMannequin.ui.uploadBtnTitle");#e=d("Select");#t=d([{label:a("ghostMannequin.options.photo1"),value:1},{label:a("ghostMannequin.options.photo2"),value:2}]);#a=d(2);#i=[{label:a("ghostMannequin.options.genderUniversal"),value:"universal"},{label:a("ghostMannequin.options.genderMasculine"),value:"masculine"},{label:a("ghostMannequin.options.genderFeminine"),value:"feminine"}];#o=d("universal");#s=d(-1);#n=d([]);clothingOptions=F;#r=d([{label:a("ghostMannequin.options.modelBasic"),description:a("ghostMannequin.options.modelBasicDesc"),value:"basic",credits:1},{label:a("ghostMannequin.options.modelPro"),description:a("ghostMannequin.options.modelProDesc"),value:"pro",credits:3}]);#l=d("basic");#u=d([{label:"1K",value:"1k",credits:1},{label:"4K",value:"4k",credits:3}]);#p=d("1k");#h=d(!1);#c=d(!1);#g=d("");#d=d("");#m=d([{label:a("ghostMannequin.magicFix.stillFlat"),value:1},{label:a("ghostMannequin.magicFix.mannequinVisible"),value:2},{label:a("ghostMannequin.magicFix.textureMissing"),value:3},{label:a("ghostMannequin.magicFix.backCollarMissing"),value:4},{label:a("ghostMannequin.magicFix.backgroundNotWhite"),value:5}]);#y=d([]);#f=d("");#v=d("");#q=d("");photoTemplates=d([]);backgroundColor="#E9F97C";caseTitle=a("ghostMannequin.hero.title");caseTitleColor="linear-gradient(115.9deg, #7995ff 9.9%, #953eff 90.9%)";caseSubtitle=a("ghostMannequin.hero.subtitle");uploadsBackground="linear-gradient(90deg, #c7fb7d4d 0%, #84e8ff4d 100.8%)";uploadsText=a("ghostMannequin.hero.uploadsText");videoSrc="/Ghost/ghost-video.mp4";placeholderImageSrc="/Ghost/ghost-placeholderVideo";cardTitle=a("ghostMannequin.cards.title");cardSubtitle=a("ghostMannequin.cards.subtitle");sampleImages=[{id:"1",cdnKey:"try-image-tops-front-flat",uploadPath:"try-image-tops-front-flat-upload.webp",alt:"Try Snappyit to generate ghost mannequin photos of the top"},{id:"2",cdnKey:"try-image-set",uploadPath:"try-image-set.webp",alt:"Try Snappyit to generate ghost mannequin photos of the sets"},{id:"3",cdnKey:"try-image-pants-front-flat",uploadPath:"try-image-pants-front-flat-upload.webp",alt:"Try Snappyit to generate ghost mannequin photos of the pants"},{id:"4",cdnKey:"try-image-shoes",uploadPath:"try-image-shoes.webp",alt:"Try Snappyit to generate professional product photos of the shoes"}];categories=[{id:"1",label:a("ghostMannequin.categories.dress"),before:"Ghost/Dress/showcase-dress-before",after:"Ghost/Dress/showcase-dress-after",beforeAlt:"Original flat lay photo of a dress",AfterAlt:"Snappyit generated ghost mannequin photo of a dress for ecommerce"},{id:"2",label:a("ghostMannequin.categories.top"),before:"Ghost/Tops/showcase-tops-before",after:"Ghost/Tops/showcase-tops-after",beforeAlt:"Original flat lay photo of a shirt",AfterAlt:"Snappyit generated ghost mannequin photo of a shirt for ecommerce"},{id:"3",label:a("ghostMannequin.categories.outerwear"),before:"Ghost/Outerwear/showcase-outerwear-before",after:"Ghost/Outerwear/showcase-outerwear-after",beforeAlt:"Original product photo of outerwear",AfterAlt:"Snappyit generated ghost mannequin photo of outerwear for ecommerce"},{id:"4",label:a("ghostMannequin.categories.lingerie"),before:"Ghost/Lingerie/showcase-lingerie-before",after:"Ghost/Lingerie/showcase-lingerie-after",beforeAlt:"Original product photo of lingerie",AfterAlt:"Snappyit generated ghost mannequin photo of lingerie for ecommerce"}];DetailInfo={title:a("ghostMannequin.detail.title"),subtitle:a("ghostMannequin.detail.subtitle"),sections:[{title:a("ghostMannequin.detail.section1Title"),description:a("ghostMannequin.detail.section1Desc"),image:"LandingPage/ghost-mannequin/mannequin-10",imageLayout:"right",alt:"AI ghost mannequin generator creating 3D clothing product images for ecommerce"},{title:a("ghostMannequin.detail.section2Title"),description:a("ghostMannequin.detail.section2Desc"),images:[{image:"LandingPage/ghost-mannequin/3-2-1-small",bigImage:"LandingPage/ghost-mannequin/3-2-1-big",alt:"ghost mannequin Effects for outerwear"},{image:"LandingPage/ghost-mannequin/3-2-2-small",bigImage:"LandingPage/ghost-mannequin/3-2-2-big",alt:"ghost mannequin Effects for lingerie"},{image:"LandingPage/ghost-mannequin/3-2-3-small",bigImage:"LandingPage/ghost-mannequin/3-2-3-big",alt:"hanger photo to ghost mannequin"}],alt:"AI product photo generator for fashion accessories with clean, professional visual
1s",imageLayout:"left"},{title:a("ghostMannequin.detail.section3Title"),description:a("ghostMannequin.detail.section3Desc"),image:"LandingPage/ghost-mannequin/3-3",alt:"On-Model Photo to Mannequin-Free Presentation",imageLayout:"right",bigImageLayout:"top"}]};HowToInfo={title:a("ghostMannequin.howItWorks.title"),description:a("ghostMannequin.howItWorks.description"),steps:[{title:a("ghostMannequin.howItWorks.step1Title"),description:[a("ghostMannequin.howItWorks.step1Desc1"),a("ghostMannequin.howItWorks.step1Desc2")]},{title:a("ghostMannequin.howItWorks.step2Title"),description:[a("ghostMannequin.howItWorks.step2Desc1"),a("ghostMannequin.howItWorks.step2Desc2")]},{title:a("ghostMannequin.howItWorks.step3Title"),description:[a("ghostMannequin.howItWorks.step3Desc1")]}]};FAQInfo={title:a("ghostMannequin.faq.title"),ctaPath:"/ghost-mannequin/generator",faqs:[{question:a("ghostMannequin.faq.q1"),answer:a("ghostMannequin.faq.a1")},{question:a("ghostMannequin.faq.q2"),answer:a("ghostMannequin.faq.a2")},{question:a("ghostMannequin.faq.q3"),answer:a("ghostMannequin.faq.a3")},{question:a("ghostMannequin.faq.q4"),answer:a("ghostMannequin.faq.a4")},{question:a("ghostMannequin.faq.q5"),answer:a("ghostMannequin.faq.a5")},{question:a("ghostMannequin.faq.q6"),answer:a("ghostMannequin.faq.a6")},{question:a("ghostMannequin.faq.q7"),answer:a("ghostMannequin.faq.a7")},{question:a("ghostMannequin.faq.q8"),answer:a("ghostMannequin.faq.a8")},{question:a("ghostMannequin.faq.q9"),answer:a("ghostMannequin.faq.a9")},{question:a("ghostMannequin.faq.q10"),answer:a("ghostMannequin.faq.a10")}]};ExploreInfo={titleKey:"ghostMannequin.explore.title",hideNavigation:!0,centered:!0,buttonTextKey:"ghostMannequin.explore.buttonText",cards:[{titleKey:"ghostMannequin.explore.card1Title",descKey:"ghostMannequin.explore.card1Desc",route:"/flat-lay",image:"FlatLay/product"},{titleKey:"ghostMannequin.explore.card2Title",descKey:"ghostMannequin.explore.card2Desc",route:"/color-change",image:"Recolor/recolor-product"},{titleKey:"ghostMannequin.explore.card3Title",descKey:"ghostMannequin.explore.card3Desc",route:"/fashion-model",image:"TryOn/tryOn-product"},{titleKey:"product.hero.removeWrinklesTitle",descKey:"product.hero.removeWrinklesDesc",route:"/remove-wrinkles-from-clothes",image:"RemoveWrinkles/product"}]};CTASectionInfo={primaryCta:a("ghostMannequin.cta.primaryCta"),title:a("ghostMannequin.cta.title"),description:a("ghostMannequin.cta.description"),primaryPath:"/ghost-mannequin/generator",secondaryText:"Explore Snappyit",secondaryPath:"/"};OtherFeatureInfo={title:a("ghostMannequin.otherFeature.title"),titleColor:"linear-gradient(90deg, #E864C9 13.46%, #FFF100 52.88%)",content:a("ghostMannequin.otherFeature.content"),buttonText:a("ghostMannequin.otherFeature.buttonText"),path:"/flat-lay",image:"Ghost/FlatLay"};UseCaseInfo={titleKey:"ghostMannequin.useCaseSection.title",cards:[{titleKey:"common.footerLinks.useCase.flatLayToGhostMannequin",descriptionKey:"ghostMannequin.useCaseSection.flatLayDescription",image:"Ghost/use_case_1",path:"https://snappyit.ai/use-case/flat-lay-to-ghost-mannequin"},{titleKey:"ghostMannequin.useCaseSection.amazonTitle",descriptionKey:"ghostMannequin.useCaseSection.amazonDescription",image:"Ghost/use_case_2",path:"https://snappyit.ai/use-case/ghost-mannequin-for-amazon-sellers"}]};BlogInfo={titleKey:"ghostMannequin.blogSection.title",cards:[{titleKey:"ghostMannequin.blogSection.takePicturesTitle",descriptionKey:"ghostMannequin.blogSection.takePicturesDescription",image:"Ghost/blog_1",path:"https://snappyit.ai/blog/how-to-take-pictures-of-clothes-without-mannequin"},{titleKey:"ghostMannequin.blogSection.bestToolsTitle",descriptionKey:"ghostMannequin.blogSection.bestToolsDescription",image:"Ghost/blog_2",path:"https://snappyit.ai/blog/best-invisible-mannequin-tools-compared"},{titleKey:"ghostMannequin.blogSection.phoneTitle",descriptionKey:"ghostMannequin.blogSection.phoneDescription",image:"Ghost/blog_3",path:"/blog/how-to-create-ghost-mannequin-photos-on-your-phone"},{titleKey:"ghostMannequin.blogSection.editingTitle",descriptionKey:"ghostMannequin.blogSection.editingDescription",image:"Ghost/blog_4",path:"https://snappyit.ai/blog/ghost-mannequin-photo-editing"}]};errors=Q;clearError=E;constructor(){super("ghostMannequin"),U("customPrompt",this.#q,[{validator:e=>!!(e&&e.trim().length>0),message:a("ghostMannequin.messages.customPromptRequired")}])}get additionalPrompt(){return m({get:()=>this.#v.value,set:e=>{this.#v.value=e}})}get customPrompt(){return m({get:()=>this.#q.value,set:e=>{this.#q.value=e}})}get clothingTypes(){return m(()=>this.#n.value)}getClothingTypeApi=async()=>
1{if(this.#n.value.length>0)return this.#n.value;const e=await x();return this.#n.value=e||[],this.selectedSelectType.value&&(this.photoTemplates.value=this.#n.value.find(e=>e.clothingType===Number(this.selectedSelectType.value))?.styleTemplates??[]),this.#n.value};get disabledInput(){return m(()=>!this.isLoadImage.value||this.isLoading.value||this.submitting.value||this.lottieIsVisible.value)}get photoOptions(){return m(()=>this.#t.value)}get selectedPhotos(){return m({get:()=>this.#a.value,set:e=>{this.#a.value=e}})}get advancedCollapse(){return y(W).advancedCollapse}get continueBeforeVisible(){return y(W).continueBeforeVisible}get currentMagicFixUrl(){return m(()=>this.#g.value)}get currentMagicTaskId(){return m(()=>this.#d.value)}get magicFixOptions(){return m(()=>this.#m.value)}get collarChecked(){return m({get:()=>this.#y.value,set:e=>{this.#y.value=e}})}get customDescription(){return m({get:()=>this.#f.value,set:e=>{this.#f.value=e}})}get selectedGenderStyle(){return m({get:()=>this.#o.value,set:e=>{this.#o.value=e}})}get selectedSelectType(){return m({get:()=>this.#e.value,set:e=>{this.#e.value=e}})}get selectedTemplateId(){return m({get:()=>this.#s.value,set:e=>{this.#s.value=e}})}get genderOptions(){return m(()=>this.#i)}get isMagicFixModalVisible(){return m(()=>this.#c.value)}get modelOptions(){return m(()=>this.#r.value)}get selectedModel(){return m({get:()=>this.#l.value,set:e=>{this.#l.value=e}})}get imageQualityOptions(){return m(()=>this.#u.value)}get selectedImageQuality(){return m({get:()=>this.#p.value,set:e=>{this.#p.value=e}})}get imageQualityUpdating(){return m(()=>this.#h.value)}get selectedModelCredits(){return m(()=>"4k"===this.#p.value?3:1)}isCustom=m(()=>"custom"===(this.photoTemplates.value??[]).find(e=>e.id===Number(this.selectedTemplateId.value))?.type);itemPromptMap=m(()=>Object.fromEntries(this.detailList.value.map(e=>[e.id,this.getItemPrompt(e)])));showMagicFixModal=(e,t)=>{this.#c.value=!0,this.#g.value=e,this.#d.value=t};hideMagicFixModal=()=>{this.#c.value=!1,this.clearMagicFixData()};switchGenderStyle=async(e,t=!1)=>{this.currentUploadedKey.value&&this.currentHistoryUrl.value&&this.isLoadImage.value&&e!==this.selectedGenderStyle.value&&(!this.continueBeforeVisible.value||"universal"===e||t?(this.selectedGenderStyle.value=e,await this.updateGenerateParam("genderStyle",e,"genderStyle")):V.showModal("continueBefore",{props:{title:e},onConfirm:t=>this.switchGenderStyle(t??e,!0)}))};switchPhoto=async e=>{this.currentUploadedKey.value&&this.currentHistoryUrl.value&&this.isLoadImage.value&&(this.selectedPhotos.value=e,await this.updateGenerateParam("imageCount",e,"imageCount"))};switchModel=async e=>{this.currentUploadedKey.value&&this.currentHistoryUrl.value&&this.isLoadImage.value&&(this.selectedModel.value=e,await this.updateGenerateParam("modelType",e,"modelType"))};showImageQualityInfo=()=>{V.showModal("GhostQualityInfo")};show4KSubscriptionGuide=()=>{V.showModal("Ghost4KPaywall")};switchImageQuality=async e=>{if(!["1k","4k"].includes(e)||e===this.selectedImageQuality.value)return!1;if("4k"===e&&!o())return this.show4KSubscriptionGuide(),!1;if(!this.currentUploadedKey.value||!this.currentHistoryUrl.value||!this.isLoadImage.value||this.#h.value)return!1;this.#h.value=!0;try{if("4k"===e){const e=await W.fetchBalance();if(!e?.hasMonthlyOrYearlySub)return this.show4KSubscriptionGuide(),!1}return await this.updateGenerateParam("imageQuality",e,"imageQuality"),this.#p.value=e,!0}catch(t){return console.error("switch image quality failed:",t),!1}finally{this.#h.value=!1}};clearMagicFixData=()=>{this.#y.value=[],this.#f.value=""};getMagicFixTypes=async()=>{const e=await G();this.#m.value=e};submitMagicFix=async()=>{this.isPending.value=!0;try{const e=await k({magicFixType:this.collarChecked.value,id:this.currentMagicTaskId.value,inputPrompt:this.customDescription.value}),t=(e.history?.records||[]).map(e=>({...e,status:0,createAt:(new Date).toISOString()}));this.detailInfo.value.list.unshift(...t),this.clearMagicFixData(),n({title:"Success",type:"success",message:a("ghostMannequin.messages.submitted"),showClose:!0,duration:3e3,offset:24})}finally{this.isPending.value=!1,this.hideMagicFixModal()}};updateAfterParseClothingType=async e=>{if(e?.errorMessage||0==e.clothingType)return this.selectedSelectType.value=6,this.photoTemplates.value=this.#n.value[5].styleTemplates,void(this.selectedTemplateId.value=this.photoTemplates.value[0].id);this.selectedSelectType.value=e.clothingType,this.photoTemplates.value=e.styleTemplates||[],this.selectedTemplateId.value=this.photoTemplates.value[0].id};handleClothingChange=()=>{this.photoTemplates.value=this.#n.value.find(e=>e.clothingType===Number(this.selectedSelectType.value))?.styleTemplates,this.selectedTemplateId.value=this.photoTemplates.value[0].id};handleSelectHistory(e,t=!1){this.submitting.value&&t?r.error(a("generation.messages.taskSubmitting")):(super.handleSelectHistory(e),this.selectedSelectType.value=e?.clothingType,this.selectedTemplateId.value=e?.styleTemplateId??-1,this.selectedPhotos.value=Number(e?.setting?.imageCount)??2,this.selectedModel.value=e?.setting?.modelType??"basic",this.#p.value=e?.setting?.imageQuality??"1k",this.photoTemplates.value=this.#n.value.find(e=>e.clothingType===Number(this.selectedSelectType.value))?.styleTemplates,this.customPrompt.value=e?.setting?.customPrompt??"",this.additionalPrompt.value=e?.setting?.additionalInfo??"")}generateImageApi=async()=>{const e=u.PENDING_GHOST_MANNEQUIN_API_DATA;let a;if(this.selectedSelectType.value&&this.selectedTemplateId.value>-1)a={key:this.currentUploadedKey.value,imageCount:this.selectedPhotos.value,clothingType:Number(this.selectedSelectType.value),styleTemplate:this.selectedTemplateId.value,imageQuality:this.selectedImageQuality.value,inputPrompt:this.isCu
1stom.value?this.customPrompt.value.trim():this.additionalPrompt.value.trim()},o()?p(e):l(e,a);else{const t=h(e);t&&(p(e),a=t)}if(!a)throw new Error("No valid data for generation");const i=await(e=>t.post("/ghost/submit",e))(a),s=this.historyList.value.find(e=>e.id===this.selectedHistoryId.value);return s&&(s.clothingType=Number(this.selectedSelectType.value),s.styleTemplateId=this.selectedTemplateId.value,s.setting.customPrompt=this.customPrompt.value,s.setting.additionalInfo=this.additionalPrompt.value,s.setting.imageQuality=this.selectedImageQuality.value),i};getHistoryListApi=async()=>{var e;return await(e={cursor:this.historyInfo.value.cursor,limit:50},t.get("/ghost/history",{params:e}))};getTaskDetailListApi=async e=>{var a;return await(a={id:e,cursor:this.detailInfo.value.cursor,limit:50},t.get("/ghost/detail/list",{params:a}))};pollingSubmitResultApi=async e=>{var a;return await(a=e,t.post("/ghost/submit/result",a))};generateImageBeforeCheck=()=>!(this.isCustom.value&&!this.customPrompt.value&&(H("customPrompt",a("ghostMannequin.messages.customPromptRequiredError")),this.scrollPanelBodyToBottom(),1));handleGenerateError=async e=>Number(e?.code)===c.GHOST_4K_NOT_ELIGIBLE&&(this.show4KSubscriptionGuide(),!0);clearData(){super.clearData(),this.photoTemplates.value=[],this.selectedTemplateId.value=-1,this.selectedSelectType.value="",this.selectedPhotos.value=2,this.selectedGenderStyle.value="universal",this.selectedModel.value="basic",this.#p.value="1k",this.customPrompt.value="",this.additionalPrompt.value=""}scrollPanelBodyToBottom=()=>{if(this.isCustom.value){if(N.value){const e=document.querySelector(".ghost-panel__body");e&&e.scrollTo({top:e.scrollHeight,behavior:"smooth"})}if(B.value){const e=document.querySelector(".section_2-body-mobile");e&&e.scrollTo({top:e.scrollHeight,behavior:"smooth"})}}};parseAlt=e=>`3D Ghost Mannequin template for ${this.selectedSelectType.value}, showing ${C(e)} , for fashion photography`;getItemPrompt=e=>{const t=e?.recordType;switch(t){case"common":return e?.setting?.additionalInfo??"";case"custom":return e?.setting?.customPrompt??"";case"retry":return e?.setting?.retryUserPrompt??"";default:return""}};importUserGeneratedImageInfo=async e=>{if("custom"===e?.recordType||"common"===e?.recordType){if([16,17].includes(Number(e?.styleTemplateId)))return;this.selectedSelectType.value=e?.clothingType,this.selectedTemplateId.value=e?.styleTemplateId??-1,this.photoTemplates.value=this.#n.value.find(e=>e.clothingType===Number(this.selectedSelectType.value))?.styleTemplates,"custom"===e?.recordType&&(this.customPrompt.value=e?.setting?.customPrompt??""),"common"===e?.recordType&&(this.additionalPrompt.value=e?.setting?.additionalInfo??""),this.switchModel(e?.setting?.modelType??"basic"),this.#p.value=e?.setting?.imageQuality??"1k"}if("retry"===e?.recordType){if(""===e?.setting?.retryTypeValues&&""===e?.setting?.retryUserPrompt)return;this.showMagicFixModal(e?.url,e?.id),this.collarChecked.value=JSON.parse(e?.setting?.retryTypeValues||"[]"),this.customDescription.value=e?.setting?.retryUserPrompt??""}}}const $={key:0},J={key:1},Y=g({__name:"index",setup(t){const{locale:i}=K(),n=s();A("ghost_mannequin",()=>({title:"AI Ghost Mannequin Generator - Free to Try | Snappyit",meta:[{name:"description",content:"Turn flat lays, hangers or model photos into 3D ghost mannequin images that show fit, shape and fabric. No Photoshop needed."},{property:"og:title",content:"Snappyit â AI Ghost Mannequin Generator | Free Online Tool"},{property:"og:description",content:"Turn flat lays, hangers or model photos into 3D ghost mannequin images that show fit, shape and fabric. No Photoshop needed."},{property:"og:image",content:"https://static.snappyit.ai/web/SEO/OG/ghost2.jpg"},{property:"og:image:alt",content:"AI ghost mannequin images generated from product photos"},{property:"og:url",content:"https://snappyit.ai/ghost-mannequin"},{property:"og:type",content:"website"},{property:"og:locale",content:"en_US"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:title",content:"Snappyit â AI Ghost Mannequin Generator | Free Online Tool"},{name:"twitter:description",content:"Turn flat lays, hangers or model photos into 3D ghost mannequin images that show fit, shape and fabric. No Photoshop needed."},{name:"twitter:image",content:"https://static.snappyit.ai/web/SEO/OG/ghost2.jpg"}],link:[{rel:"canonical",href:"https://snappyit.ai/ghost-mannequin"}],script:[{type:"application/ld+json","data-sync-localized-faq":"true",children:JSON.stringify({"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://snappyit.ai/#organization",name:"Snappyit",legalName:"Infinity Intelligent LLC",url:"https://snappyit.ai",logo:"https://static.snappyit.ai/webp/logo-icon.webp",sameAs:["https://www.youtube.com/@Snappyit-ai","https://www.instagram.com/snappyit","https://www.tiktok.com/@snappyit","https://www.trustpilot.com/review/snappyit.ai","https://www.producthunt.com/products/snappyit"],email:"[email protected]",contactPoint:{"@type":"ContactPoint",email:"[email protected]",contactType:"customer service",availableLanguage:["English"]}},{"@type":"WebSite","@id":"https://snappyit.ai/#website",url:"https://snappyit.ai/",name:"Snappyit",publisher:{"@id":"https://snappyit.ai/#organization"},inLanguage:"en"},{"@type":"WebPage","@id":"https://snappyit.ai/ghost-mannequin#webpage",url:"https://snappyit.ai/ghost-mannequin",name:"AI Ghost Mannequin Generator - Free to Try | Snappyit",description:"Turn flat lays, hangers or model photos into 3D ghost mannequin images that show fit, shape and fabric. No Photoshop needed.",inLanguage:"en-US",isPartOf:{"@id":"https://snappyit.ai/#website"},about:{"@id":"https://snappyit.ai/ghost-mannequin#software"},primaryImageOfPage:{"@type":"ImageObject",url:"https://static.snappyit.ai/web/SEO/OG/ghost2.jpg"}},{"@type":"SoftwareApplication","@id":"https://snappyit.ai/ghost-mannequin#software",name:"Snappyit AI Ghost Mannequin Generator",applicationCategory:"MultimediaApplication",operatingSystem:"Web",description:"Turn any product photo into a professional ghost mannequin image in seconds. No studio, no Photoshop. Works with clothing, accessories, and jewelry.",url:"https://snappyit.ai/ghost-mannequin",image:"https://static.snappyit.ai/web/SEO/OG/ghost2.jpg",offers:{"@type":"Offer",price:"0",priceCurrency:"USD",availability:"https://schema.org/InStock",description:"Free credits available â no credit card required"},aggregateRating:{"@type":"AggregateRating",ratingValue:4.8,ratingCount:165,bestRating:5,worstRating:1},creator:{"@id":"https://snappyit.ai/#organization"},publisher:{"@id":"https://snappyit.ai/#organization"}},{"@type":"FAQPage","@id":"https://snappyit.ai/ghost-mannequin#faq",mainEntity:Array.from({length:"ja"===i.value||"de"===i.value?9:10},(e,t)=>{return{"@type":"Question",name:a(`ghostMannequin.faq.q${t+1}
1`),acceptedAnswer:{"@type":"Answer",text:(i=a(`ghostMannequin.faq.a${t+1}`),i.replace(/<[^>]*>/g,""))}};var i})},{"@type":"HowTo","@id":"https://snappyit.ai/ghost-mannequin#howto",name:"How to Create Ghost Mannequin Photos in 3 Steps",description:"Create ghost mannequin product images in your desktop browser or with the Snappyit mobile app. Both workflows start with a clear garment photo and include a review step before download.",tool:{"@type":"HowToTool",name:"Snappyit AI Ghost Mannequin Generator"},step:[{"@type":"HowToStep",position:1,name:"Upload a Clear Garment Photo",text:"Use a flat lay, hanger, dress-form, or on-model image with the complete garment visible. Avoid cropped edges, heavy folds, blur, overlapping products, and objects covering important details. Desktop: Open the ghost mannequin generator and upload your image. Mobile: Download the Snappyit app for iOS or Android. Select Ghost Mannequin, and upload a photo from your device."},{"@type":"HowToStep",position:2,name:"Set Up Your Ghost Mannequin Image",text:"Choose the garment category. Add any optional notes that may help guide the result, then select your preferred image quality and the number of variations. 4K output is available when you need a higher-resolution image. Once everything looks right, tap Generate."},{"@type":"HowToStep",position:3,name:"Review and Download the Result",text:"Before publishing, compare the generated image with the real garment. Check the neckline, lining, sleeve openings, seams, pattern placement, color, shape, and proportions. Regenerate or use a clearer source image if important details do not match."}]}]})}]}));const r=q(),l=f(),u=new z;"ja"!==i.value&&"de"!==i.value||(u.FAQInfo.faqs=u.FAQInfo.faqs.slice(0,9));const{isLoginAndHasHistory:p,isLoadImage:h,getHistoryList:c,historyList:g,skeletonLoading:d}=u;R("studioManager",u);const y=m(()=>p.value||h.value||l.path.includes("/generator")),G=async()=>{await w(),u.handleSelectHistory(g.value[0])};return v(async()=>{u.clearData(),await u.uploadFromPendingStore("/ghost-mannequin/generator")||(o()?n.currentHasGhostMannequinHistory?(await r.replace({path:"/ghost-mannequin/generator",query:l.query}),await c(),await G()):(await c(),g.value.length>0?(await r.replace({path:"/ghost-mannequin/generator",query:l.query}),await G()):d.value.loading=!1):d.value.loading=!1,l.query.image&&await u.initFromImageParam("/ghost-mannequin/generator"))}),(t,a)=>{const i=I("router-view");return T(),M(L,{generator:y.value},{default:b(()=>[y.value?(T(),S("div",J,[P(i)])):(T(),S("div",$,[P(e)]))]),_:1},8,["generator"])}}},[["__scopeId","data-v-579eca10"]]);export{Y as default};
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.