Text na 3D API je funkce, která vám umožňuje integrovat schopnosti Text na 3D od Meshy do vaší vlastní aplikace. V této sekci najdete všechny informace, které potřebujete k zahájení práce s tímto API.
Text na 3D používá dvoukrokový pracovní postup. Nejprve vytvořte úkol náhledu (mode: "preview") pro generování 3D sítě bez textury, abyste mohli zhodnotit tvar. Poté předejte ID dokončeného úkolu náhledu úkolu vylepšení (mode: "refine") pro aplikaci textury na síť. Oba kroky sdílejí stejný koncový bod.
Tento koncový bod vytvoří náhledovou úlohu Text na 3D, která z textového promptu vygeneruje netexturovanou 3D síť (pouze geometrii). Jde o první krok dvoukrokového pracovního postupu. Jakmile náhled úspěšně dokončí, použijte vrácené ID úlohy k vytvoření úlohy refine pro texturování. Kompletní 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í detailu.
smart-topology: Vyberte 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.
Je-li vybráno smart-topology, should_remesh a decimation_mode se ignorují a je akceptována pouze hodnota topology: triangle.
Je-li vybráno lowpoly, ai_model, topology, target_polycount a should_remesh se ignorují.
Name
ai_model
Type
string
výchozí latest
Description
ID modelu, který se má použít. Dostupné hodnoty závisí na model_type.
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
ultra_mode
Type
boolean
výchozí false
Description
Zapíná generování Ultra pro geometrii s vyšší věrností a jemnějším povrchovým detailem. Generování trvá déle a přidává 5 kreditů.
Podporováno pouze v případě, že ai_model má hodnotu meshy-7 (nebo latest), a pouze v mode preview.
Name
should_remesh
Type
boolean
výchozí false (meshy-6, meshy-7), 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 vygenerovaného modelu.
Dostupné hodnoty:
quad: Vygeneruje síť tvořenou převážně čtyřúhelníky.
Výstup Smart Topology je pouze trojúhelníkový. Požadavek na quad společně s ai_model: meshy-t2 vrátí chybu.
Name
decimation_mode
Type
integer
Description
Zapne 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íť projde remeshem (decimací) na přibližně tento počet. Rozsah 100 až 300 000, výchozí hodnota 30 000. Je-li nastaven decimation_mode, má přednost a target_polycount se ignoruje.
Smart Topology — s model_type: smart-topology a ai_model: meshy-t2. Model se generuje přímo s tímto počtem ploch; remesh se nespouští a should_remesh není vyžadován. 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: Vypne 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 mode pózy pro vygenerovaný 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í póza.
Name
is_a_t_pose
Type
boolean
⚠ zastaralé
výchozí false
Description
Použijte místo toho pose_mode. 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.
enable_pbr by mělo být při použití stylu Sculpture nastaveno na false, protože styl Sculpture generuje vlastní sadu PBR map.
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ěřen 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 je vynecháno, jsou zahrnuty všechny podporované formáty.
Dostupné hodnoty: glb, obj, fbx, stl, usdz, 3mf
Pokud je vynecháno, vygenerují se všechny formáty kromě 3mf. 3mf je zahrnut pouze v případě, že je výslovně specifikován.
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 vision 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.
Způsoby 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ů.
Name
401 - Unauthorized
Description
Autentizace selhala. Zkontrolujte prosím svůj API klíč.
Name
402 - Payment Required
Description
Nedostatek kreditů pro provedení této úlohy.
Name
429 - Too Many Requests
Description
Překročili jste limit rychlosti.
Request
POST
/openapi/v2/text-to-3d
# Simple preview with required params onlycurlhttps://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 remesh and A-posecurlhttps://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", "should_remesh": true, "target_polycount": 100000, "pose_mode": "a-pose", "target_formats": ["glb"]}'
Tento koncový bod vytvoří úlohu Text na 3D refine, která aplikuje texturu na dokončenou náhledovou síť (preview mesh). Musíte zadat preview_task_id z úspěšné náhledové úlohy. Toto je druhý krok dvoukrokového workflow.
Parametry
Name
mode
Type
string
Povinné
Description
Toto pole by mělo být při vytváření refine úlohy nastaveno na "refine".
Name
preview_task_id
Type
string
Povinné
Description
Odpovídající id náhledové úlohy.
Stav dané náhledové úlohy musí být SUCCEEDED.
Name
enable_pbr
Type
boolean
výchozí false
Description
Vygeneruje PBR mapy (metallic, roughness, normal) navíc k základní barvě (base color). Emisní mapa (emission map) je zahrnuta také v případě, že ai_model je meshy-6, s výjimkou texture_resolution: 8k (v tomto případě se emisní mapa nevytváří). meshy-7 (a latest) emisní mapu nevytváří.
Name
texture_resolution
Type
string
výchozí 2k
Description
Rozlišení textury základní barvy (base color). Jedno z 2k (2048×2048), 4k (4096×4096) nebo 8k (8192×8192). Vyšší rozlišení zachytí více povrchových detailů. Platí pouze pro mode refine.
4k a 8k vyžadují ai_modelmeshy-6, meshy-7 nebo latest. Při 8k se emisní mapa nevytváří.
Name
hd_texture
Type
boolean
⚠ zastaralé
výchozí false
Description
Použijte místo toho texture_resolution — ekvivalent texture_resolution: "4k". Pokud jsou nastaveny obě hodnoty, má texture_resolution přednost.
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í. Aktuálně podporujeme formáty .jpg, .jpeg a .png.
Existují dva způsoby, jak obrázek zadat:
Veřejně dostupná URL: URL adresa přístupná z veřejného internetu
Data URI: obrázek zakódovaný jako base64 data URI. Příklad data URI: data:image/jpeg;base64,<vaše base64-kódovaná data obrázku>
Texturování podle obrázku nemusí optimálně fungovat, pokud jsou mezi původním assetem a nahraným obrázkem podstatné rozdíly v geometrii. K řízení procesu texturování lze použít pouze jeden z parametrů texture_image_url nebo texture_prompt. Pokud jsou zadány oba parametry, bude k texturování modelu ve výchozím nastavení použit texture_prompt.
Name
ai_model
Type
string
výchozí latest
Description
ID modelu, který se má použít pro refine. Dostupné hodnoty: meshy-5, meshy-6, meshy-7, latest (Meshy 7).
latest se zde překládá stejně jako u náhledové úlohy (aktuálně Meshy 7), takže náhled latest a jeho refine latest vždy skončí na stejném texturovacím modelu.
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 generování.
Prověřen 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 z textury základní barvy (base color), čímž vznikne čistší výsledek, který lépe funguje při vlastním nastavení osvětlení.
Uplatní se pouze v případě, že ai_model je meshy-6. U meshy-7 (a latest) je parametr přijat, ale ignorován.
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 čas dokončení úlohy. Pokud je parametr vynechán, jsou zahrnuty všechny podporované formáty.
Dostupné hodnoty: glb, obj, fbx, stl, usdz, 3mf
Pokud je parametr vynechán, vygenerují se všechny formáty s výjimkou 3mf. 3mf je zahrnut pouze tehdy, pokud je explicitně zadán.
Name
alpha_thumbnail
Type
boolean
výchozí false
Description
Pokud je nastaveno na true, úloha navíc vykreslí verzi náhledu s transparentním pozadím (RGBA) a vrátí ji v odpovědi GET jako alpha_thumbnail_url. Stávající pole thumbnail_url se nemění.
Name
auto_size
Type
boolean
výchozí false
Description
Pokud je nastaveno na true, služba pomocí AI vision automaticky odhadne skutečnou výšku objektu ve světě a odpovídajícím způsobem změní velikost modelu. Počátek (origin) bude výchozí bottom, pokud nebude explicitně nastaven origin_at.
Platí pouze když auto_size = true
Name
origin_at
Type
string
výchozí bottom
Description
Pozice počátku, když je auto_size zapnuto.
Dostupné hodnoty: bottom, center.
Návratové hodnoty
Vlastnost result v 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ý. Běžné příčiny:
Neplatné ID úlohy: preview_task_id je neplatné nebo neexistuje.
Úloha není připravena: náhledová úloha ještě nebyla úspěšně dokončena.
Neshoda modelů: AI model náhledové úlohy je neslučitelný s požadovaným refine modelem.
Name
401 - Unauthorized
Description
Autentizace se nezdařila. Zkontrolujte prosím svůj API klíč.
Name
402 - Payment Required
Description
Nedostatečný počet kreditů k provedení této úlohy.
Name
404 - Not Found
Description
Náhledová úloha určená parametrem preview_task_id nebyla nalezena.
Tento koncový bod umožňuje načíst úkol Text na 3D s platným id úkolu.
Podívejte se na Objekt úkolu Text na 3D, abyste viděli,
které vlastnosti jsou zahrnuty v objektu úkolu Text na 3D.
Tento koncový bod funguje pro úkoly náhledu i vylepšení.
Parametry
Name
id
Type
path
Description
Jedinečný identifikátor pro úkol Text na 3D, který chcete načíst.
Vrátí
Odpověď obsahuje objekt úkolu Text na 3D. Podívejte se na
sekci Objekt úkolu Text na 3D pro podrobnosti.
Objekt úlohy Text na 3D je pracovní jednotka, kterou Meshy sleduje pro generování 3D modelu z textového vstupu. Existují dvě fáze API Text na 3D, preview a refine. Fáze náhledu je určena pro generování 3D modelu pouze se sítí, zatímco fáze vylepšení je určena pro generování texturovaného 3D modelu na základě výsledku fáze náhledu.
Objekt má následující vlastnosti:
Vlastnosti
Name
id
Type
string
Description
Unikátní identifikátor pro úlohu. I když používáme k-tříditelné UUID pro id úloh jako implementační detail, neměli byste dělat žádné předpoklady o formátu id.
Name
type
Type
string
Description
Typ úlohy Text na 3D. Možné hodnoty jsou text-to-3d-preview pro úlohy fáze náhledu a text-to-3d-refine pro úlohy fáze vylepšení.
Name
model_urls
Type
object
Description
Stahovatelná URL adresa k souboru texturovaného 3D modelu generovaného Meshy. Vlastnost pro formát bude vynechána, pokud formát není generován, místo vrácení prázdného řetězce.
Name
glb
Type
string
Description
Stahovatelná URL adresa k souboru GLB.
Name
fbx
Type
string
Description
Stahovatelná URL adresa k souboru FBX.
Name
usdz
Type
string
Description
Stahovatelná URL adresa k souboru USDZ.
Name
obj
Type
string
Description
Stahovatelná URL adresa k souboru OBJ.
Name
mtl
Type
string
Description
Stahovatelná URL adresa k souboru MTL.
Name
stl
Type
string
Description
Stahovatelná URL adresa k souboru STL.
Name
3mf
Type
string
Description
Stahovatelná URL adresa k souboru 3MF. Přítomna pouze, když byl 3mf požadován prostřednictvím target_formats.
Name
prompt
Type
string
Description
Toto je nemodifikovaný prompt, který byl použit k vytvoření úlohy.
Name
negative_prompt
Type
string
⚠ zastaralé
Description
Udržováno pro zpětnou kompatibilitu. Toto pole nemá žádný funkční dopad na generované modely.
Name
art_style
Type
string
⚠ zastaralé
Description
Nemodifikovaný art_style, který byl použit k vytvoření úlohy náhledu. Nepodporováno Meshy-6.
Name
texture_richness
Type
string
⚠ zastaralé
Description
Udržováno pro zpětnou kompatibilitu. Toto pole nemá žádný funkční dopad na generované modely.
Name
texture_prompt
Type
string
Description
Další textový prompt poskytnutý k vedení procesu texturování během fáze vylepšení.
Name
ultra_mode
Type
boolean
Description
Odráží hodnotu ultra_mode, se kterou byla úloha náhledu vytvořena. Přítomna pouze pro úlohy náhledu meshy-7 (nebo latest), které explicitně nastavily ultra_mode; jinak vynecháno.
Name
texture_image_url
Type
string
Description
Stahovatelná URL adresa k texturovému obrázku, který byl použit k vedení procesu texturování.
Name
thumbnail_url
Type
string
Description
Stahovatelná URL adresa k miniatuře obrázku souboru modelu.
Name
alpha_thumbnail_url
Type
string
Description
Stahovatelná URL adresa k verzi thumbnail_url s průhledným pozadím (RGBA). Přítomna pouze, když byla úloha vytvořena 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
Stahovatelná URL adresa k náhledovému videu. Bude odstraněno v budoucím vydání.
Name
progress
Type
integer
Description
Pokrok úlohy. Pokud úloha ještě nezačala, tato vlastnost bude 0. Jakmile úloha uspěje, stane se 100.
Name
started_at
Type
timestamp
Description
Časové razítko, kdy byla úloha spuštěna, v milisekundách. Pokud úloha ještě nezačala, tato vlastnost bude 0.
Časové razítko představuje počet milisekund uplynulých od 1. ledna 1970 UTC, podle standardu RFC 3339. Například, pátek 1. září 2023 12:00:00 GMT je reprezentován jako 1693569600000. Toto platí pro všechna časová razítka v Meshy API.
Name
created_at
Type
timestamp
Description
Časové razítko, kdy byla úloha vytvořena, v milisekundách.
Name
finished_at
Type
timestamp
Description
Časové razítko, kdy byla úloha dokončena, v milisekundách. Pokud úloha ještě není dokončena, tato vlastnost bude 0.
Name
status
Type
string
Description
Stav úlohy. Možné hodnoty jsou PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
texture_urls
Type
array
Description
Pole objektů URL textur, které jsou generovány z úlohy. Normálně obsahuje pouze jeden objekt URL textury. Každá URL textury má následující vlastnosti:
Name
base_color
Type
string
Description
Stahovatelná URL adresa k obrázku základní barevné mapy.
Name
metallic
Type
string
Description
Stahovatelná URL adresa k obrázku kovové mapy.
Pokud je úloha vytvořena s enable_pbr: false, tato vlastnost bude vynechána.
Name
normal
Type
string
Description
Stahovatelná URL adresa k obrázku normálové mapy.
Pokud je úloha vytvořena s enable_pbr: false, tato vlastnost bude vynechána.
Name
roughness
Type
string
Description
Stahovatelná URL adresa k obrázku mapy drsnosti.
Pokud je úloha vytvořena s enable_pbr: false, tato vlastnost bude vynechána.
Name
emission
Type
string
Description
Stahovatelná URL adresa k obrázku emisní mapy.
Pokud je úloha vytvořena s enable_pbr: false, nebo ai_model je meshy-5, tato vlastnost bude vynechána.
Name
preceding_tasks
Type
integer
Description
Počet předcházejících úloh.
Hodnota tohoto pole má smysl pouze, pokud je stav úlohy PENDING.
Name
task_error
Type
object
Description
Podrobnosti o chybě pro neúspěšné úlohy. Viz Chyby pro úplnou referenci objektu task_error.
Name
consumed_credits
Type
integer
Description
Počet kreditů spotřebovaných touto úlohou. Přítomno, když je stav úlohy PENDING, IN_PROGRESS, nebo SUCCEEDED. Vrací 0 pro úlohy FAILED (kredity jsou při selhání vráceny).
Příklad objektu úlohy Text na 3D
{"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}