Ang Retexture API ay isang tampok na nagpapahintulot sa iyo na i-integrate ang AI retexturing capabilities ng Meshy sa iyong sariling aplikasyon. Sa seksyong ito, makikita mo ang lahat ng impormasyong
kailangan mo upang makapagsimula sa paggamit ng API na ito.
Binibigyang-daan ka ng endpoint na ito na lumikha ng bagong Retexture task. Sumangguni sa
Ang Retexture Task Object upang makita kung aling
mga katangian ang kasama sa Retexture task object.
Mga Parameter
Isa lamang sa input_task_id o model_url ang kailangan. Kung parehong ibinigay, mas binibigyan ng prayoridad ang input_task_id.
Name
input_task_id
Type
string
Kinakailangan
Description
Ang ID ng kumpletong Image to 3D o Text to 3D task na nais mong i-retexture.
Ang task na ito ay dapat isa sa mga sumusunod na task: Text to 3D Preview, Text to 3D Refine, Image to 3D o Remesh. Bukod dito, dapat ay may status na SUCCEEDED.
Name
model_url
Type
string
Kinakailangan
Description
Magbigay ng 3D model upang mai-texture ng Meshy. Sinusuportahang mga format: .glb, .gltf, .obj, .fbx, .stl.
Mayroong dalawang paraan upang ibigay ang model:
Publicly accessible URL: Isang URL na naa-access mula sa pampublikong internet.
Data URI: Isang base64-encoded na data URI ng model. Gamitin ang MIME type na application/octet-stream. Halimbawa: data:application/octet-stream;base64,<your base64-encoded model data>.
Eksakto isang style input ang kailangan: text_style_prompt, image_style_url, o multiview_image_urls. Ang multiview_image_urls ay hindi maaaring pagsamahin sa alinman sa dalawa; kung parehong ibinigay ang text_style_prompt at image_style_url, mas binibigyan ng prayoridad ang image_style_url.
Name
text_style_prompt
Type
string
Kinakailangan
Description
Ilarawan ang iyong nais na estilo ng texture ng bagay gamit ang teksto. Maximum na 600 karakter.
Name
image_style_url
Type
string
Kinakailangan
Description
Magbigay ng 2d na imahe upang pamunuan ang proseso ng pag-te-texture. Sa kasalukuyan ay sinusuportahan ang .jpg, .jpeg, at .png na mga format.
Mayroong dalawang paraan upang ibigay ang imahe:
Publicly accessible URL: Isang URL na naa-access mula sa pampublikong internet
Data URI: Isang base64-encoded na data URI ng imahe. Halimbawa ng isang data URI: data:image/jpeg;base64,<your base64-encoded image data>
Ang pagte-texture ng imahe ay maaaring hindi gumana ng maayos kung may malalaking pagkakaiba sa heometriya sa pagitan ng orihinal na asset at in-upload na imahe.
Name
multiview_image_urls
Type
string[]
Kinakailangan
Description
Magbigay ng 1 hanggang 4 na mga imahe na nagpapakita ng parehong bagay mula sa iba't ibang pananaw upang gabayan ang pagte-texture. Ang unang imahe ay ang pangunahin (harap) na pananaw; hindi mahalaga ang pagkakasunud-sunod ng natitirang (kaliwa, likod, kanan).
Bawat isa ay tumatanggap ng parehong mga format tulad ng image_style_url (isang publiko na naa-access na URL o isang base64 na data URI, .jpg/.jpeg/.png).
Kinakailangan ang ai_model: "meshy-7" (o latest).
Name
ai_model
Type
string
default latest
Description
ID ng AI model na gagamitin para sa retexturing. Available na mga halaga: meshy-5, meshy-6, meshy-7, latest (Meshy 7).
Name
enable_original_uv
Type
boolean
default false
Description
Panatilihin ang umiiral na UV layout ng model sa halip na bumuo ng bago.
Kung nagre-retexture ka ng model na nabuo ng Meshy (sa pamamagitan ng input_task_id, o isang model_url na tumutukoy sa isang Meshy output), itakda ito sa true upang muling gamitin ang kanyang optimized na UV layout.
Kung nagre-retexture ka ng third-party na model na iyong in-upload, itakda true kung mayroon na itong magandang UVs na nais mong panatilihin, o iwanang false upang hayaang ang Meshy mag-unwrap ng bagong UVs (pinakamabuti para sa mga model na kulang sa tamang UV mapping).
Name
enable_pbr
Type
boolean
default false
Description
Bumuo ng PBR Maps (metallic, roughness, normal) bukod pa sa base color. Kasama rin ang emission map kapag ai_model ay meshy-6, maliban sa texture_resolution: 8k. Ang meshy-7 at latest ay hindi gumagawa ng emission map.
Name
texture_resolution
Type
string
default 2k
Description
Base color texture resolution. Isa sa 2k (2048×2048), 4k (4096×4096), o 8k (8192×8192). Ang mas mataas na resolusyon ay nakaka-capture ng mas maraming surface detail.
Ang 4k at 8k ay nangangailangan ng ai_model na meshy-6, meshy-7 o latest. Sa 8k, walang emission map ang nabubuo.
Name
hd_texture
Type
boolean
⚠ lipas na
default false
Description
Gamitin ang texture_resolution sa halip — katumbas ng texture_resolution: "4k". Kapag parehong naitakda, ang texture_resolution ang mas pinipili.
Name
remove_lighting
Type
boolean
default true
Description
Tinatanggal ang mga highlight at shadow mula sa base color texture, na gumagawa ng mas malinis na resulta na mas mahusay sa ilalim ng custom lighting setups.
Sinusuportahan lamang kapag ang ai_model ay meshy-6.
Name
target_formats
Type
string[]
Description
Tinutukoy kung aling mga 3D file formats ang isasama sa output. Tanging ang mga hiniling na format lamang ang nabubuo at ibinabalik, na maaaring magpabilis ng oras ng pagsasakatuparan ng task. Kapag hindi nabanggit, lahat ng mga sinusuportahang format ay isinasama.
Available na mga halaga: glb, obj, fbx, stl, usdz, 3mf
Kapag hindi nabanggit, lahat ng mga format maliban sa 3mf ay nabubuo. Ang 3mf ay kasama lamang kapag ito ay partikular na binanggit.
Name
alpha_thumbnail
Type
boolean
default false
Description
Kapag itinatakda sa true, ang task ay karagdagan pang nagre-render ng transparent-background (RGBA) na bersyon ng preview at ibinabalik ito bilang alpha_thumbnail_url sa GET response. Ang umiiral na thumbnail_url field ay hindi nagbabago.
Mga Ibinabalik na Resulta
Ang result na katangian ng tugon ay naglalaman ng task id ng bagong nilikhang Retexture task.
Mga Mode ng Pagkabigo
Name
400 - Bad Request
Description
Ang kahilingan ay hindi katanggap-tanggap. Karaniwang mga dahilan:
Nawawalang parameter: Alinman sa model_url o input_task_id ay dapat ibigay.
Nawawalang style: Isa sa text_style_prompt, image_style_url o multiview_image_urls ay dapat ibigay.
Magkasalungat na mga input ng style: Ang multiview_image_urls ay hindi maaaring pagsamahin sa text_style_prompt o image_style_url.
Hindi suportadong model para sa multi-view: Kailangan ng multiview_image_urls ang ai_model: "meshy-7" (o latest).
Model hindi available: Ang ai_model: "meshy-7" ay unti-unting inilulunsad at hindi pa enabled sa iyong account.
Invalid na input task: Ang input_task_id ay dapat sumangguni sa isang matagumpay na task mula sa suportadong model.
Invalid na model format: Ang model_url ay tumutukoy sa isang file na may hindi suportadong extension.
Hindi maaabot na URL: Ang model_url, image_style_url o isang elemento ng multiview_image_urls ay hindi ma-download.
Name
401 - Unauthorized
Description
Nabigo ang authentication. Paki-check ang iyong API key.
Name
402 - Payment Required
Description
Kulang ang mga credits upang maisagawa ang task na ito.
Name
429 - Too Many Requests
Description
Naabot mo na ang iyong rate limit.
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 }'
Binibigyang-daan ka ng endpoint na ito na kunin ang isang Retexture task gamit ang isang valid na task id.
Sumangguni sa Ang Retexture Task Object upang makita kung aling
mga katangian ang kasama sa Retexture task object.
Mga Parameter
Name
id
Type
path
Description
Natatanging pagkakakilanlan para sa Retexture task na kukunin.
Mga Ibinabalik na Resulta
Ang tugon ay naglalaman ng Retexture task object. Tingnan ang
Ang Retexture Task Object na seksyon para sa mga detalye.
{"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}
Ang endpoint na ito ay permanenteng binubura ang isang retexture task, kabilang ang lahat ng nauugnay na mga model at data. Ang aksyong ito ay hindi na maibabalik.
[ {"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 }]
// Halimbawa ng error eventevent: errordata: {"status_code": 404,"message": "Task not found"}// Mga halimbawa ng message event na nagpapakita ng progreso ng task.// Para sa mga PENDING o IN_PROGRESS na task, ang response stream ay hindi maglalaman ng lahat ng field.event: messagedata: {"id": "018a210d-8ba4-705c-b111-1f1776f7f578","progress": 0,"status": "PENDING"}event: messagedata: {"id": "018a210d-8ba4-705c-b111-1f1776f7f578","progress": 50,"status": "IN_PROGRESS"}event: messagedata: {"id": "018a210d-8ba4-705c-b111-1f1776f7f578","type": "retexture","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=***","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=***" },"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}
Ang Retexture Task object ay isang work unit na ginagamit ng Meshy upang bumuo ng isang 3D texture mula sa alinman text o image inputs.
Ang model ay may sumusunod na katangian:
Mga Katangian
Name
id
Type
string
Description
Natatanging pagkakakilanlan para sa task. Habang gumagamit kami ng k-sortable UUID para sa task ids bilang detalye ng implementasyon, hindi ka dapat gumawa ng anumang haka-haka tungkol sa format ng id.
Name
type
Type
string
Description
Uri ng Retexture task. Ang halaga ay retexture.
Name
model_urls
Type
object
Description
Downloadable URL sa textured 3D model file na nabuo ng Meshy.
Name
glb
Type
string
Description
Downloadable URL papunta sa GLB file.
Name
fbx
Type
string
Description
Downloadable URL papunta sa FBX file.
Name
obj
Type
string
Description
Downloadable URL papunta sa OBJ file.
Name
usdz
Type
string
Description
Downloadable URL papunta sa USDZ file.
Name
mtl
Type
string
Description
Downloadable URL papunta sa MTL file, ibinabalik kasama ang OBJ exports kapag may mga textures.
Name
stl
Type
string
Description
Downloadable URL papunta sa STL file.
Name
3mf
Type
string
Description
Downloadable URL papunta sa 3MF file. Lamang ipapakita kapag 3mf ay hiniling sa pamamagitan ng target_formats.
Name
text_style_prompt
Type
string
Description
Ito ang text prompt na ginamit upang lumikha ng texturing task.
Name
image_style_url
Type
string
Description
Ito ang input na imahe na ginamit upang lumikha ng texturing task.
Name
multiview_image_urls
Type
string[]
Description
Downloadable URLs sa multi-view reference images na ginamit upang lumikha ng texturing task. Lamang ipapakita kapag ang task ay nilikha gamit ang multiview_image_urls.
Name
thumbnail_url
Type
string
Description
Downloadable URL sa thumbnail image ng model file.
Name
alpha_thumbnail_url
Type
string
Description
Downloadable URL sa isang transparent-background (RGBA) na bersyon ng thumbnail_url. Lamang ipamamalas kapag ang task ay nilikha gamit ang alpha_thumbnail: true at ang transparent preview ay matagumpay na na-render; kung hindi, ang field na ito ay hindi itinatakda.
Name
progress
Type
integer
Description
Progreso ng task. Kung ang task ay hindi pa nasisimulan, ang pag-aari na ito ay magiging 0. Kapag ang task ay nagtagumpay, ito ay magiging 100.
Name
started_at
Type
timestamp
Description
Timestamp kung kailan sinimulan ang task, sa milliseconds. Kung ang task ay hindi pa nasisimulan, ang pag-aari na ito ay magiging 0.
Ang timestamp ay kumakatawan sa bilang ng milya segundo na nagdaan mula noong Enero 1, 1970 UTC, sumusunod sa
RFC 3339 na pamantayan.
Halimbawa, ang Biyernes, Setyembre 1, 2023 12:00:00 PM GMT ay kinakatawan bilang 1693569600000. Ito ay naaangkop sa lahat ng mga timestamp sa Meshy API.
Name
created_at
Type
timestamp
Description
Timestamp kung kailan nilikha ang task, sa milliseconds.
Name
expires_at
Type
timestamp
Description
Timestamp kung kailan mag-e-expire ang resulta ng task, sa milliseconds.
Name
finished_at
Type
timestamp
Description
Timestamp kung kailan natapos ang task, sa milliseconds. Kung ang task ay hindi pa natatapos, ang pag-aari na ito ay magiging 0.
Name
status
Type
string
Description
Status ng task. Maaaring halaga ay isa sa PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
texture_urls
Type
array
Description
Isang array ng texture URL objects na nabuo mula sa task. Karaniwan ito ay naglalaman lamang ng isang texture URL object. Bawat texture URL ay may sumusunod na katangian:
Name
base_color
Type
string
Description
Downloadable URL papunta sa base color map image.
Name
metallic
Type
string
Description
Downloadable URL papunta sa metallic map image.
Kung ang task ay nilikha gamit ang enable_pbr: false, ang ari-ariang ito ay hindi ipapakita.
Name
normal
Type
string
Description
Downloadable URL papunta sa normal map image.
Kung ang task ay nilikha gamit ang enable_pbr: false, ang ari-ariang ito ay hindi ipapakita.
Name
roughness
Type
string
Description
Downloadable URL papunta sa roughness map image.
Kung ang task ay nilikha gamit ang enable_pbr: false, ang ari-ariang ito ay hindi ipapakita.
Name
emission
Type
string
Description
Downloadable URL papunta sa emission map image.
Kung ang task ay nilikha gamit ang enable_pbr: false, o ai_model ay meshy-5, ang ari-ariang ito ay hindi ipapakita.
Name
preceding_tasks
Type
integer
Description
Ang bilang ng mga naunang tasks.
Ang pag-aari na ito ay lamang ipamamalas kapag ang task status ay PENDING.
Name
task_error
Type
object
Description
Mga detalye ng error para sa hindi matagumpay na mga tasks. Tingnan ang Errors para sa buong task_error object reference.
Name
consumed_credits
Type
integer
Description
Ang bilang ng mga credits na nagastos ng task na ito. Present kapag ang task status ay PENDING, IN_PROGRESS, o SUCCEEDED. Nagbabalik ng 0 para sa FAILED tasks (ang mga credits ay naibabalik sa pagkabigo).
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}