Funktion · Ghost mannequin

Ghost mannequin-API för hollow-man-produktfoton

I en mening

Phottas ghost mannequin-API tar ett foto på ett plagg på en docka och returnerar en osynlig docka-bild där plagginsidan har rekonstruerats. Välj stilen 3d eller flat_lay, POST:a, polla var 3:e sekund, ladda ner när den är completed.

  • Typisk tid: 1.5–4 min
  • Credits: 4 credits vid 2K · 5 credits vid 4K
  • Bearbetning: asynkron, polling
  • Gränser: 600 requests/min
  • Autentisering: Bearer-nyckel

Varje siffra på den här sidan kommer från Photter API-dokumentationen · kontrollerad

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
Exempelutdata

I korthet

I korthet

Endpoint
POST /api/v1/ghost-mannequin
Autentisering
Bearer API-nyckel
Bearbetning
Asynkron — polla status-endpointen
Typisk tid
1.5–4 min
Credits
4 credits vid 2K · 5 credits vid 4K
Bildförhållanden
3:4 · 1:1 · 4:3 · 9:16 · 16:9
Indatagränser
Upp till 10 MB per bild; JPEG, PNG, WebP
Idempotent
Nej

Request och 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-parametrar

product_image

Typ: stringObligatorisk

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

back_image

Typ: 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

Typ: string

Which side product_image represents.

= front

Värden: frontback
angle

Typ: 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ärden: straightbackside
style

Typ: string

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

= 3d

Värden: 3dflat_lay
background_color

Typ: string

Background color.

= white

Värden: whitegraybeigeblack
resolution

Typ: 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ärden: 2K4K
aspect_ratio

Typ: string

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

= 3:4

Värden: 3:41:14:39:1616:9
user_instruction

Typ: 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

Typ: 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.

Fel

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 anrop per minut per API-nyckel (Fast fönster; gränsen är densamma på alla planer)
  • En 429 innehåller Retry-After: 30 sekunder
  • Upp till 10 MB per bild
  • Format: JPEG, PNG, WebP
  • Samtidiga batcher per plan: Free 1 · Hobby 2 · Seller 3 · Brand 4 · Studio 6
  • Endast polling — API:et skickar inga webhooks.

Ett foto in, ett foto med osynlig docka ut

Ladda upp källan, välj stil, skicka, polla, ladda ner.

  1. Steg 1

    Generera en API-nyckel

    Ghost mannequin använder samma inloggningsuppgifter som alla andra Photta-funktioner — en nyckel, ett kreditsaldo.

  2. Steg 2

    Ladda upp källfotot

    Skicka en publik URL eller en base64-data-URI i `product_image`; lägg till `back_image` när du har en baksida. JPEG, PNG och WebP upp till 10 MB per bild.

  3. Steg 3

    POST:a ghost mannequin-jobbet

    POST:a till `/api/v1/ghost-mannequin` med `product_image`, `style` (`3d` eller `flat_lay`) samt valfria `angle`, `background_color`, `resolution`. Polling är den enda signalen för slutförande — API:et skickar inga webhooks.

  4. Steg 4

    Polla tills jobbet är klart

    Gör GET mot `/api/v1/ghost-mannequin/:id` var 3:e sekund tills `data.status` är `completed` eller `failed`; normal slutförandetid är 1.5 till 4 minuter.

  5. Steg 5

    Ladda ner och spara

    Resultatet är en PNG där dockan tagits bort och plaggets insida rekonstruerats. Perfekt för PDP-ghostbilder, produktgallerier med 3D-känsla och flat-lay-inlägg.

Frågor utvecklare ställer innan de driftsätter ghost mannequin

Vad är fotografering med ghost mannequin?

En PDP-behandling där plagget ser ut att sväva på en osynlig kropp, vilket visar både form och inre konstruktion samtidigt. Historiskt sätts detta ihop från flera studiobilder; Phottas API skapar det i ett enda anrop från ett foto på docka.

Vad kostar ghost mannequin?

4 credits vid 2K, 5 credits vid 4K — en credit billigare på varje nivå jämfört med try-on. Misslyckade jobb återbetalas automatiskt.

Vad är skillnaden mellan 3D- och flat-lay-stil?

`3d`-stilen behåller dockans tredimensionella kroppsform — plagget behåller volym, axlar och ärmar framträder naturligt och insidan rekonstrueras. `flat_lay` plattar till plagget till en ren 2D-layout, perfekt för kapselkollektioner eller marknadsplatslistningar som kräver en konsekvent form framifrån.

Kan jag batch-bearbeta flera foton?

Ja. POST:a till `/api/v1/ghost-mannequin/batch` med en array av källbilder. Svaret ger dig ett batch-ID plus genererings-ID:n per objekt. Polla `/api/v1/ghost-mannequin/batch/:id` för en sammanlagd status eller varje objekt individuellt.

Bevarar den inre sömmar och etiketter?

Ja — modellen rekonstruerar plaggets insida (halsringningens insida, muddens insida, linningens foder) istället för att hallucinera en generisk yta. Märkeslappar och tryckta etiketter som syns på originalfotot behålls när det är möjligt.

Hur pollar jag efter resultatet?

Gör GET mot `/api/v1/ghost-mannequin/:id` var 3:e sekund. Batch-jobb pollar en överordnad endpoint som returnerar en sammanlagd status plus en uppdelning per objekt.

Relaterade funktioner

Varje siffra på den här sidan kommer från Photter API-dokumentationen · kontrollerad

Testa API:et på fem minuter

Generera en Photta API-nyckel, klistra in cURL-kodfragmentet ovan, och du har din första bild på en modell innan kaffet har bryggts klart.

  • 1.5–4 min
  • 4 credits vid 2K · 5 credits vid 4K
  • asynkron, polling
  • 600 requests/min
  • Bearer-nyckel