lowpoly avvecklas den 30 okt. 2026. Byt modell före dessa datum för att undvika fel i förfrågningar.

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.


POST/openapi/v1/print/multi-color

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

  • Name
    model_url
    Type
    string
    Obligatorisk
    Description

    Offentligt tillgänglig URL till en .glb- eller .fbx-modell, eller en base64 data:-URL för en GLB (data:model/gltf-binary;base64,...). En .fbx måste skickas som en http- eller https-URL.

    Maximal filstorlek: 400 MB för en http- eller https-URL, 100 MB för en data:-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: 1 till 16.

  • 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: realistic kräver en enda bastextur med UV-koordinater på varje nätdel; cartoon accepterar även färger per vertex. Otexturerade (vita) modeller avvisas — se model_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ör cartoon.

    Giltigt intervall: 3 till 6.

  • 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_url eller input_task_id måste anges.
    • Ogiltigt modellformat: model_url pekar på en fil med ett filtillägg som inte stöds (endast .glb och .fbx stöds).
    • Onåbar URL: model_url kunde inte laddas ner.
    • Modellfilen är för stor: model_url-filen överskrider 400 MB (http- eller https-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_id må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 realistic eller cartoon.
    • 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 (realistic kräver en enda, med UV:er, på varje nätdel) och har inga vertexfärger (cartoon accepterar endera). Texturera modellen först, eller använd cartoon för vertexfärgade modeller. .fbx-uppladdningar kontrolleras efter att uppgiften normaliserat dem och misslyckas med model_missing_texture istället.
  • 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

POST
/openapi/v1/print/multi-color
# 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"
}

GET/openapi/v1/print/multi-color/:id

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

GET
/openapi/v1/print/multi-color/a43b5c6d-7e8f-901a-234b-567c890d1e2f
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
}

DELETE/openapi/v1/print/multi-color/:id

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

DELETE
/openapi/v1/print/multi-color/a43b5c6d-7e8f-901a-234b-567c890d1e2f
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."
}

GET/openapi/v1/print/multi-color

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 10 objekt. Maximalt tillåtet är 100 objekt.

  • 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

GET
/openapi/v1/print/multi-color
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
  }
]

GET/openapi/v1/print/multi-color/:id/stream

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

GET
/openapi/v1/print/multi-color/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream
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 den 100.

  • 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.

  • 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, eller SUCCEEDED. Returnerar 0 för FAILED-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
}