Funzionalità · Generazione manichini
API di generazione manichini IA per i tuoi modelli
In sintesi
L'API di generazione manichini di Photta crea un modello IA fotorealistico in base agli attributi scelti, restituisce un mannequin id riutilizzabile e costa 4 credits. Due builder: uno per l'abbigliamento e uno ottimizzato per i primi piani di gioielli.
- Tempo tipico: 30-60s
- Credits: 4 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/mannequins/generate \
-H "Authorization: Bearer $PHOTTA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"category": "Female",
"ethnicity": "east_asian_korean",
"age": "late_20s",
"skin_tone": "light_medium",
"expression": "neutral",
"hair_style": "long_straight",
"hair_color": "black",
"body_type": "slim",
"height": "average"
}')
ID=$(echo "$RESPONSE" | jq -r '.data.id')const res = await fetch("https://api.photta.app/api/v1/mannequins/generate", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.PHOTTA_API_KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({
"category": "Female",
"ethnicity": "east_asian_korean",
"age": "late_20s",
"skin_tone": "light_medium",
"expression": "neutral",
"hair_style": "long_straight",
"hair_color": "black",
"body_type": "slim",
"height": "average"
}),
});
const { data } = await res.json(); // data.id, data.statusimport os, requests
res = requests.post(
"https://api.photta.app/api/v1/mannequins/generate",
headers={"Authorization": f"Bearer {os.environ['PHOTTA_API_KEY']}"},
json={
"category": "Female",
"ethnicity": "east_asian_korean",
"age": "late_20s",
"skin_tone": "light_medium",
"expression": "neutral",
"hair_style": "long_straight",
"hair_color": "black",
"body_type": "slim",
"height": "average"
},
)
data = res.json()["data"] # data["id"], data["status"]Panoramica
Panoramica
- Endpoint
- POST /api/v1/mannequins/generate
- Autenticazione
- API key Bearer
- Elaborazione
- Asincrona — effettua il polling dell'endpoint di stato
- Tempo tipico
- 30-60s
- Credits
- 4 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/mannequins/generate \
-H "Authorization: Bearer $PHOTTA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"category": "Female",
"ethnicity": "east_asian_korean",
"age": "late_20s",
"skin_tone": "light_medium",
"expression": "neutral",
"hair_style": "long_straight",
"hair_color": "black",
"body_type": "slim",
"height": "average"
}')
ID=$(echo "$RESPONSE" | jq -r '.data.id')const res = await fetch("https://api.photta.app/api/v1/mannequins/generate", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.PHOTTA_API_KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({
"category": "Female",
"ethnicity": "east_asian_korean",
"age": "late_20s",
"skin_tone": "light_medium",
"expression": "neutral",
"hair_style": "long_straight",
"hair_color": "black",
"body_type": "slim",
"height": "average"
}),
});
const { data } = await res.json(); // data.id, data.statusimport os, requests
res = requests.post(
"https://api.photta.app/api/v1/mannequins/generate",
headers={"Authorization": f"Bearer {os.environ['PHOTTA_API_KEY']}"},
json={
"category": "Female",
"ethnicity": "east_asian_korean",
"age": "late_20s",
"skin_tone": "light_medium",
"expression": "neutral",
"hair_style": "long_straight",
"hair_color": "black",
"body_type": "slim",
"height": "average"
},
)
data = res.json()["data"] # data["id"], data["status"]202 Accepted / Completato
{
"data": {
"id": "mmk_r4s5t6",
"status": "processing",
"category": "Female",
"credits_used": 4,
"created_at": "2026-04-10T14:00:00Z"
},
"request_id": "req_mnk002"
}{
"data": {
"id": "mmk_r4s5t6",
"status": "completed",
"mannequin": {
"id": "mnk_v7w8x9",
"name": "Generated Mannequin",
"gender": "female",
"thumbnail_url": "https://cdn.photta.app/mannequins/mnk_v7w8x9-thumb.jpg"
},
"credits_used": 4,
"created_at": "2026-04-10T14:00:00Z",
"completed_at": "2026-04-10T14:00:42Z",
"duration_ms": 42000
},
"request_id": "req_mnk003"
}Parametri della richiesta
categoryTipo: stringObbligatorio
Mannequin category.
Valori:FemaleMaleGirlChildBoyChildethnicityTipo: string
Ethnic appearance.
Valori:east_asian_koreaneast_asian_chinesesoutheast_asiansouth_asiannordicwestern_europeaneastern_europeanmediterraneanafricanafrican_americanmiddle_easternlatin_americanbrazilianmixed_asian_europeanpolynesianageTipo: string
Age range.
Valori:early_20slate_20searly_30slate_30s40s50sbaby_1toddler_2_4young_5_7child_8_10preteen_11_13skin_toneTipo: string
Skin tone.
Valori:lightlight_mediummediummedium_darkdarkface_shapeTipo: string
Face shape.
Valori:ovalsquareroundheartoblongdiamondeye_colorTipo: string
Eye color.
Valori:browndark_brownblackbluegreenhazelgrayambereye_shapeTipo: string
Eye shape.
Valori:almondroundmonolidhoodedupturneddownturnedexpressionTipo: string
Facial expression.
Valori:neutralsoft_smilewarm_smileseriousconfidentfriendlyfacial_hairTipo: string
Facial hair style (Male only).
Valori:nonelight_stubblemedium_stubbleshort_beardfull_beardgoateemustachemakeupTipo: string
Makeup style (Female only).
Valori:naturalminimalsoft_glamprofessionaleditorialhair_styleTipo: string
Hair style. Available options depend on category — use /options endpoint.
hair_colorTipo: string
Hair color.
Valori:blackdark_brownmedium_brownlight_brownauburnredblondeplatinum_blondegraywhitehair_textureTipo: string
Hair texture.
Valori:straightwavycurlycoilybody_typeTipo: string
Body type. Options depend on category — use /options endpoint.
heightTipo: string
Height.
Valori:shortaveragetallglassesTipo: string
Glasses.
Valori:noneeyeglassessunglassesfrecklesTipo: string
Freckles.
Valori:nonelightprominentpiercingsTipo: string
Piercings.
Valori:noneearnosemultiple
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.
Attributi in ingresso, un modello riutilizzabile in uscita
Leggi le opzioni, seleziona gli attributi, invia la richiesta, effettua il polling e poi riutilizza l'id.
Passaggio 1
Genera una chiave API
La generazione di manichini utilizza le stesse credenziali e lo stesso saldo di credits di qualsiasi altra funzionalità Photta.
Passaggio 2
Consulta il catalogo delle opzioni
GET `/api/v1/mannequins/generate/options` restituisce ogni valore accettato, inclusi gli elenchi per `hair_style` e `body_type` che variano in base alla categoria. Utilizzalo per alimentare il tuo form invece di codificare gli enum a livello di codice.
Passaggio 3
Invia il mannequin tramite POST
Esegui una POST su `/api/v1/mannequins/generate` indicando `category` — `Female`, `Male`, `GirlChild` o `BoyChild` — oltre a uno qualsiasi dei 17 attributi opzionali: etnia, età, tono della pelle, forma del viso e degli occhi, espressione, peli sul viso, trucco, capelli, corporatura, altezza, occhiali, lentiggini e piercing.
Passaggio 4
Esegui il polling fino al completamento del job
GET `/api/v1/mannequins/generate/:id` ogni 3 secondi finché `data.status` non diventa `completed` o `failed`; il completamento tipico richiede da 30 a 60 secondi.
Passaggio 5
Riutilizza il mannequin
Il corpo completato include un oggetto `mannequin` con un proprio id. Passa quell'id come `mannequin_id` nei job successivi di try-on o eyewear e ogni scatto manterrà lo stesso volto.
Lo stesso endpoint in Node.js, Python e cURL
Node.js
API di generazione manichini IA in Node.js
Chiama aPI di generazione manichini IA 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 di generazione manichini IA in Python
Chiama la aPI di generazione manichini IA 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 di generazione manichini IA con cURL
Chiama aPI di generazione manichini IA 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 generare modelli
Cos'è un mannequin IA?
Un modello generato di cui specifichi l'aspetto invece di fare un casting. Viene restituito sotto forma di id, così lo stesso volto, gli stessi capelli e lo stesso corpo possono indossare ogni capo del catalogo.
Quanto costa un mannequin?
4 credits, sia per il builder di abbigliamento che per quello di gioielli. Riutilizzare un mannequin esistente in uno shooting successivo non ha costi aggiuntivi: paghi per il try-on, non per il modello.
Quali attributi posso impostare?
`category` è obbligatorio. Tutto il resto è opzionale: etnia, età, tono della pelle, forma del viso, colore e forma degli occhi, espressione, peli sul viso, trucco, stile, colore e texture dei capelli, corporatura, altezza, occhiali, lentiggini e piercing. L'endpoint delle opzioni elenca i valori accettati.
A cosa serve il builder per gioielli?
POST `/api/v1/mannequins/jewelry/generate` crea un modello ottimizzato per primi piani di gioielli: accetta `jewelry_type`, `shot_type`, `camera_angle`, `background` e `lighting` invece degli attributi a figura intera, in modo che la linea del collo, l'orecchio o la mano risultino impeccabili a distanza ravvicinata.
Posso riutilizzare lo stesso modello in shooting diversi?
Sì — è proprio questo lo scopo dell'endpoint. L'id del mannequin generato è accettato come `mannequin_id` per il try-on di abbigliamento, il try-on di gioielli e lo studio eyewear.
Come si effettua il polling per il risultato?
Esegui una GET su `/api/v1/mannequins/generate/:id` ogni 3 secondi finché `data.status` non diventa `completed` o `failed`. Il jewelry builder effettua il polling sul proprio percorso di stato dedicato.
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
Implementa una funzionalità di virtual try-on per la tua applicazione
Ricetta end-to-end per rilasciare una funzionalità di virtual try-on con l'API Photta: upload, invio, polling tramite un worker, rendering del risultato. Pattern TypeScript + server-only.
Vedi l'endpointConfronta
Photta vs Fitroom — scegli la soluzione ideale tra le API per il fashion
Confronto tra Photta e Fitroom su endpoint, costo in crediti per chiamata, modello di pricing e superficie di integrazione. Dati estratti da ciascun sito il 2026-04-19. Nessun dato 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.
- 30-60s
- 4 credits
- asincrono, polling
- 600 richieste/min
- Chiave Bearer