Retexture API je funkce, která vám umožňuje integrovat schopnosti AI retexturování Meshy do vaší vlastní aplikace. V této sekci najdete všechny informace,
které potřebujete k tomu, abyste s tímto API mohli začít pracovat.
Tento koncový bod umožňuje vytvořit novou úlohu Retexturování. Podrobnosti o vlastnostech
zahrnutých v objektu úlohy Retexturování naleznete v části
Objekt úlohy Retexturování.
Parametry
Je vyžadováno pouze jedno z input_task_id nebo model_url. Pokud jsou zadána obě, prioritu má input_task_id.
Name
input_task_id
Type
string
Povinné
Description
ID dokončené úlohy Obrázek na 3D nebo Text na 3D, kterou chcete retexturovat.
Tato úloha musí být jednou z následujících: Text na 3D Preview, Text na 3D Refine, Obrázek na 3D nebo Remesh. Kromě toho musí mít stav SUCCEEDED.
Name
model_url
Type
string
Povinné
Description
Poskytněte 3D model, který má Meshy texturovat. Podporované formáty: .glb, .gltf, .obj, .fbx, .stl.
Model lze poskytnout 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 modelu. Použijte MIME type application/octet-stream. Příklad: data:application/octet-stream;base64,<vaše base64 kódovaná data modelu>.
Je vyžadován přesně jeden vstup stylu: text_style_prompt, image_style_url nebo multiview_image_urls. multiview_image_urls nelze kombinovat s žádným z ostatních dvou; pokud jsou zadány jak text_style_prompt, tak image_style_url, prioritu má image_style_url.
Name
text_style_prompt
Type
string
Povinné
Description
Popište pomocí textu požadovaný styl textury objektu. Maximálně 800 znaků.
Name
image_style_url
Type
string
Povinné
Description
Poskytněte 2D obrázek, který bude vodítkem pro proces texturování. Momentálně podporujeme formáty .jpg, .jpeg a .png.
Obrázek lze poskytnout 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í podle obrázku nemusí fungovat optimálně, pokud existují výrazné rozdíly v geometrii mezi původním assetem a nahraným obrázkem.
Name
multiview_image_urls
Type
string[]
Povinné
Description
Poskytněte 1 až 4 obrázky zobrazující stejný objekt z různých úhlů pohledu, které budou vodítkem pro texturování. První obrázek je hlavní (přední) pohled; pořadí zbývajících pohledů (levý, zadní, pravý) není důležité.
Každý prvek podporuje stejné formáty jako image_style_url (veřejně přístupná URL adresa nebo base64 Data URI, .jpg/.jpeg/.png).
Vyžaduje explicitní ai_model: "meshy-7".
Name
ai_model
Type
string
výchozí latest
Description
ID AI modelu, který se má použít pro retexturování. Dostupné hodnoty: meshy-6-lite, meshy-6, meshy-7, latest (Meshy 7).
Name
enable_original_uv
Type
boolean
výchozí false
Description
Zachová stávající UV rozvržení modelu místo generování nového.
Pokud retexturujete model vygenerovaný Meshy (prostřednictvím input_task_id, nebo model_url odkazující na výstup Meshy), nastavte tuto hodnotu na true pro opětovné použití jeho optimalizovaného UV rozvržení.
Pokud retexturujete model třetí strany, který jste nahráli, nastavte true, pokud již má dobré UV, které chcete zachovat, nebo ponechte false, aby Meshy vytvořilo nové UV rozvinutí (nejlepší pro modely bez správného UV mapování).
Name
enable_pbr
Type
boolean
výchozí false
Description
Vygeneruje PBR mapy (metalness, drsnost, normálová mapa) kromě základní barvy. Emisní mapa je zahrnuta také v případě, že ai_model je meshy-6, s výjimkou texture_resolution: 8k. meshy-6-lite, meshy-7 a latest emisní mapu negenerují.
Name
texture_resolution
Type
string
výchozí 2k
Description
Rozlišení textury základní barvy. Jedno z 2k (2048×2048), 4k (4096×4096) nebo 8k (8192×8192). Vyšší rozlišení zachycují více povrchových detailů.
4k a 8k vyžadují ai_modelmeshy-6, meshy-7 nebo latest. Při 8k se negeneruje emisní mapa.
Name
hd_texture
Type
boolean
⚠ zastaralé
výchozí false
Description
Místo toho použijte texture_resolution — odpovídá hodnotě texture_resolution: "4k". Pokud jsou nastaveny obě, texture_resolution má přednost.
Name
remove_lighting
Type
boolean
výchozí true
Description
Odstraní odlesky a stíny ze základní barevné textury, čímž vznikne čistší výsledek, který lépe funguje u vlastního nastavení osvětlení.
Podporováno pouze v případě, že ai_model je meshy-6.
Name
target_formats
Type
string[]
Description
Určuje, které 3D formáty 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 parametr vynecháte, budou zahrnuty všechny podporované formáty.
Dostupné hodnoty: glb, obj, fbx, stl, usdz, 3mf
Pokud parametr vynecháte, vygenerují se všechny formáty kromě 3mf. 3mf je zahrnut pouze tehdy, je-li explicitně uveden.
Name
alpha_thumbnail
Type
boolean
výchozí false
Description
Pokud je 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.
Návratové hodnoty
Vlastnost result odpovědi obsahuje id úlohy nově vytvořené úlohy Retexturování.
Režimy selhání
Name
400 - Bad Request
Description
Požadavek byl nepřijatelný. Časté příčiny:
Chybějící parametr: Musí být poskytnut buď model_url, nebo input_task_id.
Chybějící styl: Musí být poskytnut jeden z parametrů text_style_prompt, image_style_url nebo multiview_image_urls.
Konfliktní vstupy stylu: multiview_image_urls nelze kombinovat s text_style_prompt ani image_style_url.
Nepodporovaný model pro Více pohledů: multiview_image_urls vyžaduje explicitní ai_model: "meshy-7".
Model není dostupný: ai_model: "meshy-7" a ai_model: "meshy-6-lite" se postupně zpřístupňují a pro váš účet ještě nemusí být povoleny.
Neplatná vstupní úloha: input_task_id musí odkazovat na úspěšnou úlohu z podporovaného modelu.
Neplatný formát modelu: model_url odkazuje na soubor s nepodporovanou příponou.
Nedostupná URL adresa: model_url, image_style_url nebo prvek multiview_image_urls se nepodařilo stáhnout.
Name
401 - Unauthorized
Description
Autentizace se nezdařila. 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 limit rychlosti.
Request
POST
/openapi/v1/retexture
# Retexture with text promptcurlhttps://api.meshy.ai/openapi/v1/retexture \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "model_url": "https://cdn.meshy.ai/model/example_model_2.glb", "text_style_prompt": "red fangs, Samurai outfit that fused with japanese batik style", "enable_original_uv": true, "enable_pbr": true }'# Retexture with image style and PBRcurlhttps://api.meshy.ai/openapi/v1/retexture \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "model_url": "https://cdn.meshy.ai/model/example_model_2.glb", "image_style_url": "https://cdn.meshy.ai/image/example_image.jpg", "ai_model": "latest", "enable_pbr": true, "enable_original_uv": true }'
Tento koncový bod umožňuje načíst úlohu Retexturování na základě platného id úlohy.
Podrobnosti o vlastnostech, které jsou součástí objektu úlohy Retexturování, naleznete
v části Objekt úlohy Retexturování.
Parametry
Name
id
Type
path
Description
Jedinečný identifikátor úlohy Retexturování, kterou chcete načíst.
{"id":"018a210d-8ba4-705c-b111-1f1776f7f578","type":"retexture","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=***","usdz":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?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=***" },"thumbnail_url":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***","text_style_prompt":"red fangs, Samurai outfit that fused with japanese batik style","texture_image_url":"","progress":100,"started_at":1692771667037,"created_at":1692771650657,"expires_at":1692771679037,"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" } ],"task_error": {"message":"" },"consumed_credits":10}
Tento koncový bod trvale odstraní úlohu retexturování, včetně všech souvisejících modelů a dat. Tato akce je nevratná.
Parametry cesty
Name
id
Type
path
Description
ID úlohy retexturování, 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ž worker začal zpracovávat, nejsou vratné, takže smazání během
běhu by vás 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 koncové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.
// 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."}
[ {"id":"018a210d-8ba4-705c-b111-1f1776f7f578","type":"retexture","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=***" },"thumbnail_url":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***","text_style_prompt":"red fangs, Samurai outfit that fused with japanese batik style","progress":100,"started_at":1692771667037,"created_at":1692771650657,"expires_at":1692771679037,"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":10 }]
Objekt Retexture Task je pracovní jednotka, kterou Meshy používá k generování 3D textury z textového nebo obrazového vstupu.
Model má následující vlastnosti:
Vlastnosti
Name
id
Type
string
Description
Jedinečný identifikátor úlohy. Ačkoli jako implementační detail používáme pro id úloh k-sortovatelné UUID,
neměli byste dělat žádné předpoklady o formátu id.
Name
type
Type
string
Description
Typ úlohy Retexture. Hodnota je retexture.
Name
model_urls
Type
object
Description
Stažitelná URL adresa na texturovaný soubor 3D modelu vygenerovaný Meshy.
Name
glb
Type
string
Description
Stažitelná URL adresa na soubor GLB.
Name
fbx
Type
string
Description
Stažitelná URL adresa na soubor FBX.
Name
obj
Type
string
Description
Stažitelná URL adresa na soubor OBJ.
Name
usdz
Type
string
Description
Stažitelná URL adresa na soubor USDZ.
Name
mtl
Type
string
Description
Stažitelná URL adresa na soubor MTL, vrácená spolu s exporty OBJ, pokud jsou přítomny textury.
Name
stl
Type
string
Description
Stažitelná URL adresa na soubor STL.
Name
3mf
Type
string
Description
Stažitelná URL adresa na soubor 3MF. Přítomno pouze pokud byl 3mf vyžádán prostřednictvím target_formats.
Name
text_style_prompt
Type
string
Description
Toto je textový prompt, který byl použit k vytvoření úlohy texturování.
Name
image_style_url
Type
string
Description
Toto je obrazový vstup, který byl použit k vytvoření úlohy texturování.
Name
multiview_image_urls
Type
string[]
Description
Stažitelné URL adresy na referenční obrázky z více pohledů, které byly použity k vytvoření úlohy texturování. Přítomno pouze pokud byla úloha vytvořena s multiview_image_urls.
Name
thumbnail_url
Type
string
Description
Stažitelná URL adresa na miniaturu souboru modelu.
Name
alpha_thumbnail_url
Type
string
Description
Stažitelná URL adresa na verzi thumbnail_url s průhledným pozadím (RGBA). Přítomno pouze pokud byla úloha vytvořena s alpha_thumbnail: true a průhledný náhled byl úspěšně vykreslen; jinak je toto pole vynecháno.
Name
progress
Type
integer
Description
Průběh úlohy. Pokud úloha ještě nebyla spuštěna, tato vlastnost bude 0. Jakmile úloha uspěje, hodnota se změní na 100.
Name
started_at
Type
timestamp
Description
Časové razítko okamžiku, kdy byla úloha spuštěna, v milisekundách. Pokud úloha ještě nebyla spuštěna, 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. To platí
pro všechna časová razítka v Meshy API.
Name
created_at
Type
timestamp
Description
Časové razítko okamžiku, kdy byla úloha vytvořena, v milisekundách.
Name
expires_at
Type
timestamp
Description
Časové razítko okamžiku, kdy vyprší platnost výsledku úlohy, v milisekundách.
Name
finished_at
Type
timestamp
Description
Časové razítko okamžiku, 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 jedna z PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
texture_urls
Type
array
Description
Pole objektů URL textur vygenerovaných úlohou. 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 na obrázek mapy základní barvy.
Name
metallic
Type
string
Description
Stažitelná URL adresa na obrázek metalické mapy.
Pokud je úloha vytvořena s enable_pbr: false, tato vlastnost bude vynechána.
Name
normal
Type
string
Description
Stažitelná URL adresa na obrázek normálové mapy.
Pokud je úloha vytvořena s enable_pbr: false, tato vlastnost bude vynechána.
Name
roughness
Type
string
Description
Stažitelná URL adresa na obrázek mapy drsnosti.
Pokud je úloha vytvořena s enable_pbr: false, tato vlastnost bude vynechána.
Name
emission
Type
string
Description
Stažitelná URL adresa na obrázek emisní mapy.
Pokud je úloha vytvořena s enable_pbr: false, nebo pokud je ai_model nastaven na meshy-6-lite, tato vlastnost bude vynechána.
Name
preceding_tasks
Type
integer
Description
Počet předcházejících úloh.
Tato vlastnost je přítomna pouze tehdy, když je stav úlohy PENDING.
Name
task_error
Type
object
Description
Podrobnosti chyby pro neúspěšné úlohy. Úplný popis objektu task_error naleznete v sekci Chyby.
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. Pro úlohy se stavem FAILED vrací 0 (kredity jsou při selhání vráceny).
Example Retexture Task Model
{"id":"018a210d-8ba4-705c-b111-1f1776f7f578","type":"retexture","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=***" },"text_style_prompt":"red fangs, Samurai outfit that fused with japanese batik style","image_style_url":"https://assets.meshy.ai/***/image/example_image.jpg?Expires=***","thumbnail_url":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***","progress":100,"started_at":1692771667037,"created_at":1692771650657,"expires_at":1692771679037,"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":10}