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.


POST/openapi/v1/resize

Create a Resize Task

Dit endpoint maakt een nieuwe resize-taak aan.

Parameters

  • 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 SUCCEEDED hebben. 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.

  • 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 standaard bottom, tenzij origin_at expliciet 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_url ofwel input_task_id moet worden opgegeven.
  • Ontbrekende resize-mode: Ten minste één van resize_height, resize_longest_side, of auto_size moet worden opgegeven.
  • Wederzijds uitsluitende parameters: resize_height, resize_longest_side, en auto_size kunnen niet worden gecombineerd.
  • Ongeldige invoertaak: input_task_id moet verwijzen naar een geslaagde taak.
  • Ongeldig modelformaat: model_url verwijst naar een bestand met een niet-ondersteunde extensie.
  • Onbereikbare URL: model_url kon 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

POST
/openapi/v1/resize
# 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"
}

GET/openapi/v1/resize/:id

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

GET
/openapi/v1/resize/:id
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
}

DELETE/openapi/v1/resize/:id

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

DELETE
/openapi/v1/resize/:id
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."
}

GET/openapi/v1/resize

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 100 items.

  • 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

GET
/openapi/v1/resize
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
  }
]

GET/openapi/v1/resize/:id/stream

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

GET
/openapi/v1/resize/:id/stream
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.