API för att ändra storlek
API:t för att ändra storlek låter dig ändra storlek på befintliga 3D-modeller till verkliga dimensioner. Du kan ange en exakt höjd, en begränsning för längsta sidan, eller låta AI automatiskt uppskatta lämplig storlek.
Skapa en resize-uppgift
Denna endpoint skapar en ny resize-uppgift.
Parametrar
Endast en av input_task_id eller model_url krävs. 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-uppgift vars modell du vill ändra storlek på. Uppgiften måste ha statusen
SUCCEEDED. Utdataformatet blir GLB.
- Name
- model_url
- Type
- string
- Obligatorisk
- Description
En offentligt 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:er, använd MIME type:application/octet-stream. Utdataformatet kommer att bevara inmatningsmodellens ursprungliga format.
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-syn för att automatiskt uppskatta objektets verkliga höjd och ändrar modellens storlek därefter. Origo kommer som standard varabottomom inteorigin_atuttryckligen anges.
- Name
- origin_at
- Type
- string
- standard bottom
- Description
Origos position efter ändring av storlek.
Tillgängliga värden:
bottom,center.
Returer
Svarets result-egenskap innehåller id för den nyligen skapade resize-uppgiften.
Felscenarier
400 - Bad Request
Begäran var inte acceptabel. 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 indatauppgift:
input_task_idmåste referera till en lyckad uppgift. - Ogiltigt modellformat:
model_urlpekar på en fil med en filändelse som inte stöds. - Onåbar URL:
model_urlkunde inte laddas ner.
401 - Unauthorized
Autentisering misslyckades. Kontrollera din API-nyckel.
402 - Payment Required
Otillräckliga credits för att utföra denna uppgift.
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 baserat på dess ID.
Parametrar
- Name
- id
- Type
- path
- Description
ID:t för den resize-uppgift 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 Ändra storlek-uppgift
Detta endpoint tar permanent bort en Ändra storlek-uppgift, inklusive alla tillhörande modeller och data. Denna åtgärd kan inte ångras.
Sökvägsparametrar
- Name
- id
- Type
- path
- Description
ID:t för Ändra storlek-uppgiften 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: förfrågan
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 under
körningen skulle kosta dig både credits och resultat. Vänta tills den når
SUCCEEDED, FAILED eller CANCELED, ta sedan bort den.
En uppgift i ett sluttillstånd (SUCCEEDED, FAILED eller CANCELED) tas bort
utan återbetalning.
Returer
Returnerar 200 OK vid lyckad borttagning, 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 (Resize)
Denna endpoint gör det möjligt att hämta en lista över 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. Maximalt tillåtna ä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 Resize-uppgiftsobjekt.
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 storleksändringsuppgift
Denna endpoint streamar realtidsuppdateringar för en storleksändringsuppgift med hjälp av Server-Sent Events (SSE).
Parametrar
- Name
- id
- Type
- path
- Description
Unik identifierare för den storleksändringsuppgift som ska streamas.
Returnerar
Returnerar en ström av The Resize Task Objects som Server-Sent Events.
För PENDING- eller IN_PROGRESS-uppgifter kommer svarsströmmen endast att innehålla 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
}
Objektet Resize Task
Objektet Resize Task representerar ett jobb för storleksändring.
Properties
id· string
Unik identifierare för uppgiften.
type· string
Uppgiftens typ. Värdet är resize.
model_urls· object
Nedladdningsbar URL för den storleksändrade modellfilen. Vid användning av input_task_id är utdata alltid GLB. Vid användning av model_url bevaras det ursprungliga formatet i utdata.
progress· integer
Uppgiftens förlopp (0–100).
status· string
Uppgiftens status. Möjliga värden: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
preceding_tasks· integer
Antalet föregående uppgifter. Meningsfullt 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 storleksändringsuppgift). Returnerar 0 för uppgifter med status FAILED.