Geliştirin · Yapay Zeka Fotoğrafçılık SaaS
Bir yapay zeka ürün fotoğrafçılığı servisi geliştirin
Tek cümlede
Her kiracı için bir Photta API anahtarı tanımlayın (veya hacim düşükse havuzda toplayın), her müşterinin kataloğunu bir kuyruğa dağıtın, ürün başına /api/v1/tryon/apparel çağrısı yapın, generation ID'lerini bir worker havuzunda yoklayın, sonuçları müşterinizin bucket'ında depolayın ve Photta'nın credit maliyetinin üzerine kendi marjınızı ekleyerek faturalandırılabilir her birimi (credit veya render edilmiş görsel) faturalandırın.
- Credits: 2K'da 5 credits · 4K'da 6 credits
- Tipik süre: 1.5–4 min
- İşleme: asenkron, polling
Bu sayfadaki her veri şuradan alınmıştır: Photta API dokümantasyonu · kontrol edildi
Müşterilerinizin kataloglarına paralel olarak dağılın, ürün başına try-on işleri gönderin, harcanan credit üzerinden faturalandırın. Photta'nın bağımsız geliştiricilere sunduğu temel yapı taşları, sınırları doğru çizdiğiniz takdirde white-label bir SaaS'a dönüşebilir.
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"]Nasıl çalışır
Tek anahtardan çok kiracılı bir servise
Prodüksiyon kodu yazmadan önce vermeniz gereken beş mimari karar.
Adım 1
Ürün sözleşmenizi tanımlayın
Faturalandırma birimi başına müşterinizin ne alacağına karar verin: tek bir render edilmiş görsel mi? Bir toplu işlem mi? Aylık bir credit havuzu mu? Cevabınız diğer her şeyi belirler — kuyruk derinliği, yeniden deneme politikası, fiyatlandırma sayfası metni.
Adım 2
Kiracı başına Photta anahtarları tahsis edin
Küçük ölçek: tek bir havuzlanmış anahtar, veritabanınızda kiracı başına kullanım takibi. Daha büyük ölçek: Photta paneli üzerinden yönetilen, kiracı başına bir Photta anahtarı — daha net ilişkilendirme, bir sızıntı durumunda daha küçük etki alanı.
Adım 3
Bir kuyruk üzerinden dağıtın (fan out)
Müşteri akışındaki her ürün için bir fotoğraf işini kuyruğa alın. Bir CSV içe aktarımı sırasında asla senkronize olarak göndermeyin — dakikada 600 istek rate limit sınırına çarpar ve işleri 429 yanıtlarıyla kaybedersiniz.
Adım 4
Credit fiyatı üzerine marj ekleme
Her 4K giyim render'ı size 6 credits maliyet getirir. Kestiğiniz her fatura credits × kâr marjınız olmalıdır. Finans ekibinin Photta'nın faturasını gelir kaleminizle mutabık kılabilmesi için ham credit maliyetini muhasebe defterinize kaydedin.
Adım 5
Gecikme süresini ve hata oranını izleyin
Kiracı başına tamamlanma süresini + hata oranını takip edin. Bir müşterinin fotoğrafları sürekli olarak 4 dakikadan uzun sürüyorsa veya art arda hata veriyorsa, bu neredeyse her zaman Photta kaynaklı bir sorun değil, bozuk bir girdidir (hatalı URL, desteklenmeyen product_type).
İhtiyacınız olacak üç model
Fanout, kiracı başına dağıtım, faturalandırma defteri — bir fotoğrafçılık SaaS'ının taşıyıcı parçaları.
// For each product in the customer's feed, kick off a try-on.
for (const product of catalog) {
await photoQueue.add("photo", {
customerId: product.customer_id,
productUrl: product.image,
productType: product.type, // "top" | "bottom" | "top_and_bottom" | "one_piece"
});
}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.status// A completed apparel job costs 5 credits at 2K and 6 at 4K.
// Record it to your billing pipeline so you can margin on top of it.
await billingLedger.append({
customer: data.customerId,
sku: "photo-4k",
quantity: 1,
wholesaleCost: 6, // credits, = your Photta spend
});Geliştiricilerin sıkça sorduğu sorular
Photta üzerinde bir servis çalıştırmak
Her kiracı için ayrı bir Photta API anahtarına ihtiyacım var mı?
Hayır, ancak ölçek büyüdüğünde yardımcı olur. Az sayıda müşteri için, kendi veritabanınızda kiracı başına kullanım takibi yapılan tek bir havuzlanmış anahtar yeterlidir. Bunun üzerinde ise kiracı başına bir anahtar; daha temiz ilişkilendirme, daha kolay rotasyon ve bir sızıntı durumunda daha küçük bir etki alanı sağlar.
Credit'ler bittiğinde ne yapmalıyım?
API, gerekli ve mevcut miktarlarla birlikte 402 insufficient_credits döndürür. Bir alt sınır belirleyin (örneğin 100 credits) ve işler başarısız olmaya başlamadan önce otomatik olarak yükleme yapın. Başarısız olan işlerin credit'leri iade edilir, bu nedenle ani bir 402 dalgası hasarı katlamaz.
Hizmetimi nasıl fiyatlandırmalıyım?
Photta 2K için 5 credits, 4K için 6 credits alır. Bunu kendi perakende para biriminize dönüştürün (maliyet × kâr marjınız × credit dönüşümü) ve görsel başına, toplu iş başına veya aylık olarak faturalandırıp faturalandırmayacağınıza karar verin. Çoğu fotoğrafçılık SaaS ürünü, aylık bir minimum tutarla görsel başına faturalandırma yapar.
Photta hangi SLA'leri sunuyor?
Photta'nın belgelenmiş tamamlanma penceresi iş başına 1.5 ila 4 dakikadır. Yayımlanmış kesin bir çalışma süresi (uptime) SLA'i yoktur. SaaS ürününüz kendi teslimat süresi taahhüdünü veriyorsa, kendi sözleşmenize esneklik payı ekleyin (ör. 'fotoğraflar 1 saat içinde teslim edilir' size 10x pay sağlar) ve olası performans düşüşlerini erkenden yakalamak için kiracı başına gecikme süresini (latency) izleyin.
Çıktıyı white-label olarak sunabilir miyim?
Evet. Döndürülen görseller Photta markalaması taşımaz. Bunları önünde kendi CDN alan adınız olacak şekilde müşterinizin bucket'ına teslim edebilirsiniz; müşterinizin bunların Photta ardışık düzeni tarafından üretildiğini bilmesine gerek kalmaz. API'nin kendisi white-label değildir; anahtar ve kontrol paneli Photta markalıdır.
İlgili sayfalar
Referans
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.
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ş.
OkuYetenekler
Hayalet manken API'si içi boş manken ürün fotoğrafları için
Yapay zeka hayalet manken endpoint'i. Giysi fotoğrafından mankeni kaldırın ve iç detayları koruyun. 3D veya flat-lay, toplu işleme, 2K'da 4 kredi.
Oku
Bu sayfadaki her veri şuradan alınmıştır: Photta API dokümantasyonu · kontrol edildi
Photta üzerinde bir fotoğrafçılık SaaS'ı dağıtıma çıkarın
Aynı API, sizin markanız, sizin marjınız. Bir API anahtarı alın, yukarıdaki üç kalıbı worker'larınıza bağlayın ve lansmanın yarısını tamamlamış olun.