API di stampa multicolore
Converti i modelli 3D in formato 3MF multicolore per la stampa 3D, con una palette colori configurabile fino a 16 colori.
Crea un'attività di stampa 3D multicolore
Questo endpoint crea una nuova attività di stampa 3D multicolore. L'attività converte un modello 3D in un file 3MF multicolore adatto alla stampa 3D.
Parametri
È richiesto solo uno tra input_task_id o model_url. Se vengono forniti entrambi, input_task_id ha la priorità.
- Name
- input_task_id
- Type
- string
- Obbligatorio
- Description
L'ID di un'attività riuscita da usare come input. Tipi di attività supportati: Immagine in 3D, Multi-immagine in 3D, Testo in 3D, Remesh e Retexture. L'attività deve avere uno stato
SUCCEEDED.
- Name
- model_url
- Type
- string
- Obbligatorio
- Description
URL pubblicamente accessibile o Data URI di un modello 3D. Attualmente supportiamo i formati
.glbe.fbx.
- Name
- max_colors
- Type
- integer
- predefinito 4
- Description
Numero massimo di colori nella palette di output.
Intervallo valido: da
1a16.
- Name
- style
- Type
- string
- predefinito realistic
- Description
Stile visivo dei colori del file 3MF generato.
Valori disponibili:
realistic: campiona i colori direttamente dalla texture del modello per un dettaglio fine e fotorealistico. Produce un file più grande.cartoon: appiattisce i colori in regioni uniformi e pulite per un aspetto stilizzato. Produce un file più piccolo.
L'input deve contenere informazioni sul colore:
realisticrichiede una singola texture di colore base con coordinate UV su ogni parte della mesh;cartoonaccetta anche colori per vertice. I modelli senza texture (bianchi) vengono rifiutati — vedimodel_missing_texture.
Valori restituiti
La proprietà result della risposta contiene l'id della nuova attività di stampa 3D creata.
Modalità di errore
- Name
400 - Bad Request- Description
La richiesta non era accettabile. Cause comuni:
- Parametro mancante: deve essere fornito
model_urloppureinput_task_id. - Formato del modello non valido:
model_urlpunta a un file con un'estensione non supportata (sono supportati solo.glbe.fbx). - URL non raggiungibile: non è stato possibile scaricare
model_url. - Attività di input non valida:
input_task_iddeve fare riferimento a un'attività riuscita. - max_colors non valido: il valore deve essere compreso tra 1 e 16.
- style non valido: il valore deve essere
realisticocartoon. - Nessuna sorgente di colore: il modello di input non ha una texture di colore base (
realisticne richiede una singola, con UV, su ogni parte della mesh) né colori per vertice (cartoonaccetta entrambi). Applica prima una texture al modello, oppure usacartoonper i modelli con colori per vertice. I caricamenti.fbxvengono verificati dopo che l'attività li normalizza e falliscono conmodel_missing_textureinvece.
- Parametro mancante: deve essere fornito
- 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
# Convert a 3D model to multi-color 3MF for printing
curl https://api.meshy.ai/openapi/v1/print/multi-color \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"max_colors": 8
}'
Response
{
"result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}
Recupera un'attività di stampa 3D multicolore
Questo endpoint recupera un'attività di stampa 3D multicolore tramite il suo ID.
Parametri
- Name
- id
- Type
- path
- Description
L'ID dell'attività di stampa 3D da recuperare.
Restituisce
L'oggetto dell'attività di stampa 3D.
Request
curl https://api.meshy.ai/openapi/v1/print/multi-color/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-multi-color",
"model_urls": {
"3mf": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.3mf?Expires=***"
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 10
}
Elimina un'attività di stampa 3D multicolore
Questo endpoint elimina definitivamente un'attività di stampa 3D multicolore, inclusi tutti i modelli e i dati associati. Questa azione è irreversibile.
Parametri del percorso
- Name
- id
- Type
- path
- Description
L'ID dell'attività di stampa 3D multicolore da eliminare.
Stato dell'attività
Un'attività ancora in stato PENDING viene eliminata e i crediti consumati al
momento della creazione vengono rimborsati.
Un'attività già IN_PROGRESS non può essere eliminata: la richiesta viene
rifiutata con 409 Conflict e l'attività continua a essere eseguita. I crediti
per un'attività che il worker ha già iniziato a eseguire non sono rimborsabili,
quindi eliminarla a metà esecuzione ti costerebbe sia i crediti sia il risultato.
Attendi che raggiunga lo stato SUCCEEDED, FAILED o CANCELED, poi eliminala.
Un'attività in uno stato finale (SUCCEEDED, FAILED o CANCELED) viene
eliminata senza rimborso.
Restituisce
Restituisce 200 OK in caso di successo, oppure 409 Conflict quando
l'attività è IN_PROGRESS.
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/print/multi-color/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
// 200 OK on success, with an empty body.
//
// 409 Conflict when the task is IN_PROGRESS — the task is left running:
{
"message": "Task is IN_PROGRESS and cannot be deleted. Credits for a task the worker has already started are not refundable; wait for it to reach SUCCEEDED, FAILED or CANCELED, then delete it."
}
Elenca attività di stampa 3D multicolore
Questo endpoint consente di recuperare un elenco di attività di stampa 3D multicolore.
Parametri
Attributi opzionali
- Name
- page_num
- Type
- integer
- Description
Numero di pagina per la paginazione. Inizia e ha come valore predefinito
1.
- Name
- page_size
- Type
- integer
- Description
Limite della dimensione della pagina. Il valore predefinito è
10elementi. Il massimo consentito è100elementi.
- Name
- sort_by
- Type
- string
- Description
Campo su cui ordinare. Valori disponibili:
+created_at: Ordina per data di creazione in ordine crescente.-created_at: Ordina per data di creazione in ordine decrescente.
Restituisce
Restituisce un elenco paginato di Oggetti Attività di Stampa 3D.
Request
curl https://api.meshy.ai/openapi/v1/print/multi-color?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-multi-color",
"model_urls": {
"3mf": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.3mf?Expires=***"
},
"progress": 100,
"status": "SUCCEEDED",
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 10
}
]
Esegui lo streaming di un'attività di stampa 3D multicolore
Questo endpoint trasmette in streaming gli aggiornamenti in tempo reale di un'attività di stampa 3D multicolore tramite Server-Sent Events (SSE).
Parametri
- Name
- id
- Type
- path
- Description
Identificatore univoco dell'attività di stampa 3D multicolore da trasmettere in streaming.
Risultati restituiti
Restituisce un flusso di Oggetti Attività di Stampa 3D come Server-Sent Events.
Per le attività PENDING o IN_PROGRESS, il flusso di risposta includerà solo i campi necessari progress e status.
Request
curl -N https://api.meshy.ai/openapi/v1/print/multi-color/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response Stream
// Error event example
event: error
data: {
"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: message
data: {
"id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
"progress": 0,
"status": "PENDING"
}
event: message
data: {
"id": "a43b5c6d-7e8f-901a-234b-567c890d1e2f",
"type": "print-multi-color",
"model_urls": {
"3mf": "https://assets.meshy.ai/***/tasks/a43b5c6d-7e8f-901a-234b-567c890d1e2f/output/model.3mf?Expires=***"
},
"progress": 100,
"status": "SUCCEEDED",
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 10
}
The 3D Print Task Object
- 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 di stampa 3D. Il valore è
print-multi-color.
- Name
- model_urls
- Type
- object
- Description
URL scaricabile del file del modello 3D generato da Meshy. La proprietà per un formato verrà omessa se il formato non viene generato, invece di restituire una stringa vuota.
- Name
3mf- Type
- string
- Description
URL scaricabile del file 3MF multicolore.
- Name
- progress
- Type
- integer
- Description
Avanzamento del task. Se il task non è ancora iniziato, questa proprietà sarà
0. Una volta che il task è andato a buon fine, diventerà100.
- Name
- status
- Type
- string
- Description
Stato del task. I valori possibili sono uno tra
PENDING,IN_PROGRESS,SUCCEEDED,FAILED.
- Name
- preceding_tasks
- Type
- integer
- Description
Il numero di task precedenti.
Il valore di questo campo è significativo solo se lo stato del task è
PENDING.
- 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. Se il task non è ancora stato avviato, questa proprietà sarà
0.
- Name
- finished_at
- Type
- timestamp
- Description
Timestamp di quando il task è terminato, in millisecondi. Se il task non è ancora terminato, questa proprietà sarà
0.
- Name
- task_error
- Type
- object
- Description
Dettagli dell'errore per i task falliti. Consulta 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_PROGRESSoSUCCEEDED. Restituisce0per i taskFAILED(i crediti vengono rimborsati in caso di fallimento).
The 3D Print Task Object
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "print-multi-color",
"model_urls": {
"3mf": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.3mf?Expires=***"
},
"progress": 100,
"status": "SUCCEEDED",
"preceding_tasks": 0,
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 10
}