Ändra storlek-API
Med Ändra storlek-API:et kan du ändra storlek på befintliga 3D-modeller till verkliga dimensioner. Du kan ange en exakt höjd, en begränsning för den längsta sidan, eller låta AI automatiskt uppskatta lämplig storlek.
Create a Resize Task
Denna endpoint skapar en ny resize-task.
Tasken körs i bakgrunden. För information om hur lång tid det vanligtvis tar, se Processing Times.
Parametrar
Endast en av input_task_id eller model_url är obligatorisk. Om båda anges har input_task_id prioritet.
- Name
- input_task_id
- Type
- string
- Obligatorisk
- Description
ID:t för en slutförd Meshy-task vars modell du vill ändra storlek på. Tasken måste ha statusen
SUCCEEDED. Utdataformatet kommer att vara GLB.
- Name
- model_url
- Type
- string
- Obligatorisk
- Description
En publikt tillgänglig URL eller data-URI som pekar på en 3D-modellfil. Format som stöds:
.glb,.gltf,.obj,.fbx,.stl. För Data URI, använd MIME type:application/octet-stream. En.glb-,.obj-,.fbx- eller.stl-URL behåller sitt format i utdatan; en.gltf-URL eller en data-URI producerar GLB.Maximal filstorlek: 400 MB för en
http- ellerhttps-URL, 100 MB för endata:-URI.En GLB-, glTF-, FBX- eller OBJ-fil över 100 MB kan ha som mest 10 000 000 ytor (faces). Ytor räknas som trianglar: en quad räknas som 2, och ett nät som ritas mer än en gång räknas en gång per kopia. Över 100 MB måste en FBX-fil vara binär FBX 7.1 eller nyare, och en GLB- eller glTF-fil får inte använda Draco-komprimering.
Exakt ett resize-mode krävs: resize_height, resize_longest_side eller auto_size. Dessa tre parametrar är ömsesidigt uteslutande.
- Name
- resize_height
- Type
- number
- Description
Ändra storlek på modellen till en specifik höjd mätt i meter.
- Name
- resize_longest_side
- Type
- number
- Description
Ändra storlek på modellen så att dess längsta sida matchar detta värde, mätt i meter. Bildförhållandet bevaras.
- Name
- auto_size
- Type
- boolean
- Description
När detta är satt till
trueanvänder tjänsten AI-seende för att automatiskt uppskatta objektets verkliga höjd och ändra storlek på modellen i enlighet med det. Origo kommer som standard varabottomom inteorigin_atuttryckligen anges.
- Name
- origin_at
- Type
- string
- standard bottom
- Description
Origots position efter storleksändring.
Tillgängliga värden:
bottom,center.
Returnerar
Egenskapen result i svaret innehåller id:t för den nyligen skapade resize-tasken.
Felscenarier
400 - Bad Request
Begäran var inte godtagbar. Vanliga orsaker:
- Saknad parameter: Antingen
model_urlellerinput_task_idmåste anges. - Saknat resize-mode: Minst en av
resize_height,resize_longest_sideellerauto_sizemåste anges. - Ömsesidigt uteslutande parametrar:
resize_height,resize_longest_sideochauto_sizekan inte kombineras. - Ogiltig input-task:
input_task_idmåste referera till en lyckad task. - Ogiltigt modellformat:
model_urlpekar på en fil med en filändelse som inte stöds. - Onåbar URL:
model_urlkunde inte laddas ner. - Modellfil för stor:
model_url-filen överskrider 400 MB (http- ellerhttps-URL) eller 100 MB (data:-URI). - För många ytor:
model_url-filen är över 100 MB och har fler än 10 000 000 ytor. Minska antalet ytor och skicka sedan filen igen. - ASCII FBX över 100 MB:
model_url-filen är en ASCII FBX över 100 MB. Skicka den som binär FBX eller GLB. - Oläsbar modellfil:
model_url-filen är över 100 MB och dess header kan inte läsas, till exempel en Draco-komprimerad GLB eller glTF, eller en binär FBX äldre än 7.1. - Modellheader för komplex:
model_url-filen är över 100 MB och dess header har för många nät, noder eller poster att kontrollera. Minska antalet objekt i filen och skicka den sedan igen.
401 - Unauthorized
Autentisering misslyckades. Kontrollera din API-nyckel.
402 - Payment Required
Otillräckligt med credits för att utföra denna task.
429 - Too Many Requests
Du har överskridit din hastighetsgräns.
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"
}
Hämta en Resize-uppgift
Denna endpoint hämtar en resize-uppgift utifrån dess ID.
Parametrar
- Name
- id
- Type
- path
- Description
ID:t för resize-uppgiften som ska hämtas.
Returnerar
Resize Task-objektet.
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
}
Ta bort en uppgift för att ändra storlek
Denna endpoint tar permanent bort en uppgift för att ändra storlek, inklusive alla tillhörande modeller och data. Denna åtgärd går inte att ångra.
Sökvägsparametrar
- Name
- id
- Type
- path
- Description
ID:t för uppgiften för att ändra storlek som ska tas bort.
Uppgiftsstatus
En uppgift som fortfarande är PENDING tas bort och de credits som
förbrukades vid skapandet återbetalas.
En uppgift som redan är IN_PROGRESS kan inte tas bort: begäran
avvisas med 409 Conflict och uppgiften fortsätter att köras. Credits för en uppgift
som arbetaren redan har påbörjat kan inte återbetalas, så att ta bort den mitt i körningen
skulle kosta dig både credits och resultatet. Vänta tills den når
SUCCEEDED, FAILED eller CANCELED, och ta sedan bort den.
En uppgift i ett sluttillstånd (SUCCEEDED, FAILED eller CANCELED) tas bort
utan återbetalning.
Returnerar
Returnerar 200 OK vid lyckat resultat, eller 409 Conflict när uppgiften är
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."
}
Lista storleksändringsuppgifter
Denna endpoint låter dig hämta en lista med storleksändringsuppgifter.
Parametrar
- Name
- page_num
- Type
- integer
- standard 1
- Description
Sidnummer för paginering.
- Name
- page_size
- Type
- integer
- standard 10
- Description
Gräns för sidstorlek. Max tillåtet är
100objekt.
- Name
- sort_by
- Type
- string
- Description
Fält att sortera efter. Tillgängliga värden:
+created_at: Sortera efter skapandetid i stigande ordning.-created_at: Sortera efter skapandetid i fallande ordning.
Returnerar
Returnerar en paginerad lista med Objekt för storleksändringsuppgift.
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
}
]
Streama en uppgift för att ändra storlek
Denna endpoint streamar uppdateringar i realtid för en uppgift för att ändra storlek med hjälp av Server-Sent Events (SSE).
Parametrar
- Name
- id
- Type
- path
- Description
Unik identifierare för uppgiften för att ändra storlek som ska streamas.
Returnerar
Returnerar en ström av uppgiftsobjekt för att ändra storlek som Server-Sent Events.
För uppgifter med status PENDING eller IN_PROGRESS innehåller responsströmmen endast de nödvändiga fälten progress och 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
Resize Task-objektet representerar ett jobb för att ändra storlek.
Properties
id· string
Unik identifierare för uppgiften.
type· string
Typ av uppgift. Värdet är resize.
model_urls· object
Nedladdningsbar URL för filen med den storleksändrade modellen. Vid användning av input_task_id är utdata alltid GLB. Vid användning av model_url behåller en indata av typen .glb, .obj, .fbx eller .stl sitt format, medan en .gltf-indata eller en Data URI ger GLB.
progress· integer
Förlopp för uppgiften (0-100).
status· string
Status för uppgiften. Möjliga värden: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
preceding_tasks· integer
Antalet föregående uppgifter. Relevant endast när status är PENDING.
created_at· timestamp
Tidsstämpel för när uppgiften skapades, i millisekunder.
started_at· timestamp
Tidsstämpel för när uppgiften startades, i millisekunder. 0 om den inte har startats.
finished_at· timestamp
Tidsstämpel för när uppgiften avslutades, i millisekunder. 0 om den inte har avslutats.
task_error· object
Felobjekt om uppgiften misslyckades. Se Fel för mer information.
consumed_credits· integer
Antalet credits som förbrukats av denna uppgift (1 credit per resize-uppgift). Returnerar 0 för uppgifter med status FAILED.