Capability · Ghost mannequin

Ghost mannequin API til hollow-man-produktfotos

I én sætning

Phottas ghost mannequin API tager et foto af tøj på en mannequin og returnerer et usynlig-mannequin-billede med tøjets inderside rekonstrueret. Vælg 3d- eller flat_lay-stil, POST, foretag polling hvert 3. sekund, download ved completed.

  • Typisk tid: 1.5–4 min
  • Credits: 4 credits ved 2K · 5 credits ved 4K
  • Behandling: async, polling
  • Grænser: 600 requests/min
  • Autentifikation: Bearer key

Hvert tal på denne side stammer fra Photta API-dokumentationen · tjekket

POST/api/v1/ghost-mannequin
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')
A garment shown without its mannequin by the ghost mannequin API
Eksempel på output

Kort fortalt

Kort fortalt

Endpoint
POST /api/v1/ghost-mannequin
Autentifikation
Bearer API-nøgle
Behandling
Asynkron — poll status-endpointet
Typisk tid
1.5–4 min
Credits
4 credits ved 2K · 5 credits ved 4K
Billedformater
3:4 · 1:1 · 4:3 · 9:16 · 16:9
Inputgrænser
Op til 10 MB pr. billede; JPEG, PNG, WebP
Idempotent
Nej

Request og response

Request

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')

202 Accepted / Completed

{
  "data": {
    "id": "gm_d4e5f6",
    "status": "processing",
    "style": "3d",
    "angle": "side",
    "background_color": "white",
    "resolution": "2K",
    "aspect_ratio": "3:4",
    "credits_used": 4,
    "created_at": "2026-04-10T16:00:00Z"
  },
  "request_id": "req_gm001"
}

Request-parametre

product_image

Type: stringPåkrævet

URL or base64 data URI of the garment photo (front or back, on a mannequin or flat).

back_image

Type: string

URL or base64 data URI of the opposite side — helps the AI reconstruct the interior of the garment for a more realistic 3D effect.

image_side

Type: string

Which side product_image represents.

= front

Værdier: frontback
angle

Type: string

Camera angle for the output. "side" is worth calling out: the side view is reconstructed from the front photo (plus the back photo when provided), giving you a third catalog view without a third photoshoot — and it works well even on textured garments (crochet, lace, embroidery).

= straight

Værdier: straightbackside
style

Type: string

Output style: "3d" (ghost mannequin with 3D body shape) or "flat_lay" (garment laid flat, mannequin removed).

= 3d

Værdier: 3dflat_lay
background_color

Type: string

Background color.

= white

Værdier: whitegraybeigeblack
resolution

Type: string

Output resolution. "2K" costs 4 credits per image; "4K" costs 5 credits per image. 4K is produced natively in a single generation — pick it upfront; the resolution cannot be changed after creation. Note: 4K cannot be combined with aspect_ratio 1:1 — that combination returns 400.

= 2K

Værdier: 2K4K
aspect_ratio

Type: string

Output aspect ratio. Note: 1:1 is not available at 4K resolution — 1:1 combined with 4K returns 400.

= 3:4

Værdier: 3:41:14:39:1616:9
user_instruction

Type: string

Optional free-form note, max 400 characters (anything longer is silently truncated). A guarded steer for ambiguous rendering choices — e.g. "closed front", "cream interior lining", "buttoned up" — it never overrides the source garment, brand label, or structural reconstruction, and it is explicitly NOT a determinism/seed control.

brand_label_id

Type: string

Brand label UUID returned by the Brand Labels API. Applied to the generated garment when present. API v1 request fields use snake_case; use brand_label_id.

Fejl

400invalid_request_error
The request is malformed or contains invalid parameters.
401authentication_error
The API key is missing, invalid, or expired.
402insufficient_credits_error
Your account does not have enough credits.
404not_found_error
The requested resource does not exist.
409conflict_error
The request conflicts with current state — e.g. your concurrent-batch cap is reached.
429rate_limit_error
Too many requests. Slow down and retry.Retry-After: 30
500api_error
An internal server error occurred. Retry later.

Grænser

  • 600 anmodninger i minuttet pr. API-nøgle (Fast vindue; grænsen er den samme på alle planer)
  • En 429 indeholder Retry-After: 30 sekunder
  • Op til 10 MB pr. billede
  • Formater: JPEG, PNG, WebP
  • Samtidige batches pr. plan: Free 1 · Hobby 2 · Seller 3 · Brand 4 · Studio 6
  • Kun polling — API'et sender ingen webhooks.

Ét foto ind, ét usynlig gipsfigur-foto ud

Upload kilden, vælg en stil, indsend, foretag polling, download.

  1. Trin 1

    Generér en API-nøgle

    Ghost mannequin bruger de samme legitimationsoplysninger som enhver anden Photta-funktion — én nøgle, én credits-saldo.

  2. Trin 2

    Upload kildefotoet

    Send en offentlig URL eller en base64 data-URI i `product_image`; tilføj `back_image`, hvis du har et billede af bagsiden. JPEG, PNG og WebP op til 10 MB pr. billede.

  3. Trin 3

    POST ghost mannequin-jobbet

    POST til `/api/v1/ghost-mannequin` med `product_image`, `style` (`3d` eller `flat_lay`) og valgfri `angle`, `background_color`, `resolution`. Polling er det eneste signal på fuldførelse — API'et sender ingen webhooks.

  4. Trin 4

    Foretag polling, indtil jobbet er fuldført

    GET `/api/v1/ghost-mannequin/:id` hvert 3. sekund, indtil `data.status` er `completed` eller `failed`; typisk fuldførelse tager 1.5 til 4 minutter.

  5. Trin 5

    Download og persistér

    Outputtet er en PNG, hvor gipsfiguren er fjernet og tøjets inderside er rekonstrueret. Ideel til PDP-ghost-billeder, produktgallerier med 3D-fornemmelse og flat-lay-indsatser.

Spørgsmål udviklere stiller, før de deployer ghost mannequin

Hvad er ghost mannequin-fotografering?

En PDP-behandling, hvor tøjet ser ud til at svæve på en usynlig krop, hvilket viser form og indvendig konstruktion på én gang. Historisk set sammensættes det fra flere studieoptagelser; Phottas API producerer det i et enkelt kald fra ét foto på gipsfigur.

Hvad koster ghost mannequin?

4 credits ved 2K, 5 credits ved 4K — én credit billigere på hvert niveau end try-on. Mislykkede jobs refunderes automatisk.

Hvad er forskellen mellem 3D- og flat-lay-stil?

`3d`-stilen bevarer gipsfigurens tredimensionelle kropsform — tøjet bevarer volumen, skuldre og ærmer fremstår naturligt, og indersiden rekonstrueres. `flat_lay` lægger tøjet fladt ned i et rent 2D-layout, ideelt til kapselkollektioner eller markedspladser, der kræver en ensartet form forfra.

Kan jeg batch-behandle flere fotos?

Ja. POST til `/api/v1/ghost-mannequin/batch` med et array af kildebilleder. Responset giver dig et batch-ID plus genererings-ID'er pr. element. Foretag polling på `/api/v1/ghost-mannequin/batch/:id` for en samlet status eller for hvert element individuelt.

Bevarer den indvendige sømme og mærkater?

Ja — modellen rekonstruerer indersiden af tøjet (indvendig halsudskæring, indvendige manchetter, linningens foring) i stedet for at hallucinere en generisk overflade. Mærker og trykte labels, der er synlige på det originale foto, bevares så vidt muligt.

Hvordan poller jeg for resultatet?

GET `/api/v1/ghost-mannequin/:id` hvert 3. sekund. Batch-jobs poller et overordnet endpoint, der returnerer en samlet status plus en opdeling pr. element.

Relaterede funktioner

Hvert tal på denne side stammer fra Photta API-dokumentationen · tjekket

Prøv API'et på fem minutter

Generér en Photta API-nøgle, indsæt cURL-kodestykket ovenfor, og du har dit første billede på en model, før kaffen er færdigbrygget.

  • 1.5–4 min
  • 4 credits ved 2K · 5 credits ved 4K
  • async, polling
  • 600 requests/min
  • Bearer key