API pro změnu velikosti

API pro změnu velikosti vám umožňuje změnit velikost existujících 3D modelů na reálné rozměry. Můžete specifikovat přesnou výšku, omezení nejdelší strany nebo nechat AI automaticky odhadnout vhodnou velikost.


POST/openapi/v1/resize

Vytvoření úlohy pro změnu velikosti

Tento koncový bod vytváří novou úlohu pro změnu velikosti.

Parametry

  • Name
    input_task_id
    Type
    string
    Povinné
    Description

    ID dokončené úlohy Meshy, jejíž model chcete změnit velikost. Úloha musí mít status SUCCEEDED. Výstupní formát bude GLB.

  • Name
    model_url
    Type
    string
    Povinné
    Description

    Veřejně přístupná URL nebo data URI ukazující na soubor 3D modelu. Podporované formáty: .glb, .gltf, .obj, .fbx, .stl. Pro Data URI použijte MIME type: application/octet-stream. Výstupní formát zachová původní formát vstupního modelu.

  • Name
    resize_height
    Type
    number
    Description

    Změní velikost modelu na konkrétní výšku měřenou v metrech.

  • Name
    resize_longest_side
    Type
    number
    Description

    Změní velikost modelu tak, aby jeho nejdelší strana odpovídala této hodnotě, měřeno v metrech. Poměr stran je zachován.

  • Name
    auto_size
    Type
    boolean
    Description

    Když je nastaveno na true, služba použije AI vidění k automatickému odhadu skutečné výšky objektu a podle toho změní velikost modelu. Počátek bude defaultně bottom, pokud není origin_at explicitně nastaveno.

  • Name
    origin_at
    Type
    string
    výchozí bottom
    Description

    Pozice počátku po změně velikosti.

    Dostupné hodnoty: bottom, center.

Vrátí

Vlastnost result odpovědi obsahuje id nově vytvořené úlohy pro změnu velikosti.

Režimy selhání

  • 400 - Bad Request

Požadavek byl nepřijatelný. Běžné příčiny:

  • Chybějící parametr: Musí být poskytnut buď model_url nebo input_task_id.
  • Chybějící režim změny velikosti: Musí být specifikován alespoň jeden z resize_height, resize_longest_side nebo auto_size.
  • Vzájemně vylučující parametry: resize_height, resize_longest_side a auto_size nelze kombinovat.
  • Neplatná vstupní úloha: input_task_id musí odkazovat na úspěšnou úlohu.
  • Neplatný formát modelu: model_url ukazuje na soubor s nepodporovanou příponou.
  • Nepřístupná URL: model_url nelze stáhnout.
  • 401 - Unauthorized

Autentizace selhala. Zkontrolujte prosím svůj API klíč.

  • 402 - Payment Required

Nedostatečné kredity pro provedení této úlohy.

  • 429 - Too Many Requests

Překročili jste svůj limit rychlosti.

Požadavek

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

Odpověď

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

GET/openapi/v1/resize/:id

Načíst úkol změny velikosti

Tento koncový bod načte úkol změny velikosti podle jeho ID.

Parametry

  • Name
    id
    Type
    path
    Description

    ID úkolu změny velikosti, který chcete načíst.

Vrací

Objekt úkolu změny velikosti.

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

Smazat úkol Změnit velikost

Tento koncový bod trvale smaže úkol změnit velikost, včetně všech souvisejících modelů a dat. Tato akce je nevratná.

Parametry cesty

  • Name
    id
    Type
    path
    Description

    ID úkolu změnit velikost ke smazání.

Vrací

Vrací 200 OK při úspěchu.

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

// Returns 200 Ok on success.

GET/openapi/v1/resize

Seznam úloh pro změnu velikosti

Tento koncový bod vám umožňuje získat seznam úloh pro změnu velikosti.

Parametry

  • Name
    page_num
    Type
    integer
    výchozí 1
    Description

    Číslo stránky pro stránkování.

  • Name
    page_size
    Type
    integer
    výchozí 10
    Description

    Limit velikosti stránky. Maximální povolený počet je 50 položek.

  • Name
    sort_by
    Type
    string
    Description

    Pole pro třídění. Dostupné hodnoty:

    • +created_at: Třídit podle času vytvoření vzestupně.
    • -created_at: Třídit podle času vytvoření sestupně.

Vrací

Vrací stránkovaný seznam Objektů úloh pro změnu velikosti.

Požadavek

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

Odpověď

[
  {
    "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

Streamování úlohy Změnit velikost

Tento koncový bod streamuje aktualizace v reálném čase pro úlohu změny velikosti pomocí Server-Sent Events (SSE).

Parametry

  • Name
    id
    Type
    path
    Description

    Jedinečný identifikátor pro úlohu změny velikosti ke streamování.

Návratové hodnoty

Vrací stream Objektů úlohy Změnit velikost jako Server-Sent Events.

Pro úlohy PENDING nebo IN_PROGRESS bude stream odpovědi obsahovat pouze potřebná pole progress a status.

Požadavek

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
}

Objekt úlohy Změnit velikost

Objekt úlohy Změnit velikost představuje úlohu změny velikosti.

Vlastnosti

  • id · string

Jedinečný identifikátor pro úlohu.

  • type · string

Typ úlohy. Hodnota je resize.

  • model_urls · object

Stahovatelná URL pro soubor modelu se změněnou velikostí. Při použití input_task_id je výstup vždy GLB. Při použití model_url výstup zachovává původní formát.

  • progress · integer

Pokrok úlohy (0-100).

  • status · string

Stav úlohy. Možné hodnoty: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.

  • preceding_tasks · integer

Počet předcházejících úloh. Má smysl pouze, když je stav PENDING.

  • created_at · timestamp

Časové razítko, kdy byla úloha vytvořena, v milisekundách.

  • started_at · timestamp

Časové razítko, kdy byla úloha spuštěna, v milisekundách. 0, pokud nebyla spuštěna.

  • finished_at · timestamp

Časové razítko, kdy byla úloha dokončena, v milisekundách. 0, pokud nebyla dokončena.

  • task_error · object

Objekt chyby, pokud úloha selhala. Pro více podrobností viz Chyby.

  • consumed_credits · integer

Počet kreditů spotřebovaných touto úlohou (1 kredit na úlohu změny velikosti). Vrací 0 pro úlohy FAILED.