lowpoly wordt op 30 okt 2026 uitgefaseerd. Stap vóór deze datums over op een ander model om fouten bij verzoeken te voorkomen. Alle afschaffingen bekijken

Remesh API

Bouw de mesh van een 3D-model opnieuw op met een nieuwe topology en een nieuw aantal vlakken, en exporteer het in de formaten die u kiest. Het model kan afkomstig zijn van een andere Meshy-taak, zoals Afbeelding naar 3D of Tekst naar 3D, of van een modelbestand.


POST/openapi/v1/remesh

Een Remesh-taak aanmaken

Maakt een Remesh-taak aan. De taak draait op de achtergrond. Voor de gebruikelijke duur van een taak, zie Verwerkingstijden.

Request

POST
/openapi/v1/remesh
# Basic remesh with custom formats and resize
curl https://api.meshy.ai/openapi/v1/remesh \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "target_formats": ["glb", "fbx"],
    "topology": "quad",
    "target_polycount": 50000,
    "resize_height": 1.0,
    "origin_at": "bottom"
  }'

# Quad remesh with auto-size
curl https://api.meshy.ai/openapi/v1/remesh \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
    "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "target_formats": ["glb", "fbx"],
    "topology": "quad",
    "target_polycount": 50000,
    "auto_size": true
  }'

Response

{
  "result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}

Parameters

  • Name
    input_task_id
    Type
    string
    Verplicht
    Description

    Vereist, tenzij u model_url meestuurt. De ID van de taak waarvan u het model wilt remeshen, bijvoorbeeld een Tekst naar 3D-, Afbeelding naar 3D-, Hertextureren- of Remesh-taak. De taak moet er een zijn die u met de API heeft aangemaakt en de status SUCCEEDED hebben.

  • Name
    model_url
    Type
    string
    Verplicht
    Description

    Vereist, tenzij u input_task_id meestuurt. Het model om te remeshen, als een publieke URL of een data-URI. Als u beide meestuurt, gebruikt Meshy input_task_id.

    Het model moet een GLB-, glTF-, OBJ-, FBX- of STL-bestand zijn van maximaal 400 MB vanaf een http- of https-URL, of 100 MB als data-URI. Gebruik voor een data-URI het MIME type application/octet-stream.

    Een bestand groter dan 100 MB moet ook aan deze regels voldoen:

    • Een GLB-, glTF-, FBX- of OBJ-bestand mag maximaal 10.000.000 vlakken hebben. Meshy telt vlakken als driehoeken, dus een quad telt als 2, en een mesh die meerdere keren wordt getekend telt één keer per kopie.
    • Een FBX-bestand moet binaire FBX 7.1 of nieuwer zijn.
    • Een GLB- of glTF-bestand mag geen Draco-compressie gebruiken.
  • Name
    target_formats
    Type
    string[]
    standaard ["glb"]
    Description

    De te genereren bestandsindelingen.

    Beschikbare waarden:

    • glb
    • fbx
    • obj
    • usdz
    • blend
    • stl
    • 3mf
  • Name
    topology
    Type
    string
    standaard triangle
    Description

    Het vlaktype van het geremeshte model.

    Beschikbare waarden:

    • quad: een overwegend uit quads bestaande mesh
    • triangle: een gedecimeerde driehoeksmesh
  • Name
    target_polycount
    Type
    integer
    standaard 30000
    Description

    Het beoogde aantal vlakken, van 100 tot 300000. Het resultaat kan afwijken van het doel, afhankelijk van de geometrie van het model. Een waarde buiten het bereik geeft 400 terug.

  • Name
    decimation_mode
    Type
    integer
    Description

    Adaptief aantal vlakken, per niveau. Wanneer u dit instelt, negeert Meshy target_polycount.

    Beschikbare waarden:

    • 1: ultra
    • 2: hoog
    • 3: gemiddeld
    • 4: laag
  • Name
    resize_height
    Type
    number
    ⚠ verouderd
    standaard 0
    Description

    Gebruik in plaats daarvan de Resize API. De hoogte om het model op te schalen, in meters. Stuur maximaal één van resize_height, resize_longest_side en auto_size.

  • Name
    resize_longest_side
    Type
    number
    ⚠ verouderd
    standaard 0
    Description

    Gebruik in plaats daarvan de Resize API. De lengte om de langste zijde van de bounding box van het model naar te schalen, in meters. Stuur maximaal één van resize_height, resize_longest_side en auto_size.

  • Name
    auto_size
    Type
    boolean
    ⚠ verouderd
    standaard false
    Description

    Gebruik in plaats daarvan de Resize API. Of de werkelijke hoogte van het object moet worden geschat met AI-visie en het model daarnaar moet worden geschaald. Stuur maximaal één van resize_height, resize_longest_side en auto_size.

  • Name
    origin_at
    Type
    string
    ⚠ verouderd
    standaard bottom
    Description

    Gebruik in plaats daarvan de Resize API. Waar de oorsprong van het model moet worden geplaatst, bottom of center. De standaardwaarde geldt wanneer u resize_height, resize_longest_side of auto_size meestuurt. Zonder één daarvan verplaatst Meshy de oorsprong alleen als u origin_at meestuurt.

  • Name
    convert_format_only
    Type
    boolean
    ⚠ verouderd
    Description

    Gebruik in plaats daarvan de Convert API. Of het model alleen naar target_formats moet worden geconverteerd. Als dit true is, negeert Meshy topology, target_polycount, decimation_mode, resize_height, resize_longest_side en auto_size, maar controleert hun waarden nog steeds, dus een ongeldige waarde geeft 400 terug. Met convert_format_only: true geeft een lege of null target_formats 400 terug.

  • Name
    alpha_thumbnail
    Type
    boolean
    standaard false
    Description

    Of er ook een voorbeeld met een transparante achtergrond (RGBA) moet worden gerenderd, dat wordt teruggegeven in alpha_thumbnail_url wanneer u de taak ophaalt. thumbnail_url verandert niet.

Retourwaarden

Het veld result van de respons bevat de ID van de nieuwe Remesh-taak.

Foutmodi

  • Name
    400 - Bad Request
    Description

    Het verzoek kan niet worden uitgevoerd. Het foutbericht geeft aan welk probleem er is gevonden. Bijvoorbeeld:

    • Ontbrekende parameter: Noch model_url noch input_task_id is meegestuurd.
    • Ongeldige invoertaak: input_task_id is geen geslaagde API-taak, of het AI-model ondersteunt geen remeshen.
    • Ongeldige modelindeling: Het model_url-bestand heeft een niet-ondersteunde extensie.
    • Onbereikbare URL: Meshy kan het model_url-bestand niet downloaden.
    • Modelbestand te groot: Het model_url-bestand is groter dan 400 MB vanaf een http- of https-URL, of groter dan 100 MB als data-URI.
    • Te veel vlakken: Het model_url-bestand is 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 model_url-bestand is een ASCII FBX groter dan 100 MB. Stuur het als binaire FBX of GLB.
    • Onleesbaar modelbestand: Het model_url-bestand is groter dan 100 MB, en Meshy kan de header niet lezen. Bijvoorbeeld een met Draco gecomprimeerde GLB of glTF, of een binaire FBX ouder dan 7.1.
    • Modelheader te complex: Het model_url-bestand is 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.
    • Ongeldige topology: topology is niet quad of triangle.
    • Elkaar uitsluitende parameters: Het verzoek bevat meer dan één van auto_size, resize_height en resize_longest_side. Stuur er slechts één.

    Corrigeer het verzoek en stuur het opnieuw. Zie Fouten.

  • Name
    401 - Unauthorized
    Description

    De API-sleutel ontbreekt of is ongeldig. Controleer de Authorization-header.

  • Name
    402 - Payment Required
    Description

    Bijvoorbeeld:

    • Onvoldoende credits: Het account heeft niet genoeg credits voor deze taak, of het account heeft een creditlimiet bereikt. Controleer uw creditsaldo en probeer het opnieuw.
    • Gratis abonnement: Voor het aanmaken van een taak is een betaald abonnement vereist. Upgrade uw abonnement in uw abonnementsinstellingen en probeer het opnieuw.
  • Name
    403 - Forbidden
    Description

    input_task_id is een basreliëfmodel, dat deze endpoint niet kan remeshen. Het bericht is This model type does not support this operation. Stuur een ander model.

  • Name
    404 - Not Found
    Description

    input_task_id komt niet overeen met een van uw taken. Controleer de taak-ID en stuur het verzoek opnieuw.

  • Name
    429 - Too Many Requests
    Description

    U heeft uw rate limit overschreden. Wacht en probeer het opnieuw. Zie Rate limits.


GET/openapi/v1/remesh/:id

Haal een Remesh-taak op

Geeft een Remesh-taak terug op basis van de ID.

Request

GET
/openapi/v1/remesh/a43b5c6d-7e8f-901a-234b-567c890d1e2f
curl https://api.meshy.ai/openapi/v1/remesh/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "remesh",
  "model_urls": {
      "glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
      "fbx": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.fbx?Expires=***",
      "obj": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.obj?Expires=***",
      "usdz": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.usdz?Expires=***",
      "blend": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.blend?Expires=***",
      "stl": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.stl?Expires=***"
},
  "progress": 100,
  "status": "SUCCEEDED",
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "task_error": null
}

Parameters

  • Name
    id
    Type
    path
    Description

    De taak-ID uit de aanmaakrespons.

Retourneert

Het Remesh-taakobject.


DELETE/openapi/v1/remesh/:id

Een Remesh-taak verwijderen

Verwijdert een Remesh-taak permanent, inclusief de bijbehorende modellen en gegevens. Je kunt een verwijdering niet ongedaan maken.

Request

DELETE
/openapi/v1/remesh/a43b5c6d-7e8f-901a-234b-567c890d1e2f
curl --request DELETE \
  --url https://api.meshy.ai/openapi/v1/remesh/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 keeps 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."
}

Padparameters

  • Name
    id
    Type
    path
    Description

    De ID van de te verwijderen taak.

Taakstatus

Het verwijderen van een PENDING-taak vergoedt de credits die zijn gebruikt bij het aanmaken ervan.

Een IN_PROGRESS-taak kan niet worden verwijderd. Het verzoek retourneert 409 Conflict, en de taak blijft actief. Meshy vergoedt geen taak die al is gestart, dus het verwijderen ervan zou je zowel de credits als het resultaat kosten. Wacht tot de taak de status SUCCEEDED, FAILED of CANCELED bereikt en verwijder deze dan.

Het verwijderen van een taak met een definitieve status (SUCCEEDED, FAILED of CANCELED) leidt niet tot terugbetaling van de credits.

Resultaat

200 OK wanneer de taak is verwijderd, of 409 Conflict wanneer de taak IN_PROGRESS is.


GET/openapi/v1/remesh

Lijst van Remesh-taken

Geeft een lijst van uw Remesh-taken terug.

Request

GET
/openapi/v1/remesh
curl https://api.meshy.ai/openapi/v1/remesh?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response

[
  {
    "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
    "type": "remesh",
    "model_urls": {
      "glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
      "fbx": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.fbx?Expires=***",
      "obj": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.obj?Expires=***",
      "usdz": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.usdz?Expires=***",
      "blend": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.blend?Expires=***",
      "stl": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.stl?Expires=***"
    },
    "progress": 100,
    "status": "SUCCEEDED",
    "created_at": 1699999999000,
    "started_at": 1700000000000,
    "finished_at": 1700000001000,
    "task_error": null
  }
]

Parameters

  • Name
    page_num
    Type
    integer
    standaard 1
    Description

    Het paginanummer dat wordt geretourneerd, tot 255. Een hogere waarde geeft 400 terug.

  • Name
    page_size
    Type
    integer
    standaard 10
    Description

    Het aantal taken per pagina, tot 100.

  • Name
    sort_by
    Type
    string
    Description

    De sorteervolgorde.

    Beschikbare waarden:

    • +created_at: oudste eerst
    • -created_at: nieuwste eerst

Retourneert

Een gepagineerde lijst van Remesh-taakobjecten.


GET/openapi/v1/remesh/:id/stream

Stream een Remesh-taak

Streamt de updates van een Remesh-taak als Server-Sent Events (SSE).

Request

GET
/openapi/v1/remesh/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream
curl -N https://api.meshy.ai/openapi/v1/remesh/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response Stream

// Error event example
event: error
data: {
  "status_code": 404,
  "message": "Task not found"
}

// Message event examples illustrate task progress.
// These examples are shortened. Each event holds the full task object.
event: message
data: {
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "remesh",
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
    "fbx": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.fbx?Expires=***",
    "obj": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.obj?Expires=***",
    "usdz": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.usdz?Expires=***",
    "blend": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.blend?Expires=***",
    "stl": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.stl?Expires=***"
  },
  "progress": 100,
  "status": "SUCCEEDED",
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "task_error": null,
}

Parameters

  • Name
    id
    Type
    path
    Description

    De taak-ID uit de create-respons.

Retourwaarden

Een stream van Remesh-taakobjecten als Server-Sent Events.

Elk event bevat het volledige taakobject, in dezelfde vorm als de Get endpoint retourneert. Zolang de taak PENDING of IN_PROGRESS is, hebben de resultaatvelden nog geen waarden.


Het Remesh-taakobject

Een Remesh-taakobject beschrijft één remesh van een 3D-model. Het bevat de status, de progress en de modelbestanden wanneer de taak slaagt.

Eigenschappen

Example Remesh Task Object

{
  "id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
  "type": "remesh",
  "model_urls": {
      "glb": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.glb?Expires=***",
      "fbx": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.fbx?Expires=***",
      "obj": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.obj?Expires=***",
      "usdz": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.usdz?Expires=***",
      "blend": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.blend?Expires=***",
      "stl": "https://assets.meshy.ai/***/tasks/0193bfc5-ee4f-73f8-8525-44b398884ce9/output/model.stl?Expires=***"
  },
  "progress": 100,
  "status": "SUCCEEDED",
  "preceding_tasks": 0,
  "created_at": 1699999999000,
  "started_at": 1700000000000,
  "finished_at": 1700000001000,
  "task_error": {

    "message": ""

  },

  "consumed_credits": 5
}
  • Name
    id
    Type
    string
    Description

    De taak-ID. Behandel dit als een ondoorzichtige string en vertrouw niet op het formaat ervan.

  • Name
    type
    Type
    string
    Description

    Het taaktype, altijd remesh.

  • Name
    model_urls
    Type
    object
    Description

    Downloadlinks voor het geremeshte model, één per bestandsformaat. Een formaat dat de taak niet heeft gegenereerd, heeft geen sleutel, in plaats van een lege string.

    • Name
      glb
      Type
      string
      Description

      Het GLB-bestand.

    • Name
      fbx
      Type
      string
      Description

      Het FBX-bestand.

    • Name
      obj
      Type
      string
      Description

      Het OBJ-bestand.

    • Name
      usdz
      Type
      string
      Description

      Het USDZ-bestand.

    • Name
      blend
      Type
      string
      Description

      Het Blender-bestand.

    • Name
      stl
      Type
      string
      Description

      Het STL-bestand.

    • Name
      3mf
      Type
      string
      Description

      Het 3MF-bestand. Alleen aanwezig wanneer target_formats 3mf bevat.

  • Name
    thumbnail_url
    Type
    string
    Description

    Downloadlink voor een voorbeeldafbeelding van het geremeshte model.

  • Name
    alpha_thumbnail_url
    Type
    string
    Description

    Downloadlink voor een versie van thumbnail_url met een transparante achtergrond (RGBA). Alleen aanwezig wanneer je de taak hebt aangemaakt met alpha_thumbnail: true en Meshy het transparante voorbeeld heeft gerenderd.

  • Name
    progress
    Type
    integer
    Description

    Hoeveel van de taak is voltooid, als een percentage. Dit is 0 totdat de taak start en 100 wanneer deze slaagt.

  • Name
    status
    Type
    string
    Description

    De taakstatus, één van PENDING, IN_PROGRESS, SUCCEEDED, FAILED, of CANCELED.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Het aantal taken dat voor deze in de wachtrij staat. De waarde is alleen betekenisvol zolang de taak PENDING is.

  • Name
    created_at
    Type
    timestamp
    Description

    Tijdstip waarop de taak werd aangemaakt, in Unix-milliseconden.

  • Name
    started_at
    Type
    timestamp
    Description

    Tijdstip waarop de taak is gestart, in Unix-milliseconden. Dit is 0 totdat de taak start.

  • Name
    finished_at
    Type
    timestamp
    Description

    Tijdstip waarop de taak is beëindigd, in Unix-milliseconden. Dit is 0 totdat de taak beëindigd is.

  • Name
    expires_at
    Type
    timestamp
    Description

    Tijdstip waarop de downloadlinks van de taak verlopen, in Unix-milliseconden. Dit is 0 totdat de taak beëindigd is.

  • Name
    texture_urls
    Type
    array
    Description

    Downloadlinks voor de textuurmaps van het model, wanneer de taak slaagt: een array van objecten, één per textuurset. Elk object heeft een base_color-URL, en kan ook metallic-, roughness-, normal-, emission- en metallic_roughness-URL's hebben. Dit is null totdat de taak slaagt, en een lege array wanneer het model geen textuurmaps heeft.

  • Name
    task_error
    Type
    object
    Description

    De foutdetails wanneer de taak mislukt. Zie Fouten.

  • Name
    consumed_credits
    Type
    integer
    Description

    Het aantal credits dat de taak heeft gebruikt. Aanwezig wanneer de status PENDING, IN_PROGRESS, of SUCCEEDED is. Dit is 0 voor een FAILED-taak, omdat Meshy de credits terugbetaalt wanneer een taak mislukt.