Resize API
API Změnit velikost umožňuje změnit velikost existujících 3D modelů na reálné rozměry. Můžete zadat přesnou výšku, omezení podle nejdelší strany, nebo nechat AI automaticky odhadnout vhodnou velikost.
Vytvoření úlohy změny velikosti
Tento koncový bod vytvoří novou úlohu změny velikosti.
Úloha běží na pozadí. Informace o tom, jak dlouho to obvykle trvá, najdete v části Doby zpracování.
Parametry
Je vyžadováno zadat pouze jeden z parametrů input_task_id nebo model_url. Pokud jsou zadány oba, má přednost input_task_id.
- Name
- input_task_id
- Type
- string
- Povinné
- Description
ID dokončené úlohy Meshy, jejíž model chcete změnit ve velikosti. Ú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. U Data URI použijte MIME type:application/octet-stream. URL adresa.glb,.obj,.fbxnebo.stlsi zachová svůj formát ve výstupu; URL adresa.gltfnebo data URI vytvoří GLB.Maximální velikost souboru: 400 MB pro URL adresu
httpnebohttps, 100 MB prodata:URI.Soubor GLB, glTF, FBX nebo OBJ větší než 100 MB může mít maximálně 10 000 000 ploch. Plochy se počítají jako trojúhelníky: čtyřúhelník se počítá jako 2 a síť vykreslená vícekrát se počítá jednou za kopii. Nad 100 MB musí být soubor FBX binární FBX verze 7.1 nebo novější a soubor GLB nebo glTF nesmí používat kompresi Draco.
Je vyžadován přesně jeden mode změny 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ěřeno v metrech. Poměr stran zůstane zachován.
- Name
- auto_size
- Type
- boolean
- Description
Pokud je nastaveno na
true, služba použije AI vision k automatickému odhadnutí skutečné výšky objektu v reálném světě a podle toho změní velikost modelu. Počátek bude ve výchozím nastaveníbottom, pokud není explicitně nastavenoorigin_at.
- Name
- origin_at
- Type
- string
- výchozí bottom
- Description
Poloha počátku po změně velikosti.
Dostupné hodnoty:
bottom,center.
Návratové hodnoty
Vlastnost result v odpovědi obsahuje id nově vytvořené úlohy změny velikosti.
Způsoby selhání
400 - Bad Request
Požadavek byl neakceptovatelný. Běžné příčiny:
- Chybějící parametr: Musí být zadán buď
model_url, neboinput_task_id. - Chybějící mode změny velikosti: Musí být zadán alespoň jeden z parametrů
resize_height,resize_longest_sideneboauto_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říponou. - Nedostupná URL adresa: Soubor na adrese
model_urlse nepodařilo stáhnout. - Soubor modelu je příliš velký: Soubor na adrese
model_urlpřekračuje 400 MB (URL adresahttpnebohttps) nebo 100 MB (data:URI). - Příliš mnoho ploch: Soubor na adrese
model_urlje větší než 100 MB a má více než 10 000 000 ploch. Snižte počet ploch a poté soubor odešlete znovu. - ASCII FBX nad 100 MB: Soubor na adrese
model_urlje ASCII FBX větší než 100 MB. Odešlete jej jako binární FBX nebo GLB. - Nečitelný soubor modelu: Soubor na adrese
model_urlje větší než 100 MB a jeho hlavičku nelze přečíst, například u GLB nebo glTF komprimovaného pomocí Draco, nebo u binárního FBX staršího než 7.1. - Hlavička modelu je příliš složitá: Soubor na adrese
model_urlje větší než 100 MB a jeho hlavička obsahuje příliš mnoho sítí, uzlů nebo záznamů ke kontrole. Snižte počet objektů v souboru a poté jej odešlete znovu.
401 - Unauthorized
Autentizace selhala. 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 svůj 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ěny velikosti
Tento koncový bod trvale smaže úlohu změny velikosti, včetně všech souvisejících modelů a dat. Tato akce je nevratná.
Parametry cesty
- Name
- id
- Type
- path
- Description
ID úlohy změny velikosti, která má být smazána.
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 dál běží. Kredity za úlohu,
kterou už worker začal zpracovávat, nejsou vratné, takže smazání uprostřed
běhu by vás stálo kredity i výsledek zároveň. Počkejte, až úloha dosáhne
stavu SUCCEEDED, FAILED nebo CANCELED, a pak ji smažte.
Úloha v konečném stavu (SUCCEEDED, FAILED nebo CANCELED) je smazána
bez vrácení kreditů.
Návratová hodnota
Při úspěchu vrací 200 OK, 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."
}
Výpis úloh změny velikosti (Resize)
Tento koncový bod umožňuje načíst 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: Řazení podle času vytvoření vzestupně.-created_at: Řazení podle času vytvoření sestupně.
Návratová hodnota
Vrací stránkovaný seznam objektů úlohy změny velikosti.
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 v reálném čase pro úlohu změny velikosti pomocí Server-Sent Events (SSE).
Parametry
- Name
- id
- Type
- path
- Description
Jedinečný identifikátor úlohy změny velikosti, kterou chcete streamovat.
Návratová hodnota
Vrací stream objektů úlohy Změnit velikost ve formě Server-Sent Events.
U úloh ve stavu PENDING nebo IN_PROGRESS bude datový stream odpovědi 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 reprezentuje ú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 pro soubor 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 si vstup .glb, .obj, .fbx nebo .stl zachová svůj formát a vstup .gltf nebo Data URI vytvoří GLB.
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á smysl pouze tehdy, když 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 nebyla zahájena.
finished_at· timestamp
Časové razítko dokončení úlohy, v milisekundách. 0, pokud 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 vrací 0.