API druku wielokolorowego
Konwertuj modele 3D do wielokolorowego formatu 3MF na potrzeby druku 3D, z konfigurowalną paletą kolorów obejmującą do 16 kolorów.
Utwórz zadanie wielokolorowego druku 3D
Ten punkt końcowy tworzy nowe zadanie wielokolorowego druku 3D. Zadanie konwertuje model 3D na wielokolorowy plik 3MF odpowiedni do druku 3D.
Parametry
Wymagane jest tylko jedno z input_task_id lub model_url. Jeśli podano oba, input_task_id ma priorytet.
- Name
- input_task_id
- Type
- string
- Wymagane
- Description
Identyfikator zadania zakończonego powodzeniem, którego należy użyć jako danych wejściowych. Obsługiwane typy zadań: Obraz na 3D, Wiele obrazów na 3D, Tekst na 3D, Remesh, i Reteksturowanie. Zadanie musi mieć status
SUCCEEDED.
- Name
- model_url
- Type
- string
- Wymagane
- Description
Publicznie dostępny adres URL lub Data URI modelu 3D. Obecnie obsługujemy formaty
.glbi.fbx.
- Name
- max_colors
- Type
- integer
- domyślne 4
- Description
Maksymalna liczba kolorów w palecie wyjściowej.
Prawidłowy zakres: od
1do16.
- Name
- max_depth
- Type
- integer
- domyślne 4
- Description
Głębokość drzewa czwórkowego dla precyzji kolorów. Wyższe wartości zapewniają dokładniejsze granice kolorów, ale zwiększają rozmiar pliku.
Prawidłowy zakres: od
3do6.
Zwraca
Właściwość result odpowiedzi zawiera id nowo utworzonego zadania druku 3D.
Tryby niepowodzenia
- Name
400 - Bad Request- Description
Żądanie było nieakceptowalne. Typowe przyczyny:
- Brakujący parametr: Należy podać
model_urlalboinput_task_id. - Nieprawidłowy format modelu:
model_urlwskazuje plik z nieobsługiwanym rozszerzeniem (obsługiwane są tylko.glbi.fbx). - Nieosiągalny URL: Nie można było pobrać
model_url. - Nieprawidłowe zadanie wejściowe:
input_task_idmusi odnosić się do zadania zakończonego powodzeniem. - Nieprawidłowy max_colors: Wartość musi być z zakresu od 1 do 16.
- Nieprawidłowy max_depth: Wartość musi być z zakresu od 3 do 6.
- Brakujący parametr: Należy podać
- Name
401 - Unauthorized- Description
Uwierzytelnianie nie powiodło się. Sprawdź swój klucz API.
- Name
402 - Payment Required- Description
Niewystarczająca liczba kredytów do wykonania tego zadania.
- Name
429 - Too Many Requests- Description
Przekroczono limit szybkości.
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,
"max_depth": 5
}'
Response
{
"result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}
Pobierz zadanie wielokolorowego druku 3D
Ten punkt końcowy pobiera zadanie wielokolorowego druku 3D według jego ID.
Parametry
- Name
- id
- Type
- path
- Description
ID zadania druku 3D do pobrania.
Zwraca
Obiekt zadania druku 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
}
Usuń zadanie wielokolorowego druku 3D
Ten punkt końcowy trwale usuwa zadanie wielokolorowego druku 3D, w tym wszystkie powiązane modele i dane. Tej czynności nie można cofnąć.
Parametry ścieżki
- Name
- id
- Type
- path
- Description
ID zadania wielokolorowego druku 3D do usunięcia.
Zwraca
Zwraca 200 OK w przypadku powodzenia.
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
// Returns 200 Ok on success.
Wyświetl listę zadań wielokolorowego druku 3D
Ten punkt końcowy umożliwia pobranie listy zadań wielokolorowego druku 3D.
Parametry
Opcjonalne atrybuty
- Name
- page_num
- Type
- integer
- Description
Numer strony do stronicowania. Zaczyna się od
1i domyślnie wynosi1.
- Name
- page_size
- Type
- integer
- Description
Limit rozmiaru strony. Domyślnie
10elementów. Maksymalnie dozwolone jest50elementów.
- Name
- sort_by
- Type
- string
- Description
Pole, według którego sortować. Dostępne wartości:
+created_at: Sortuj według czasu utworzenia w kolejności rosnącej.-created_at: Sortuj według czasu utworzenia w kolejności malejącej.
Zwraca
Zwraca stronicowaną listę obiektów zadań druku 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
}
]
Strumieniuj zadanie wielokolorowego druku 3D
Ten punkt końcowy strumieniuje aktualizacje w czasie rzeczywistym dla zadania wielokolorowego druku 3D za pomocą Server-Sent Events (SSE).
Parametry
- Name
- id
- Type
- path
- Description
Unikalny identyfikator zadania wielokolorowego druku 3D do strumieniowania.
Zwraca
Zwraca strumień obiektów zadań druku 3D jako Server-Sent Events.
W przypadku zadań PENDING lub IN_PROGRESS strumień odpowiedzi będzie zawierał tylko niezbędne pola progress i 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
}
Obiekt zadania druku 3D
- Name
- id
- Type
- string
- Description
Unikalny identyfikator zadania. Chociaż używamy k-sortowalnego UUID dla identyfikatorów zadań jako szczegółu implementacyjnego, nie należy przyjmować żadnych założeń dotyczących formatu identyfikatora.
- Name
- type
- Type
- string
- Description
Typ zadania druku 3D. Wartość to
print-multi-color.
- Name
- model_urls
- Type
- object
- Description
URL do pobrania pliku modelu 3D wygenerowanego przez Meshy. Właściwość dla danego formatu zostanie pominięta, jeśli format nie zostanie wygenerowany, zamiast zwracać pusty ciąg znaków.
- Name
3mf- Type
- string
- Description
URL do pobrania wielokolorowego pliku 3MF.
- Name
- progress
- Type
- integer
- Description
progress zadania. Jeśli zadanie nie zostało jeszcze rozpoczęte, ta właściwość będzie miała wartość
0. Po pomyślnym zakończeniu zadania wartość ta stanie się100.
- Name
- status
- Type
- string
- Description
Status zadania. Możliwe wartości to jedna z:
PENDING,IN_PROGRESS,SUCCEEDED,FAILED.
- Name
- preceding_tasks
- Type
- integer
- Description
Liczba poprzedzających zadań.
Wartość tego pola ma znaczenie tylko wtedy, gdy status zadania to
PENDING.
- Name
- created_at
- Type
- timestamp
- Description
Znacznik czasu utworzenia zadania, w milisekundach.
- Name
- started_at
- Type
- timestamp
- Description
Znacznik czasu rozpoczęcia zadania, w milisekundach. Jeśli zadanie nie zostało jeszcze rozpoczęte, ta właściwość będzie miała wartość
0.
- Name
- finished_at
- Type
- timestamp
- Description
Znacznik czasu zakończenia zadania, w milisekundach. Jeśli zadanie nie zostało jeszcze zakończone, ta właściwość będzie miała wartość
0.
- Name
- task_error
- Type
- object
- Description
Szczegóły błędu dla zadań zakończonych niepowodzeniem. Zobacz Błędy, aby uzyskać pełną dokumentację obiektu
task_error.
- Name
- consumed_credits
- Type
- integer
- Description
Liczba kredytów zużytych przez to zadanie. Obecne, gdy status zadania to
PENDING,IN_PROGRESSlubSUCCEEDED. Zwraca0dla zadańFAILED(kredyty są zwracane w przypadku niepowodzenia).
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
}