Multi-Color Print API
Převést 3D modely do vícebarevného formátu 3MF pro 3D tisk, s konfigurovatelnou barevnou paletou až 16 barev.
Vytvoření úlohy vícebarevného 3D tisku
Tento koncový bod vytvoří novou úlohu vícebarevného 3D tisku. Úloha převede 3D model na vícebarevný soubor 3MF vhodný pro 3D tisk.
Úloha běží na pozadí. Informace o tom, jak dlouho obvykle trvá, najdete v části Doby zpracování.
Parametry
Je povinné zadat pouze jeden z parametrů input_task_id nebo model_url. Pokud jsou zadány oba, má přednost input_task_id.
- Name
- input_task_id
- Type
- string
- Povinné
- Description
ID úspěšně dokončené úlohy, která se použije jako vstup. Podporované typy úloh: Obrázek na 3D, Více obrázků na 3D, Text na 3D, Remesh a Retexturování. Úloha musí mít stav
SUCCEEDED.
- Name
- model_url
- Type
- string
- Povinné
- Description
Veřejně dostupná URL adresa modelu
.glbnebo.fbx, nebo base64data:URL adresa souboru GLB (data:model/gltf-binary;base64,...). Soubor.fbxmusí být odeslán jako URL adresahttpnebohttps.Maximální velikost souboru: 400 MB pro URL adresu
httpnebohttps, 100 MB prodata:URI.Soubor nad 100 MB může mít nejvýše 8 000 000 plošek. Plošky se počítají jako trojúhelníky: čtyřúhelník se počítá jako 2 a síť vykreslená vícekrát se počítá jednou za každou kopii. Nad 100 MB musí být soubor FBX binární FBX verze 7.1 nebo novější a soubor GLB nesmí používat kompresi Draco.
- Name
- max_colors
- Type
- integer
- výchozí 4
- Description
Maximální počet barev ve výsledné paletě.
Platný rozsah:
1až16.
- Name
- style
- Type
- string
- výchozí realistic
- Description
Vizuální barevný styl generovaného souboru 3MF.
Dostupné hodnoty:
realistic: Barvy vzorkuje přímo z textury modelu pro jemné, fotorealistické detaily. Vytváří větší soubor.cartoon: Zploští barvy do čistých, jednotných oblastí pro stylizovaný vzhled. Vytváří menší soubor.
Vstup musí obsahovat barvu:
realisticvyžaduje jednu základní barevnou texturu s UV souřadnicemi na každé části sítě;cartoonpřijímá i barvy jednotlivých vrcholů. Netexturované (bílé) modely jsou odmítnuty — vizmodel_missing_texture.
- Name
- max_depth
- Type
- integer
- výchozí 4
- Description
Hloubka subdivize použitá ke vzorkování barev textury na síť. Vyšší hodnoty zachytí jemnější barevné detaily za cenu většího souboru. Platí pouze pro styl
realistic; ucartoonje ignorováno.Platný rozsah:
3až6.
- Name
- printer_brand
- Type
- string
- výchozí bambu
- Description
Značka tiskárny, jejíž předvolba slicer je zapsána do souboru 3MF, takže se soubor otevře ve slicer dané značky s odpovídající tiskárnou, filamentem a profilem procesu. Každá značka používá svou výchozí tiskárnu s tryskou 0,4 mm.
Dostupné hodnoty:
bambu,anycubic,creality,elegoo,flashforge,prusa,qidi,snapmaker,ankermake.
Návratové hodnoty
Vlastnost result v odpovědi obsahuje id nově vytvořené úlohy 3D tisku.
Způsoby selhání
- Name
400 - Bad Request- Description
Požadavek byl nepřijatelný. Časté příčiny:
- Chybějící parametr: Musí být zadán buď
model_url, neboinput_task_id. - Neplatný formát modelu:
model_urlodkazuje na soubor s nepodporovanou příponou (podporovány jsou pouze.glba.fbx). - Nedostupná URL adresa: Soubor
model_urlse nepodařilo stáhnout. - Soubor modelu je příliš velký: Soubor
model_urlpřesahuje 400 MB (URL adresahttpnebohttps) nebo 100 MB (data:URI). - Příliš mnoho plošek: Soubor
model_urlje větší než 100 MB a má více než 8 000 000 plošek. Snižte počet plošek a soubor odešlete znovu. - ASCII FBX nad 100 MB: Soubor
model_urlje ASCII FBX větší než 100 MB. Odešlete jej jako binární FBX nebo GLB. - Nečitelný soubor modelu: Soubor
model_urlje větší než 100 MB a jeho hlavičku nelze přečíst, například u GLB komprimovaného pomocí Draco nebo binárního FBX staršího než 7.1. - Příliš komplexní hlavička modelu: Soubor
model_urlje větší než 100 MB a jeho hlavička obsahuje příliš mnoho sítí, uzlů nebo záznamů ke kontrole. Snižte počet objektů v souboru a odešlete jej znovu. - Neplatná vstupní úloha:
input_task_idmusí odkazovat na úspěšně dokončenou úlohu. - Neplatné max_colors: Hodnota musí být mezi 1 a 16.
- Neplatný style: Hodnota musí být
realisticnebocartoon. - Neplatné max_depth: Hodnota musí být mezi 3 a 6.
- Neplatné printer_brand: Hodnota musí být jednou z výše uvedených značek.
- Chybí zdroj barvy: Vstupní model nemá žádnou základní barevnou texturu (
realisticvyžaduje jednu, s UV souřadnicemi, na každé části sítě) ani barvy vrcholů (cartoonpřijímá obojí). Nejprve model otexturujte, nebo pro modely s barvami vrcholů použijtecartoon. Nahrání souborů.fbxje kontrolováno až poté, co je úloha normalizuje, a selže s chyboumodel_missing_texturemísto toho.
- Chybějící parametr: Musí být zadán buď
- Name
401 - Unauthorized- Description
Autentizace se nezdařila. Zkontrolujte prosím svůj API klíč.
- Name
402 - Payment Required- Description
Nedostatek kreditů k provedení této úlohy.
- Name
429 - Too Many Requests- Description
Překročili jste limit rychlosti.
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"
}
Načtení úlohy vícebarevného 3D tisku
Tento koncový bod načte úlohu vícebarevného 3D tisku podle jejího ID.
Parametry
- Name
- id
- Type
- path
- Description
ID úlohy 3D tisku, kterou chcete načíst.
Návratová hodnota
Objekt úlohy 3D tisku.
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
}
Smazání úlohy vícebarevného 3D tisku
Tento koncový bod trvale smaže úlohu vícebarevného 3D tisku, včetně všech souvisejících modelů a dat. Tuto akci nelze vrátit zpět.
Parametry cesty
- Name
- id
- Type
- path
- Description
ID úlohy vícebarevného 3D tisku, která má být smazána.
Stav úlohy
Úloha, která je stále ve stavu PENDING, je smazána a kredity spotřebované
při vytvoření jsou vráceny.
Úlohu, která je již ve stavu IN_PROGRESS, nelze smazat: požadavek je
zamítnut s 409 Conflict a úloha dále běží. Kredity za úlohu, kterou již
worker začal zpracovávat, nelze vrátit, takže smazání během běhu by vás
stálo kredity i výsledek zároveň. Počkejte, až dosáhne stavu SUCCEEDED,
FAILED nebo CANCELED, a poté ji smažte.
Úloha v koncovém stavu (SUCCEEDED, FAILED nebo CANCELED) je smazána
bez náhrady.
Návratová hodnota
Vrací 200 OK při úspěchu, nebo 409 Conflict, pokud je úloha ve stavu
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."
}
Výpis úloh vícebarevného 3D tisku
Tento koncový bod umožňuje načíst seznam úloh vícebarevného 3D tisku.
Parametry
Volitelné atributy
- Name
- page_num
- Type
- integer
- Description
Číslo stránky pro stránkování. Začíná a výchozí hodnota je
1.
- Name
- page_size
- Type
- integer
- Description
Limit velikosti stránky. Výchozí hodnota je
10položek. Maximální povolená hodnota je100položek.
- Name
- sort_by
- Type
- string
- Description
Pole, podle kterého se má řadit. Dostupné hodnoty:
+created_at: Řazení podle času vytvoření vzestupně.-created_at: Řazení podle času vytvoření sestupně.
Návratová hodnota
Vrací stránkovaný seznam objektů úlohy 3D tisku.
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
}
]
Stream a Multi-Color 3D Print Task
Tento koncový bod streamuje aktualizace v reálném čase pro úlohu vícebarevného 3D tisku pomocí Server-Sent Events (SSE).
Parametry
- Name
- id
- Type
- path
- Description
Jedinečný identifikátor úlohy vícebarevného 3D tisku, kterou chcete streamovat.
Návratová hodnota
Vrací stream objektů úlohy 3D tisku ve formě Server-Sent Events.
U úloh ve stavu PENDING nebo IN_PROGRESS bude streamovaná odpověď obsahovat pouze nezbytná pole progress a 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
}
Objekt úlohy 3D tisku
- Name
- id
- Type
- string
- Description
Jedinečný identifikátor úlohy. Ačkoli jako implementační detail používáme pro identifikátory úloh k-seřaditelné UUID, neměli byste dělat žádné předpoklady o formátu id.
- Name
- type
- Type
- string
- Description
Typ úlohy 3D tisku. Hodnota je
print-multi-color.
- Name
- model_urls
- Type
- object
- Description
Stažitelná URL adresa souboru 3D modelu vygenerovaného Meshy. Vlastnost pro daný formát bude vynechána, pokud daný formát nebyl vygenerován, namísto vrácení prázdného řetězce.
- Name
3mf- Type
- string
- Description
Stažitelná URL adresa vícebarevného souboru 3MF.
- Name
- progress
- Type
- integer
- Description
Progress úlohy. Pokud úloha ještě nebyla zahájena, tato vlastnost bude
0. Jakmile úloha uspěje, bude mít hodnotu100.
- Name
- status
- Type
- string
- Description
Stav úlohy. Možné hodnoty jsou jedna z
PENDING,IN_PROGRESS,SUCCEEDED,FAILED.
- Name
- preceding_tasks
- Type
- integer
- Description
Počet předcházejících úloh.
Hodnota tohoto pole má smysl pouze tehdy, je-li stav úlohy
PENDING.
- Name
- created_at
- Type
- timestamp
- Description
Časové razítko vytvoření úlohy, v milisekundách.
- Name
- started_at
- Type
- timestamp
- Description
Časové razítko zahájení úlohy, v milisekundách. Pokud úloha ještě nebyla zahájena, tato vlastnost bude
0.
- Name
- finished_at
- Type
- timestamp
- Description
Časové razítko dokončení úlohy, v milisekundách. Pokud úloha ještě nebyla dokončena, tato vlastnost bude
0.
- Name
- task_error
- Type
- object
- Description
Podrobnosti o chybě pro neúspěšné úlohy. Úplnou referenci objektu
task_errornajdete v části Chyby.
- Name
- consumed_credits
- Type
- integer
- Description
Počet kreditů spotřebovaných touto úlohou. Je přítomno, pokud je stav úlohy
PENDING,IN_PROGRESSneboSUCCEEDED. Pro úlohy se stavemFAILEDvrací0(v případě selhání jsou kredity vráceny).
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
}