Formaat wijzigen API
Met de Formaat wijzigen API kun je het formaat van bestaande 3D-modellen aanpassen naar realistische afmetingen. Je kunt een exacte hoogte, een beperking op de langste zijde opgeven, of AI automatisch de juiste grootte laten inschatten.
Create a Resize Task
Dit endpoint maakt een nieuwe resize-taak aan.
Parameters
Slechts één van input_task_id of model_url is verplicht. Als beide worden opgegeven, krijgt input_task_id prioriteit.
- Name
- input_task_id
- Type
- string
- Verplicht
- Description
De ID van een voltooide Meshy-taak waarvan u het model wilt vergroten/verkleinen. De taak moet de status
SUCCEEDEDhebben. Het uitvoerformaat wordt GLB.
- Name
- model_url
- Type
- string
- Verplicht
- Description
Een publiek toegankelijke URL of data-URI die verwijst naar een 3D-modelbestand. Ondersteunde formaten:
.glb,.gltf,.obj,.fbx,.stl. Gebruik voor Data URI's het MIME type:application/octet-stream. Het uitvoerformaat behoudt het oorspronkelijke formaat van het invoermodel.
Precies één resize-mode is verplicht: resize_height, resize_longest_side, of auto_size. Deze drie parameters sluiten elkaar wederzijds uit.
- Name
- resize_height
- Type
- number
- Description
Wijzig het formaat van het model naar een specifieke hoogte, gemeten in meters.
- Name
- resize_longest_side
- Type
- number
- Description
Wijzig het formaat van het model zodat de langste zijde overeenkomt met deze waarde, gemeten in meters. De beeldverhouding wordt behouden.
- Name
- auto_size
- Type
- boolean
- Description
Wanneer ingesteld op
true, gebruikt de service AI-vision om automatisch de werkelijke hoogte van het object te schatten en het formaat van het model dienovereenkomstig aan te passen. De oorsprong is standaardbottom, tenzijorigin_atexpliciet is ingesteld.
- Name
- origin_at
- Type
- string
- standaard bottom
- Description
Positie van de oorsprong na het wijzigen van het formaat.
Beschikbare waarden:
bottom,center.
Returns
De result-eigenschap van de respons bevat de id van de nieuw aangemaakte resize-taak.
Foutmodi
400 - Bad Request
Het verzoek was onaanvaardbaar. Veelvoorkomende oorzaken:
- Ontbrekende parameter: Ofwel
model_urlofwelinput_task_idmoet worden opgegeven. - Ontbrekende resize-mode: Ten minste één van
resize_height,resize_longest_side, ofauto_sizemoet worden opgegeven. - Wederzijds uitsluitende parameters:
resize_height,resize_longest_side, enauto_sizekunnen niet worden gecombineerd. - Ongeldige invoertaak:
input_task_idmoet verwijzen naar een geslaagde taak. - Ongeldig modelformaat:
model_urlverwijst naar een bestand met een niet-ondersteunde extensie. - Onbereikbare URL:
model_urlkon niet worden gedownload.
401 - Unauthorized
Authenticatie mislukt. Controleer uw API-sleutel.
402 - Payment Required
Onvoldoende credits om deze taak uit te voeren.
429 - Too Many Requests
U heeft uw rate limit overschreden.
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"
}
Een Resize-taak ophalen
Deze endpoint haalt een resize-taak op aan de hand van het ID.
Parameters
- Name
- id
- Type
- path
- Description
Het ID van de resize-taak die opgehaald moet worden.
Retourneert
Het Resize Task-object.
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
}
Een Resize-taak verwijderen
Dit endpoint verwijdert permanent een resize-taak, inclusief alle bijbehorende modellen en data. Deze actie is onomkeerbaar.
Padparameters
- Name
- id
- Type
- path
- Description
De ID van de resize-taak die verwijderd moet worden.
Taakstatus
Een taak die nog PENDING is, wordt verwijderd en de credits die bij het
aanmaken zijn verbruikt, worden terugbetaald.
Een taak die al IN_PROGRESS is, kan niet worden verwijderd: het verzoek wordt
afgewezen met 409 Conflict en de taak blijft doorlopen. Credits voor een taak
waarmee de worker al is begonnen, zijn niet terugbetaalbaar, dus als je deze
halverwege verwijdert, kost je dat zowel de credits als het resultaat. Wacht
tot de status SUCCEEDED, FAILED of CANCELED is en verwijder de taak dan.
Een taak in een eindstatus (SUCCEEDED, FAILED of CANCELED) wordt
verwijderd zonder terugbetaling.
Retourwaarden
Retourneert 200 OK bij succes, of 409 Conflict wanneer de taak
IN_PROGRESS is.
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."
}
Resizetaken weergeven
Deze endpoint stelt u in staat om een lijst met resizetaken op te halen.
Parameters
- Name
- page_num
- Type
- integer
- standaard 1
- Description
Paginanummer voor paginering.
- Name
- page_size
- Type
- integer
- standaard 10
- Description
Limiet van het aantal items per pagina. Het maximum is
100items.
- Name
- sort_by
- Type
- string
- Description
Veld om op te sorteren. Beschikbare waarden:
+created_at: Sorteer op aanmaaktijd in oplopende volgorde.-created_at: Sorteer op aanmaaktijd in aflopende volgorde.
Retourwaarden
Retourneert een gepagineerde lijst van The Resize Task Objects.
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
}
]
Stream een Formaat wijzigen-taak
Deze endpoint streamt realtime updates voor een Formaat wijzigen-taak met behulp van Server-Sent Events (SSE).
Parameters
- Name
- id
- Type
- path
- Description
Unieke identifier voor de Formaat wijzigen-taak die gestreamd moet worden.
Retourneert
Retourneert een stream van The Resize Task Objects als Server-Sent Events.
Voor taken met status PENDING of IN_PROGRESS bevat de responsstream alleen de noodzakelijke velden progress en 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
}
Het Resize Task-object
Het Resize Task-object vertegenwoordigt een resize-taak.
Properties
id· string
Unieke identifier voor de taak.
type· string
Type van de taak. De waarde is resize.
model_urls· object
Downloadbare URL voor het formaat gewijzigde modelbestand. Bij gebruik van input_task_id is de output altijd GLB. Bij gebruik van model_url behoudt de output het oorspronkelijke formaat.
progress· integer
Voortgang van de taak (0-100).
status· string
Status van de taak. Mogelijke waarden: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
preceding_tasks· integer
Het aantal voorgaande taken. Alleen relevant wanneer de status PENDING is.
created_at· timestamp
Tijdstempel van wanneer de taak is aangemaakt, in milliseconden.
started_at· timestamp
Tijdstempel van wanneer de taak is gestart, in milliseconden. 0 als deze nog niet is gestart.
finished_at· timestamp
Tijdstempel van wanneer de taak is afgerond, in milliseconden. 0 als deze nog niet is afgerond.
task_error· object
Foutobject als de taak is mislukt. Zie Fouten voor meer details.
consumed_credits· integer
Het aantal credits dat door deze taak is verbruikt (1 credit per resize-taak). Retourneert 0 voor taken met status FAILED.