Funzionalità · Foto di dettagli
API per foto di dettagli prodotto per primi piani
In sintesi
L'API per foto di dettagli di Photta renderizza un primo piano di un'area specifica di un prodotto. Una chiamata di analisi gratuita suggerisce i dettagli che vale la pena fotografare; la chiamata di generazione costa 3 credits fissi, senza scaglioni di risoluzione.
- Tempo tipico: 20–60 sec
- Credits: 3 credits
- Elaborazione: asincrono, polling
- Limiti: 600 richieste/min
- Autenticazione: Chiave Bearer
Ogni dato in questa pagina proviene da la documentazione dell'API di Photta · verificato
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"]Panoramica
Panoramica
- Endpoint
- POST /api/v1/detail-photos
- Autenticazione
- API key Bearer
- Elaborazione
- Asincrona — effettua il polling dell'endpoint di stato
- Tempo tipico
- 20–60 sec
- Credits
- 3 credits
- Limiti di input
- Fino a 10 MB per immagine; JPEG, PNG, WebP
- Idempotente
- No
Richiesta e risposta
Richiesta
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 / Completato
{
"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"
}Parametri della richiesta
product_imageTipo: stringObbligatorio
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_labelTipo: stringObbligatorio
The area to zoom into, e.g. "collar stitching", "cuff detail", "fabric weave on the chest", "pendant clasp". Max 100 characters.
detail_descriptionTipo: string
Extra guidance for the close-up. Max 400 characters.
framingTipo: 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
Valori:extreme-closeupcloseupmedium-closeupsource_typeTipo: string
Tunes what is preserved in the close-up.
= apparel
Valori:appareljewelry
Errori
- 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.
Limiti
- 600 richieste al minuto per API key (Finestra fissa; il limite è lo stesso per ogni piano)
- Un 429 restituisce Retry-After: 30 secondi
- Fino a 10 MB per immagine
- Formati: JPEG, PNG, WebP
- Batch simultanei per piano: Free 1 · Hobby 2 · Seller 3 · Brand 4 · Studio 6
- Solo polling — l'API non invia webhook.
Chiedi cosa vale la pena fotografare, poi scatta
Analizza gratis, scegli un dettaglio, invia, fai polling, scarica.
Passaggio 1
Genera una chiave API
Le foto di dettagli usano le stesse credenziali e lo stesso saldo di credits di ogni altra funzionalità Photta.
Passaggio 2
Chiedi quali dettagli fotografare
POST `/api/v1/detail-photos/analyze` con `product_image`. Restituisce valori suggeriti per `detail_label`, `detail_description` e `framing` per quel prodotto, in modo sincrono e senza alcun addebito.
Passaggio 3
Invia il primo piano via POST
POST su `/api/v1/detail-photos` con `product_image` e `detail_label`. Imposta `framing` su `extreme-closeup`, `closeup` o `medium-closeup`, `source_type` su `apparel` o `jewelry`, e aggiungi fino a 400 caratteri di `detail_description`.
Passaggio 4
Esegui il polling fino al completamento del job
GET `/api/v1/detail-photos/:id` ogni 3 secondi finché `data.status` non è `completed` o `failed`; il completamento tipico richiede da 20 a 60 secondi.
Passaggio 5
Scarica e memorizza
Il payload completato contiene `output_url`. Le foto di dettagli si inseriscono direttamente nella galleria della PDP accanto allo scatto principale.
Lo stesso endpoint in Node.js, Python e cURL
Node.js
API per foto di dettagli prodotto in Node.js
Chiama aPI per foto di dettagli prodotto di Photta da un backend Node.js con fetch nativo. Nessun SDK richiesto: salva la chiave, invia il job, esegui il polling per il risultato.
LeggiPython
API per foto di dettagli prodotto in Python
Chiama la aPI per foto di dettagli prodotto di Photta in Python con la libreria requests. Wrapper di trenta righe, compatibile con async tramite httpx, funziona in Django, FastAPI e Celery.
LeggicURL
API per foto di dettagli prodotto con cURL
Chiama aPI per foto di dettagli prodotto di Photta direttamente dalla shell con cURL. Invia, effettua il polling, scarica — ogni snippet si integra con jq per pipeline basate su script.
Leggi
Domande che gli sviluppatori si pongono prima di rilasciare le foto di dettagli
Cos'è un'API per foto di dettagli?
Un endpoint che renderizza un primo piano di un'area specifica di un prodotto — le cuciture del colletto, una chiusura, la trama sul petto — a partire da una singola fotografia più ampia, invece di una seconda sessione in studio con un obiettivo macro.
Quanto costa una foto di dettagli?
3 credits fissi. Non ci sono scaglioni di risoluzione su questo endpoint, e la chiamata di analisi che suggerisce i dettagli è gratuita.
Cosa restituisce l'endpoint di analisi?
Un elenco di suggerimenti, ciascuno con un `detail_label`, una `detail_description` che spiega perché vale la pena mostrare quell'area, e un `framing` consigliato. Passa qualsiasi suggerimento direttamente alla chiamata di generazione.
Quanto è stretto ciascun livello di inquadratura?
`extreme-closeup` riempie quasi l'intero fotogramma con il dettaglio, `closeup` mantiene un po' di contesto attorno ad esso, e `medium-closeup` mostra il dettaglio all'interno del capo o dell'articolo circostante. Scegli in base al dettaglio, non per prodotto.
La sorgente può essere un'immagine generata?
Sì. `product_image` accetta sia l' `output_url` di una generazione completata, sia una tua foto del prodotto, come URL https o data URI base64.
Come effettuo il polling per il risultato?
GET `/api/v1/detail-photos/:id` ogni 3 secondi finché `data.status` non diventa `completed` o `failed`. La chiamata di analisi è sincrona e non richiede polling.
Funzionalità correlate
Funzionalità
API di Virtual try-on per abbigliamento
REST API per applicare capi di abbigliamento su manichini AI. Generazione asincrona in 1.5–4 minuti, 5 crediti a 2K, 6 a 4K. Esempi per cURL, Node.js e Python.
Vedi l'endpointFunzionalità
API try-on per gioielli per collane, anelli, bracciali e orecchini
Applica collane, anelli, bracciali e orecchini su modelli AI tramite REST. 5 credits a 2K, manichini in primo piano integrati, rendering con gestione dei riflessi dalla documentazione di Photta.
Vedi l'endpointSviluppa
Crea un servizio di fotografia di prodotto basato su AI
La guida per i founder per rivendere l'API di virtual try-on di Photta come SaaS white-label: tenant key, fanout in batch, fatturazione per credits, realtà degli SLA.
Vedi l'endpointConfronta
Photta vs FASHN — API AI per la moda a confronto
Photta e FASHN a confronto: endpoint, costi in crediti, piani, limiti di concorrenza. Dati ricavati dalle rispettive pagine prezzi il 2026-04-19. Nessun numero inventato.
Vedi l'endpointGuida rapida
La prima immagine con Photta in meno di cinque minuti.
Registrati, genera una chiave API, esegui la tua prima chiamata cURL, fai polling fino al completamento, salva il risultato. Cinque passaggi, interamente documentati.
Vedi l'endpointRiferimento
Errori delle API di Photta
L'elenco completo dei tipi di errore delle API di Photta con i relativi codici di stato, la struttura del payload di errore e quali fallimenti ha senso riprovare.
Vedi l'endpointRiferimento
Rate limit delle API Photta
Il rate limit delle API Photta, la relativa finestra, l'header Retry-After, l'intervallo di polling e i limiti di concorrenza per piano, tutti desunti dalla documentazione delle API.
Vedi l'endpoint
Ogni dato in questa pagina proviene da la documentazione dell'API di Photta · verificato
Prova l'API in 5 minuti
Genera una chiave API di Photta, incolla lo snippet cURL qui sopra e otterrai la tua prima immagine con modello prima ancora che il caffè sia pronto.
- 20–60 sec
- 3 credits
- asincrono, polling
- 600 richieste/min
- Chiave Bearer