Kapabilitas · Foto detail
API foto detail produk untuk close-up
Ringkasan singkat
API foto detail Photta me-render close-up dari satu area tertentu pada produk. Panggilan analyze gratis menyarankan detail yang layak difoto; panggilan generate berbiaya tetap 3 credits, tanpa tingkatan resolusi.
- Waktu umum: 20–60 sec
- Credits: 3 credits
- 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/detail-photos \
-H "Authorization: Bearer $PHOTTA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"product_image": "https://cdn.yourstore.com/products/linen-shirt-hero.jpg",
"detail_label": "collar stitching",
"detail_description": "Focus on the reinforced double-stitch seam along the collar edge.",
"framing": "extreme-closeup",
"source_type": "apparel"
}')
ID=$(echo "$RESPONSE" | jq -r '.data.id')const res = await fetch("https://api.photta.app/api/v1/detail-photos", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.PHOTTA_API_KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({
"product_image": "https://cdn.yourstore.com/products/linen-shirt-hero.jpg",
"detail_label": "collar stitching",
"detail_description": "Focus on the reinforced double-stitch seam along the collar edge.",
"framing": "extreme-closeup",
"source_type": "apparel"
}),
});
const { data } = await res.json(); // data.id, data.statusimport os, requests
res = requests.post(
"https://api.photta.app/api/v1/detail-photos",
headers={"Authorization": f"Bearer {os.environ['PHOTTA_API_KEY']}"},
json={
"product_image": "https://cdn.yourstore.com/products/linen-shirt-hero.jpg",
"detail_label": "collar stitching",
"detail_description": "Focus on the reinforced double-stitch seam along the collar edge.",
"framing": "extreme-closeup",
"source_type": "apparel"
},
)
data = res.json()["data"] # data["id"], data["status"]Sekilas
Sekilas
- Endpoint
- POST /api/v1/detail-photos
- Autentikasi
- API key Bearer
- Pemrosesan
- Asinkron — lakukan polling ke endpoint status
- Waktu umum
- 20–60 sec
- Credits
- 3 credits
- 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/detail-photos \
-H "Authorization: Bearer $PHOTTA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"product_image": "https://cdn.yourstore.com/products/linen-shirt-hero.jpg",
"detail_label": "collar stitching",
"detail_description": "Focus on the reinforced double-stitch seam along the collar edge.",
"framing": "extreme-closeup",
"source_type": "apparel"
}')
ID=$(echo "$RESPONSE" | jq -r '.data.id')const res = await fetch("https://api.photta.app/api/v1/detail-photos", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.PHOTTA_API_KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({
"product_image": "https://cdn.yourstore.com/products/linen-shirt-hero.jpg",
"detail_label": "collar stitching",
"detail_description": "Focus on the reinforced double-stitch seam along the collar edge.",
"framing": "extreme-closeup",
"source_type": "apparel"
}),
});
const { data } = await res.json(); // data.id, data.statusimport os, requests
res = requests.post(
"https://api.photta.app/api/v1/detail-photos",
headers={"Authorization": f"Bearer {os.environ['PHOTTA_API_KEY']}"},
json={
"product_image": "https://cdn.yourstore.com/products/linen-shirt-hero.jpg",
"detail_label": "collar stitching",
"detail_description": "Focus on the reinforced double-stitch seam along the collar edge.",
"framing": "extreme-closeup",
"source_type": "apparel"
},
)
data = res.json()["data"] # data["id"], data["status"]202 Accepted / Completed
{
"data": {
"id": "dtl_9f2c4a71b8e3d605a1f7c2948d3b6e10",
"status": "processing",
"detail_label": "collar stitching",
"framing": "extreme-closeup",
"credits_used": 3,
"created_at": "2026-07-30T14:20:00Z"
},
"request_id": "req_dtl001"
}{
"data": {
"id": "dtl_9f2c4a71b8e3d605a1f7c2948d3b6e10",
"status": "completed",
"detail_label": "collar stitching",
"framing": "extreme-closeup",
"output_url": "https://cdn.photta.app/generated/dtl_9f2c4a71b8e3d605a1f7c2948d3b6e10.jpg",
"thumbnail_url": "https://cdn.photta.app/generated/dtl_9f2c4a71b8e3d605a1f7c2948d3b6e10-thumb.jpg",
"credits_used": 3,
"created_at": "2026-07-30T14:20:00Z",
"completed_at": "2026-07-30T14:20:42Z",
"duration_ms": 42000
},
"request_id": "req_dtl003"
}Parameter request
product_imageTipe: stringWajib
The source image — a completed generation's output_url or any product photo. https URL or base64 data URI. JPEG, PNG, WebP; max 10 MB.
detail_labelTipe: stringWajib
The area to zoom into, e.g. "collar stitching", "cuff detail", "fabric weave on the chest", "pendant clasp". Max 100 characters.
detail_descriptionTipe: string
Extra guidance for the close-up. Max 400 characters.
framingTipe: string
How tight the crop is: "extreme-closeup" — the detail fills ~90% of the frame (near-macro); "closeup" — ~70% with some surrounding context; "medium-closeup" — ~50% with body/outfit visible.
= medium-closeup
Nilai:extreme-closeupcloseupmedium-closeupsource_typeTipe: string
Tunes what is preserved in the close-up.
= apparel
Nilai:appareljewelry
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.
Tanyakan apa yang layak difoto, lalu potret
Analisis secara gratis, pilih detail, kirim, lakukan polling, unduh.
Langkah 1
Buat API key
Foto detail menggunakan kredensial yang sama dan saldo credits yang sama dengan setiap kapabilitas Photta lainnya.
Langkah 2
Tanyakan detail mana yang harus difoto
POST `/api/v1/detail-photos/analyze` dengan `product_image`. Endpoint ini mengembalikan saran nilai `detail_label`, `detail_description`, dan `framing` untuk produk tersebut secara sinkron, tanpa biaya.
Langkah 3
POST close-up
POST ke `/api/v1/detail-photos` dengan `product_image` dan `detail_label`. Atur `framing` ke `extreme-closeup`, `closeup`, atau `medium-closeup`, `source_type` ke `apparel` atau `jewelry`, dan tambahkan hingga 400 karakter `detail_description`.
Langkah 4
Lakukan polling hingga tugas selesai
GET `/api/v1/detail-photos/:id` setiap 3 detik hingga `data.status` bernilai `completed` atau `failed`; waktu penyelesaian tipikal adalah 20 hingga 60 detik.
Langkah 5
Unduh dan simpan secara persisten
Body yang selesai memuat `output_url`. Foto detail langsung pas dimasukkan ke galeri PDP di samping foto utama.
Endpoint yang sama di Node.js, Python, dan cURL
Node.js
API foto detail produk di Node.js
Panggil aPI foto detail produk Photta dari backend Node.js dengan fetch native. Tidak memerlukan SDK: simpan kunci Anda, kirim job, lakukan polling untuk hasilnya.
BacaPython
API foto detail produk di Python
Panggil aPI foto detail produk Photta di Python dengan library requests. Wrapper tiga puluh baris, ramah asinkron via httpx, bekerja di Django, FastAPI, dan Celery.
BacacURL
API foto detail produk dengan cURL
Panggil aPI foto detail produk 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 foto detail
Apa itu API foto detail?
Endpoint yang me-render close-up dari satu area produk yang ditentukan — jahitan kerah, pengait, tenunan di dada — dari satu foto yang lebih lebar, alih-alih sesi studio kedua dengan lensa makro.
Berapa biaya foto detail?
Tetap 3 credits. Tidak ada tingkatan resolusi pada endpoint ini, dan panggilan analyze yang menyarankan detail bersifat gratis.
Apa yang dikembalikan oleh endpoint analyze?
Daftar saran, masing-masing dengan `detail_label`, `detail_description` yang menjelaskan mengapa area tersebut layak ditampilkan, dan rekomendasi `framing`. Teruskan saran apa pun langsung ke panggilan generate.
Seberapa ketat setiap opsi framing?
`extreme-closeup` mengisi hampir seluruh frame dengan detail, `closeup` menyisakan sedikit konteks di sekitarnya, dan `medium-closeup` menampilkan detail dalam pakaian atau perhiasan di sekelilingnya. Pilih per detail, bukan per produk.
Bisakah sumbernya berupa gambar yang di-generate?
Ya. `product_image` menerima `output_url` dari pembuatan yang telah selesai serta foto produk milik Anda sendiri, sebagai URL https atau data URI base64.
Bagaimana cara melakukan polling untuk hasilnya?
GET `/api/v1/detail-photos/:id` setiap 3 detik hingga `data.status` bernilai `completed` atau `failed`. Panggilan analyze bersifat sinkron dan tidak memerlukan polling.
Kapabilitas 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
API try-on perhiasan untuk kalung, cincin, gelang, dan anting
Posisikan kalung, cincin, gelang, dan anting pada model AI via REST. 5 credits pada 2K, manekin close-up bawaan, rendering dengan penanganan refleksi dari dokumentasi Photta.
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 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.
- 20–60 sec
- 3 credits
- async, polling
- 600 requests/min
- Bearer key