Trasforma le tue foto in magneti da frigo personalizzati — un rilievo colorato
a rettangolo arrotondato con un retro magnetico piatto, dimensionato per il frigo — in due
fasi: prototipo genera un'immagine concettuale colorata dalla tua foto di input,
poi costruzione trasforma quell'immagine concettuale in un modello 3D a rilievo. Le
due fasi sono collegate tramite input_task_id.
POST /openapi/creative-lab/fridge-magnet/v1/prototype
Genera un'immagine concettuale colorata a partire dalla foto sorgente. L'ID dell'attività restituito è quello che devi passare come input_task_id all'endpoint di build. Consulta
L'oggetto attività prototipo di magnete da frigo
per la struttura della risposta.
Parametri
Name
image_url
Type
string
Obbligatorio
Description
Foto sorgente che Meshy deve colorare in un'immagine concettuale pronta per il magnete da frigo. Attualmente supportiamo i formati .jpg, .jpeg, .png e .webp.
Ci sono due modi per fornire l'immagine:
URL accessibile pubblicamente: Un URL accessibile da internet pubblico.
Data URI: Un Data URI codificato in base64 dell'immagine. Esempio di un Data URI: data:image/jpeg;base64,<your base64-encoded image data>.
Name
name
Type
string
Description
Nome dell'attività opzionale per scopi di visualizzazione. Massimo 100 caratteri.
Name
remove_background
Type
boolean
predefinito false
Description
Quando impostato su true, l'immagine prototipo viene restituita come un PNG RGBA trasparente con lo sfondo rimosso, in modo da poter comporre il soggetto su qualsiasi sfondo.
Questo controlla solo l'immagine che questo endpoint restituisce. È separato dall'opzione di build con lo stesso nome (predefinito true), che controlla la rimozione dello sfondo prima del rilievo.
Restituisce
La proprietà result della risposta contiene l'ID dell'attività del nuovo prototipo di magnete da frigo creato. Interroga l'endpoint Ottieni un'attività o iscriviti al flusso finché l'attività non raggiunge SUCCEEDED, quindi passa quell'ID all'endpoint di build come input_task_id.
Modalità di fallimento
Name
400 - Bad Request
Description
La richiesta non era accettabile. Cause comuni:
Parametro mancante: image_url è richiesto.
Formato immagine non valido: L'image_url fornito non è un formato supportato (.jpg, .jpeg, .png, .webp).
Dimensioni immagine fuori intervallo: L'immagine è troppo piccola, supera la dimensione massima del file o supera il conteggio massimo dei pixel.
URL irraggiungibile: 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 di proprietà intellettuale.
Name
401 - Unauthorized
Description
Autenticazione fallita. Si prega di controllare 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.
Richiesta
POST
/openapi/creative-lab/fridge-magnet/v1/prototype
# Stage 1: generate a colorized fridge magnet concept imagecurlhttps://api.meshy.ai/openapi/creative-lab/fridge-magnet/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>" }'
Risposta
{"result":"01a3d8f1-8c2e-7d04-b223-3f3776a1c8c9"}
Esempio di prototipo
Inizia con una foto sorgente, quindi genera l'immagine prototipo utilizzata dalla fase di build del magnete da frigo.
Genera il magnete da frigo finale stampabile in 3D da un task prototipo riuscito. La costruzione esegue una pipeline di rilievo della mappa di profondità sull'immagine concettuale colorata del prototipo e fornisce un singolo artefatto mesh nel formato richiesto. Consulta
L'Oggetto Task di Costruzione del Magnete da Frigo per la forma della risposta.
Parametri
Name
input_task_id
Type
string
Obbligatorio
Description
L'ID del task di un prototipo creato 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.
I task prototipo creati tramite l'app web non sono accettati — l'endpoint di costruzione accetta solo task prototipo prodotti da POST /openapi/creative-lab/fridge-magnet/v1/prototype e rifiuta qualsiasi altra fonte con 404.
Name
name
Type
string
Description
Nome del task opzionale per scopi di visualizzazione. Massimo 100 caratteri.
options
Parametri di regolazione opzionali per la geometria del rilievo. Ogni campo ha un valore predefinito sensato — invia solo quelli che vuoi sovrascrivere.
Name
badge_shape
Type
string
predefinito rounded-rect
Description
Silhouette del contorno del magnete da frigo. Valori disponibili:
circle
rounded-rect (predefinito)
hexagon
shield
star
Name
size_mm
Type
number
predefinito 60
Description
Lunghezza del bordo del quadrato di delimitazione del magnete da frigo, in millimetri. Intervallo: (0, 400].
Name
relief_height_mm
Type
number
predefinito 3.3
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 2.0
Description
Spessore della piastra di base piatta dietro il rilievo, in millimetri. Il predefinito per il magnete da frigo è una base più spessa di 2 mm — dà al magnete abbastanza corpo per aderire al frigo senza che il rilievo sembri fragile. Intervallo: [0, 20].
Name
has_closed_back
Type
boolean
predefinito true
Description
Se il retro del magnete da frigo è sigillato come una superficie chiusa (il lato su cui incollare il magnete). 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
Inverti l'interpretazione della mappa di profondità in modo che le regioni più scure diventino rilievi più alti.
Name
smoothing
Type
number
predefinito 0.24
Description
Forza di levigatura 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 sopra 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 questo viene bloccato a zero. Intervallo: [0, 1].
Name
remove_background
Type
boolean
predefinito true
Description
Rimuovi automaticamente lo sfondo dell'immagine concettuale del prototipo prima del rilievo.
Separato dal parametro del prototipo con lo stesso nome (predefinito false), che controlla se l'immagine del prototipo stesso viene restituita con trasparenza.
Name
export_resolution
Type
integer
predefinito 512
Description
Risoluzione della mesh utilizzata per l'esportazione. Intervallo: [64, 2048].
output
Selettore opzionale del formato wire. Predefinito a glb.
Name
format
Type
string
predefinito glb
Description
Pacchetto di artefatti restituito dalla costruzione. Valori disponibili:
glb (predefinito) — restituisce un singolo model.glb sotto model_urls.glb.
obj — comprime model.obj + model.mtl + texture.png e restituisce il pacchetto sotto model_urls.obj.
zip — comprime ogni artefatto emesso dal generatore e restituisce il pacchetto sotto model_urls.bundle_zip.
Restituisce
La proprietà result della risposta contiene l'id del task del magnete da frigo appena creato. Interroga l'endpoint Ottieni un Task o iscriviti al flusso fino a quando il task non raggiunge SUCCEEDED, quindi scarica l'artefatto dall'unica voce in model_urls.
Modalità di Fallimento
Name
400 - Bad Request
Description
La richiesta non era accettabile. Cause comuni:
Parametro mancante: input_task_id è richiesto.
UUID non valido: L'input_task_id non è un UUID valido.
Genitore non riuscito: Il task prototipo di riferimento non ha ancora raggiunto SUCCEEDED.
Nessun candidato: Il task prototipo è riuscito ma non ha prodotto alcuna immagine candidata.
Opzioni fuori intervallo: Uno dei campi options è caduto fuori dal suo intervallo consentito o set di enum.
Name
401 - Unauthorized
Description
Autenticazione fallita. Si prega di controllare la chiave API.
Name
402 - Payment Required
Description
Crediti insufficienti per eseguire questo task.
Name
404 - Not Found
Description
Il task prototipo di riferimento non esiste, appartiene a un altro utente o è stato creato tramite l'app web (solo i task prototipo in modalità API si concatenano nella costruzione).
Recupera un'attività di prototipo o build dato un valido id 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à di magnete da frigo. 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 lavoratore potrebbe già
essere in fase di consumo di 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 per l'attività di magnete da frigo 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 altro utente o la sua fase non corrisponde al percorso URL.
Trasmetti aggiornamenti in tempo reale per un'attività di magnete da frigo tramite Server-Sent Events (SSE).
Il percorso URL deve corrispondere alla fase dell'attività — aprire uno stream su
/prototype/:buildId/stream emette un singolo event: error payload con
status_code: 404 e chiude lo stream.
Parametri
Name
id
Type
path
Description
Identificatore univoco per l'attività di magnete da frigo da trasmettere.
Restituzioni
Restituisce uno stream di oggetti attività Fridge Magnet Prototype
o Fridge Magnet Build come
Server-Sent Events. Per 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": "01b4e9a2-9d3f-8e15-c334-4f4887b2d9d0","progress": 0,"status": "PENDING"}event: messagedata: {"id": "01b4e9a2-9d3f-8e15-c334-4f4887b2d9d0","type": "creative-lab-fridge-magnet-build","status": "SUCCEEDED","progress": 100,"created_at": 1729543250000,"started_at": 1729543258000,"finished_at": 1729543285000,"expires_at": 1729802485000,"task_error": null,"consumed_credits": 20,"model_urls": {"glb":"https://assets.meshy.ai/***/tasks/01b4e9a2-9d3f-8e15-c334-4f4887b2d9d0/output/model.glb?Expires=***" }}
Recupera un elenco paginato delle tue attività del magnete da frigo per una singola fase. Il percorso URL
seleziona la fase — /prototype restituisce le attività di prototipo; /build
restituisce le attività di costruzione. 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 costruzione 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 è di 50 elementi.
Name
sort_by
Type
string
predefinito -created_at
Description
Campo per l'ordinamento. Valori disponibili:
+created_at: Ordina per tempo di creazione in ordine crescente.
-created_at: Ordina per tempo di creazione in ordine decrescente.
L'oggetto Task del Prototipo di Magnete da Frigo è un'unità di lavoro che Meshy tiene traccia per generare un'immagine concettuale colorata da una foto sorgente. L'output di questa fase è collegato alla fase di costruzione tramite input_task_id.
Proprietà
Name
id
Type
string
Description
Identificatore univoco per il task. Anche se utilizziamo un UUID ordinabile per id di task come dettaglio di implementazione, non dovresti fare alcuna assunzione sul formato dell'id.
Name
type
Type
string
Description
Tipo di task. Il valore è creative-lab-fridge-magnet-prototype.
Name
name
Type
string
Description
Il nome del task fornito quando il task è stato creato. Stringa vuota se non è stato fornito alcun nome.
Name
status
Type
string
Description
Stato del task. I valori possibili sono uno di PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Avanzamento del task. Se il task non è ancora iniziato, questa proprietà sarà 0. Una volta che il task è riuscito, 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 alle 12:00:00 GMT è rappresentato come 1693569600000. Questo si applica a tutti i timestamp in Meshy API.
Name
started_at
Type
timestamp
Description
Timestamp di quando il task è stato avviato, in millisecondi. Se il task non è ancora iniziato, questa proprietà sarà 0.
Name
finished_at
Type
timestamp
Description
Timestamp di quando il task è stato completato, in millisecondi. Se il task non è ancora 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 all'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 i candidati all'immagine concettuale generati da questo task prototipo. Attualmente l'API restituisce sempre esattamente un candidato; il campo è un array in modo che le revisioni future possano presentare più candidati senza una modifica dirompente.
Esempio di Oggetto Task del Prototipo di Magnete da Frigo
L'oggetto Fridge Magnet Build Task è un'unità di lavoro che Meshy tiene traccia per generare la mesh finale del magnete da frigo 3D da un'attività prototipo riuscita. La build esegue una pipeline di rilievo della 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 per l'attività.
Name
type
Type
string
Description
Tipo di attività. Il valore è creative-lab-fridge-magnet-build.
Name
name
Type
string
Description
Il nome dell'attività fornito quando l'attività è stata creata. Stringa vuota se non è stato fornito alcun nome.
Name
status
Type
string
Description
Stato dell'attività. I valori possibili sono uno di PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Avanzamento dell'attività. Se l'attività non è ancora iniziata, questa proprietà sarà 0. Una volta che l'attività è riuscita, 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à è iniziata, in millisecondi.
Name
finished_at
Type
timestamp
Description
Timestamp di quando l'attività è 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à fallite. Vedi Errori per il riferimento completo all'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 fallimento).
Name
model_urls
Type
object
Description
URL scaricabili per l'artefatto generato, indicizzati per nome dell'artefatto. Contiene sempre esattamente un elemento — il formato richiesto tramite il output.format della richiesta di build. La chiave corrisponde al formato richiesto:
Name
glb
Type
string
Description
URL scaricabile per il file GLB. Presente quando output.format era glb (il 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.