Trasforma una foto di origine in un medaglione portachiavi stampabile in 3D — un rilievo
di profondità colorizzato a forma di distintivo — in due fasi: prototipo genera un'immagine
concettuale colorizzata dalla tua foto di input, quindi build trasforma quell'immagine concettuale
in un modello 3D in rilievo. Le due fasi sono collegate tramite input_task_id.
Genera un'immagine concettuale colorizzata singola dalla foto sorgente. L'ID
dell'attività restituito è ciò che passi come input_task_id all'endpoint di build.
Consulta
L'oggetto attività di prototipo di portachiavi
per la struttura della risposta.
Parametri
Name
image_url
Type
string
Obbligatorio
Description
Foto sorgente che Meshy deve colorizzare in un'immagine concettuale pronta per il portachiavi. Attualmente supportiamo i formati .jpg, .jpeg, .png e .webp.
Esistono due modi per fornire l'immagine:
URL accessibile pubblicamente: un URL accessibile da Internet pubblico.
Data URI: un Data URI dell'immagine codificato in base64. Esempio di data URI: data:image/jpeg;base64,<your base64-encoded image data>.
Name
name
Type
string
Description
Nome attività facoltativo a scopo di visualizzazione. Massimo 100 caratteri.
Restituisce
La proprietà result della risposta contiene l'id dell'attività di prototipo di portachiavi appena creata. Esegui il polling dell'endpoint Recupera un'attività o iscriviti allo stream finché l'attività non raggiunge SUCCEEDED, quindi passa tale ID all'endpoint di build come input_task_id.
Modalità di errore
Name
400 - Bad Request
Description
La richiesta non era accettabile. Cause comuni:
Parametro mancante: image_url è obbligatorio.
Formato immagine non valido: l'image_url fornito non è un formato supportato (.jpg, .jpeg, .png, .webp).
Dimensioni dell'immagine fuori intervallo: l'immagine è troppo piccola, supera la dimensione massima del file o supera il conteggio massimo di pixel.
URL non raggiungibile: l'image_url non può essere scaricato (404 o timeout).
Data URI non valido: la stringa base64 è malformata.
Contenuto segnalato: l'immagine di input è stata segnalata dalla moderation NSFW o della 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/keychain/v1/prototype
# Stage 1: generate a colorized keychain concept imagecurl https://api.meshy.ai/openapi/creative-lab/keychain/v1/prototype \ -X POST \ -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":"018a210d-8ba4-705c-b111-1f1776f7f578"}
Prototype example
Start with a source photo, then generate the prototype image used by the keychain build stage.
Genera il medaglione portachiavi finale stampabile in 3D da un'attività di
prototipo riuscita. La build esegue una pipeline di rilievo basata su mappa di profondità
sull'immagine concettuale colorizzata del prototipo e fornisce un singolo artefatto mesh nel
formato richiesto. Fai riferimento a
The Keychain Build Task Object per la
struttura della risposta.
Parametri
Name
input_task_id
Type
string
Obbligatorio
Description
L'ID 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 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/keychain/v1/prototype e rifiuta qualsiasi altra origine con 404.
Name
name
Type
string
Description
Nome attività facoltativo a scopo di visualizzazione. Massimo 100 caratteri.
options
Parametri di regolazione facoltativi per la geometria del rilievo. Ogni campo ha un valore predefinito sensato — invia solo quelli che vuoi sovrascrivere.
Name
badge_shape
Type
string
predefinito circle
Description
Silhouette del contorno del medaglione portachiavi. Valori disponibili:
circle (predefinito)
rounded-rect
hexagon
shield
star
Name
size_mm
Type
number
predefinito 40
Description
Lunghezza del lato del quadrato di delimitazione del portachiavi, in millimetri. Intervallo: (0, 400].
Name
relief_height_mm
Type
number
predefinito 2.2
Description
Altezza massima del rilievo sopra la base, in millimetri. Intervallo: [0, 20].
Name
relief_offset_mm
Type
number
predefinito 0
Description
Offset verticale applicato al rilievo prima dell'estrusione, in millimetri. Intervallo: [0, 20].
Name
base_thickness_mm
Type
number
predefinito 0.1
Description
Spessore della piastra di base piatta dietro il rilievo, in millimetri. Intervallo: [0, 20].
Name
has_closed_back
Type
boolean
predefinito true
Description
Indica se il retro del medaglione è sigillato come superficie chiusa. Imposta su false per un guscio aperto.
Name
relief_curve
Type
string
predefinito linear
Description
Curva di trasferimento che mappa i valori della mappa di profondità all'altezza del rilievo. Valori disponibili:
linear (predefinito)
gamma
s-curve
Name
curve_param
Type
number
predefinito 1.0
Description
Parametro di forma per la curva di trasferimento (significativo solo quando relief_curve è gamma). Intervallo: (0, 10].
Name
invert_depth
Type
boolean
predefinito false
Description
Inverte l'interpretazione della mappa di profondità in modo che le regioni più scure diventino un rilievo più alto.
Name
smoothing
Type
number
predefinito 0.24
Description
Intensità di smoothing applicata alla mappa di profondità prima dell'estrazione del rilievo. Intervallo: [0, 10].
Name
relief_scale
Type
number
predefinito 1.0
Description
Moltiplicatore di scala verticale applicato in aggiunta a relief_height_mm. Intervallo: (0, 10].
Name
depth_threshold
Type
number
predefinito 0.1
Description
Soglia passa-basso per i valori della mappa di profondità; qualsiasi valore al di sotto di questa soglia viene limitato a zero. Intervallo: [0, 1].
Name
remove_background
Type
boolean
predefinito true
Description
Rimuove automaticamente lo sfondo dell'immagine concettuale del prototipo prima della creazione del rilievo.
Name
export_resolution
Type
integer
predefinito 512
Description
Risoluzione della mesh usata per l'esportazione. Intervallo: [64, 2048].
output
Selettore facoltativo del formato di trasmissione. Il valore predefinito è glb.
Name
format
Type
string
predefinito glb
Description
Bundle di artefatti restituito dalla build. Valori disponibili:
glb (predefinito) — restituisce un singolo model.glb in model_urls.glb.
obj — comprime model.obj + model.mtl + texture.png e restituisce il bundle in model_urls.obj.
zip — comprime ogni artefatto emesso dal generatore e restituisce il bundle in model_urls.bundle_zip.
Restituisce
La proprietà result della risposta contiene l'id attività della nuova attività di build del portachiavi creata. Esegui il polling dell'endpoint Get a Task o iscriviti allo stream finché l'attività non raggiunge SUCCEEDED, quindi scarica l'artefatto dalla singola voce in model_urls.
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 riuscito: l'attività di prototipo referenziata non ha ancora raggiunto SUCCEEDED.
Nessun candidato: l'attività di prototipo è riuscita ma non ha prodotto alcuna immagine candidata.
Opzioni fuori intervallo: uno dei campi options non rientra nell'intervallo consentito o nell'insieme enum.
Name
401 - Unauthorized
Description
Autenticazione non riuscita. Controlla la tua chiave API.
Name
402 - Payment Required
Description
Crediti insufficienti per eseguire questa attività.
Name
404 - Not Found
Description
L'attività di prototipo referenziata non esiste, appartiene a un utente diverso o è stata creata tramite la webapp (solo le attività di prototipo in modalità API possono essere concatenate alla build).
Recupera un'attività di prototipo o build dato un id attività valido. Il percorso URL
deve corrispondere alla fase dell'attività: un'attività di build recuperata tramite
/prototype/:id restituisce 404, e viceversa.
Annulla un'attività portachiavi. Se l'attività è ancora PENDING, i crediti
consumati al momento della creazione vengono rimborsati. Le attività che sono già
IN_PROGRESS vengono annullate senza rimborso (il worker potrebbe già stare
consumando Risorse). Le attività che hanno già raggiunto uno stato terminale
(SUCCEEDED, FAILED, CANCELED) non possono essere annullate.
Il percorso 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à portachiavi da annullare.
Restituisce
Restituisce 204 No Content in caso di successo con un corpo vuoto.
Modalità di errore
Name
400 - Bad Request
Description
L'attività è già in uno stato terminale e non può essere annullata.
Name
404 - Not Found
Description
L'attività non esiste, appartiene a un utente diverso, oppure la sua fase non corrisponde al percorso URL.
Esegui lo streaming degli aggiornamenti in tempo reale per un'attività portachiavi tramite Server-Sent Events (SSE).
Il percorso dell'URL deve corrispondere alla fase dell'attività — l'apertura di 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à portachiavi da trasmettere in streaming.
Restituisce
Restituisce uno stream di oggetti attività Prototipo portachiavi
o Build portachiavi come
Server-Sent Events. Per le attività PENDING o IN_PROGRESS, lo stream di
risposta includerà solo i campi necessari progress e status.
// Error event example (wrong stage or task not found)event: errordata: {"status_code": 404,"message": "Task not found"}// Message event examples illustrate task progress.// For PENDING or IN_PROGRESS tasks, the response stream will not include all fields.event: messagedata: {"id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb","progress": 0,"status": "PENDING"}event: messagedata: {"id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb","type": "creative-lab-keychain-build","status": "SUCCEEDED","progress": 100,"created_at": 1729123500000,"started_at": 1729123510000,"finished_at": 1729123535000,"expires_at": 1729382735000,"task_error": null,"consumed_credits": 20,"model_urls": {"glb":"https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/model.glb?Expires=***" }}
Recupera un elenco paginato delle tue attività del portachiavi per una singola fase. Il percorso
dell'URL seleziona la fase — /prototype restituisce le attività di prototype; /build
restituisce le attività di build. Le attività dell'altra fase non sono incluse in nessuna delle
risposte.
Parametri del percorso
Name
stage
Type
path
Obbligatorio
Description
O prototype o build. La raccolta restituisce solo le attività
la cui fase corrisponde all'URL — il recupero di /prototype non restituisce mai
attività di build e viceversa.
Parametri di 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 è 50 elementi.
Name
sort_by
Type
string
predefinito -created_at
Description
Campo in base al quale ordinare. Valori disponibili:
+created_at: Ordina per ora di creazione in ordine crescente.
-created_at: Ordina per ora di creazione in ordine decrescente.
L'oggetto attività di prototipo del portachiavi è un'unità di lavoro di cui Meshy tiene traccia per
generare un'immagine concettuale colorata da una foto sorgente. L'output di
questa fase viene collegato alla fase di build
tramite input_task_id.
Proprietà
Name
id
Type
string
Description
Identificatore univoco dell'attività. Anche se utilizziamo un UUID ordinabile k per gli id delle attività come dettaglio di implementazione, non dovresti fare alcuna supposizione sul formato dell'id.
Name
type
Type
string
Description
Tipo dell'attività. Il valore è creative-lab-keychain-prototype.
Name
name
Type
string
Description
Il nome dell'attività fornito al momento della creazione. Stringa vuota se non è stato fornito alcun nome.
Name
status
Type
string
Description
Stato dell'attività. I valori possibili sono uno tra PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
progress dell'attività. Se l'attività non è ancora stata avviata, questa proprietà sarà 0. Una volta che l'attività è riuscita, diventerà 100.
Name
created_at
Type
timestamp
Description
timestamp del momento in cui l'attività è stata creata, 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 in Meshy API.
Name
started_at
Type
timestamp
Description
timestamp del momento in cui l'attività è stata avviata, in millisecondi. Se l'attività non è ancora stata avviata, questa proprietà sarà 0.
Name
finished_at
Type
timestamp
Description
timestamp del momento in cui l'attività è stata completata, in millisecondi. Se l'attività non è ancora stata completata, questa proprietà sarà 0.
Name
expires_at
Type
timestamp
Description
timestamp del momento in cui il risultato dell'attività scade, in millisecondi.
Name
preceding_tasks
Type
integer
Description
Il numero di attività precedenti.
Il valore di questo campo è significativo solo se lo stato dell'attività è PENDING.
Name
task_error
Type
object
Description
Dettagli dell'errore per le attività non riuscite. Consulta Errori per il riferimento completo all'oggetto task_error.
Name
consumed_credits
Type
integer
Description
Il numero di crediti consumati da questa attività. Presente quando lo stato dell'attività è PENDING, IN_PROGRESS o SUCCEEDED. Restituisce 0 per le attività FAILED (i crediti vengono rimborsati in caso di errore).
Name
image_urls
Type
array of strings
Description
URL scaricabili per le immagini concept candidate generate da questa attività prototipo. Attualmente l'API restituisce sempre esattamente una candidata; il campo è un array, così le revisioni future possono mostrare più candidate senza una modifica incompatibile.
L'oggetto attività di creazione del portachiavi è un'unità di lavoro che Meshy tiene monitorata per
generare il mesh 3D finale del portachiavi da un'attività prototipo riuscita. La
creazione esegue una pipeline di rilievo con mappa di profondità sull'immagine concettuale del prototipo e
pubblica un singolo artefatto mesh nel formato richiesto dal chiamante.
Proprietà
Name
id
Type
string
Description
Identificatore univoco dell'attività.
Name
type
Type
string
Description
Tipo dell'attività. Il valore è creative-lab-keychain-build.
Name
name
Type
string
Description
Il nome dell'attività fornito al momento della creazione dell'attività. Stringa vuota se non è stato fornito alcun nome.
Name
status
Type
string
Description
Stato dell'attività. I valori possibili sono uno tra PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
progress dell'attività. Se l'attività non è ancora stata avviata, questa proprietà sarà 0. Una volta che l'attività è stata completata con successo, diventerà 100.
Name
created_at
Type
timestamp
Description
timestamp di quando l'attività è stata creata, in millisecondi.
Name
started_at
Type
timestamp
Description
timestamp di quando l'attività è stata avviata, in millisecondi.
Name
finished_at
Type
timestamp
Description
timestamp di quando l'attività è stata terminata, in millisecondi.
Name
expires_at
Type
timestamp
Description
timestamp di quando il risultato dell'attività scade, in millisecondi.
Name
preceding_tasks
Type
integer
Description
Il conteggio delle attività precedenti. Significativo solo quando lo stato è PENDING.
Name
task_error
Type
object
Description
Dettagli dell'errore per le attività non riuscite. Consulta Errori per il riferimento completo dell'oggetto task_error.
Name
consumed_credits
Type
integer
Description
Il numero di crediti consumati da questa attività. Restituisce 0 per le attività FAILED (i crediti vengono rimborsati in caso di errore).
Name
model_urls
Type
object
Description
URL scaricabili per l'artefatto generato, indicizzati per nome dell'artefatto. Contiene sempre esattamente una voce — il formato richiesto tramite la richiesta di build output.format. La chiave corrisponde al formato richiesto:
Name
glb
Type
string
Description
URL scaricabile per il file GLB. Presente quando output.format era glb (il valore predefinito).
Name
obj
Type
string
Description
URL scaricabile per un pacchetto zip contenente model.obj, model.mtl e texture.png. Presente quando output.format era obj.
Name
bundle_zip
Type
string
Description
URL scaricabile per un pacchetto zip di ogni artefatto emesso dal generatore. Presente quando output.format era zip.