Resize API

Rozhraní Resize API vám umožňuje změnit velikost existujících 3D modelů na reálné rozměry. Můžete zadat 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 vytvoří 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 stav SUCCEEDED. Výstupní formát bude GLB.

  • Name
    model_url
    Type
    string
    Povinné
    Description

    Veřejně přístupná URL adresa nebo Data URI odkazují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ěřené v metrech. Poměr stran je zachován.

  • Name
    auto_size
    Type
    boolean
    Description

    Pokud je nastaveno na true, služba použije AI vidění k automatickému odhadu reálné výšky objektu a odpovídajícím způsobem změní velikost modelu. Počátek bude standardně nastaven na bottom, pokud není explicitně nastaven parametr origin_at.

  • Name
    origin_at
    Type
    string
    výchozí bottom
    Description

    Umístění počátku po změně velikosti.

    Dostupné hodnoty: bottom, center.

Návratové hodnoty

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

Chybové stavy

  • 400 - Bad Request

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

  • Chybějící parametr: Musí být uveden buď model_url, nebo input_task_id.
  • Chybějící mode pro změnu velikosti: Musí být zadán alespoň jeden z parametrů resize_height, resize_longest_side, nebo auto_size.
  • Vzájemně se vylučující parametry: resize_height, resize_longest_side a auto_size nelze kombinovat.
  • Neplatná vstupní úloha: input_task_id musí odkazovat na úspěšně dokončenou úlohu.
  • Neplatný formát modelu: model_url odkazuje na soubor s nepodporovanou přípona.
  • Nedostupná URL adresa: model_url se nepodařilo stáhnout.
  • 401 - Unauthorized

Autentizace se nezdařila. Zkontrolujte prosím svůj API klíč.

  • 402 - Payment Required

Nedostatek kreditů k provedení této úlohy.

  • 429 - Too Many Requests

Překročili jste limit rychlosti.

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

Načtení úlohy Změnit velikost

Tento koncový bod načte úlohu změny velikosti podle jejího ID.

Parametry

  • Name
    id
    Type
    path
    Description

    ID úlohy změny velikosti, kterou chcete načíst.

Návratová hodnota

Objekt úlohy Změnit velikost.

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

Smazání úlohy Změnit velikost

Tento koncový bod trvale odstraní úlohu změny velikosti, včetně všech přidružených modelů a dat. Tuto akci nelze vrátit zpět.

Parametry cesty

  • Name
    id
    Type
    path
    Description

    ID úlohy změny velikosti, která se má odstranit.

Stav úlohy

Úloha, která je stále ve stavu PENDING, je smazána a kredity spotřebované při jejím vytvoření jsou vráceny.

Úlohu, která je již ve stavu IN_PROGRESS, nelze smazat: požadavek je odmítnut s chybou 409 Conflict a úloha nadále běží. Kredity za úlohu, kterou už worker začal zpracovávat, nelze vrátit, takže by vás smazání uprostřed běhu stálo jak kredity, tak výsledek. Počkejte, až úloha dosáhne stavu SUCCEEDED, FAILED nebo CANCELED, a poté ji smažte.

Úloha v konečném stavu (SUCCEEDED, FAILED nebo CANCELED) je smazána bez vrácení kreditů.

Návratová hodnota

Vrací 200 OK při úspěchu, nebo 409 Conflict, pokud je úloha ve stavu 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

Seznam úloh Změnit velikost

Tento koncový bod umožňuje získat seznam úloh změny 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á hodnota je 100 položek.

  • Name
    sort_by
    Type
    string
    Description

    Pole, podle kterého se má řadit. Dostupné hodnoty:

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

Návratová hodnota

Vrací stránkovaný seznam Objektů úlohy Změnit velikost.

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

Streamování úlohy Změnit velikost

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

Parametry

  • Name
    id
    Type
    path
    Description

    Jedinečný identifikátor úlohy pro změnu velikosti, kterou chcete streamovat.

Návratová hodnota

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

U úloh ve stavu PENDING nebo IN_PROGRESS bude proud odpovědí obsahovat pouze nezbytná pole progress a 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

Objekt Resize Task představuje úlohu změny velikosti.

Properties

  • id · string

Jedinečný identifikátor úlohy.

  • type · string

Typ úlohy. Hodnota je resize.

  • model_urls · object

Stažitelná URL adresa souboru modelu se změněnou velikostí. Při použití input_task_id je výstupem vždy GLB. Při použití model_url výstup zachovává původní formát.

  • progress · integer

Progress úlohy (0–100).

  • status · string

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

  • preceding_tasks · integer

Počet předcházejících úloh. Má význam pouze pokud je status PENDING.

  • created_at · timestamp

Časové razítko vytvoření úlohy, v milisekundách.

  • started_at · timestamp

Časové razítko zahájení úlohy, v milisekundách. 0, pokud úloha ještě nebyla zahájena.

  • finished_at · timestamp

Časové razítko dokončení úlohy, v milisekundách. 0, pokud úloha ještě nebyla dokončena.

  • task_error · object

Objekt chyby, pokud úloha selhala. Další podrobnosti naleznete v části Chyby.

  • consumed_credits · integer

Počet kreditů spotřebovaných touto úlohou (1 kredit za úlohu změny velikosti). U úloh se stavem FAILED je vrácena hodnota 0.