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

Ändra storlek-API

Med Ändra storlek-API:et kan du ändra storlek på befintliga 3D-modeller till verkliga dimensioner. Du kan ange en exakt höjd, en begränsning för den längsta sidan, eller låta AI automatiskt uppskatta lämplig storlek.


POST/openapi/v1/resize

Create a Resize Task

Denna endpoint skapar en ny resize-task.

Tasken körs i bakgrunden. För information om hur lång tid det vanligtvis tar, se Processing Times.

Parametrar

  • Name
    input_task_id
    Type
    string
    Obligatorisk
    Description

    ID:t för en slutförd Meshy-task vars modell du vill ändra storlek på. Tasken måste ha statusen SUCCEEDED. Utdataformatet kommer att vara GLB.

  • Name
    model_url
    Type
    string
    Obligatorisk
    Description

    En publikt tillgänglig URL eller data-URI som pekar på en 3D-modellfil. Format som stöds: .glb, .gltf, .obj, .fbx, .stl. För Data URI, använd MIME type: application/octet-stream. En .glb-, .obj-, .fbx- eller .stl-URL behåller sitt format i utdatan; en .gltf-URL eller en data-URI producerar GLB.

    Maximal filstorlek: 400 MB för en http- eller https-URL, 100 MB för en data:-URI.

    En GLB-, glTF-, FBX- eller OBJ-fil över 100 MB kan ha som mest 10 000 000 ytor (faces). Ytor räknas som trianglar: en quad räknas som 2, och ett nät som ritas mer än en gång räknas en gång per kopia. Över 100 MB måste en FBX-fil vara binär FBX 7.1 eller nyare, och en GLB- eller glTF-fil får inte använda Draco-komprimering.

  • Name
    resize_height
    Type
    number
    Description

    Ändra storlek på modellen till en specifik höjd mätt i meter.

  • Name
    resize_longest_side
    Type
    number
    Description

    Ändra storlek på modellen så att dess längsta sida matchar detta värde, mätt i meter. Bildförhållandet bevaras.

  • Name
    auto_size
    Type
    boolean
    Description

    När detta är satt till true använder tjänsten AI-seende för att automatiskt uppskatta objektets verkliga höjd och ändra storlek på modellen i enlighet med det. Origo kommer som standard vara bottom om inte origin_at uttryckligen anges.

  • Name
    origin_at
    Type
    string
    standard bottom
    Description

    Origots position efter storleksändring.

    Tillgängliga värden: bottom, center.

Returnerar

Egenskapen result i svaret innehåller id:t för den nyligen skapade resize-tasken.

Felscenarier

  • 400 - Bad Request

Begäran var inte godtagbar. Vanliga orsaker:

  • Saknad parameter: Antingen model_url eller input_task_id måste anges.
  • Saknat resize-mode: Minst en av resize_height, resize_longest_side eller auto_size måste anges.
  • Ömsesidigt uteslutande parametrar: resize_height, resize_longest_side och auto_size kan inte kombineras.
  • Ogiltig input-task: input_task_id måste referera till en lyckad task.
  • Ogiltigt modellformat: model_url pekar på en fil med en filändelse som inte stöds.
  • Onåbar URL: model_url kunde inte laddas ner.
  • Modellfil för stor: model_url-filen överskrider 400 MB (http- eller https-URL) eller 100 MB (data:-URI).
  • För många ytor: model_url-filen ä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: model_url-filen är en ASCII FBX över 100 MB. Skicka den som binär FBX eller GLB.
  • Oläsbar modellfil: model_url-filen är över 100 MB och dess header kan inte läsas, till exempel en Draco-komprimerad GLB eller glTF, eller en binär FBX äldre än 7.1.
  • Modellheader för komplex: model_url-filen ä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.
  • 401 - Unauthorized

Autentisering misslyckades. Kontrollera din API-nyckel.

  • 402 - Payment Required

Otillräckligt med credits för att utföra denna task.

  • 429 - Too Many Requests

Du har överskridit din hastighetsgräns.

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

Hämta en Resize-uppgift

Denna endpoint hämtar en resize-uppgift utifrån dess ID.

Parametrar

  • Name
    id
    Type
    path
    Description

    ID:t för resize-uppgiften som ska hämtas.

Returnerar

Resize Task-objektet.

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

Ta bort en uppgift för att ändra storlek

Denna endpoint tar permanent bort en uppgift för att ändra storlek, inklusive alla tillhörande modeller och data. Denna åtgärd går inte att ångra.

Sökvägsparametrar

  • Name
    id
    Type
    path
    Description

    ID:t för uppgiften för att ändra storlek som ska tas bort.

Uppgiftsstatus

En uppgift som fortfarande är PENDING tas bort och de credits som förbrukades vid skapandet återbetalas.

En uppgift som redan är IN_PROGRESS kan inte tas bort: begäran avvisas med 409 Conflict och uppgiften fortsätter att köras. Credits för en uppgift som arbetaren redan har påbörjat kan inte återbetalas, så att ta bort den mitt i körningen skulle kosta dig både credits och resultatet. Vänta tills den når SUCCEEDED, FAILED eller CANCELED, och ta sedan bort den.

En uppgift i ett sluttillstånd (SUCCEEDED, FAILED eller CANCELED) tas bort utan återbetalning.

Returnerar

Returnerar 200 OK vid lyckat resultat, eller 409 Conflict när uppgiften är IN_PROGRESS.

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

Lista storleksändringsuppgifter

Denna endpoint låter dig hämta en lista med storleksändringsuppgifter.

Parametrar

  • Name
    page_num
    Type
    integer
    standard 1
    Description

    Sidnummer för paginering.

  • Name
    page_size
    Type
    integer
    standard 10
    Description

    Gräns för sidstorlek. Max tillåtet är 100 objekt.

  • Name
    sort_by
    Type
    string
    Description

    Fält att sortera efter. Tillgängliga värden:

    • +created_at: Sortera efter skapandetid i stigande ordning.
    • -created_at: Sortera efter skapandetid i fallande ordning.

Returnerar

Returnerar en paginerad lista med Objekt för storleksändringsuppgift.

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

Streama en uppgift för att ändra storlek

Denna endpoint streamar uppdateringar i realtid för en uppgift för att ändra storlek med hjälp av Server-Sent Events (SSE).

Parametrar

  • Name
    id
    Type
    path
    Description

    Unik identifierare för uppgiften för att ändra storlek som ska streamas.

Returnerar

Returnerar en ström av uppgiftsobjekt för att ändra storlek som Server-Sent Events.

För uppgifter med status PENDING eller IN_PROGRESS innehåller responsströmmen endast de nödvändiga fälten progress och 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
}

The Resize Task Object

Resize Task-objektet representerar ett jobb för att ändra storlek.

Properties

  • id · string

Unik identifierare för uppgiften.

  • type · string

Typ av uppgift. Värdet är resize.

  • model_urls · object

Nedladdningsbar URL för filen med den storleksändrade modellen. Vid användning av input_task_id är utdata alltid GLB. Vid användning av model_url behåller en indata av typen .glb, .obj, .fbx eller .stl sitt format, medan en .gltf-indata eller en Data URI ger GLB.

  • progress · integer

Förlopp för uppgiften (0-100).

  • status · string

Status för uppgiften. Möjliga värden: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.

  • preceding_tasks · integer

Antalet föregående uppgifter. Relevant endast när status är PENDING.

  • created_at · timestamp

Tidsstämpel för när uppgiften skapades, i millisekunder.

  • started_at · timestamp

Tidsstämpel för när uppgiften startades, i millisekunder. 0 om den inte har startats.

  • finished_at · timestamp

Tidsstämpel för när uppgiften avslutades, i millisekunder. 0 om den inte har avslutats.

  • task_error · object

Felobjekt om uppgiften misslyckades. Se Fel för mer information.

  • consumed_credits · integer

Antalet credits som förbrukats av denna uppgift (1 credit per resize-uppgift). Returnerar 0 för uppgifter med status FAILED.