API för att ändra storlek

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


POST/openapi/v1/resize

Skapa en resize-uppgift

Denna endpoint skapar en ny resize-uppgift.

Parametrar

  • Name
    input_task_id
    Type
    string
    Obligatorisk
    Description

    ID:t för en slutförd Meshy-uppgift vars modell du vill ändra storlek på. Uppgiften måste ha statusen SUCCEEDED. Utdataformatet blir GLB.

  • Name
    model_url
    Type
    string
    Obligatorisk
    Description

    En offentligt 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:er, använd MIME type: application/octet-stream. Utdataformatet kommer att bevara inmatningsmodellens ursprungliga format.

  • 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-syn för att automatiskt uppskatta objektets verkliga höjd och ändrar modellens storlek därefter. Origo kommer som standard vara bottom om inte origin_at uttryckligen anges.

  • Name
    origin_at
    Type
    string
    standard bottom
    Description

    Origos position efter ändring av storlek.

    Tillgängliga värden: bottom, center.

Returer

Svarets result-egenskap innehåller id för den nyligen skapade resize-uppgiften.

Felscenarier

  • 400 - Bad Request

Begäran var inte acceptabel. 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 indatauppgift: input_task_id måste referera till en lyckad uppgift.
  • 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.
  • 401 - Unauthorized

Autentisering misslyckades. Kontrollera din API-nyckel.

  • 402 - Payment Required

Otillräckliga credits för att utföra denna uppgift.

  • 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 baserat på dess ID.

Parametrar

  • Name
    id
    Type
    path
    Description

    ID:t för den resize-uppgift 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 Ändra storlek-uppgift

Detta endpoint tar permanent bort en Ändra storlek-uppgift, inklusive alla tillhörande modeller och data. Denna åtgärd kan inte ångras.

Sökvägsparametrar

  • Name
    id
    Type
    path
    Description

    ID:t för Ändra storlek-uppgiften 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: förfrågan 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 under körningen skulle kosta dig både credits och resultat. Vänta tills den når SUCCEEDED, FAILED eller CANCELED, ta sedan bort den.

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

Returer

Returnerar 200 OK vid lyckad borttagning, 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 (Resize)

Denna endpoint gör det möjligt att hämta en lista över 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. Maximalt tillåtna ä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 Resize-uppgiftsobjekt.

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 storleksändringsuppgift

Denna endpoint streamar realtidsuppdateringar för en storleksändringsuppgift med hjälp av Server-Sent Events (SSE).

Parametrar

  • Name
    id
    Type
    path
    Description

    Unik identifierare för den storleksändringsuppgift som ska streamas.

Returnerar

Returnerar en ström av The Resize Task Objects som Server-Sent Events.

För PENDING- eller IN_PROGRESS-uppgifter kommer svarsströmmen endast att innehålla 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
}

Objektet Resize Task

Objektet Resize Task representerar ett jobb för storleksändring.

Properties

  • id · string

Unik identifierare för uppgiften.

  • type · string

Uppgiftens typ. Värdet är resize.

  • model_urls · object

Nedladdningsbar URL för den storleksändrade modellfilen. Vid användning av input_task_id är utdata alltid GLB. Vid användning av model_url bevaras det ursprungliga formatet i utdata.

  • progress · integer

Uppgiftens förlopp (0–100).

  • status · string

Uppgiftens status. Möjliga värden: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.

  • preceding_tasks · integer

Antalet föregående uppgifter. Meningsfullt 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 storleksändringsuppgift). Returnerar 0 för uppgifter med status FAILED.