Capability · Ghost mannequin

Ghost mannequin API untuk foto produk hollow-man

Ringkasan singkat

API ghost mannequin Photta memproses foto pakaian pada manekin dan mengembalikan gambar invisible-mannequin dengan bagian dalam pakaian yang direkonstruksi. Pilih gaya 3d atau flat_lay, POST, lakukan polling setiap 3 detik, unduh setelah completed.

  • Waktu umum: 1.5–4 min
  • Credits: 4 credits pada 2K · 5 credits pada 4K
  • Pemrosesan: async, polling
  • Batasan: 600 requests/min
  • Autentikasi: Bearer key

Setiap angka di halaman ini bersumber dari dokumentasi API Photta · diperiksa

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
Contoh output

Sekilas

Sekilas

Endpoint
POST /api/v1/ghost-mannequin
Autentikasi
API key Bearer
Pemrosesan
Asinkron — lakukan polling ke endpoint status
Waktu umum
1.5–4 min
Credits
4 credits pada 2K · 5 credits pada 4K
Rasio aspek
3:4 · 1:1 · 4:3 · 9:16 · 16:9
Batas input
Hingga 10 MB per gambar; JPEG, PNG, WebP
Idempoten
Tidak

Request dan 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"
}

Parameter request

product_image

Tipe: stringWajib

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

back_image

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

Tipe: string

Which side product_image represents.

= front

Nilai: frontback
angle

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

Nilai: straightbackside
style

Tipe: string

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

= 3d

Nilai: 3dflat_lay
background_color

Tipe: string

Background color.

= white

Nilai: whitegraybeigeblack
resolution

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

Nilai: 2K4K
aspect_ratio

Tipe: string

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

= 3:4

Nilai: 3:41:14:39:1616:9
user_instruction

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

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

Error

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.

Batasan

  • 600 request per menit per API key (Fixed window; batasannya sama di setiap paket)
  • Respons 429 menyertakan Retry-After: 30 detik
  • Hingga 10 MB per gambar
  • Format: JPEG, PNG, WebP
  • Batch konkuren per paket: Free 1 · Hobby 2 · Seller 3 · Brand 4 · Studio 6
  • Hanya polling — API tidak mengirim webhook.

Satu foto masuk, satu foto invisible-mannequin keluar

Unggah sumber, pilih gaya, kirim, lakukan polling, unduh.

  1. Langkah 1

    Buat API key

    Ghost mannequin menggunakan kredensial yang sama dengan setiap kapabilitas Photta lainnya — satu kunci, satu saldo credits.

  2. Langkah 2

    Unggah foto sumber

    Kirim URL publik atau base64 data URI di `product_image`; tambahkan `back_image` jika Anda memiliki tampilan belakang. JPEG, PNG, dan WebP hingga 10 MB per gambar.

  3. Langkah 3

    POST job ghost mannequin

    POST ke `/api/v1/ghost-mannequin` dengan `product_image`, `style` (`3d` atau `flat_lay`), serta `angle`, `background_color`, `resolution` opsional. Polling adalah satu-satunya sinyal penyelesaian — API tidak mengirim webhook.

  4. Langkah 4

    Lakukan polling hingga job selesai

    GET `/api/v1/ghost-mannequin/:id` setiap 3 detik hingga `data.status` bernilai `completed` atau `failed`; penyelesaian tipikal adalah 1.5 hingga 4 menit.

  5. Langkah 5

    Unduh dan simpan secara persisten

    Output berupa PNG dengan manekin yang dihapus dan bagian dalam pakaian direkonstruksi. Ideal untuk foto ghost PDP, galeri produk bernuansa 3D, dan sisipan flat-lay.

Pertanyaan yang diajukan developer sebelum merilis ghost mannequin

Apa itu fotografi ghost mannequin?

Perlakuan PDP di mana pakaian tampak melayang pada tubuh tak terlihat, menampilkan bentuk dan konstruksi interior secara bersamaan. Secara historis ini digabungkan dari beberapa jepretan studio; API Photta menghasilkannya dalam satu panggilan dari satu foto pada manekin.

Berapa biaya ghost mannequin?

4 credits pada 2K, 5 credits pada 4K — satu credit lebih murah di setiap tier dibandingkan try-on. Job yang gagal otomatis di-refund.

Apa perbedaan antara gaya 3D dan flat-lay?

Gaya `3d` mempertahankan bentuk tubuh tiga dimensi dari manekin — pakaian mempertahankan volume, bahu dan lengan terlihat alami, dan bagian dalam direkonstruksi. `flat_lay` meratakan pakaian menjadi tata letak 2D yang rapi, ideal untuk koleksi kapsul atau listing marketplace yang membutuhkan bentuk tampak depan yang konsisten.

Bisakah saya memproses banyak foto secara batch?

Ya. POST ke `/api/v1/ghost-mannequin/batch` dengan array gambar sumber. Respons memberi Anda batch ID ditambah generation ID per item. Lakukan polling ke `/api/v1/ghost-mannequin/batch/:id` untuk status agregat atau setiap item secara individual.

Apakah ini mempertahankan jahitan dan label interior?

Ya — model merekonstruksi bagian dalam pakaian (bagian dalam kerah, bagian dalam manset, lapisan ban pinggang) alih-alih melakukan halusinasi permukaan generik. Tag dan label cetak yang terlihat pada foto asli dipertahankan jika memungkinkan.

Bagaimana cara melakukan polling untuk hasilnya?

GET `/api/v1/ghost-mannequin/:id` setiap 3 detik. Job batch melakukan polling ke endpoint induk yang mengembalikan status agregat beserta rincian per item.

Kapabilitas terkait

Setiap angka di halaman ini bersumber dari dokumentasi API Photta · diperiksa

Coba API dalam lima menit

Buat Photta API key, tempel cuplikan cURL di atas, dan Anda akan mendapatkan gambar on-model pertama sebelum kopi selesai diseduh.

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