Resize API
Rozhraní Resize API vám umožňuje změnit velikost existujících 3D modelů na reálné rozměry. Můžete zadat přesnou výšku, omezení nejdelší strany, nebo nechat AI automaticky odhadnout vhodnou velikost.
Vytvoření úlohy pro změnu velikosti
Tento koncový bod vytvoří novou úlohu pro změnu velikosti.
Parametry
Je vyžadován pouze jeden z parametrů input_task_id nebo model_url. Pokud jsou uvedeny oba, input_task_id má prioritu.
- Name
- input_task_id
- Type
- string
- Povinné
- Description
ID dokončené úlohy Meshy, jejíž model chcete změnit velikost. Úloha musí mít stav
SUCCEEDED. Výstupní formát bude GLB.
- Name
- model_url
- Type
- string
- Povinné
- Description
Veřejně přístupná URL adresa nebo Data URI odkazující na soubor 3D modelu. Podporované formáty:
.glb,.gltf,.obj,.fbx,.stl. Pro Data URI použijte MIME type:application/octet-stream. Výstupní formát zachová původní formát vstupního modelu.
Je vyžadován přesně jeden mode pro změnu velikosti: resize_height, resize_longest_side, nebo auto_size. Tyto tři parametry se vzájemně vylučují.
- Name
- resize_height
- Type
- number
- Description
Změní velikost modelu na konkrétní výšku měřenou v metrech.
- Name
- resize_longest_side
- Type
- number
- Description
Změní velikost modelu tak, aby jeho nejdelší strana odpovídala této hodnotě měřené v metrech. Poměr stran je zachován.
- Name
- auto_size
- Type
- boolean
- Description
Pokud je nastaveno na
true, služba použije AI vidění k automatickému odhadu reálné výšky objektu a odpovídajícím způsobem změní velikost modelu. Počátek bude standardně nastaven nabottom, pokud není explicitně nastaven parametrorigin_at.
- Name
- origin_at
- Type
- string
- výchozí bottom
- Description
Umístění počátku po změně velikosti.
Dostupné hodnoty:
bottom,center.
Návratové hodnoty
Vlastnost result v odpovědi obsahuje id nově vytvořené úlohy pro změnu velikosti.
Chybové stavy
400 - Bad Request
Požadavek byl nepřijatelný. Běžné příčiny:
- Chybějící parametr: Musí být uveden buď
model_url, neboinput_task_id. - Chybějící mode pro změnu velikosti: Musí být zadán alespoň jeden z parametrů
resize_height,resize_longest_side, neboauto_size. - Vzájemně se vylučující parametry:
resize_height,resize_longest_sideaauto_sizenelze kombinovat. - Neplatná vstupní úloha:
input_task_idmusí odkazovat na úspěšně dokončenou úlohu. - Neplatný formát modelu:
model_urlodkazuje na soubor s nepodporovanou přípona. - Nedostupná URL adresa:
model_urlse nepodařilo stáhnout.
401 - Unauthorized
Autentizace se nezdařila. Zkontrolujte prosím svůj API klíč.
402 - Payment Required
Nedostatek kreditů k provedení této úlohy.
429 - Too Many Requests
Překročili jste limit rychlosti.
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"
}
Načtení úlohy Změnit velikost
Tento koncový bod načte úlohu změny velikosti podle jejího ID.
Parametry
- Name
- id
- Type
- path
- Description
ID úlohy změny velikosti, kterou chcete načíst.
Návratová hodnota
Objekt úlohy Změnit velikost.
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
}
Smazání úlohy Změnit velikost
Tento koncový bod trvale odstraní úlohu změny velikosti, včetně všech přidružených modelů a dat. Tuto akci nelze vrátit zpět.
Parametry cesty
- Name
- id
- Type
- path
- Description
ID úlohy změny velikosti, která se má odstranit.
Stav úlohy
Úloha, která je stále ve stavu PENDING, je smazána a kredity spotřebované
při jejím vytvoření jsou vráceny.
Úlohu, která je již ve stavu IN_PROGRESS, nelze smazat: požadavek je
odmítnut s chybou 409 Conflict a úloha nadále běží. Kredity za úlohu,
kterou už worker začal zpracovávat, nelze vrátit, takže by vás smazání
uprostřed běhu stálo jak kredity, tak výsledek. Počkejte, až úloha dosáhne
stavu SUCCEEDED, FAILED nebo CANCELED, a poté ji smažte.
Úloha v konečném stavu (SUCCEEDED, FAILED nebo CANCELED) je smazána
bez vrácení kreditů.
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/resize/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."
}
Seznam úloh Změnit velikost
Tento koncový bod umožňuje získat seznam úloh změny velikosti.
Parametry
- Name
- page_num
- Type
- integer
- výchozí 1
- Description
Číslo stránky pro stránkování.
- Name
- page_size
- Type
- integer
- výchozí 10
- Description
Limit velikosti stránky. Maximální povolená hodnota je
100položek.
- Name
- sort_by
- Type
- string
- Description
Pole, podle kterého se má řadit. Dostupné hodnoty:
+created_at: Řadit podle času vytvoření vzestupně.-created_at: Řadit podle času vytvoření sestupně.
Návratová hodnota
Vrací stránkovaný seznam Objektů úlohy Změnit velikost.
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
}
]
Streamování úlohy Změnit velikost
Tento koncový bod streamuje aktualizace úlohy změny velikosti v reálném čase pomocí Server-Sent Events (SSE).
Parametry
- Name
- id
- Type
- path
- Description
Jedinečný identifikátor úlohy pro změnu velikosti, kterou chcete streamovat.
Návratová hodnota
Vrací stream objektů úlohy Změnit velikost jako Server-Sent Events.
U úloh ve stavu PENDING nebo IN_PROGRESS bude proud odpovědí obsahovat pouze nezbytná pole progress a 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
}
The Resize Task Object
Objekt Resize Task představuje úlohu změny velikosti.
Properties
id· string
Jedinečný identifikátor úlohy.
type· string
Typ úlohy. Hodnota je resize.
model_urls· object
Stažitelná URL adresa souboru modelu se změněnou velikostí. Při použití input_task_id je výstupem vždy GLB. Při použití model_url výstup zachovává původní formát.
progress· integer
Progress úlohy (0–100).
status· string
Status úlohy. Možné hodnoty: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
preceding_tasks· integer
Počet předcházejících úloh. Má význam pouze pokud je status PENDING.
created_at· timestamp
Časové razítko vytvoření úlohy, v milisekundách.
started_at· timestamp
Časové razítko zahájení úlohy, v milisekundách. 0, pokud úloha ještě nebyla zahájena.
finished_at· timestamp
Časové razítko dokončení úlohy, v milisekundách. 0, pokud úloha ještě nebyla dokončena.
task_error· object
Objekt chyby, pokud úloha selhala. Další podrobnosti naleznete v části Chyby.
consumed_credits· integer
Počet kreditů spotřebovaných touto úlohou (1 kredit za úlohu změny velikosti). U úloh se stavem FAILED je vrácena hodnota 0.