API för flerfärgsutskrift
Konvertera 3D-modeller till flerfärgat 3MF-format för 3D-utskrift, med en konfigurerbar färgpalett på upp till 16 färger.
Create a Multi-Color 3D Print Task
Denna endpoint skapar en ny flerfärgad 3D-utskriftsuppgift. Uppgiften konverterar en 3D-modell till en flerfärgad 3MF-fil lämplig för 3D-utskrift.
Uppgiften körs i bakgrunden. För information om hur lång tid det vanligtvis tar, se Processing Times.
Parametrar
Endast en av input_task_id eller model_url krävs. Om båda anges har input_task_id prioritet.
- Name
- input_task_id
- Type
- string
- Obligatorisk
- Description
ID:t för en lyckad uppgift att använda som indata. Uppgiftstyper som stöds: Bild till 3D, Flera bilder till 3D, Text till 3D, Remesh, och Omtexturering. Uppgiften måste ha statusen
SUCCEEDED.
- Name
- model_url
- Type
- string
- Obligatorisk
- Description
Offentligt tillgänglig URL till en
.glb- eller.fbx-modell, eller en base64data:-URL för en GLB (data:model/gltf-binary;base64,...). En.fbxmåste skickas som enhttp- ellerhttps-URL.Maximal filstorlek: 400 MB för en
http- ellerhttps-URL, 100 MB för endata:-URI.En fil över 100 MB kan ha som mest 8 000 000 polygoner. Polygoner räknas som trianglar: en quad räknas som 2, och ett nät som ritas mer än en gång räknas en gång per kopia. Över 100 MB måste en FBX-fil vara binär FBX 7.1 eller nyare, och en GLB-fil får inte använda Draco-komprimering.
- Name
- max_colors
- Type
- integer
- standard 4
- Description
Maximalt antal färger i utdatapaletten.
Giltigt intervall:
1till16.
- Name
- style
- Type
- string
- standard realistic
- Description
Visuell färgstil för den genererade 3MF-filen.
Tillgängliga värden:
realistic: Samplar färger direkt från modellens textur för fina, fotorealistiska detaljer. Ger en större fil.cartoon: Platta till färger i rena, enhetliga regioner för ett stiliserat utseende. Ger en mindre fil.
Indatan måste innehålla färg:
realistickräver en enda bastextur med UV-koordinater på varje nätdel;cartoonaccepterar även färger per vertex. Otexturerade (vita) modeller avvisas — semodel_missing_texture.
- Name
- max_depth
- Type
- integer
- standard 4
- Description
Uppdelningsdjup som används för att sampla texturfärger på nätet. Högre värden fångar finare färgdetaljer till priset av en större fil. Gäller endast för stilen
realistic; ignoreras förcartoon.Giltigt intervall:
3till6.
- Name
- printer_brand
- Type
- string
- standard bambu
- Description
Skrivarmärke vars slicer-förinställning skrivs in i 3MF-filen, så att filen öppnas i det märkets slicer med en matchande skrivare, filament och processprofil. Varje märke använder sin standardskrivare med ett munstycke på 0,4 mm.
Tillgängliga värden:
bambu,anycubic,creality,elegoo,flashforge,prusa,qidi,snapmaker,ankermake.
Returnerar
Svarets result-egenskap innehåller id för den nyskapade 3D-utskriftsuppgiften.
Felscenarier
- Name
400 - Bad Request- Description
Begäran kunde inte accepteras. Vanliga orsaker:
- Saknad parameter: Antingen
model_urlellerinput_task_idmåste anges. - Ogiltigt modellformat:
model_urlpekar på en fil med ett filtillägg som inte stöds (endast.glboch.fbxstöds). - Onåbar URL:
model_urlkunde inte laddas ner. - Modellfilen är för stor:
model_url-filen överskrider 400 MB (http- ellerhttps-URL) eller 100 MB (data:-URI). - För många polygoner:
model_url-filen är över 100 MB och har fler än 8 000 000 polygoner. Minska antalet polygoner och skicka sedan filen igen. - ASCII-FBX över 100 MB:
model_url-filen är en ASCII-FBX över 100 MB. Skicka den som binär FBX eller GLB. - Oläsbar modellfil:
model_url-filen är över 100 MB och dess header kan inte läsas, till exempel en Draco-komprimerad GLB, eller en binär FBX äldre än 7.1. - Modellhuvudet är för komplext:
model_url-filen är över 100 MB och dess header har för många nät, noder eller poster att kontrollera. Minska antalet objekt i filen och skicka den sedan igen. - Ogiltig indatauppgift:
input_task_idmåste hänvisa till en lyckad uppgift. - Ogiltigt max_colors: Värdet måste vara mellan 1 och 16.
- Ogiltig style: Värdet måste vara
realisticellercartoon. - Ogiltigt max_depth: Värdet måste vara mellan 3 och 6.
- Ogiltigt printer_brand: Värdet måste vara ett av märkena som listas ovan.
- Ingen färgkälla: Indatamodellen saknar bastextur (
realistickräver en enda, med UV:er, på varje nätdel) och har inga vertexfärger (cartoonaccepterar endera). Texturera modellen först, eller användcartoonför vertexfärgade modeller..fbx-uppladdningar kontrolleras efter att uppgiften normaliserat dem och misslyckas medmodel_missing_textureistället.
- Saknad parameter: Antingen
- Name
401 - Unauthorized- Description
Autentiseringen misslyckades. Kontrollera din API-nyckel.
- Name
402 - Payment Required- Description
Otillräckligt med credits för att utföra denna uppgift.
- Name
429 - Too Many Requests- Description
Du har överskridit din hastighetsgräns.
Request
# Convert a 3D model to a multi-color 3MF with a Creality slicer preset
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,
"printer_brand": "creality"
}'
Response
{
"result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}
Hämta en flerfärgad 3D-utskriftsuppgift
Denna endpoint hämtar en flerfärgad 3D-utskriftsuppgift utifrån dess ID.
Parametrar
- Name
- id
- Type
- path
- Description
ID:t för den 3D-utskriftsuppgift som ska hämtas.
Returnerar
Objektet för 3D-utskriftsuppgiften.
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
}
Ta bort en flerfärgad 3D-utskriftsuppgift
Denna endpoint tar permanent bort en flerfärgad 3D-utskriftsuppgift, inklusive alla tillhörande modeller och data. Denna åtgärd kan inte ångras.
Sökvägsparametrar
- Name
- id
- Type
- path
- Description
ID:t för den flerfärgade 3D-utskriftsuppgift som ska tas bort.
Uppgiftsstatus
En uppgift som fortfarande är PENDING tas bort och de credits som
förbrukades vid skapandet återbetalas.
En uppgift som redan är IN_PROGRESS kan inte tas bort: begäran
avvisas med 409 Conflict och uppgiften fortsätter att köras. Credits för en uppgift
som arbetaren redan har påbörjat kan inte återbetalas, så att ta bort den mitt under körningen
skulle kosta dig både credits och resultatet. Vänta tills den når
SUCCEEDED, FAILED eller CANCELED, och ta sedan bort den.
En uppgift i ett sluttillstånd (SUCCEEDED, FAILED eller CANCELED) tas bort
utan återbetalning.
Returnerar
Returnerar 200 OK vid lyckad borttagning, eller 409 Conflict när uppgiften
är 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."
}
Lista uppgifter för flerfärgad 3D-utskrift
Denna endpoint låter dig hämta en lista med uppgifter för flerfärgad 3D-utskrift.
Parametrar
Valfria attribut
- Name
- page_num
- Type
- integer
- Description
Sidnummer för paginering. Börjar på och har som standard
1.
- Name
- page_size
- Type
- integer
- Description
Gräns för sidstorlek. Standard är
10objekt. Maximalt tillåtet är100objekt.
- Name
- sort_by
- Type
- string
- Description
Fält att sortera efter. Tillgängliga värden:
+created_at: Sortera efter skapandetid i stigande ordning.-created_at: Sortera efter skapandetid i fallande ordning.
Returnerar
Returnerar en paginerad lista med 3D Print Task-objekt.
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
}
]
Strömma en flerfärgad 3D-utskriftsuppgift
Denna endpoint strömmar realtidsuppdateringar för en flerfärgad 3D-utskriftsuppgift med hjälp av Server-Sent Events (SSE).
Parametrar
- Name
- id
- Type
- path
- Description
Unik identifierare för den flerfärgade 3D-utskriftsuppgift som ska strömmas.
Returnerar
Returnerar en ström av 3D-utskriftsuppgiftsobjekt som Server-Sent Events.
För uppgifter med status PENDING eller IN_PROGRESS kommer svarsströmmen endast att innehålla nödvändiga fält för progress och 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
}
3D-utskriftsobjektet
- Name
- id
- Type
- string
- Description
Unik identifierare för uppgiften. Även om vi använder en k-sorterbar UUID för uppgifts-id som implementationsdetalj bör du inte göra några antaganden om id:ts format.
- Name
- type
- Type
- string
- Description
Typ av 3D-utskriftsuppgift. Värdet är
print-multi-color.
- Name
- model_urls
- Type
- object
- Description
Nedladdningsbar URL till 3D-modellfilen som genererats av Meshy. Egenskapen för ett format utelämnas om formatet inte har genererats, istället för att returnera en tom sträng.
- Name
3mf- Type
- string
- Description
Nedladdningsbar URL till flerfärgs-3MF-filen.
- Name
- progress
- Type
- integer
- Description
Uppgiftens progress. Om uppgiften inte har startat än kommer denna egenskap att vara
0. När uppgiften har lyckats blir den100.
- Name
- status
- Type
- string
- Description
Uppgiftens status. Möjliga värden är ett av
PENDING,IN_PROGRESS,SUCCEEDED,FAILED.
- Name
- preceding_tasks
- Type
- integer
- Description
Antalet föregående uppgifter.
Värdet för detta fält är endast meningsfullt om uppgiftens status är
PENDING.
- Name
- created_at
- Type
- timestamp
- Description
Tidsstämpel för när uppgiften skapades, i millisekunder.
- Name
- started_at
- Type
- timestamp
- Description
Tidsstämpel för när uppgiften startades, i millisekunder. Om uppgiften inte har startat än kommer denna egenskap att vara
0.
- Name
- finished_at
- Type
- timestamp
- Description
Tidsstämpel för när uppgiften avslutades, i millisekunder. Om uppgiften inte har avslutats än kommer denna egenskap att vara
0.
- Name
- task_error
- Type
- object
- Description
Felinformation för misslyckade uppgifter. Se Fel för den fullständiga referensen för
task_error-objektet.
- Name
- consumed_credits
- Type
- integer
- Description
Antalet credits som förbrukats av denna uppgift. Finns med när uppgiftens status är
PENDING,IN_PROGRESS, ellerSUCCEEDED. Returnerar0förFAILED-uppgifter (credits återbetalas vid misslyckande).
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
}