Yetenek · Hayalet manken
Hayalet manken API'si içi boş manken ürün fotoğrafları için
Tek cümlede
Photta'nın hayalet manken API'si, manken üzerindeki giysi fotoğrafını alır ve giysinin içi yeniden yapılandırılmış görünmez mankenli bir görsel döndürür. 3d veya flat_lay stilini seçin, POST edin, her 3 saniyede bir yoklayın, tamamlandığında indirin.
- Tipik süre: 1.5–4 min
- Credits: 2K'da 4 credits · 4K'da 5 credits
- İşleme: asenkron, polling
- Sınırlar: 600 istek/dk
- Kimlik doğrulama: Bearer anahtarı
Bu sayfadaki her veri şuradan alınmıştır: Photta API dokümantasyonu · kontrol edildi
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"]
Genel bakış
Genel bakış
- Endpoint
- POST /api/v1/ghost-mannequin
- Kimlik doğrulama
- Bearer API anahtarı
- İşleme
- Asenkron — durum endpoint'ini sorgulayın (poll)
- Tipik süre
- 1.5–4 min
- Credits
- 2K'da 4 credits · 4K'da 5 credits
- En-boy oranları
- 3:4 · 1:1 · 4:3 · 9:16 · 16:9
- Girdi sınırları
- Görsel başına en fazla 10 MB; JPEG, PNG, WebP
- Idempotent
- Hayır
İstek ve yanıt
İstek
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"]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"
}{
"data": {
"id": "gm_d4e5f6",
"status": "completed",
"style": "3d",
"angle": "side",
"background_color": "white",
"resolution": "2K",
"aspect_ratio": "3:4",
"output_url": "https://cdn.photta.app/generated/gm_d4e5f6.jpg",
"thumbnail_url": "https://cdn.photta.app/generated/gm_d4e5f6-thumb.jpg",
"credits_used": 4,
"created_at": "2026-04-10T16:00:00Z",
"completed_at": "2026-04-10T16:00:48Z",
"duration_ms": 48000
},
"request_id": "req_gm002"
}İstek parametreleri
product_imageTür: stringZorunlu
URL or base64 data URI of the garment photo (front or back, on a mannequin or flat).
back_imageTür: 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_sideTür: string
Which side product_image represents.
= front
Değerler:frontbackangleTür: 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
Değerler:straightbacksidestyleTür: string
Output style: "3d" (ghost mannequin with 3D body shape) or "flat_lay" (garment laid flat, mannequin removed).
= 3d
Değerler:3dflat_laybackground_colorTür: string
Background color.
= white
Değerler:whitegraybeigeblackresolutionTür: 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
Değerler:2K4Kaspect_ratioTür: string
Output aspect ratio. Note: 1:1 is not available at 4K resolution — 1:1 combined with 4K returns 400.
= 3:4
Değerler:3:41:14:39:1616:9user_instructionTür: 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_idTür: 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.
Hatalar
- 400
invalid_request_error - The request is malformed or contains invalid parameters.
- 401
authentication_error - The API key is missing, invalid, or expired.
- 402
insufficient_credits_error - Your account does not have enough credits.
- 404
not_found_error - The requested resource does not exist.
- 409
conflict_error - The request conflicts with current state — e.g. your concurrent-batch cap is reached.
- 429
rate_limit_error - Too many requests. Slow down and retry.Retry-After: 30
- 500
api_error - An internal server error occurred. Retry later.
Sınırlar
- API anahtarı başına dakikada 600 istek (Sabit pencere; limit her planda aynıdır)
- 429 yanıtı Retry-After: 30 saniye içerir
- Görsel başına en fazla 10 MB
- Formatlar: JPEG, PNG, WebP
- Plan başına eşzamanlı toplu işlem: Free 1 · Hobby 2 · Seller 3 · Brand 4 · Studio 6
- Yalnızca polling — API webhook göndermez.
Bir kaynak fotoğraf girer, bir hayalet manken fotoğrafı çıkar
Kaynağı yükleyin, stili seçin, gönderin, poll edin, indirin.
Adım 1
Bir API anahtarı oluşturun
Hayalet manken, diğer tüm Photta yetenekleriyle aynı kimlik bilgilerini kullanır — tek anahtar, tek kredi bakiyesi.
Adım 2
Kaynak fotoğrafı yükleyin
`product_image` alanında herkese açık bir URL veya base64 data URI gönderin; arka görünüm varsa `back_image` ekleyin. Görsel başına 10 MB'a kadar JPEG, PNG ve WebP.
Adım 3
Hayalet manken işini POST edin
`product_image`, `style` (`3d` veya `flat_lay`) ve isteğe bağlı `angle`, `background_color`, `resolution` parametreleriyle `/api/v1/ghost-mannequin` adresine POST isteği atın. Tamamlanma bildiriminin tek yolu polling'dir — API webhook göndermez.
Adım 4
İş tamamlanana kadar poll edin
`data.status` değeri `completed` veya `failed` olana kadar her 3 saniyede bir GET `/api/v1/ghost-mannequin/:id` isteği atın; tipik tamamlanma süresi 1.5 ila 4 dakikadır.
Adım 5
İndirin ve kalıcı olarak saklayın
Çıktı, mankenin kaldırıldığı ve giysinin iç kısmının yeniden oluşturulduğu bir PNG'dir. PDP hayalet çekimleri, 3D hissi veren ürün galerileri ve flat-lay eklemeleri için idealdir.
Node.js, Python ve cURL'de aynı endpoint
Node.js
Node.js'te Hayalet manken API'si
Yerel fetch ile bir Node.js backend'inden Photta'nın hayalet manken API'si özelliğini çağırın. SDK gerekmez: anahtarınızı saklayın, işi gönderin, sonuç için poll edin.
OkuPython
Python'da Hayalet manken API'si
Photta'nın hayalet manken API'si özelliğini requests kütüphanesiyle Python'da çağırın. Otuz satırlık sarmalayıcı, httpx ile asenkron uyumlu, Django, FastAPI ve Celery içinde çalışır.
OkucURL
cURL ile Hayalet manken API'si
Photta'nın hayalet manken API'si özelliğini cURL ile doğrudan kabuktan çağırın. Gönderin, yoklayın, indirin — her kod parçacığı betik tabanlı işlem hatları için jq ile uyumludur.
Oku
Geliştiricilerin hayalet mankeni canlıya almadan önce sorduğu sorular
Hayalet manken fotoğrafçılığı nedir?
Giysinin görünmez bir gövdede havada durduğu, şeklini ve iç yapısını aynı anda sergilediği bir PDP sunumudur. Tarihsel olarak birden fazla stüdyo çekiminin birleştirilmesiyle yapılır; Photta'nın API'si ise mankenli tek bir fotoğraftan tek bir çağrıda bunu üretir.
Hayalet manken ne kadar tutar?
2K'da 4 credits, 4K'da 5 credits — her katmanda try-on'a göre bir kredi daha ucuz. Başarısız işlerin kredisi otomatik olarak iade edilir.
3D ile flat-lay stili arasındaki fark nedir?
`3d` stili mankenin üç boyutlu vücut formunu korur — giysi hacmini korur, omuzlar ve kollar doğal görünür ve iç kısım yeniden oluşturulur. `flat_lay` ise giysiyi net bir 2D serime dönüştürür; kapsül koleksiyonlar veya tutarlı bir önden görünüm bekleyen pazaryeri listelemeleri için idealdir.
Birden fazla fotoğrafı toplu işleyebilir miyim?
Evet. Kaynak görsellerden oluşan bir diziyle `/api/v1/ghost-mannequin/batch` adresine POST isteği atın. Yanıt size bir toplu iş ID'si ve öğe başına üretim ID'leri verir. Genel durum için `/api/v1/ghost-mannequin/batch/:id` adresini veya her öğeyi ayrı ayrı poll edin.
İç dikişleri ve etiketleri korur mu?
Evet — model genel geçer bir yüzey uydurmak yerine giysinin içini (yaka içi, kol ağzı içi, bel astarı) yeniden oluşturur. Orijinal fotoğrafta görünen etiketler ve baskılı ibareler mümkün olduğunca korunur.
Sonuç için nasıl polling yaparım?
Her 3 saniyede bir GET `/api/v1/ghost-mannequin/:id` isteği atın. Toplu işler, genel bir durum ve öğe bazında döküm döndüren bir üst endpoint'i poll eder.
İlgili yetenekler
Yetenekler
Sanal try-on API'si giyim için
Giysileri yapay zeka mankenlerine yerleştiren REST API. Asenkron, 1.5–4 dakika oluşturma süresi, 2K için 5 credits, 4K için 6 credits. cURL, Node.js ve Python örnekleri.
Endpoint'i görüntüleyinYetenekler
Takı try-on API'si kolyeler, yüzükler, bilezikler ve küpeler için
REST aracılığıyla kolyeleri, yüzükleri, bilezikleri ve küpeleri yapay zeka modellerine yerleştirin. 2K'da 5 credits, dahili yakın çekim mankenler, Photta dokümantasyonundan yansıma duyarlı render.
Endpoint'i görüntüleyinGeliştir
Kataloğunuz için hayalet manken çıkarma işlemini otomatikleştirin
Gecelik katalog otomasyonu tarifi: dünün ürün güncellemelerini çekin, Photta'nın ghost-mannequin API'sine toplu olarak gönderin, ana toplu işlemi (parent batch) poll edin, veritabanınıza kaydedin.
Endpoint'i görüntüleyinKarşılaştır
Photta vs Pixazo — birinci taraf işlem hattı mı yoksa model toplayıcı mı?
Photta vs Pixazo karşılaştırması: birinci taraf moda işlem hattı ve çoklu model toplayıcısı. Endpoint'ler, gecikme süresi, ücretsiz katman ve ödünleşimler. 2026-04-19 kaynaklı.
Endpoint'i görüntüleyinHızlı başlangıç
Beş dakikadan kısa sürede ilk Photta görseli.
Kayıt olun, bir API anahtarı oluşturun, ilk cURL çağrınızı çalıştırın, tamamlanana kadar yoklayın, sonucu kalıcı hale getirin. Beş adım, uçtan uca belgelenmiş.
Endpoint'i görüntüleyinReferans
Photta API hataları
Durum kodlarıyla birlikte Photta API hata tiplerinin tam listesi, bir hata gövdesinin yapısı ve hangi hataların yeniden denenmeye değer olduğu.
Endpoint'i görüntüleyinReferans
Photta API rate limit'leri
Tümü API dokümantasyonundan alınan Photta API rate limit'i, penceresi, Retry-After başlığı, polling aralığı ve plan başına eşzamanlılık sınırları.
Endpoint'i görüntüleyin
Bu sayfadaki her veri şuradan alınmıştır: Photta API dokümantasyonu · kontrol edildi
API'yi beş dakikada deneyin
Bir Photta API key oluşturun, yukarıdaki cURL kod parçacığını yapıştırın; kahveniz demlenmeden önce model üzerindeki ilk görselinizi alın.
- 1.5–4 min
- 2K'da 4 credits · 4K'da 5 credits
- asenkron, polling
- 600 istek/dk
- Bearer anahtarı