Trasforma una foto di partenza in una statuina 3D da collezione in vinile a testa
grande in due fasi: prototype genera un'immagine di concept stilizzata a
partire dalla tua foto di input, poi build trasforma quell'immagine di concept
in un modello 3D con texture. Le due fasi sono collegate tramite input_task_id.
POST /openapi/creative-lab/vinyl-figure/v1/prototype
Genera una singola immagine concettuale in stile vinyl figure a partire dalla foto sorgente. L'ID attività restituito è quello che passi come input_task_id all'endpoint di build. Fai riferimento a
L'oggetto Vinyl Figure Prototype Task
per la struttura della risposta.
Parametri
Name
image_url
Type
string
Obbligatorio
Description
Foto sorgente che Meshy stilizzerà come statuina vinyl a testa grande. Al momento supportiamo i formati .jpg, .jpeg, .png e .webp.
Ci sono due modi per fornire l'immagine:
URL pubblicamente accessibile: un URL accessibile da internet pubblicamente.
Data URI: una data URI dell'immagine codificata in base64. Esempio di data URI: data:image/jpeg;base64,<i tuoi dati immagine codificati in base64>.
Name
name
Type
string
Description
Nome opzionale dell'attività, a scopo di visualizzazione. Massimo 100 caratteri.
Name
remove_background
Type
boolean
predefinito false
Description
Se impostato su true, l'immagine del prototipo viene restituita come PNG RGBA trasparente con lo sfondo rimosso, in modo da poter comporre il soggetto su qualsiasi sfondo.
Restituisce
La proprietà result della risposta contiene l'id dell'attività appena creata per il prototipo vinyl figure. Effettua il polling dell'endpoint Get a Task o sottoscrivi lo stream finché l'attività non raggiunge lo stato SUCCEEDED, quindi passa quell'ID all'endpoint di build come input_task_id.
Modalità di errore
Name
400 - Bad Request
Description
La richiesta non è stata accettata. Cause comuni:
Parametro mancante: image_url è obbligatorio.
Formato immagine non valido: l'image_url fornito non è in un formato supportato (.jpg, .jpeg, .png, .webp).
Dimensioni immagine fuori intervallo: l'immagine è troppo piccola, supera la dimensione massima del file o supera il numero massimo di pixel.
URL irraggiungibile: l'image_url non è stato scaricabile (404 o timeout).
Data URI non valida: la stringa base64 è malformata.
Contenuto segnalato: l'immagine di input è stata segnalata dalla moderation per contenuti NSFW o per proprietà intellettuale.
Name
401 - Unauthorized
Description
Autenticazione non riuscita. Controlla la tua chiave API.
Name
402 - Payment Required
Description
Crediti insufficienti per eseguire questa attività.
Name
429 - Too Many Requests
Description
Hai superato il tuo limite di frequenza.
Request
POST
/openapi/creative-lab/vinyl-figure/v1/prototype
# Stage 1: generate a vinyl-figure-style concept imagecurlhttps://api.meshy.ai/openapi/creative-lab/vinyl-figure/v1/prototype \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "image_url": "<your publicly accessible image url or base64-encoded data URI>" }'
Response
{"result":"019c8a2e-4b7d-7c3a-8d21-3f2987a1c4de"}
Esempio di prototipo
Parti da una foto sorgente, poi genera l'immagine del prototipo usata dalla fase di build.
Genera la statuina in vinile 3D texturizzata finale a partire da un'attività di prototipo completata con successo. La build esegue la stessa pipeline immagine-in-3D di
Immagine in 3D, quindi il formato dell'oggetto di risposta e l'elenco degli URL di output corrispondono esattamente. Fai riferimento a
L'oggetto Vinyl Figure Build Task
per la forma della risposta.
Parametri
Name
input_task_id
Type
string
Obbligatorio
Description
L'ID dell'attività di un'attività di prototipo creata tramite questo stesso endpoint OpenAPI. Il prototipo deve essere stato creato con la stessa chiave API, deve aver raggiunto lo stato SUCCEEDED e deve aver prodotto esattamente un'immagine candidata.
Le attività di prototipo create tramite la webapp non sono accettate: l'endpoint di build accetta solo attività di prototipo prodotte da POST /openapi/creative-lab/vinyl-figure/v1/prototype e rifiuta qualsiasi altra origine con 404.
Name
name
Type
string
Description
Nome facoltativo dell'attività a scopo di visualizzazione. Massimo 100 caratteri.
Restituisce
La proprietà result della risposta contiene l'id dell'attività della statuina in vinile appena creata. Effettua il polling dell'endpoint Recupera un'attività oppure iscriviti allo stream finché l'attività non raggiunge lo stato SUCCEEDED, quindi scarica il file GLB texturizzato da model_urls.glb (oppure la coppia OBJ + MTL da model_urls.obj e model_urls.mtl se la tua pipeline a valle preferisce l'OBJ).
Modalità di errore
Name
400 - Bad Request
Description
La richiesta non era accettabile. Cause comuni:
Parametro mancante: input_task_id è obbligatorio.
UUID non valido: input_task_id non è un UUID valido.
Elemento padre non completato: l'attività di prototipo a cui si fa riferimento non ha ancora raggiunto lo stato SUCCEEDED.
Nessun candidato: l'attività di prototipo è stata completata con successo ma non ha prodotto alcuna immagine candidata.
Name
401 - Unauthorized
Description
Autenticazione non riuscita. Verifica la tua chiave API.
Name
402 - Payment Required
Description
Crediti insufficienti per eseguire questa attività.
Name
404 - Not Found
Description
L'attività di prototipo a cui si fa riferimento non esiste, appartiene a un altro utente oppure è stata creata tramite la webapp (solo le attività di prototipo in modalità API possono essere concatenate a una build).
Name
429 - Too Many Requests
Description
Hai superato il limite di frequenza.
Request
POST
/openapi/creative-lab/vinyl-figure/v1/build
# Stage 2: chain build off a succeeded prototype taskcurlhttps://api.meshy.ai/openapi/creative-lab/vinyl-figure/v1/build \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "input_task_id": "019c8a2e-4b7d-7c3a-8d21-3f2987a1c4de" }'
Recupera un'attività di prototipo o di build dato un id valido dell'attività. Il percorso URL
deve corrispondere alla fase dell'attività — un'attività di build recuperata tramite
/prototype/:id restituisce 404, e viceversa.
Annulla un'attività vinyl figure. Se l'attività è ancora PENDING, i crediti
consumati al momento della creazione vengono rimborsati. Le attività già
IN_PROGRESS vengono annullate senza rimborso (il worker potrebbe già
star consumando risorse). Le attività che hanno già raggiunto uno stato
terminale (SUCCEEDED, FAILED, CANCELED) non possono essere annullate.
Il percorso dell'URL deve corrispondere alla fase dell'attività — DELETE su
/prototype/:buildId restituisce 404.
Parametri del percorso
Name
id
Type
path
Description
Identificatore univoco dell'attività vinyl figure da annullare.
Valori restituiti
Restituisce 204 No Content in caso di successo con un corpo vuoto.
Modalità di errore
Name
400 - Bad Request
Description
L'attività si trova già in uno stato terminale e non può essere annullata.
Name
404 - Not Found
Description
L'attività non esiste, appartiene a un altro utente, oppure la sua fase non corrisponde al percorso dell'URL.
Trasmette in streaming gli aggiornamenti in tempo reale di un'attività di statuina in vinile tramite Server-Sent Events
(SSE). Il percorso dell'URL deve corrispondere alla fase dell'attività — aprire uno stream su
/prototype/:buildId/stream emette un singolo payload event: error con
status_code: 404 e chiude lo stream.
Parametri
Name
id
Type
path
Description
Identificatore univoco dell'attività di statuina in vinile da trasmettere in streaming.
Restituisce
Restituisce uno stream di oggetti attività Vinyl Figure Prototype
o Vinyl Figure Build sotto forma di Server-Sent Events. Ogni frame contiene l'intero oggetto attività per quella fase — la stessa struttura restituita
dall'endpoint Get — quindi mentre l'attività è PENDING o IN_PROGRESS i
campi di output semplicemente non sono ancora popolati (null, [] o {}) e
finished_at è null.
Recupera un elenco paginato dei tuoi task di statuine in vinile per una singola fase.
Il percorso dell'URL seleziona la fase — /prototype restituisce i task di prototipo;
/build restituisce i task di build. I task dell'altra fase non sono inclusi
in nessuna delle due risposte.
Parametri del percorso
Name
stage
Type
path
Obbligatorio
Description
Può essere prototype o build. La raccolta restituisce solo i task
la cui fase corrisponde all'URL — recuperare /prototype non restituisce mai
task di build e viceversa.
Parametri della query
Name
page_num
Type
integer
predefinito 1
Description
Numero di pagina per la paginazione.
Name
page_size
Type
integer
predefinito 10
Description
Limite della dimensione della pagina. Il massimo consentito è 100 elementi.
Name
sort_by
Type
string
predefinito -created_at
Description
Campo per l'ordinamento. Valori disponibili:
+created_at: Ordina per data di creazione in ordine crescente.
-created_at: Ordina per data di creazione in ordine decrescente.
L'oggetto Task di Prototipo statuina in Vinile è un'unità di lavoro che Meshy tiene traccia
per generare un'immagine concettuale in stile statuina in vinile a partire da una foto sorgente.
L'output di questa fase viene concatenato con
la fase di build tramite input_task_id.
Proprietà
Name
id
Type
string
Description
Identificatore univoco per il task. Sebbene utilizziamo un UUID k-sortable per gli id dei task come dettaglio implementativo, non dovresti fare alcuna assunzione sul formato dell'id.
Name
type
Type
string
Description
Tipo del task. Il valore è creative-lab-vinyl-figure-prototype.
Name
name
Type
string
Description
Il nome del task fornito al momento della creazione del task. Stringa vuota se non è stato fornito alcun nome.
Name
status
Type
string
Description
Stato del task. I valori possibili sono uno tra PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Progress del task. Se il task non è ancora iniziato, questa proprietà sarà 0. Una volta che il task ha avuto successo, diventerà 100.
Name
created_at
Type
timestamp
Description
Timestamp di quando il task è stato creato, in millisecondi.
Un timestamp rappresenta il numero di millisecondi trascorsi dal 1° gennaio 1970 UTC, seguendo
lo standard RFC 3339.
Ad esempio, venerdì 1 settembre 2023 12:00:00 PM GMT è rappresentato come 1693569600000. Questo si applica
a tutti i timestamp nella Meshy API.
Name
started_at
Type
timestamp
Description
Timestamp di quando il task è stato avviato, in millisecondi. Se il task non è ancora stato avviato, questa proprietà sarà 0.
Name
finished_at
Type
timestamp
Description
Timestamp di quando il task è stato completato, in millisecondi. Se il task non è ancora stato completato, questa proprietà sarà 0.
Name
expires_at
Type
timestamp
Description
Timestamp di quando il risultato del task scade, in millisecondi.
Name
preceding_tasks
Type
integer
Description
Il conteggio dei task precedenti.
Il valore di questo campo è significativo solo se lo stato del task è PENDING.
Name
task_error
Type
object
Description
Dettagli dell'errore per i task falliti. Vedi Errori per il riferimento completo dell'oggetto task_error.
Name
consumed_credits
Type
integer
Description
Il numero di crediti consumati da questo task. Presente quando lo stato del task è PENDING, IN_PROGRESS, o SUCCEEDED. Restituisce 0 per i task FAILED (i crediti vengono rimborsati in caso di fallimento).
Name
image_urls
Type
array of strings
Description
URL scaricabili per le candidate dell'immagine concettuale generate da questo task di prototipo. Attualmente l'API restituisce sempre esattamente una candidata; il campo è un array in modo che revisioni future possano esporre più candidate senza modifiche incompatibili.
L'oggetto Vinyl Figure Build Task è un'unità di lavoro che Meshy tiene traccia
per generare una statuina vinile 3D texturizzata a partire da un task di prototipo riuscito.
Esegue la stessa pipeline immagine-a-3D usata da Immagine in 3D,
quindi i campi di output rispecchiano l'oggetto task di quell'endpoint.
Proprietà
Name
id
Type
string
Description
Identificatore univoco del task.
Name
type
Type
string
Description
Tipo del task. Il valore è creative-lab-vinyl-figure-build.
Name
name
Type
string
Description
Il nome del task fornito al momento della creazione. Stringa vuota se non è stato fornito alcun nome.
Name
status
Type
string
Description
Stato del task. I possibili valori sono uno tra PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Progress del task. Se il task non è ancora iniziato, questa proprietà sarà 0. Una volta che il task ha avuto successo, diventerà 100.
Name
created_at
Type
timestamp
Description
Timestamp di quando il task è stato creato, in millisecondi.
Name
started_at
Type
timestamp
Description
Timestamp di quando il task è stato avviato, in millisecondi.
Name
finished_at
Type
timestamp
Description
Timestamp di quando il task è stato completato, in millisecondi.
Name
expires_at
Type
timestamp
Description
Timestamp di quando il risultato del task scade, in millisecondi.
Name
preceding_tasks
Type
integer
Description
Il conteggio dei task precedenti. Significativo solo quando lo stato è PENDING.
Name
task_error
Type
object
Description
Dettagli dell'errore per i task falliti. Consulta Errori per il riferimento completo dell'oggetto task_error.
Name
consumed_credits
Type
integer
Description
Il numero di crediti consumati da questo task. Restituisce 0 per i task FAILED (i crediti vengono rimborsati in caso di fallimento).
Name
prompt
Type
string
Description
Sempre vuoto per la costruzione della statuina vinile. Presente per compatibilità cross-endpoint con la struttura condivisa V2ImageTo3DTaskResponse usata da Immagine in 3D.
Name
negative_prompt
Type
string
Description
Sempre vuoto per la costruzione della statuina vinile. Presente per compatibilità cross-endpoint.
Name
texture_prompt
Type
string
Description
Sempre vuoto per la costruzione della statuina vinile. Presente per compatibilità cross-endpoint.
Name
texture_image_url
Type
string
Description
Sempre vuoto per la costruzione della statuina vinile. Presente per compatibilità cross-endpoint.
Name
model_urls
Type
object
Description
URL scaricabili per il modello 3D generato. La costruzione della statuina vinile produce un GLB texturizzato più la coppia OBJ + MTL per le pipeline che preferiscono Wavefront OBJ. La forma del campo corrisponde all'oggetto model_urls di Immagine in 3D, così eventuali future aggiunte di formati si integrano senza modifiche incompatibili.
Name
glb
Type
string
Description
URL scaricabile del file GLB texturizzato.
Name
obj
Type
string
Description
URL scaricabile del file Wavefront OBJ (geometria + UV).
Name
mtl
Type
string
Description
URL scaricabile del file materiale MTL complementare all'OBJ. Da abbinare con obj e con la voce di texture_urls[0].base_color.
Name
thumbnail_url
Type
string
Description
URL scaricabile dell'immagine miniatura del file modello.
Name
texture_urls
Type
array
Description
Un array di oggetti URL di texture generati da questo task. Attualmente contiene un singolo oggetto con la mappa del colore base.
Name
base_color
Type
string
Description
URL scaricabile dell'immagine della mappa del colore base.