API zmiany rozmiaru
API zmiany rozmiaru pozwala na zmianę rozmiaru istniejących modeli 3D do rzeczywistych wymiarów. Możesz określić dokładną wysokość, ograniczenie najdłuższego boku lub pozwolić AI automatycznie oszacować odpowiedni rozmiar.
Utwórz zadanie zmiany rozmiaru
Ten punkt końcowy tworzy nowe zadanie zmiany rozmiaru.
Parametry
Tylko jeden z input_task_id lub model_url jest wymagany. Jeśli oba są podane, input_task_id ma priorytet.
- Name
- input_task_id
- Type
- string
- Wymagane
- Description
ID ukończonego zadania Meshy, którego model chcesz zmienić rozmiar. Zadanie musi mieć status
SUCCEEDED. Format wyjściowy będzie GLB.
- Name
- model_url
- Type
- string
- Wymagane
- Description
Publicznie dostępny URL lub Data URI wskazujący na plik modelu 3D. Obsługiwane formaty:
.glb,.gltf,.obj,.fbx,.stl. Dla Data URI użyj MIME type:application/octet-stream. Format wyjściowy zachowa oryginalny format modelu wejściowego.
Dokładnie jeden tryb zmiany rozmiaru jest wymagany: resize_height, resize_longest_side lub auto_size. Te trzy parametry są wzajemnie wykluczające się.
- Name
- resize_height
- Type
- number
- Description
Zmień rozmiar modelu do określonej wysokości mierzonej w metrach.
- Name
- resize_longest_side
- Type
- number
- Description
Zmień rozmiar modelu tak, aby jego najdłuższy bok odpowiadał tej wartości, mierzonej w metrach. Proporcje są zachowane.
- Name
- auto_size
- Type
- boolean
- Description
Gdy ustawione na
true, usługa używa wizji AI do automatycznego oszacowania rzeczywistej wysokości obiektu i odpowiednio zmienia rozmiar modelu. Punkt początkowy domyślnie będzie ustawiony nabottom, chyba żeorigin_atzostanie jawnie ustawiony.
- Name
- origin_at
- Type
- string
- domyślne bottom
- Description
Pozycja punktu początkowego po zmianie rozmiaru.
Dostępne wartości:
bottom,center.
Zwraca
Właściwość result odpowiedzi zawiera id nowo utworzonego zadania zmiany rozmiaru.
Tryby błędów
400 - Bad Request
Żądanie było nieakceptowalne. Typowe przyczyny:
- Brakujący parametr: Należy podać
model_urllubinput_task_id. - Brakujący tryb zmiany rozmiaru: Należy określić co najmniej jeden z
resize_height,resize_longest_sidelubauto_size. - Wzajemnie wykluczające się parametry:
resize_height,resize_longest_sideiauto_sizenie mogą być łączone. - Nieprawidłowe zadanie wejściowe:
input_task_idmusi odnosić się do pomyślnego zadania. - Nieprawidłowy format modelu:
model_urlwskazuje na plik z nieobsługiwanym rozszerzeniem. - Nieosiągalny URL:
model_urlnie mógł zostać pobrany.
401 - Unauthorized
Uwierzytelnianie nie powiodło się. Proszę sprawdzić swój klucz API.
402 - Payment Required
Niewystarczająca liczba kredytów do wykonania tego zadania.
429 - Too Many Requests
Przekroczyłeś swój limit szybkości.
Request
# Simple: resize to a specific height
curl https://api.meshy.ai/openapi/v1/resize \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"resize_height": 1.8
}'
# Advanced: resize longest side with custom origin
curl https://api.meshy.ai/openapi/v1/resize \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"model_url": "https://example.com/model.glb",
"resize_longest_side": 2.0,
"origin_at": "center"
}'
Response
{
"result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}
Pobierz zadanie zmiany rozmiaru
Ten punkt końcowy pobiera zadanie zmiany rozmiaru według jego ID.
Parametry
- Name
- id
- Type
- path
- Description
ID zadania zmiany rozmiaru do pobrania.
Zwraca
Obiekt zadania zmiany rozmiaru.
Żądanie
curl https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Odpowiedź
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "resize",
"model_urls": {
"glb": "https://assets.meshy.ai/.../model.glb?Expires=..."
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 1
}
Usuń zadanie Zmień rozmiar
Ten punkt końcowy trwale usuwa zadanie zmiany rozmiaru, w tym wszystkie powiązane modele i dane. Ta akcja jest nieodwracalna.
Parametry ścieżki
- Name
- id
- Type
- path
- Description
ID zadania zmiany rozmiaru do usunięcia.
Zwraca
Zwraca 200 OK w przypadku sukcesu.
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
// Returns 200 Ok on success.
Lista Zadań Zmiany Rozmiaru
Ten punkt końcowy pozwala na pobranie listy zadań zmiany rozmiaru.
Parametry
- Name
- page_num
- Type
- integer
- domyślne 1
- Description
Numer strony dla stronicowania.
- Name
- page_size
- Type
- integer
- domyślne 10
- Description
Limit rozmiaru strony. Maksymalnie dozwolone to
50elementów.
- Name
- sort_by
- Type
- string
- Description
Pole do sortowania. Dostępne wartości:
+created_at: Sortuj według czasu utworzenia w porządku rosnącym.-created_at: Sortuj według czasu utworzenia w porządku malejącym.
Zwraca
Zwraca stronicowaną listę Obiektów Zadań Zmiany Rozmiaru.
Request
curl https://api.meshy.ai/openapi/v1/resize?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "resize",
"model_urls": {
"glb": "https://assets.meshy.ai/.../model.glb?Expires=..."
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 1
}
]
Streamuj zadanie zmiany rozmiaru
Ten punkt końcowy przesyła w czasie rzeczywistym aktualizacje dla zadania zmiany rozmiaru za pomocą Server-Sent Events (SSE).
Parametry
- Name
- id
- Type
- path
- Description
Unikalny identyfikator dla zadania zmiany rozmiaru do przesyłania.
Zwraca
Zwraca strumień Obiektów zadania zmiany rozmiaru jako Server-Sent Events.
Dla 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/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response Stream
// Message event examples illustrate task progress.
event: message
data: {
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"progress": 0,
"status": "PENDING"
}
event: message
data: {
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "resize",
"model_urls": {
"glb": "https://assets.meshy.ai/.../model.glb?Expires=..."
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 1
}
Obiekt zadania zmiany rozmiaru
Obiekt zadania zmiany rozmiaru reprezentuje zadanie zmiany rozmiaru.
Właściwości
id· string
Unikalny identyfikator zadania.
type· string
Typ zadania. Wartość to resize.
model_urls· object
Pobieralny URL dla pliku modelu o zmienionym rozmiarze. Przy użyciu input_task_id, wynik zawsze jest w formacie GLB. Przy użyciu model_url, wynik zachowuje oryginalny format.
progress· integer
Postęp zadania (0-100).
status· string
Status zadania. Możliwe wartości: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
preceding_tasks· integer
Liczba poprzedzających zadań. Znaczące tylko, gdy status to PENDING.
created_at· znacznik czasu
Znacznik czasu, kiedy zadanie zostało utworzone, w milisekundach.
started_at· znacznik czasu
Znacznik czasu, kiedy zadanie zostało rozpoczęte, w milisekundach. 0 jeśli nie rozpoczęto.
finished_at· znacznik czasu
Znacznik czasu, kiedy zadanie zostało zakończone, w milisekundach. 0 jeśli nie zakończono.
task_error· object
Obiekt błędu, jeśli zadanie nie powiodło się. Zobacz Błędy po więcej szczegółów.
consumed_credits· integer
Liczba kredytów zużytych przez to zadanie (1 kredyt na zadanie zmiany rozmiaru). Zwraca 0 dla zadań FAILED.