API Zmień rozmiar
API Zmień rozmiar umożliwia zmianę rozmiaru istniejących modeli 3D do wymiarów rzeczywistych. 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
Wymagany jest tylko jeden z input_task_id lub model_url. Jeśli podano oba, input_task_id ma priorytet.
- Name
- input_task_id
- Type
- string
- Wymagane
- Description
ID ukończonego zadania Meshy, którego model chcesz zmienić. 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. W przypadku Data URI użyj MIME type:application/octet-stream. Format wyjściowy zachowa oryginalny format modelu wejściowego.
Wymagany jest dokładnie jeden mode zmiany rozmiaru: resize_height, resize_longest_side lub auto_size. Te trzy parametry wzajemnie się wykluczają.
- 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 zostaną zachowane.
- Name
- auto_size
- Type
- boolean
- Description
Po ustawieniu na
trueusługa używa wizji AI, aby automatycznie oszacować rzeczywistą wysokość obiektu i odpowiednio zmienić rozmiar modelu. Punkt początkowy zostanie domyślnie ustawiony nabottom, chyba żeorigin_atzostanie jawnie ustawione.
- 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 niepowodzeń
400 - Bad Request
Żądanie było nieakceptowalne. Typowe przyczyny:
- Brakujący parametr: Należy podać
model_urllubinput_task_id. - Brakujący mode 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: Nie można było pobrać
model_url.
401 - Unauthorized
Uwierzytelnianie nie powiodło się. Sprawdź swój klucz API.
402 - Payment Required
Niewystarczająca liczba kredytów do wykonania tego zadania.
429 - Too Many Requests
Przekroczono 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 Zmień rozmiar
Ten punkt końcowy pobiera zadanie Zmień rozmiar na podstawie jego ID.
Parametry
- Name
- id
- Type
- path
- Description
ID zadania Zmień rozmiar do pobrania.
Zwraca
Obiekt zadania Zmień rozmiar.
Request
curl https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-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
}
Usuń zadanie Zmień rozmiar
Ten punkt końcowy trwale usuwa zadanie Zmień rozmiar, 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 Zmień rozmiar do usunięcia.
Zwraca
Zwraca 200 OK w przypadku powodzenia.
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.
Wyświetl listę zadań Zmień rozmiar
Ten punkt końcowy pozwala pobrać listę zadań zmiany rozmiaru.
Parametry
- Name
- page_num
- Type
- integer
- domyślne 1
- Description
Numer strony do stronicowania.
- Name
- page_size
- Type
- integer
- domyślne 10
- Description
Limit rozmiaru strony. Maksymalna dozwolona liczba to
50elementó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 zadania Zmień rozmiar.
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
}
]
Przesyłaj strumieniowo zadanie Zmień rozmiar
Ten punkt końcowy przesyła strumieniowo aktualizacje w czasie rzeczywistym dla zadania zmiany rozmiaru za pomocą Server-Sent Events (SSE).
Parametry
- Name
- id
- Type
- path
- Description
Unikalny identyfikator zadania zmiany rozmiaru do przesyłania strumieniowego.
Zwraca
Zwraca strumień obiektów zadania Zmień rozmiar 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/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 Zmień rozmiar
Obiekt zadania Zmień rozmiar reprezentuje zadanie zmiany rozmiaru.
Properties
id· string
Unikalny identyfikator zadania.
type· string
Typ zadania. Wartość to resize.
model_urls· object
Adres URL do pobrania pliku modelu o zmienionym rozmiarze. Podczas używania input_task_id wynik jest zawsze w formacie GLB. Podczas używania model_url wynik zachowuje oryginalny format.
progress· integer
Progress zadania (0-100).
status· string
Status zadania. Możliwe wartości: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
preceding_tasks· integer
Liczba poprzedzających zadań. Ma znaczenie tylko wtedy, gdy status to PENDING.
created_at· znacznik czasu
Znacznik czasu utworzenia zadania, w milisekundach.
started_at· znacznik czasu
Znacznik czasu rozpoczęcia zadania, w milisekundach. 0, jeśli nie rozpoczęto.
finished_at· znacznik czasu
Znacznik czasu zakończenia zadania, w milisekundach. 0, jeśli nie zakończono.
task_error· object
Obiekt błędu, jeśli zadanie się nie powiodło. Zobacz Błędy, aby uzyskać 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.