Guide · Ghost mannequin
What is a ghost mannequin API? the invisible-mannequin shot
In one sentence
A ghost mannequin API takes a garment-on-mannequin photograph and returns the same garment with the mannequin removed and its interior reconstructed, so the piece appears to hold its own shape.
- Typical time: 1.5–4 min
- Credits: 4 credits at 2K · 5 credits at 4K
- Processing: async, polling
Every figure on this page comes from the Photta API docs · checked
The short answer
Ghost mannequin photography — also called hollow man or invisible mannequin — shows a garment holding its shape with no body inside it. Traditionally it is stitched together in post from several studio frames: the garment on a mannequin, then the mannequin removed, then the inside of the collar and cuffs composited back in.
A ghost mannequin API does that in one call. You send the on-mannequin photograph, the service removes the form and reconstructs what should be visible inside the garment — the neckline interior, the cuff lining, the waistband — and returns the finished image. As with try-on, the call is asynchronous: submit, poll, download.
It is the standard product-detail-page treatment for apparel, so the callers are catalogue teams and marketplaces that need a consistent look across thousands of items without booking studio time per garment.
The endpoint that does it
Read from the Photta API documentation, not written by hand.
At a glance
- Endpoint
- POST /api/v1/ghost-mannequin
- Authentication
- Bearer API key
- Processing
- Asynchronous — poll the status endpoint
- Typical time
- 1.5–4 min
- Credits
- 4 credits at 2K · 5 credits at 4K
- Aspect ratios
- 3:4 · 1:1 · 4:3 · 9:16 · 16:9
- Input limits
- Up to 10 MB per image; JPEG, PNG, WebP
- Idempotent
- No
What to look for in a ghost mannequin API
What you send
The garment photographed on a mannequin, plus an optional back view. Photta accepts JPEG, PNG and WebP up to 10 MB per image.
Which finish you get
Photta’s endpoint takes a style: 3d keeps the three-dimensional volume of the garment, flat_lay collapses it to a clean front-facing lay-out.
What it costs
4 credits at 2K and 5 at 4K on Photta — one credit less than try-on at each tier, refunded automatically when a job fails.
Whether it batches
Catalogue work arrives in racks, not singles. Photta has a batch endpoint that takes an array, reserves the credits upfront and reports per-item status.
The first request
The same call in cURL, Node.js and Python.
RESPONSE=$(curl -s -X POST https://api.photta.app/api/v1/ghost-mannequin \
-H "Authorization: Bearer $PHOTTA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"product_image": "https://cdn.yourstore.com/products/jacket-front.jpg",
"back_image": "https://cdn.yourstore.com/products/jacket-back.jpg",
"image_side": "front",
"angle": "side",
"style": "3d",
"background_color": "white",
"resolution": "2K",
"aspect_ratio": "3:4",
"user_instruction": "closed front, cream interior lining",
"brand_label_id": "7cc9f988-068b-44cd-8004-22f486b10e67"
}')
ID=$(echo "$RESPONSE" | jq -r '.data.id')const res = await fetch("https://api.photta.app/api/v1/ghost-mannequin", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.PHOTTA_API_KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({
"product_image": "https://cdn.yourstore.com/products/jacket-front.jpg",
"back_image": "https://cdn.yourstore.com/products/jacket-back.jpg",
"image_side": "front",
"angle": "side",
"style": "3d",
"background_color": "white",
"resolution": "2K",
"aspect_ratio": "3:4",
"user_instruction": "closed front, cream interior lining",
"brand_label_id": "7cc9f988-068b-44cd-8004-22f486b10e67"
}),
});
const { data } = await res.json(); // data.id, data.statusimport os, requests
res = requests.post(
"https://api.photta.app/api/v1/ghost-mannequin",
headers={"Authorization": f"Bearer {os.environ['PHOTTA_API_KEY']}"},
json={
"product_image": "https://cdn.yourstore.com/products/jacket-front.jpg",
"back_image": "https://cdn.yourstore.com/products/jacket-back.jpg",
"image_side": "front",
"angle": "side",
"style": "3d",
"background_color": "white",
"resolution": "2K",
"aspect_ratio": "3:4",
"user_instruction": "closed front, cream interior lining",
"brand_label_id": "7cc9f988-068b-44cd-8004-22f486b10e67"
},
)
data = res.json()["data"] # data["id"], data["status"]Questions about ghost mannequin APIs
What is a ghost mannequin photo?
A product shot where the garment appears to float, holding its shape with no visible body or hanger. It shows fit and interior construction at once, which is why it is the default on apparel product pages.
What do I send the endpoint?
A photograph of the garment on a mannequin. A back view is optional and improves the reconstruction when the garment is open or reversible.
Should I pick 3d or flat lay?
3d when you want the garment to read as worn — volume, shoulders, sleeves. flat_lay when the listing expects a consistent front-facing shape, which marketplaces often do.
What does one image cost?
On Photta, 4 credits at 2K and 5 at 4K. In a batch the same per-image price is reserved upfront for the whole run.
Can I run a whole catalogue?
Yes, through the batch endpoint. Batch size and how many batches can run at once both follow your plan, so a large catalogue runs as a sequence of batches.
Read next
Capabilities
Ghost mannequin API for hollow-man product photos
AI ghost mannequin endpoint. Remove the mannequin from a garment photo and preserve interior detail. 3D or flat-lay, batch processing, 4 credits at 2K.
ReadCompare
Photta vs Pixazo — first-party pipeline or model aggregator
Photta vs Pixazo compared: first-party fashion pipeline vs multi-model aggregator. Endpoints, latency, free tier and trade-offs. Sourced 2026-04-19.
ReadReference
Photta API pricing
What each Photta API endpoint costs in credits at 2K and 4K, how charging and refunds work, and which endpoints are free. No per-image money price.
ReadReference
Photta API rate limits
The Photta API rate limit, its window, the Retry-After header, the polling interval and the per-plan concurrency caps, all read from the API documentation.
ReadQuickstart
First Photta image in under five minutes.
Sign up, generate an API key, run your first cURL call, poll until it completes, persist the result. Five steps, documented end-to-end.
Read
Every figure on this page comes from the Photta API docs · checked
Run one garment through it
One photograph in, one invisible-mannequin shot out.
- 1.5–4 min
- 4 credits at 2K · 5 credits at 4K
- async, polling