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.
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.
Je-li vybráno smart-topology, should_remesh a decimation_mode se ignorují a je akceptováno pouze 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-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
Podporováno pouze v mode preview. Vyžaduje meshy-7.1 nebo latest.
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.
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
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.
enable_pbr by mělo být nastaveno na false při použití stylu Sculpture, 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ěř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
Pokud není zadáno, vygenerují se všechny formáty kromě 3mf. 3mf je zahrnut pouze tehdy, je-li výslovně zadá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 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íč.
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.
4k a 8k vyžadují ai_modelmeshy-6, meshy-7.1 nebo latest. Při 8k se emisní mapa nevytváří.
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>
Texturování pomocí obrázku nemusí fungovat optimálně, pokud existují výrazné rozdíly v geometrii mezi původním assetem a nahraným obrázkem. K řízení procesu texturování lze použít pouze jeden z parametrů texture_image_url nebo texture_prompt. Pokud jsou zadány oba, bude model ve výchozím nastavení texturován pomocí texture_prompt.
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.
Explicitní hodnota latest se zde vyhodnocuje stejně jako u preview úlohy (aktuálně Meshy 7.1), takže latest preview a jeho latest refine 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 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í.
Má účinek pouze pokud je ai_model nastaven na meshy-6; ostatní modely tento parametr ignorují.
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
Pokud parametr vynecháte, budou vygenerovány všechny formáty kromě 3mf. Formát 3mf je zahrnut pouze při jeho explicitním zadání.
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.
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.
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.
// 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."}
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.
Č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 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.
Pokud je úkol vytvořen s enable_pbr: false, tato vlastnost bude vynechána.
Name
normal
Type
string
Description
Stažitelná URL adresa obrázku normálové mapy.
Pokud je úkol vytvořen s enable_pbr: false, tato vlastnost bude vynechána.
Name
roughness
Type
string
Description
Stažitelná URL adresa obrázku mapy drsnosti.
Pokud je úkol vytvořen s enable_pbr: false, tato vlastnost bude vynechána.
Name
emission
Type
string
Description
Stažitelná URL adresa obrázku emisní mapy.
Pokud je úkol vytvořen s enable_pbr: false, nebo je ai_model roven meshy-6-lite, tato vlastnost bude vynechána.
Name
preceding_tasks
Type
integer
Description
Počet předcházejících úkolů.
Hodnota tohoto pole má smysl pouze v případě, že stav úkolu je PENDING.
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}