Formaat wijzigen API
De Formaat wijzigen API stelt u in staat om formaat van bestaande 3D-modellen te wijzigen naar werkelijke afmetingen. U kunt een exacte hoogte, een beperking op de langste zijde opgeven, of AI automatisch de juiste afmeting laten inschatten.
Een Formaat wijzigen-taak aanmaken
Dit endpoint maakt een nieuwe resize-taak aan.
De taak wordt op de achtergrond uitgevoerd. Voor een indicatie van de gebruikelijke duur, zie Verwerkingstijden.
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. Een.glb-,.obj-,.fbx- of.stl-URL behoudt zijn formaat in de uitvoer; een.gltf-URL of een data-URI resulteert in GLB.Maximale bestandsgrootte: 400 MB voor een
http- ofhttps-URL, 100 MB voor eendata:-URI.Een GLB-, glTF-, FBX- of OBJ-bestand van meer dan 100 MB mag maximaal 10.000.000 vlakken bevatten. Vlakken worden geteld als driehoeken: een vierhoek telt als 2, en een mesh die meerdere keren wordt getekend telt één keer per kopie. Boven 100 MB moet een FBX-bestand binaire FBX 7.1 of nieuwer zijn, en mag een GLB- of glTF-bestand geen Draco-compressie gebruiken.
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 blijft behouden.
- Name
- auto_size
- Type
- boolean
- Description
Wanneer ingesteld op
true, gebruikt de service AI-visie om automatisch de werkelijke hoogte van het object in te schatten en het model dienovereenkomstig te vergroten/verkleinen. De oorsprong wordt standaardbottomtenzijorigin_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.
Resultaten
De result-eigenschap van de respons bevat de id van de nieuw aangemaakte resize-taak.
Faalmodi
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. - Elkaar uitsluitende parameters:
resize_height,resize_longest_side, enauto_sizekunnen niet worden gecombineerd. - Ongeldige invoertaak:
input_task_idmoet verwijzen naar een succesvolle taak. - Ongeldig modelformaat:
model_urlverwijst naar een bestand met een niet-ondersteunde extensie. - Onbereikbare URL:
model_urlkon niet worden gedownload. - Modelbestand te groot: Het bestand van
model_urloverschrijdt 400 MB (http- ofhttps-URL) of 100 MB (data:-URI). - Te veel vlakken: Het bestand van
model_urlis groter dan 100 MB en heeft meer dan 10.000.000 vlakken. Verminder het aantal vlakken en stuur het bestand opnieuw. - ASCII FBX groter dan 100 MB: Het bestand van
model_urlis een ASCII FBX groter dan 100 MB. Stuur het als binaire FBX of GLB. - Onleesbaar modelbestand: Het bestand van
model_urlis groter dan 100 MB en de header kan niet worden gelezen, bijvoorbeeld een Draco-gecomprimeerde GLB of glTF, of een binaire FBX ouder dan 7.1. - Modelheader te complex: Het bestand van
model_urlis groter dan 100 MB en de header bevat te veel meshes, nodes of records om te controleren. Verminder het aantal objecten in het bestand en stuur het opnieuw.
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 de ID.
Parameters
- Name
- id
- Type
- path
- Description
De ID van de resize-taak die moet worden opgehaald.
Returns
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 Formaat wijzigen-taak verwijderen
Dit endpoint verwijdert permanent een Formaat wijzigen-taak, inclusief alle bijbehorende modellen en gegevens. Deze actie is onomkeerbaar.
Padparameters
- Name
- id
- Type
- path
- Description
De ID van de Formaat wijzigen-taak die moet worden verwijderd.
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
geweigerd met 409 Conflict en de taak blijft doorlopen. Credits voor een taak
waarmee de worker al is begonnen, zijn niet terugbetaalbaar, dus het verwijderen
ervan tijdens de uitvoering zou u zowel de credits als het resultaat kosten. Wacht
tot de taak SUCCEEDED, FAILED of CANCELED bereikt, en verwijder deze dan.
Een taak in een eindstatus (SUCCEEDED, FAILED of CANCELED) wordt verwijderd
zonder terugbetaling.
Retourneert
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."
}
Lijst van formaatwijzigingstaken opvragen
Deze endpoint stelt u in staat om een lijst met formaatwijzigingstaken op te vragen.
Parameters
- Name
- page_num
- Type
- integer
- standaard 1
- Description
Paginanummer voor paginering.
- Name
- page_size
- Type
- integer
- standaard 10
- Description
Limiet voor paginagrootte. Maximaal toegestaan 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.
Returnwaarden
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 via 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 De Resize Task-objecten als Server-Sent Events.
Bij taken met de 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 Taakobject
Het Resize taakobject vertegenwoordigt een resize-taak.
Eigenschappen
id· string
Unieke identifier voor de taak.
type· string
Type van de taak. De waarde is resize.
model_urls· object
Downloadbare URL voor het resized modelbestand. Bij gebruik van input_task_id is de uitvoer altijd GLB. Bij gebruik van model_url behoudt een invoer van .glb, .obj, .fbx of .stl zijn formaat, en een .gltf-invoer of een Data URI resulteert in GLB.
progress· integer
Progress van de taak (0-100).
status· string
Status van de taak. Mogelijke waarden: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
preceding_tasks· integer
Het aantal voorafgaande taken. Alleen relevant wanneer de status PENDING is.
created_at· tijdstempel
Tijdstempel van het moment waarop de taak werd aangemaakt, in milliseconden.
started_at· tijdstempel
Tijdstempel van het moment waarop de taak werd gestart, in milliseconden. 0 als niet gestart.
finished_at· tijdstempel
Tijdstempel van het moment waarop de taak werd voltooid, in milliseconden. 0 als niet voltooid.
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). Geeft 0 terug voor FAILED-taken.