Rehber · Migrasyon
FASHN'den Photta'ya geçiş neler değişir, neler değişmez
Tek cümlede
Bir try-on entegrasyonunu Photta'ya taşımak; yeni bir bearer key, yeni bir request body ve yeni bir durum yolu (status path) anlamına gelir. Entegrasyonun ana yapısı — gönder, poll et, indir, sakla — değişmez.
- Tipik süre: 1.5–4 min
- Credits: 2K'da 5 credits · 4K'da 6 credits
- İşleme: asenkron, polling
Bu sayfadaki her veri şuradan alınmıştır: Photta API dokümantasyonu · kontrol edildi
Kısa cevap
Ekipler try-on API'leri arasında bilindik sebeplerle geçiş yapar: çıktının kataloglarına daha iyi uyması, görsel başına fiyatın mevcut hacimlerinde daha avantajlı olması veya mevcut sağlayıcının sunmadığı bir yeteneğe ihtiyaç duymaları — toplu hayalet manken, detay yakın çekimleri, bir sezon boyunca yeniden kullanılan üretilmiş modeller.
Üç şey: kimlik bilgisi (credential), request body ve status path. Photta, her çağrıda bir bearer key ile kimlik doğrular, kendi alan adlarını alır ve iş durumunu yetenek bazlı bir durum endpoint'i üzerinde bildirir. Kodunuzun gönderdiği her değer, önceden listeleyebileceğiniz bir enum veya bir id olarak dokümante edilmiştir.
Mimari. Her ikisi de istek gönderdiğiniz ve poll ettiğiniz asenkron API'lerdir; bu nedenle kuyruğunuz, worker'ınız, yeniden deneme (retry) politikanız ve depolama katmanınız çalışmaya devam eder. Pratikte bir migrasyon, yeni bir pipeline değil; yalnızca yeni bir istemci modülü ve yeni bir alan adları kümesidir.
Geçiş yapacağınız endpoint
Elle yazılmamış, Photta API dokümantasyonundan doğrudan okunmuştur.
Genel bakış
- Endpoint
- POST /api/v1/tryon/apparel
- Kimlik doğrulama
- Bearer API anahtarı
- İşleme
- Asenkron — durum endpoint'ini sorgulayın (poll)
- Tipik süre
- 1.5–4 min
- Credits
- 2K'da 5 credits · 4K'da 6 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
Asıl değişen dört şey
Kimlik Doğrulama
Photta kontrol panelinizde oluşturulan, her endpoint için tek bir bearer anahtarı. Endpoint başına kapsam (scope) veya token takas adımı yoktur.
İstek gövdesi (request body)
Photta, dokümante edilmiş enum değerlerine sahip snake_case alanları ile kaynak endpoint'lerinden listeleyip önbelleğe aldığınız model, poz ve arka plan id değerlerini kabul eder.
Polling
Yeteneğin durum endpoint'ini completed veya failed dönene kadar her 3 saniyede bir poll edin. Webhook yoktur, bu sayede genel erişime yeni hiçbir şey açmanız gerekmez.
Ücretlendirme mantığı
Çağrı başına credits — giysi try-on için 2K çözünürlükte 5 ve 4K çözünürlükte 6 — iş başladığında düşülür ve başarısız olduğunda otomatik olarak iade edilir.
Yeni istek
cURL, Node.js ve Python'da aynı çağrı.
RESPONSE=$(curl -s -X POST https://api.photta.app/api/v1/tryon/apparel \
-H "Authorization: Bearer $PHOTTA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"product_type": "top",
"product_images": [
"https://cdn.yourstore.com/products/shirt-front.jpg"
],
"product_back_image": "https://cdn.yourstore.com/products/shirt-back.jpg",
"product_category": "t_shirt",
"mannequin_id": "mnk_f3a9b1",
"pose_id": "pose_c2d4e5",
"background": "https://cdn.yourstore.com/backgrounds/studio-loft.jpg",
"lock_background": true,
"resolution": "2K",
"aspect_ratio": "3:4",
"body_size": "M",
"expression": "neutral",
"user_instruction": "Keep the collar pattern crisp and centered."
}')
ID=$(echo "$RESPONSE" | jq -r '.data.id')const res = await fetch("https://api.photta.app/api/v1/tryon/apparel", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.PHOTTA_API_KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({
"product_type": "top",
"product_images": [
"https://cdn.yourstore.com/products/shirt-front.jpg"
],
"product_back_image": "https://cdn.yourstore.com/products/shirt-back.jpg",
"product_category": "t_shirt",
"mannequin_id": "mnk_f3a9b1",
"pose_id": "pose_c2d4e5",
"background": "https://cdn.yourstore.com/backgrounds/studio-loft.jpg",
"lock_background": true,
"resolution": "2K",
"aspect_ratio": "3:4",
"body_size": "M",
"expression": "neutral",
"user_instruction": "Keep the collar pattern crisp and centered."
}),
});
const { data } = await res.json(); // data.id, data.statusimport os, requests
res = requests.post(
"https://api.photta.app/api/v1/tryon/apparel",
headers={"Authorization": f"Bearer {os.environ['PHOTTA_API_KEY']}"},
json={
"product_type": "top",
"product_images": [
"https://cdn.yourstore.com/products/shirt-front.jpg"
],
"product_back_image": "https://cdn.yourstore.com/products/shirt-back.jpg",
"product_category": "t_shirt",
"mannequin_id": "mnk_f3a9b1",
"pose_id": "pose_c2d4e5",
"background": "https://cdn.yourstore.com/backgrounds/studio-loft.jpg",
"lock_background": True,
"resolution": "2K",
"aspect_ratio": "3:4",
"body_size": "M",
"expression": "neutral",
"user_instruction": "Keep the collar pattern crisp and centered."
},
)
data = res.json()["data"] # data["id"], data["status"]Migrasyon hakkında sorular
Migrasyon ne kadar sürer?
Yalnızca tek bir istemci modülünden ibarettir: yeni bir anahtar, yeni alan adları, yeni bir durum yolu. Worker'ınız halihazırda istek gönderip poll ediyorsa, çevreleyen kodda hiçbir değişiklik olmaz.
Kuyruk yapımı değiştirmem gerekir mi?
Hayır. Her iki API de asenkrondur; dolayısıyla bugün kullandığınız yapı — Celery, BullMQ, Inngest, bir cron tablosu — aynen korunur. Yalnızca task içindeki çağrılar değişir.
Daha önce oluşturduğum görsellere ne olur?
Bunlar kendi depolama alanınızdaki dosyalardır ve bunlarla ilgili hiçbir şey değişmez. Migrasyon işlemi, önceden yayınladıklarınızı değil, bir sonraki render alacağınız içerikleri etkiler.
Fiyatlar nasıl karşılaştırılır?
Karşılaştırma sayfası, Photta'nın çağrı başına credit maliyetini FASHN'in kendi fiyatlandırma sayfasında yayınladığı verilerle ve her bir rakamın okunduğu tarihle birlikte kıyaslar. Hangi seçeneğin daha avantajlı olacağını kendi işlem hacminiz belirler.
İkisini aynı anda çalıştırabilir miyim?
Evet, ve geçiş yapmanın en güvenli yolu budur. Kataloğunuzun bir kısmını yeni endpoint üzerinden gönderin, çıktıyı gerçek ürünler üzerinde karşılaştırın, ardından geri kalanını taşıyın.
Sıradaki okuma
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.
OkuKarşılaştır
Photta vs FASHN — AI moda API'si, yan yana
Photta ve FASHN karşılaştırması: endpoint'ler, kredi fiyatlandırması, plan katmanları, eşzamanlılık limitleri. Her iki şirketin de 2026-04-19 tarihindeki kendi fiyatlandırma sayfalarından derlenmiştir. Uydurma rakamlar yoktur.
OkuReferans
Photta API fiyatlandırması
Her bir Photta API endpoint'inin 2K ve 4K çözünürlükte kredi cinsinden maliyeti, ücretlendirme ile iadelerin nasıl çalıştığı ve hangi endpoint'lerin ücretsiz olduğu. Görsel başına doğrudan parasal fiyatlandırma yoktur.
OkuReferans
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ı.
OkuHı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ş.
Oku
Bu sayfadaki her veri şuradan alınmıştır: Photta API dokümantasyonu · kontrol edildi
İkisini de çalıştırın, sonra geçiş yapın
Kuyruğunuzun bir kopyasını yeni endpoint'e yönlendirin ve çıktıyı kendiniz karşılaştırın.
- 1.5–4 min
- 2K'da 5 credits · 4K'da 6 credits
- asenkron, polling