Funktion · Ghost-Mannequin

Ghost-Mannequin-API für Hollow-Man-Produktfotos

In aller Kürze

Die Ghost-Mannequin-API von Photta nimmt ein Foto eines Kleidungsstücks auf einer Puppe entgegen und liefert ein Bild mit unsichtbarer Puppe zurück, bei dem das Innere des Kleidungsstücks rekonstruiert ist. Wählen Sie den Stil 3d oder flat_lay, senden Sie den POST-Request, pollen Sie alle 3 Sekunden und laden Sie das Ergebnis herunter, sobald es completed ist.

  • Typische Dauer: 1.5–4 min
  • Credits: 4 Credits bei 2K · 5 Credits bei 4K
  • Verarbeitung: asynchron, Polling
  • Limits: 600 Anfragen/Min.
  • Authentifizierung: Bearer-Key

Jeder Zahlenwert auf dieser Seite stammt aus der Photta-API-Dokumentation · geprüft

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
Beispielausgabe

Auf einen Blick

Auf einen Blick

Endpoint
POST /api/v1/ghost-mannequin
Authentifizierung
Bearer-API-Schlüssel
Verarbeitung
Asynchron — Polling über den Status-Endpoint
Typische Dauer
1.5–4 min
Credits
4 Credits bei 2K · 5 Credits bei 4K
Seitenverhältnisse
3:4 · 1:1 · 4:3 · 9:16 · 16:9
Eingabelimits
Bis zu 10 MB pro Bild; JPEG, PNG, WebP
Idempotent
Nein

Request und 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 / Abgeschlossen

{
  "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-Parameter

product_image

Typ: stringErforderlich

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

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

Werte: straightbackside
style

Typ: string

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

= 3d

Werte: 3dflat_lay
background_color

Typ: string

Background color.

= white

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

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

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

Fehler

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.

Limits

  • 600 Anfragen pro Minute pro API-Schlüssel (Festes Zeitfenster; das Limit ist in jedem Tarif identisch)
  • Ein 429 enthält Retry-After: 30 Sekunden
  • Bis zu 10 MB pro Bild
  • Formate: JPEG, PNG, WebP
  • Gleichzeitige Batches pro Tarif: Free 1 · Hobby 2 · Seller 3 · Brand 4 · Studio 6
  • Nur Polling — die API sendet keine Webhooks.

Ein Foto rein, ein Invisible-Mannequin-Foto raus

Quelle hochladen, Stil wählen, absenden, pollen, herunterladen.

  1. Schritt 1

    Einen API-Key generieren

    Ghost Mannequin nutzt dieselben Credentials wie jede andere Photta-Funktion — ein Key, ein Credit-Guthaben.

  2. Schritt 2

    Das Quellfoto hochladen

    Eine öffentliche URL oder eine Base64-Data-URI in `product_image` übergeben; `back_image` hinzufügen, wenn eine Rückansicht vorliegt. JPEG, PNG und WebP bis zu 10 MB pro Bild.

  3. Schritt 3

    Den Ghost-Mannequin-Job per POST absenden

    POST an `/api/v1/ghost-mannequin` mit `product_image`, `style` (`3d` oder `flat_lay`) sowie optional `angle`, `background_color`, `resolution`. Polling ist das einzige Fertigstellungssignal — die API sendet keine Webhooks.

  4. Schritt 4

    Pollen, bis der Job abgeschlossen ist

    GET `/api/v1/ghost-mannequin/:id` alle 3 Sekunden aufrufen, bis `data.status` auf `completed` oder `failed` steht; typische Dauer beträgt 1.5 bis 4 Minuten.

  5. Schritt 5

    Herunterladen und persistieren

    Die Ausgabe ist ein PNG mit entfernter Schaufensterpuppe und rekonstruiertem Innenleben des Kleidungsstücks. Ideal für PDP-Ghost-Shots, Produktgalerien mit 3D-Look und Legeware-Inserts.

Fragen, die Entwickler vor dem Produktiveinsatz von Ghost Mannequin stellen

Was ist Ghost-Mannequin-Fotografie?

Eine PDP-Darstellung, bei der das Kleidungsstück auf einem unsichtbaren Körper zu schweben scheint und Form sowie Innenkonstruktion gleichzeitig zeigt. Historisch wird dies aus mehreren Studioaufnahmen zusammengesetzt; Phottas API erzeugt dies in einem einzigen Aufruf aus einem Foto mit Puppe.

Wie viel kostet Ghost Mannequin?

4 Credits bei 2K, 5 Credits bei 4K — auf jeder Stufe einen Credit günstiger als Try-on. Fehlgeschlagene Jobs werden automatisch erstattet.

Was ist der Unterschied zwischen 3D- und Flat-lay-Stil?

Der `3d`-Stil behält die dreidimensionale Körperform der Schaufensterpuppe bei — das Kleidungsstück behält sein Volumen, Schultern und Ärmel wirken natürlich und das Innere wird rekonstruiert. `flat_lay` reduziert das Kleidungsstück auf ein sauberes 2D-Layout, ideal für Kapselkollektionen oder Marktplatz-Listings, die eine konsistente Frontalansicht verlangen.

Kann ich mehrere Fotos im Batch verarbeiten?

Ja. Sende einen POST an `/api/v1/ghost-mannequin/batch` mit einem Array von Quellbildern. Die Antwort enthält eine Batch-ID sowie Generierungs-IDs pro Element. Pollen Sie `/api/v1/ghost-mannequin/batch/:id` für einen Gesamtstatus oder jedes Element einzeln.

Bleiben Innennähte und Etiketten erhalten?

Ja — das Modell rekonstruiert die Innenseite des Kleidungsstücks (Krageninnenseite, Ärmelbündchen innen, Bundfutter), anstatt eine generische Oberfläche zu halluzinieren. Auf dem Originalfoto sichtbare Etiketten und Drucklabels bleiben nach Möglichkeit erhalten.

Wie polle ich das Ergebnis?

GET `/api/v1/ghost-mannequin/:id` alle 3 Sekunden ausführen. Batch-Jobs pollen einen übergeordneten Endpoint, der einen aggregierten Status sowie eine Aufschlüsselung pro Element zurückgibt.

Verwandte Funktionen

Jeder Zahlenwert auf dieser Seite stammt aus der Photta-API-Dokumentation · geprüft

Testen Sie die API in fünf Minuten

Generieren Sie einen Photta-API-Schlüssel, fügen Sie das obige cURL-Snippet ein, und Sie erhalten Ihr erstes Bild am Model, noch bevor der Kaffee fertig gebrüht ist.

  • 1.5–4 min
  • 4 Credits bei 2K · 5 Credits bei 4K
  • asynchron, Polling
  • 600 Anfragen/Min.
  • Bearer-Key