Text na 3D API

Text na 3D API je funkce, která vám umožňuje integrovat schopnosti Meshy pro Text na 3D do vaší vlastní aplikace. V této části najdete všechny informace, které potřebujete k tomu, abyste s tímto API mohli začít.

Text na 3D používá dvoukrokový pracovní postup. Nejprve vytvořte preview úlohu (mode: "preview") pro vygenerování 3D sítě bez textury, abyste mohli posoudit tvar. Poté předejte ID dokončené preview úlohy do refine úlohy (mode: "refine"), aby se na síť aplikovala textura. Oba kroky sdílejí stejný koncový bod.


POST/openapi/v2/text-to-3d

Vytvoření úlohy náhledu Text na 3D

Tento koncový bod vytvoří úlohu náhledu Text na 3D, která z textového promptu vygeneruje netexturovanou 3D síť (pouze geometrii). Jedná se o první krok dvoukrokového pracovního postupu. Jakmile se náhled úspěšně vygeneruje, použijte vrácené ID úlohy k vytvoření refine úlohy pro texturování. Úplné schéma odpovědi naleznete v části Objekt úlohy Text na 3D.

Parametry

  • Name
    mode
    Type
    string
    Povinné
    Description

    Toto pole by mělo být při vytváření náhledové úlohy nastaveno na "preview".

  • Name
    prompt
    Type
    string
    Povinné
    Description

    Popište, o jaký druh objektu se u 3D modelu jedná. Maximálně 800 znaků.

  • Name
    model_type
    Type
    string
    výchozí standard
    Description

    Určuje typ generování 3D sítě.

    Dostupné hodnoty:

    • standard: Běžné generování 3D sítě s vysokou úrovní detailů.
    • smart-topology: Zvolte model Smart Topology pomocí ai_model (meshy-t2).
    • lowpoly (zastaralé): Generuje low-poly síť optimalizovanou pro čistší polygony. Doporučujeme místo toho použít smart-topology.
  • Name
    ai_model
    Type
    string
    výchozí latest
    Description

    ID modelu, který se má použít. Dostupné hodnoty závisí na model_type.

    Standardní generování (model_type: standard):

    • meshy-6-lite, meshy-6, meshy-7.1, latest (Meshy 7.1)
    • meshy-7 (zastaralé): místo něj použijte meshy-7.1.

    Generování pomocí Smart Topology (model_type: smart-topology):

    • meshy-t2 (výchozí): model Smart Topology — čistší topology, přirozeně oddělené části, výstup ve formě trojúhelníků a počet ploch, který lze nastavit pomocí target_polycount.
  • Name
    geometry_resolution
    Type
    string
    výchozí standard
    Description

    Průchod generování geometrie. 2k spustí Ultra průchod při 2048³; 4k jej spustí při 4096³ pro nejjemnější detaily povrchu.

    Dostupné hodnoty: standard, 2k, 4k

  • Name
    ultra_mode
    Type
    boolean
    ⚠ zastaralé
    výchozí false
    Description

    Místo toho použijte geometry_resolution. ultra_mode: true odpovídá hodnotě geometry_resolution: "2k".

  • Name
    should_remesh
    Type
    boolean
    výchozí false (Meshy 6 and Meshy 7 models), true (others)
    Description

    Určuje, zda povolit fázi remesh. U modelu s nejvyšší kvalitou doporučujeme nastavit should_remesh na false.

Platí pouze když should_remesh = true
  • Name
    topology
    Type
    string
    výchozí triangle
    Description

    Určuje topology generovaného modelu.

    Dostupné hodnoty:

    • quad: Vygeneruje síť s převahou čtyřúhelníků.
    • triangle: Vygeneruje decimovanou trojúhelníkovou síť.
  • Name
    decimation_mode
    Type
    integer
    Description

    Povolí adaptivní decimaci nastavením úrovně počtu polygonů. Je-li nastaveno, target_polycount se ignoruje.

    Dostupné hodnoty:

    • 1: Adaptivní — ultra počet polygonů.
    • 2: Adaptivní — vysoký počet polygonů.
    • 3: Adaptivní — střední počet polygonů.
    • 4: Adaptivní — nízký počet polygonů.
  • Name
    target_polycount
    Type
    integer
    Description

    Cílový počet polygonů (ploch) ve výstupu. Skutečný počet se může od cíle lišit v závislosti na geometrii.

    target_polycount se uplatní ve dvou nezávislých případech:

    • Remesh — s should_remesh: true u modelu standard. Síť je remeshována (decimována) přibližně na tento počet. Rozsah 100 až 300 000, výchozí hodnota 30 000. Je-li nastaveno decimation_mode, má přednost a target_polycount se ignoruje.
    • Smart Topology — s model_type: smart-topology a ai_model: meshy-t2. Model je vygenerován přímo s tímto počtem ploch; remesh se nespouští a should_remesh není vyžadováno. Rozsah 100 až 15 000, výchozí hodnota 4 000.
  • Name
    symmetry_mode
    Type
    string
    ⚠ zastaralé
    výchozí auto
    Description

    Zastaralé. Tento parametr již neovlivňuje výstup.

    Pole symmetry_mode řídí chování symetrie během procesu generování modelu.

    Platné hodnoty jsou:

    • off: Zakáže symetrii.
    • auto: Automaticky určí a použije symetrii na základě vstupní geometrie.
    • on: Vynutí symetrii během generování.
  • Name
    pose_mode
    Type
    string
    výchozí ""
    Description

    Určuje pose mode pro generovaný model.

    Dostupné hodnoty:

    • a-pose: Vygeneruje model v pozici A.
    • t-pose: Vygeneruje model v pozici T.
    • "" (prázdný řetězec): Není použita žádná konkrétní pozice.
  • Name
    is_a_t_pose
    Type
    boolean
    ⚠ zastaralé
    výchozí false
    Description

    Místo toho použijte pose_mode. Určuje, zda vygenerovat model v pozici A/T.

  • Name
    art_style
    Type
    string
    ⚠ zastaralé
    výchozí realistic
    Description

    Není podporováno modelem Meshy-6. Požadavky používající Meshy-6 budou art_style ignorovat a některé kombinace mohou způsobit chyby. Dostupné hodnoty: realistic, sculpture.

  • Name
    moderation
    Type
    boolean
    výchozí false
    Description

    Je-li nastaveno na true, vstupní obsah bude automaticky prověřen na potenciálně škodlivý obsah. Pokud je škodlivý obsah zjištěn, úloha nebude pokračovat do fáze generování.

    Prověřován bude text z prompt.

  • Name
    target_formats
    Type
    string[]
    Description

    Určuje, které formáty 3D souborů mají být zahrnuty do výstupu. Vygenerovány a vráceny budou pouze požadované formáty, což může zkrátit dobu dokončení úlohy. Pokud není zadáno, jsou zahrnuty všechny podporované formáty.

    Dostupné hodnoty: glb, obj, fbx, stl, usdz, 3mf

  • Name
    alpha_thumbnail
    Type
    boolean
    výchozí false
    Description

    Je-li nastaveno na true, úloha navíc vykreslí verzi náhledu s průhledným pozadím (RGBA) a vrátí ji jako alpha_thumbnail_url v odpovědi GET. Stávající pole thumbnail_url zůstává beze změny.

  • Name
    auto_size
    Type
    boolean
    výchozí false
    Description

    Je-li nastaveno na true, služba pomocí AI vidění automaticky odhadne skutečnou výšku objektu v reálném světě a odpovídajícím způsobem změní velikost modelu. Počátek bude standardně nastaven na bottom, pokud není origin_at výslovně nastaveno.

Platí pouze když auto_size = true
  • Name
    origin_at
    Type
    string
    výchozí bottom
    Description

    Poloha počátku, je-li povoleno auto_size.

    Dostupné hodnoty: bottom, center.

Návratové hodnoty

Vlastnost result odpovědi obsahuje id úlohy nově vytvořené úlohy Text na 3D.

Režimy selhání

  • Name
    400 - Bad Request
    Description

    Požadavek byl nepřijatelný. Časté příčiny:

    • Chybějící parametr: Chybí povinný parametr (např. prompt, mode).
    • Neplatný parametr: art_style není jednou z povolených hodnot.
    • Příliš dlouhý prompt: prompt překračuje limit počtu znaků.
    • Nepodporovaný model pro low poly: ai_model: "meshy-6-lite" nepodporuje model_type: "lowpoly".
    • Nepodporovaný model pro Ultra: geometry_resolution vyžaduje meshy-7.1 nebo latest.
  • Name
    401 - Unauthorized
    Description

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

  • Name
    402 - Payment Required
    Description

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

  • Name
    429 - Too Many Requests
    Description

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

Request

POST
/openapi/v2/text-to-3d
# Simple preview with required params only
curl https://api.meshy.ai/openapi/v2/text-to-3d \
  -H 'Authorization: Bearer ${YOUR_API_KEY}' \
  -H 'Content-Type: application/json' \
  -d '{
  "mode": "preview",
  "prompt": "a monster mask"
}'

# Preview with Ultra 4K geometry, remesh and A-pose
curl https://api.meshy.ai/openapi/v2/text-to-3d \
  -H 'Authorization: Bearer ${YOUR_API_KEY}' \
  -H 'Content-Type: application/json' \
  -d '{
  "mode": "preview",
  "prompt": "a futuristic robot warrior",
  "ai_model": "meshy-7.1",
  "geometry_resolution": "4k",
  "should_remesh": true,
  "target_polycount": 100000,
  "pose_mode": "a-pose",
  "target_formats": ["glb"]
}'

Response

{
  "result": "018a210d-8ba4-705c-b111-1f1776f7f578"
}

POST/openapi/v2/text-to-3d

Vytvoření Text na 3D refine úlohy

Tento koncový bod vytvoří Text na 3D refine úlohu, která aplikuje texturu na dokončenou preview síť. Musíte zadat preview_task_id z úspěšné preview úlohy. Toto je druhý krok dvoukrokového workflow.

Parametry

  • Name
    mode
    Type
    string
    Povinné
    Description

    Toto pole musí být při vytváření refine úlohy nastaveno na „refine“.

  • Name
    preview_task_id
    Type
    string
    Povinné
    Description

    Odpovídající ID preview úlohy.

    Stav dané preview úlohy musí být SUCCEEDED.

  • Name
    enable_pbr
    Type
    boolean
    výchozí false
    Description

    Vygeneruje PBR mapy (metalness, roughness, normal) navíc k základní barevné mapě. Emisní mapa je také zahrnuta, pokud je ai_model nastaven na meshy-6, kromě případu texture_resolution: 8k (emisní mapa se v tomto případě nevytváří). meshy-6-lite, meshy-7.1 a latest emisní mapu nevytvářejí.

  • Name
    texture_resolution
    Type
    string
    výchozí 2k
    Description

    Rozlišení základní barevné textury. Jedna z hodnot 2k (2048×2048), 4k (4096×4096) nebo 8k (8192×8192). Vyšší rozlišení zachytí více detailů povrchu. Platí pouze pro mode refine.

  • Name
    hd_texture
    Type
    boolean
    ⚠ zastaralé
    výchozí false
    Description

    Místo toho použijte texture_resolution — ekvivalent hodnoty texture_resolution: "4k". Pokud jsou zadány oba parametry, má přednost texture_resolution.

  • Name
    texture_prompt
    Type
    string
    Description

    Zadejte doplňující textový prompt, který bude řídit proces texturování. Maximálně 800 znaků.

  • Name
    texture_image_url
    Type
    string
    Description

    Zadejte 2D obrázek, který bude řídit proces texturování. V současné době podporujeme formáty .jpg, .jpeg a .png.

    Obrázek lze zadat dvěma způsoby:

    • Veřejně přístupná URL adresa: URL adresa přístupná z veřejného internetu
    • Data URI: base64 kódované data URI obrázku. Příklad data URI: data:image/jpeg;base64,<vaše base64 kódovaná data obrázku>
  • Name
    ai_model
    Type
    string
    výchozí inherited from the preview task
    Description

    ID modelu použitého pro refine.

    Dostupné hodnoty:

    • meshy-6-lite, meshy-6, meshy-7.1, latest (Meshy 7.1)
    • meshy-7 (zastaralé): místo něj použijte meshy-7.1.

    Pokud tento parametr vynecháte, zdědí se model použitý v preview úloze, díky čemuž zůstanou preview a jeho refine po celou dobu na stejném modelu. Explicitní hodnotou toto zdědění přepíšete.

  • Name
    moderation
    Type
    boolean
    výchozí false
    Description

    Pokud je nastaveno na true, vstupní obsah bude automaticky prověřen na potenciálně škodlivý obsah. Pokud je škodlivý obsah detekován, úloha nebude pokračovat do fáze generování.

    Prověřován bude jak text z texture_prompt, tak obrázek z texture_image_url.

  • Name
    remove_lighting
    Type
    boolean
    výchozí true
    Description

    Odstraní zvýraznění a stíny ze základní barevné textury, čímž vznikne čistší výsledek, který lépe funguje při vlastním nastavení osvětlení.

  • Name
    target_formats
    Type
    string[]
    Description

    Určuje, které formáty 3D souborů budou zahrnuty ve výstupu. Vygenerovány a vráceny budou pouze požadované formáty, což může zkrátit dobu dokončení úlohy. Pokud parametr vynecháte, budou zahrnuty všechny podporované formáty.

    Dostupné hodnoty: glb, obj, fbx, stl, usdz, 3mf

  • Name
    alpha_thumbnail
    Type
    boolean
    výchozí false
    Description

    Pokud je nastaveno na true, úloha navíc vyrenderuje verzi náhledu s průhledným pozadím (RGBA) a vrátí ji jako alpha_thumbnail_url v GET odpovědi. Stávající pole thumbnail_url zůstává beze změny.

  • Name
    auto_size
    Type
    boolean
    výchozí false
    Description

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

Platí pouze když auto_size = true
  • Name
    origin_at
    Type
    string
    výchozí bottom
    Description

    Poloha počátku, pokud je povoleno auto_size.

    Dostupné hodnoty: bottom, center.

Návratové hodnoty

Vlastnost result v odpovědi obsahuje id úlohy nově vytvořené Text na 3D úlohy.

Režimy selhání

  • Name
    400 - Bad Request
    Description

    Požadavek byl nepřijatelný. Časté příčiny:

    • Neplatné ID úlohy: preview_task_id je neplatné nebo neexistuje.
    • Úloha není připravena: Preview úloha ještě nebyla úspěšně dokončena.
    • Neshoda modelů: AI model preview úlohy není kompatibilní s požadovaným refine modelem.
  • Name
    401 - Unauthorized
    Description

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

  • Name
    402 - Payment Required
    Description

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

  • Name
    404 - Not Found
    Description

    Preview úloha zadaná pomocí preview_task_id nebyla nalezena.

  • Name
    429 - Too Many Requests
    Description

    Překročili jste limit rychlosti.

Request

POST
/openapi/v2/text-to-3d
# Basic refine task
curl https://api.meshy.ai/openapi/v2/text-to-3d \
  -H 'Authorization: Bearer ${YOUR_API_KEY}' \
  -H 'Content-Type: application/json' \
  -d '{
  "mode": "refine",
  "preview_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "enable_pbr": true
}'

# Refine with auto-size and GLB format
curl https://api.meshy.ai/openapi/v2/text-to-3d \
  -H 'Authorization: Bearer ${YOUR_API_KEY}' \
  -H 'Content-Type: application/json' \
  -d '{
  "mode": "refine",
  "preview_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "target_formats": ["glb"],
  "auto_size": true
}'

Response

{
  "result": "018a210d-8ba4-705c-b111-1f1776f7f578"
}

GET/openapi/v2/text-to-3d/:id

Získání úlohy Text na 3D

Tento koncový bod umožňuje získat úlohu Text na 3D na základě platného id úlohy. Podívejte se do sekce Objekt úlohy Text na 3D, kde zjistíte, jaké vlastnosti jsou součástí objektu úlohy Text na 3D.

Tento koncový bod funguje jak pro úlohy preview, tak pro úlohy refine.

Parametry

  • Name
    id
    Type
    path
    Description

    Jedinečný identifikátor úlohy Text na 3D, kterou chcete získat.

Návratová hodnota

Odpověď obsahuje objekt úlohy Text na 3D. Podrobnosti naleznete v sekci Objekt úlohy Text na 3D.

Příklady

ModeUkázkový model
PreviewPreview model
RefineRefined model

Request

GET
/openapi/v2/text-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578
curl https://api.meshy.ai/openapi/v2/text-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578 \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "text-to-3d-preview",
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
    "fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
    "obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
    "mtl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.mtl?Expires=***",
    "usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
    "stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***"
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
  "prompt": "a monster mask",
  "progress": 100,
  "started_at": 1692771667037,
  "created_at": 1692771650657,
  "finished_at": 1692771669037,
  "status": "SUCCEEDED",
  "texture_urls": [
    {
      "base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***"
    }
  ],
  "preceding_tasks": 0,
  "task_error": {

    "message": ""

  },

  "consumed_credits": 20
}

DELETE/openapi/v2/text-to-3d/:id

Smazání úlohy Text na 3D

Tento koncový bod trvale smaže úlohu Text na 3D, včetně všech souvisejících modelů a dat. Tato akce je nevratná.

Parametry cesty

  • Name
    id
    Type
    path
    Description

    ID úlohy Text na 3D, která má být smazána.

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ž pracovník (worker) začal zpracovávat, nejsou vratné, takže její smazání během běhu by vás stálo kredity i výsledek zároveň. Počkejte, až dosáhne stavu SUCCEEDED, FAILED nebo CANCELED, a poté ji smažte.

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

Návratové hodnoty

Při úspěchu vrací 200 OK, nebo 409 Conflict, pokud je úloha ve stavu IN_PROGRESS.

Request

DELETE
/openapi/v2/text-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578
curl --request DELETE \
  --url https://api.meshy.ai/openapi/v2/text-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578 \
  -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/v2/text-to-3d

List Text to 3D Tasks

Tento koncový bod umožňuje načíst seznam úloh Text na 3D.

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ů The Text to 3D Task Objects.

Request

GET
/openapi/v2/text-to-3d
curl https://api.meshy.ai/openapi/v2/text-to-3d?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response

[
  {
    "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "type": "text-to-3d-preview",
    "model_urls": {
      "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
      "fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
      "obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
      "mtl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.mtl?Expires=***",
      "usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***"
    },
    "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
    "prompt": "a monster mask",
    "progress": 100,
    "started_at": 1692771667037,
    "created_at": 1692771650657,
    "finished_at": 1692771669037,
    "status": "SUCCEEDED",
    "texture_urls": [
      {
        "base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***"
      }
    ],
    "preceding_tasks": 0,
    "task_error": {

      "message": ""

    },

    "consumed_credits": 20
  }
]

GET/openapi/v2/text-to-3d/:id/stream

Stream úlohy Text na 3D

Tento koncový bod streamuje aktualizace v reálném čase pro úlohu Text na 3D pomocí Server-Sent Events (SSE).

Parametry

  • Name
    id
    Type
    path
    Description

    Jedinečný identifikátor úlohy Text na 3D, kterou chcete streamovat.

Návratová hodnota

Vrací stream objektů úlohy Text na 3D ve formě Server-Sent Events.

U úloh se stavem PENDING nebo IN_PROGRESS bude stream odpovědi obsahovat pouze nezbytná pole progress a status.

Request

GET
/openapi/v2/text-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578/stream
curl -N https://api.meshy.ai/openapi/v2/text-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578/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.
// For PENDING or IN_PROGRESS tasks, the response stream will not include all fields.
event: message
data: {
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "progress": 50,
  "status": "IN_PROGRESS"
}

event: message
data: {
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "text-to-3d-preview",
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1692771650657,
"started_at": 1692771667037,
"finished_at": 1692771669037,
"model_urls": {
  "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***"
},
"texture_urls": [
  {
    "base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
    "metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
    "normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
    "roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX",
    "emission": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX"
  }
],
"preceding_tasks": 0,
"task_error": {

  "message": ""

},

"consumed_credits": 20
}

Objekt úkolu Text na 3D

Objekt úkolu Text na 3D je pracovní jednotka, kterou Meshy sleduje za účelem vygenerování 3D modelu z textového vstupu. Text na 3D API má dvě fáze, preview a refine. Fáze preview slouží k vygenerování 3D modelu obsahujícího pouze síť, zatímco fáze refine slouží k vygenerování texturovaného 3D modelu na základě výsledku fáze preview.

Objekt má následující vlastnosti:

Vlastnosti

  • Name
    id
    Type
    string
    Description

    Jedinečný identifikátor úkolu. I když jako implementační detail používáme pro identifikátory úkolů k-seřaditelné UUID, neměli byste dělat žádné předpoklady o formátu tohoto id.

  • Name
    type
    Type
    string
    Description

    Typ úkolu Text na 3D. Možné hodnoty jsou text-to-3d-preview pro úkoly ve fázi preview a text-to-3d-refine pro úkoly ve fázi refine.

  • Name
    model_urls
    Type
    object
    Description

    Stažitelná URL adresa souboru texturovaného 3D modelu vygenerovaného Meshy. Vlastnost pro daný formát bude vynechána, pokud daný formát nebyl vygenerován, místo vrácení prázdného řetězce.

    • Name
      glb
      Type
      string
      Description

      Stažitelná URL adresa souboru GLB.

    • Name
      fbx
      Type
      string
      Description

      Stažitelná URL adresa souboru FBX.

    • Name
      usdz
      Type
      string
      Description

      Stažitelná URL adresa souboru USDZ.

    • Name
      obj
      Type
      string
      Description

      Stažitelná URL adresa souboru OBJ.

    • Name
      mtl
      Type
      string
      Description

      Stažitelná URL adresa souboru MTL.

    • Name
      stl
      Type
      string
      Description

      Stažitelná URL adresa souboru STL.

    • Name
      3mf
      Type
      string
      Description

      Stažitelná URL adresa souboru 3MF. Přítomno pouze v případě, že formát 3mf byl vyžádán prostřednictvím target_formats.

  • Name
    prompt
    Type
    string
    Description

    Jedná se o nezměněný prompt, který byl použit k vytvoření úkolu.

  • Name
    negative_prompt
    Type
    string
    ⚠ zastaralé
    Description

    Zachováno kvůli zpětné kompatibilitě. Toto pole nemá žádný funkční dopad na generované modely.

  • Name
    art_style
    Type
    string
    ⚠ zastaralé
    Description

    Nezměněný art_style, který byl použit k vytvoření úkolu preview. Není podporováno Meshy-6.

  • Name
    texture_richness
    Type
    string
    ⚠ zastaralé
    Description

    Zachováno kvůli zpětné kompatibilitě. Toto pole nemá žádný funkční dopad na generované modely.

  • Name
    texture_prompt
    Type
    string
    Description

    Dodatečný textový prompt poskytnutý pro vedení procesu texturování během fáze refine.

  • Name
    ultra_mode
    Type
    boolean
    ⚠ zastaralé
    Description

    Zastaralé; místo toho čtěte geometry_resolution.

  • Name
    geometry_resolution
    Type
    string
    Description

    Úroveň Ultra, ve které úkol preview proběhl (2k nebo 4k); u standard je vynecháno.

  • Name
    texture_image_url
    Type
    string
    Description

    Stažitelná URL adresa obrázku textury, který byl použit k vedení procesu texturování.

  • Name
    thumbnail_url
    Type
    string
    Description

    Stažitelná URL adresa miniatury souboru modelu.

  • Name
    alpha_thumbnail_url
    Type
    string
    Description

    Stažitelná URL adresa verze thumbnail_url s průhledným pozadím (RGBA). Přítomno pouze v případě, že úkol byl vytvořen s alpha_thumbnail: true a průhledný náhled byl úspěšně vykreslen; jinak je toto pole vynecháno.

  • Name
    video_url
    Type
    string
    ⚠ zastaralé
    Description

    Stažitelná URL adresa náhledového videa. V budoucí verzi bude odstraněno.

  • Name
    progress
    Type
    integer
    Description

    Postup úkolu (progress). Pokud úkol ještě nebyl spuštěn, tato vlastnost bude 0. Jakmile úkol uspěje, hodnota se změní na 100.

  • Name
    started_at
    Type
    timestamp
    Description

    Časové razítko okamžiku, kdy byl úkol spuštěn, v milisekundách. Pokud úkol ještě nebyl spuštěn, tato vlastnost bude 0.

  • Name
    created_at
    Type
    timestamp
    Description

    Časové razítko okamžiku, kdy byl úkol vytvořen, v milisekundách.

  • Name
    finished_at
    Type
    timestamp
    Description

    Časové razítko okamžiku, kdy byl úkol dokončen, v milisekundách. Pokud úkol ještě není dokončen, tato vlastnost bude 0.

  • Name
    status
    Type
    string
    Description

    Stav úkolu. Možné hodnoty jsou jedna z PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.

  • Name
    texture_urls
    Type
    array
    Description

    Pole objektů URL textur vygenerovaných daným úkolem. Obvykle obsahuje pouze jeden objekt URL textury. Každá URL textury má následující vlastnosti:

    • Name
      base_color
      Type
      string
      Description

      Stažitelná URL adresa obrázku mapy základní barvy.

    • Name
      metallic
      Type
      string
      Description

      Stažitelná URL adresa obrázku metalické mapy.

    • Name
      normal
      Type
      string
      Description

      Stažitelná URL adresa obrázku normálové mapy.

    • Name
      roughness
      Type
      string
      Description

      Stažitelná URL adresa obrázku mapy drsnosti.

    • Name
      emission
      Type
      string
      Description

      Stažitelná URL adresa obrázku emisní mapy.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Počet předcházejících úkolů.

  • Name
    task_error
    Type
    object
    Description

    Podrobnosti o chybě u neúspěšných úkolů. Úplný popis objektu task_error naleznete v části Chyby.

  • Name
    consumed_credits
    Type
    integer
    Description

    Počet kreditů spotřebovaných tímto úkolem. Přítomno, pokud je stav úkolu PENDING, IN_PROGRESS nebo SUCCEEDED. U úkolů se stavem FAILED vrací 0 (kredity jsou při selhání vráceny).

Example Text to 3D Task Object

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "text-to-3d-preview",
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
    "fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
    "usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
    "obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
    "mtl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.mtl?Expires=***",
    "stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***"
  },
  "prompt": "a monster mask",
  "texture_prompt": "green slimy skin with scales and warts",
  "texture_image_url": "",
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
  "progress": 100,
  "started_at": 1692771667037,
  "created_at": 1692771650657,
  "finished_at": 1692771669037,
  "status": "SUCCEEDED",
  "texture_urls": [
    {
      "base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
      "metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
      "normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
      "roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX",
      "emission": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX"
    }
  ],
  "preceding_tasks": 0,
  "task_error": {

    "message": ""

  },

  "consumed_credits": 20
}