lowpoly avvecklas den 30 okt. 2026. Byt modell före dessa datum för att undvika fel i förfrågningar. Se alla utfasningar

Remesh API

Bygg om en 3D-modells nät med en ny topology och ett nytt antal ytor, och exportera den i de format du väljer. Modellen kan komma från en annan Meshy-uppgift, till exempel Bild till 3D eller Text till 3D, eller från en modellfil.


POST/openapi/v1/remesh

Skapa en Remesh-uppgift

Skapar en Remesh-uppgift. Uppgiften körs i bakgrunden. För information om hur lång tid en uppgift vanligtvis tar, se Bearbetningstider.

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"
}

Parametrar

  • Name
    input_task_id
    Type
    string
    Obligatorisk
    Description

    Krävs om du inte skickar model_url. ID:t för uppgiften vars modell du vill remesh:a, till exempel en Text till 3D-, Bild till 3D-, Omtexturerings- eller Remesh-uppgift. Uppgiften måste vara en som du skapade med API:et och ha statusen SUCCEEDED.

  • Name
    model_url
    Type
    string
    Obligatorisk
    Description

    Krävs om du inte skickar input_task_id. Modellen som ska remeshas, som en offentlig URL eller en data-URI. Om du skickar båda använder Meshy input_task_id.

    Modellen måste vara en GLB-, glTF-, OBJ-, FBX- eller STL-fil på högst 400 MB från en http- eller https-URL, eller 100 MB som en data-URI. För en data-URI, använd MIME type application/octet-stream.

    En fil över 100 MB måste också följa dessa regler:

    • En GLB-, glTF-, FBX- eller OBJ-fil kan ha högst 10 000 000 ytor. Meshy räknar ytor som trianglar, så en fyrhörning räknas som 2, och ett nät som ritas flera gånger räknas en gång per kopia.
    • En FBX-fil måste vara binär FBX 7.1 eller nyare.
    • En GLB- eller glTF-fil får inte använda Draco-komprimering.
  • Name
    target_formats
    Type
    string[]
    standard ["glb"]
    Description

    Filformaten som ska genereras.

    Tillgängliga värden:

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

    Ytans typ för den remeshade modellen.

    Tillgängliga värden:

    • quad: ett nät som domineras av fyrhörningar
    • triangle: ett decimerat triangelnät
  • Name
    target_polycount
    Type
    integer
    standard 30000
    Description

    Antalet ytor att sikta mot, från 100 till 300000. Resultatet kan skilja sig från målet, beroende på modellens geometri. Ett värde utanför intervallet returnerar 400.

  • Name
    decimation_mode
    Type
    integer
    Description

    Adaptivt ytantal, per nivå. När du anger detta ignorerar Meshy target_polycount.

    Tillgängliga värden:

    • 1: ultra
    • 2: hög
    • 3: medel
    • 4: låg
  • Name
    resize_height
    Type
    number
    ⚠ föråldrad
    standard 0
    Description

    Använd Resize API istället. Höjden att ändra modellens storlek till, i meter. Skicka högst en av resize_height, resize_longest_side och auto_size.

  • Name
    resize_longest_side
    Type
    number
    ⚠ föråldrad
    standard 0
    Description

    Använd Resize API istället. Längden att ändra modellens begränsningsrutas längsta sida till, i meter. Skicka högst en av resize_height, resize_longest_side och auto_size.

  • Name
    auto_size
    Type
    boolean
    ⚠ föråldrad
    standard false
    Description

    Använd Resize API istället. Huruvida objektets verkliga höjd ska uppskattas med AI-seende och modellen ändras till den storleken. Skicka högst en av resize_height, resize_longest_side och auto_size.

  • Name
    origin_at
    Type
    string
    ⚠ föråldrad
    standard bottom
    Description

    Använd Resize API istället. Var modellens origo ska placeras, bottom eller center. Standardvärdet gäller när du skickar resize_height, resize_longest_side eller auto_size. Utan någon av dem flyttar Meshy origo endast om du skickar origin_at.

  • Name
    convert_format_only
    Type
    boolean
    ⚠ föråldrad
    Description

    Använd Convert API istället. Huruvida modellen bara ska konverteras till target_formats. När true ignorerar Meshy topology, target_polycount, decimation_mode, resize_height, resize_longest_side och auto_size, men kontrollerar ändå deras värden, så ett ogiltigt värde returnerar 400. Med convert_format_only: true returnerar en tom eller null target_formats 400.

  • Name
    alpha_thumbnail
    Type
    boolean
    standard false
    Description

    Huruvida en förhandsgranskning med transparent bakgrund (RGBA) också ska renderas, som returneras i alpha_thumbnail_url när du hämtar uppgiften. thumbnail_url ändras inte.

Returvärden

Fältet result i svaret innehåller ID:t för den nya Remesh-uppgiften.

Felscenarier

  • Name
    400 - Bad Request
    Description

    Begäran kan inte köras. Felmeddelandet anger vilket problem som hittades. Till exempel:

    • Saknad parameter: Varken model_url eller input_task_id skickades.
    • Ogiltig indatauppgift: input_task_id är inte en lyckad API-uppgift, eller dess AI-modell stöder inte remeshing.
    • Ogiltigt modellformat: Filen i model_url har ett filtillägg som inte stöds.
    • Oåtkomlig URL: Meshy kan inte ladda ner filen i model_url.
    • Modellfilen är för stor: Filen i model_url är över 400 MB från en http- eller https-URL, eller över 100 MB som en data-URI.
    • För många ytor: Filen i model_url är över 100 MB och har fler än 10 000 000 ytor. Minska antalet ytor och skicka sedan filen igen.
    • ASCII FBX över 100 MB: Filen i model_url är en ASCII FBX över 100 MB. Skicka den som binär FBX eller GLB.
    • Oläsbar modellfil: Filen i model_url är över 100 MB, och Meshy kan inte läsa dess header. Till exempel är den en Draco-komprimerad GLB eller glTF, eller en binär FBX äldre än 7.1.
    • Modellens header är för komplex: Filen i model_url är över 100 MB, och dess header har för många nät, noder eller poster att kontrollera. Minska antalet objekt i filen och skicka den sedan igen.
    • Ogiltig topology: topology är varken quad eller triangle.
    • Ömsesidigt uteslutande parametrar: Begäran innehåller mer än en av auto_size, resize_height och resize_longest_side. Skicka bara en.

    Åtgärda begäran och skicka den sedan igen. Se Fel.

  • Name
    401 - Unauthorized
    Description

    API-nyckeln saknas eller är ogiltig. Kontrollera Authorization-headern.

  • Name
    402 - Payment Required
    Description

    Till exempel:

    • Otillräckligt med credits: Kontot har inte tillräckligt med credits för den här uppgiften, eller kontot har nått en creditgräns. Kontrollera ditt credit-saldo och försök sedan igen.
    • Gratisplan: Att skapa en uppgift kräver en betald plan. Uppgradera din plan i dina prenumerationsinställningar och försök sedan igen.
  • Name
    403 - Forbidden
    Description

    input_task_id är en basreliefmodell, vilket den här endpointen inte kan remesh:a. Meddelandet är This model type does not support this operation. Skicka en annan modell.

  • Name
    404 - Not Found
    Description

    input_task_id matchar ingen av dina uppgifter. Kontrollera uppgifts-ID:t och skicka sedan begäran igen.

  • Name
    429 - Too Many Requests
    Description

    Du överskred din hastighetsgräns. Vänta och försök sedan igen. Se Hastighetsgränser.


GET/openapi/v1/remesh/:id

Hämta en Remesh-uppgift

Returnerar en Remesh-uppgift baserat på dess 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
}

Parametrar

  • Name
    id
    Type
    path
    Description

    Uppgifts-ID:t från skaparsvaret.

Returnerar

Remesh-uppgiftsobjektet.


DELETE/openapi/v1/remesh/:id

Ta bort en Remesh-uppgift

Tar bort en Remesh-uppgift permanent, inklusive dess modeller och data. Du kan inte ångra en borttagning.

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."
}

Sökvägsparametrar

  • Name
    id
    Type
    path
    Description

    ID:t för uppgiften som ska tas bort.

Uppgiftsstatus

Att ta bort en PENDING-uppgift återbetalar de credits som användes när du skapade den.

En IN_PROGRESS-uppgift kan inte tas bort. Förfrågan returnerar 409 Conflict, och uppgiften fortsätter att köras. Meshy återbetalar inte en uppgift som har påbörjats, så att ta bort den skulle kosta dig både credits och resultatet. Vänta tills den når SUCCEEDED, FAILED eller CANCELED, och ta sedan bort den.

Att ta bort en uppgift i en slutgiltig status (SUCCEEDED, FAILED eller CANCELED) återbetalar inte dess credits.

Returnerar

200 OK när uppgiften har tagits bort, eller 409 Conflict när uppgiften är IN_PROGRESS.


GET/openapi/v1/remesh

Lista Remesh-uppgifter

Returnerar en lista över dina Remesh-uppgifter.

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
  }
]

Parametrar

  • Name
    page_num
    Type
    integer
    standard 1
    Description

    Sidnumret som ska returneras, upp till 255. Ett större värde returnerar 400.

  • Name
    page_size
    Type
    integer
    standard 10
    Description

    Antalet uppgifter per sida, upp till 100.

  • Name
    sort_by
    Type
    string
    Description

    Sorteringsordningen.

    Tillgängliga värden:

    • +created_at: äldsta först
    • -created_at: nyaste först

Returnerar

En paginerad lista med Remesh-uppgiftsobjekt.


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

Strömma en Remesh-uppgift

Strömmar uppdateringar för en Remesh-uppgift som 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,
}

Parametrar

  • Name
    id
    Type
    path
    Description

    Uppgifts-ID från skapandesvaret.

Returnerar

En ström av Remesh-uppgiftsobjekt som Server-Sent Events.

Varje händelse innehåller hela uppgiftsobjektet, i samma format som Get-endpointen returnerar. Medan uppgiften är PENDING eller IN_PROGRESS har dess resultatfält ännu inga värden.


Remesh-uppgiftsobjektet

Ett Remesh-uppgiftsobjekt beskriver en remesh av en 3D-modell. Det innehåller statusen, progress och modellfilerna när uppgiften lyckas.

Egenskaper

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

    Uppgifts-ID:t. Behandla det som en opak sträng och lita inte på dess format.

  • Name
    type
    Type
    string
    Description

    Uppgiftstypen, alltid remesh.

  • Name
    model_urls
    Type
    object
    Description

    Nedladdningslänkar för den remeshade modellen, en per filformat. Ett format som uppgiften inte genererade saknar nyckel, istället för att ha en tom sträng.

    • Name
      glb
      Type
      string
      Description

      GLB-filen.

    • Name
      fbx
      Type
      string
      Description

      FBX-filen.

    • Name
      obj
      Type
      string
      Description

      OBJ-filen.

    • Name
      usdz
      Type
      string
      Description

      USDZ-filen.

    • Name
      blend
      Type
      string
      Description

      Blender-filen.

    • Name
      stl
      Type
      string
      Description

      STL-filen.

    • Name
      3mf
      Type
      string
      Description

      3MF-filen. Finns endast när target_formats innehåller 3mf.

  • Name
    thumbnail_url
    Type
    string
    Description

    Nedladdningslänk för en förhandsgranskningsbild av den remeshade modellen.

  • Name
    alpha_thumbnail_url
    Type
    string
    Description

    Nedladdningslänk för en version av thumbnail_url med transparent bakgrund (RGBA). Finns endast om du skapade uppgiften med alpha_thumbnail: true och Meshy renderade den transparenta förhandsgranskningen.

  • Name
    progress
    Type
    integer
    Description

    Hur mycket av uppgiften som är klar, i procent. Den är 0 tills uppgiften startar och 100 när den lyckas.

  • Name
    status
    Type
    string
    Description

    Uppgiftens status, en av PENDING, IN_PROGRESS, SUCCEEDED, FAILED eller CANCELED.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Antalet uppgifter före denna i kön. Värdet är endast meningsfullt medan uppgiften är PENDING.

  • Name
    created_at
    Type
    timestamp
    Description

    Tidpunkten då uppgiften skapades, i Unix-millisekunder.

  • Name
    started_at
    Type
    timestamp
    Description

    Tidpunkten då uppgiften startade, i Unix-millisekunder. Den är 0 tills uppgiften startar.

  • Name
    finished_at
    Type
    timestamp
    Description

    Tidpunkten då uppgiften avslutades, i Unix-millisekunder. Den är 0 tills uppgiften avslutas.

  • Name
    expires_at
    Type
    timestamp
    Description

    Tidpunkten då uppgiftens nedladdningslänkar upphör att gälla, i Unix-millisekunder. Den är 0 tills uppgiften avslutas.

  • Name
    texture_urls
    Type
    array
    Description

    Nedladdningslänkar för modellens texturkartor, när uppgiften lyckas: en array av objekt, ett per texturset. Varje objekt har en base_color-URL, och kan även ha metallic-, roughness-, normal-, emission- och metallic_roughness-URL:er. Den är null tills uppgiften lyckas, och en tom array när modellen saknar texturkartor.

  • Name
    task_error
    Type
    object
    Description

    Feldetaljerna när uppgiften misslyckas. Se Fel.

  • Name
    consumed_credits
    Type
    integer
    Description

    Antalet credits som uppgiften förbrukade. Finns när statusen är PENDING, IN_PROGRESS eller SUCCEEDED. Den är 0 för en FAILED-uppgift, eftersom Meshy återbetalar credits när en uppgift misslyckas.