Kapabilitas · Perhiasan
API try-on perhiasan untuk kalung, cincin, gelang, dan anting
Ringkasan singkat
API try-on perhiasan Photta menerima foto perhiasan, jewelry_type (necklace, ring, bracelet, atau earrings), serta ID manekin, lalu mengembalikan foto close-up pada model. POST, lakukan polling setiap 3 detik, unduh ketika status completed.
- Waktu umum: 1.5–4 min
- Credits: 5 credits pada 2K · 6 credits pada 4K
- Pemrosesan: async, polling
- Batasan: 600 requests/min
- Autentikasi: Bearer key
Setiap angka di halaman ini bersumber dari dokumentasi API Photta · diperiksa
RESPONSE=$(curl -s -X POST https://api.photta.app/api/v1/tryon/jewelry \
-H "Authorization: Bearer $PHOTTA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"jewelry_image": "https://cdn.yourstore.com/products/gold-necklace.jpg",
"jewelry_type": "necklace",
"mannequin_id": "mnk_j9k1l2",
"background": "soft window light on dark velvet",
"resolution": "2K",
"aspect_ratio": "3:4",
"user_instruction": "Make the pendant 10% smaller."
}')
ID=$(echo "$RESPONSE" | jq -r '.data.id')const res = await fetch("https://api.photta.app/api/v1/tryon/jewelry", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.PHOTTA_API_KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({
"jewelry_image": "https://cdn.yourstore.com/products/gold-necklace.jpg",
"jewelry_type": "necklace",
"mannequin_id": "mnk_j9k1l2",
"background": "soft window light on dark velvet",
"resolution": "2K",
"aspect_ratio": "3:4",
"user_instruction": "Make the pendant 10% smaller."
}),
});
const { data } = await res.json(); // data.id, data.statusimport os, requests
res = requests.post(
"https://api.photta.app/api/v1/tryon/jewelry",
headers={"Authorization": f"Bearer {os.environ['PHOTTA_API_KEY']}"},
json={
"jewelry_image": "https://cdn.yourstore.com/products/gold-necklace.jpg",
"jewelry_type": "necklace",
"mannequin_id": "mnk_j9k1l2",
"background": "soft window light on dark velvet",
"resolution": "2K",
"aspect_ratio": "3:4",
"user_instruction": "Make the pendant 10% smaller."
},
)
data = res.json()["data"] # data["id"], data["status"]
Sekilas
Sekilas
- Endpoint
- POST /api/v1/tryon/jewelry
- Autentikasi
- API key Bearer
- Pemrosesan
- Asinkron — lakukan polling ke endpoint status
- Waktu umum
- 1.5–4 min
- Credits
- 5 credits pada 2K · 6 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/tryon/jewelry \
-H "Authorization: Bearer $PHOTTA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"jewelry_image": "https://cdn.yourstore.com/products/gold-necklace.jpg",
"jewelry_type": "necklace",
"mannequin_id": "mnk_j9k1l2",
"background": "soft window light on dark velvet",
"resolution": "2K",
"aspect_ratio": "3:4",
"user_instruction": "Make the pendant 10% smaller."
}')
ID=$(echo "$RESPONSE" | jq -r '.data.id')const res = await fetch("https://api.photta.app/api/v1/tryon/jewelry", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.PHOTTA_API_KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({
"jewelry_image": "https://cdn.yourstore.com/products/gold-necklace.jpg",
"jewelry_type": "necklace",
"mannequin_id": "mnk_j9k1l2",
"background": "soft window light on dark velvet",
"resolution": "2K",
"aspect_ratio": "3:4",
"user_instruction": "Make the pendant 10% smaller."
}),
});
const { data } = await res.json(); // data.id, data.statusimport os, requests
res = requests.post(
"https://api.photta.app/api/v1/tryon/jewelry",
headers={"Authorization": f"Bearer {os.environ['PHOTTA_API_KEY']}"},
json={
"jewelry_image": "https://cdn.yourstore.com/products/gold-necklace.jpg",
"jewelry_type": "necklace",
"mannequin_id": "mnk_j9k1l2",
"background": "soft window light on dark velvet",
"resolution": "2K",
"aspect_ratio": "3:4",
"user_instruction": "Make the pendant 10% smaller."
},
)
data = res.json()["data"] # data["id"], data["status"]202 Accepted / Completed
{
"data": {
"id": "jwl_a1b2c3",
"status": "processing",
"jewelry_type": "necklace",
"mannequin_id": "mnk_j9k1l2",
"resolution": "2K",
"aspect_ratio": "3:4",
"credits_used": 5,
"created_at": "2026-04-10T14:00:00Z"
},
"request_id": "req_jwl001"
}{
"data": {
"id": "jwl_a1b2c3",
"status": "completed",
"jewelry_type": "necklace",
"mannequin_id": "mnk_j9k1l2",
"resolution": "2K",
"aspect_ratio": "3:4",
"output_url": "https://cdn.photta.app/generated/jwl_a1b2c3.jpg",
"thumbnail_url": "https://cdn.photta.app/generated/jwl_a1b2c3-thumb.jpg",
"credits_used": 5,
"created_at": "2026-04-10T14:00:00Z",
"completed_at": "2026-04-10T14:01:10Z",
"duration_ms": 70000
},
"request_id": "req_jwl002"
}Parameter request
jewelry_imageTipe: stringWajib
URL or base64 data URI of the jewelry product image.
jewelry_typeTipe: stringWajib
Type of jewelry.
Nilai:necklaceearringsbraceletringmannequin_idTipe: stringWajib
ID of the mannequin. Must be jewelry-compatible and have a matching close-up view for the given jewelry_type. Use GET /api/v1/mannequins?jewelry_type=necklace to find compatible mannequins.
backgroundTipe: string
Optional. Pass a URL or base64 data URI to use a reference photo as the scene; pass any other string to use it as a free-form text description (e.g. "soft window light on dark velvet"). When omitted, the original mannequin backdrop is preserved.
resolutionTipe: string
Output resolution. "2K" costs 5 credits per image; "4K" costs 6 credits per image. 4K is produced natively in a single generation — pick it upfront; the resolution cannot be changed after creation. 4K cannot be combined with aspect_ratio 1:1 (returns 400).
= 2K
Nilai:2K4Kaspect_ratioTipe: string
Output aspect ratio. 1:1 is not available at 4K resolution — that combination returns 400.
= 3:4
Nilai:3:41:14:39:1616:9user_instructionTipe: string
Free-form refinement, e.g. "make the pendant 10% smaller", "keep the clasp visible at the back of the neck". Capped at 400 characters server-side; longer strings are silently truncated. Requests to change the jewelry's size, scale, or proportions are honored and take priority; any other instruction applies only where it does not conflict with reproducing the jewelry exactly from the reference image. Not a determinism or seed control.
Error
- 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.
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.
Alur apparel, disetel ulang untuk barang kecil yang sangat reflektif
Pilih manekin close-up, kirim, lakukan polling, unduh.
Langkah 1
Buat API key
Alur yang sama seperti apparel — ai.photta.app → Developers → Generate API key. Satu key berlaku untuk setiap endpoint; satu saldo credits mencakup setiap capability.
Langkah 2
Pilih manekin close-up
Daftar manekin perhiasan atau unggah milik Anda sendiri dengan `POST /api/v1/mannequins/jewelry` — Photta menyediakan set manekin close-up khusus dengan tekstur kulit yang disetel untuk logam dan batu permata kecil.
Langkah 3
POST job perhiasan
POST ke `/api/v1/tryon/jewelry` dengan `jewelry_image`, `jewelry_type`, `mannequin_id` serta opsi opsional `background`, `resolution`, dan `aspect_ratio`. Layanan ini menyesuaikan penempatan skala secara otomatis untuk kategori perhiasan terkait.
Langkah 4
Lakukan polling hingga job selesai
GET `/api/v1/tryon/jewelry/:id` setiap 3 detik. Bentuk response identik dengan apparel — `data.status`, `data.output_url`, `data.thumbnail_url`.
Langkah 5
Unduh dan simpan
Tight-crop 1:1 bekerja paling baik untuk thumbnail PDP; aspect ratio yang lebih lebar cocok untuk editorial. Simpan bita sendiri daripada melakukan hot-linking ke CDN.
Endpoint yang sama di Node.js, Python, dan cURL
Node.js
API try-on perhiasan di Node.js
Panggil aPI try-on perhiasan Photta dari backend Node.js dengan fetch native. Tidak memerlukan SDK: simpan kunci Anda, kirim job, lakukan polling untuk hasilnya.
BacaPython
API try-on perhiasan di Python
Panggil aPI try-on perhiasan Photta di Python dengan library requests. Wrapper tiga puluh baris, ramah asinkron via httpx, bekerja di Django, FastAPI, dan Celery.
BacacURL
API try-on perhiasan dengan cURL
Panggil aPI try-on perhiasan Photta langsung dari shell menggunakan cURL. Kirim, lakukan polling, unduh — setiap cuplikan kode dapat dipadukan dengan jq untuk pipeline berbasis skrip.
Baca
Pertanyaan yang diajukan developer sebelum merilis jewelry try-on
Tipe perhiasan apa saja yang didukung?
Empat kategori eksplisit: necklace, ring, bracelet, earrings. Setiap kategori memiliki set manekin close-up khusus serta heuristik penempatan yang disetel untuk bentuk tersebut. Cincin dan anting paling optimal dengan aspect ratio 1:1; kalung tampil pas pada 3:4.
Berapa biaya untuk satu jewelry try-on?
Sama seperti apparel: 5 credits pada 2K, 6 credits pada 4K. Job yang gagal akan di-refund secara otomatis. Tidak ada biaya tambahan untuk library manekin close-up.
Apa perbedaan endpoint jewelry dengan apparel?
Autentikasi sama, pola polling sama, bentuk response sama — perbedaannya terletak pada request body. Anda mengirimkan `jewelry_type` dan `jewelry_image`, bukan `product_type` dan `product_images`, serta memilih manekin yang difilter berdasarkan kategori perhiasan. Hal lainnya (2K/4K, aspect ratio, credits) sama persis.
Bisakah saya mengunggah model perhiasan saya sendiri?
Bisa — `POST /api/v1/mannequins/jewelry` menerima referensi close-up kustom, `POST /api/v1/mannequins/jewelry/generate` menghasilkan manekin baru berdasarkan opsi yang dipilih. Keduanya mengembalikan ID yang dapat Anda masukkan kembali ke dalam request try-on.
Bagaimana cara menangani logam reflektif dan batu permata?
Pipeline close-up mempertahankan metadata tentang specular highlight dan geometri mikro. Emas, perak, dan platinum polesan cermin ter-render dengan tepat tanpa efek ghosting atau chromatic smear yang biasanya muncul pada pipeline try-on serbaguna. Latar belakang studio yang sangat bersih disarankan untuk hasil terbaik.
Bagaimana cara melakukan polling untuk hasilnya?
GET `/api/v1/tryon/jewelry/:id` setiap 3 hingga 5 detik. Siklus status sama seperti apparel: `processing` → `completed` atau `failed`. Rentang waktu 1.5 hingga 4 menit mencakup sebagian besar job.
Capability terkait
Kapabilitas
Virtual try-on API untuk pakaian
REST API yang memakaikan pakaian pada manekin AI. Asinkron, waktu generasi 1.5–4 menit, 5 credits pada 2K, 6 pada 4K. Contoh cURL, Node.js, dan Python.
Lihat endpointKapabilitas
Ghost mannequin API untuk foto produk hollow-man
Endpoint AI ghost mannequin. Hapus manekin dari foto pakaian dan pertahankan detail bagian dalam. 3D atau flat-lay, pemrosesan batch, 4 credits pada 2K.
Lihat endpointBangun
Bangun layanan fotografi produk AI
Playbook founder untuk menjual kembali API virtual try-on Photta sebagai SaaS white-label: kunci tenant, fanout batch, penagihan per-credit, realitas SLA.
Lihat endpointBandingkan
Photta vs FASHN — API AI fashion, berdampingan
Perbandingan Photta dan FASHN: endpoint, harga credits, tingkatan paket, batas konkurensi. Bersumber dari halaman harga masing-masing perusahaan pada 2026-04-19. Tanpa angka rekayasa.
Lihat endpointBandingkan
Photta vs Ayna — API developer atau studio berbasis Shopify
Komparasi Photta vs Ayna: tiga REST endpoint vs studio berbasis Shopify + API. Keduanya memiliki keunggulan. Bersumber dari masing-masing situs pada 2026-04-19.
Lihat endpointQuickstart
Gambar Photta pertama dalam waktu kurang dari lima menit.
Daftar, buat API key, jalankan pemanggilan cURL pertama Anda, lakukan polling hingga selesai, simpan hasilnya. Lima langkah, terdokumentasi end-to-end.
Lihat endpointReferensi
Error Photta API
Daftar lengkap tipe error Photta API beserta kode statusnya, format body error, dan kegagalan mana saja yang layak dicoba ulang.
Lihat endpointReferensi
Rate limit Photta API
Rate limit Photta API, window-nya, header Retry-After, interval polling, serta batas konkurensi per paket, seluruhnya dirujuk dari dokumentasi API.
Lihat endpoint
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
- 5 credits pada 2K · 6 credits pada 4K
- async, polling
- 600 requests/min
- Bearer key