lowpoly буде вимкнено 30 жовт. 2026 р.. Перейдіть на іншу модель до цих дат, щоб уникнути помилок у запитах.
Retexture API
Retexture API — це функція, яка дозволяє інтегрувати можливості Ретекстурування за допомогою ШІ від Meshy у ваш власний застосунок. У цьому розділі ви знайдете всю інформацію,
необхідну для початку роботи з цим API.
Ця кінцева точка дозволяє створити нове завдання Ретекстурування. Зверніться до
Об'єкта завдання Ретекстурування, щоб побачити, які
властивості включені в об'єкт завдання Ретекстурування.
Завдання виконується у фоновому режимі. Про те, скільки часу це зазвичай займає, дивіться Час обробки.
Параметри
Обов'язковим є лише один із параметрів input_task_id або model_url. Якщо вказано обидва, пріоритет має input_task_id.
Name
input_task_id
Type
string
Обов'язковий
Description
ID завершеного завдання Зображення у 3D або Текст у 3D, яке ви хочете ретекстурувати.
Це завдання має бути одним із наступних: Text to 3D Preview, Text to 3D Refine, Image to 3D або Ремеш. Крім того, воно повинно мати статус SUCCEEDED.
Name
model_url
Type
string
Обов'язковий
Description
Надайте 3D-модель, яку Meshy має текстурувати. Підтримувані формати: .glb, .gltf, .obj, .fbx, .stl.
Максимальний розмір файлу: 400 МБ для URL http або https, 100 МБ для data: URI.
Файл GLB, glTF, FBX або OBJ розміром понад 100 МБ може мати щонайбільше 10 000 000 граней. Грані рахуються як трикутники: чотирикутник рахується як 2, а сітка, намальована більше одного разу, рахується один раз для кожної копії. Понад 100 МБ, файл FBX повинен бути бінарним FBX 7.1 або новішим, а файл GLB або glTF не повинен використовувати стиснення Draco.
Існує два способи надати модель:
Публічно доступний URL: URL, доступний з публічного інтернету.
Data URI: закодований у base64 data URI моделі. Використовуйте MIME type application/octet-stream. Приклад: data:application/octet-stream;base64,<ваші дані моделі, закодовані в base64>.
Потрібен рівно один вхідний параметр стилю: text_style_prompt, image_style_url або multiview_image_urls. multiview_image_urls не можна поєднувати з жодним з двох інших; якщо вказано і text_style_prompt, і image_style_url, пріоритет має image_style_url.
Name
text_style_prompt
Type
string
Обов'язковий
Description
Опишіть бажаний стиль текстури об'єкта за допомогою тексту. Максимум 800 символів.
Name
image_style_url
Type
string
Обов'язковий
Description
Надайте 2D-зображення для керування процесом текстурування. Наразі ми підтримуємо формати .jpg, .jpeg, .png та .webp.
Максимальний розмір файлу: 20 МБ.
Існує два способи надати зображення:
Публічно доступний URL: URL, доступний з публічного інтернету
Data URI: закодований у base64 data URI зображення. Приклад data URI: data:image/jpeg;base64,<ваші дані зображення, закодовані в base64>
Текстурування за зображенням може працювати неоптимально, якщо існують суттєві відмінності геометрії між оригінальним асетом і завантаженим зображенням.
Name
multiview_image_urls
Type
string[]
Обов'язковий
Description
Надайте від 1 до 4 зображень, що показують той самий об'єкт з різних ракурсів, для керування текстуруванням. Перше зображення є основним (видом спереду); порядок решти видів (зліва, ззаду, справа) не має значення.
Кожен елемент приймає ті самі формати, що й image_style_url (публічно доступний URL або base64 data URI, .jpg/.jpeg/.png/.webp).
Максимальний розмір файлу: 20 МБ на зображення.
Вимагає явного ai_model: "meshy-7".
Name
ai_model
Type
string
за замовчуванням latest
Description
ID AI-моделі, яку використовувати для ретекстурування. Доступні значення: meshy-6-lite, meshy-6, meshy-7, latest (Meshy 7).
Name
enable_original_uv
Type
boolean
за замовчуванням false
Description
Зберегти наявну UV-розкладку моделі замість генерації нової.
Якщо ви ретекстуруєте модель, згенеровану Meshy (через input_task_id або model_url, що вказує на результат Meshy), встановіть значення true, щоб повторно використати її оптимізовану UV-розкладку.
Якщо ви ретекстуруєте завантажену вами стороню модель, встановіть true, якщо вона вже має хороші UV, які ви хочете зберегти, або залиште false, щоб дозволити Meshy розгорнути нові UV (найкраще для моделей, які не мають належного UV-мапінгу).
Name
enable_pbr
Type
boolean
за замовчуванням false
Description
Генерувати PBR-карти (металевість, шорсткість, нормалі) на додаток до базового кольору. Карта випромінювання (emission map) також включається, коли ai_model дорівнює meshy-6, окрім випадку texture_resolution: 8k. meshy-6-lite, meshy-7 та latest не створюють карту випромінювання.
Name
texture_resolution
Type
string
за замовчуванням 2k
Description
Роздільна здатність текстури базового кольору. Одне зі значень: 2k (2048×2048), 4k (4096×4096) або 8k (8192×8192). Вищі роздільні здатності захоплюють більше деталей поверхні.
4k та 8k вимагають ai_modelmeshy-6, meshy-7 або latest. При 8k карта випромінювання не створюється.
Name
hd_texture
Type
boolean
⚠ застарілий
за замовчуванням false
Description
Використовуйте натомість texture_resolution — еквівалентно texture_resolution: "4k". Якщо встановлено обидва, пріоритет має texture_resolution.
Name
remove_lighting
Type
boolean
за замовчуванням true
Description
Видаляє відблиски та тіні з текстури базового кольору, забезпечуючи чистіший результат, який краще працює при кастомних налаштуваннях освітлення.
Застосовується лише коли ai_model дорівнює meshy-6, а texture_resolution дорівнює 2k або 4k. З meshy-7 або latest, а також при 8k, параметр приймається, але ігнорується. З meshy-6-lite надсилання цього параметра з будь-яким значенням повертає 400.
Name
target_formats
Type
string[]
Description
Визначає, які формати 3D-файлів включати у результат. Будуть згенеровані та повернуті лише запитані формати, що може скоротити час виконання завдання. Якщо не вказано, включаються всі підтримувані формати.
Доступні значення: glb, obj, fbx, stl, usdz, 3mf
Якщо не вказано, генеруються всі формати, окрім 3mf. 3mf включається лише якщо вказано явно.
Name
alpha_thumbnail
Type
boolean
за замовчуванням false
Description
Якщо встановлено значення true, завдання додатково рендерить версію прев'ю з прозорим фоном (RGBA) та повертає її як alpha_thumbnail_url у відповіді GET. Наявне поле thumbnail_url залишається без змін.
Результати
Властивість result у відповіді містить id завдання новоствореного завдання Ретекстурування.
Режими збою
Name
400 - Bad Request
Description
Запит неприйнятний. Поширені причини:
Відсутній параметр: Необхідно вказати або model_url, або input_task_id.
Відсутній стиль: Необхідно вказати один з параметрів text_style_prompt, image_style_url або multiview_image_urls.
Конфліктуючі вхідні параметри стилю: multiview_image_urls не можна поєднувати з text_style_prompt або image_style_url.
Непідтримувана модель для мультивиду: multiview_image_urls вимагає явного ai_model: "meshy-7".
Модель недоступна: ai_model: "meshy-7" та ai_model: "meshy-6-lite" впроваджуються поступово і можуть ще не бути увімкнені для вашого облікового запису.
Недійсне вхідне завдання: input_task_id має посилатися на успішне завдання підтримуваної моделі.
Недійсний формат моделі: model_url вказує на файл з непідтримуваним розширенням.
Недоступний URL: не вдалося завантажити model_url, image_style_url або елемент multiview_image_urls.
Файл моделі занадто великий: файл model_url перевищує 400 МБ (URL http або https) або 100 МБ (data: URI).
Забагато граней: файл model_url перевищує 100 МБ і має понад 10 000 000 граней. Зменшіть кількість граней і надішліть файл знову.
ASCII FBX понад 100 МБ: файл model_url є ASCII FBX понад 100 МБ. Надішліть його як бінарний FBX або GLB.
Нечитабельний файл моделі: файл model_url перевищує 100 МБ, і його заголовок неможливо прочитати, наприклад, GLB або glTF зі стисненням Draco, або бінарний FBX старіший за 7.1.
Заголовок моделі занадто складний: файл model_url перевищує 100 МБ, і його заголовок має забагато сіток, вузлів або записів для перевірки. Зменшіть кількість об'єктів у файлі та надішліть його знову.
Зображення занадто велике: зображення image_style_url або елемент multiview_image_urls перевищує 20 МБ.
Name
401 - Unauthorized
Description
Помилка автентифікації. Будь ласка, перевірте свій API-ключ.
Name
402 - Payment Required
Description
Недостатньо кредитів для виконання цього завдання.
Name
429 - Too Many Requests
Description
Ви перевищили обмеження частоти.
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": "<your publicly accessible image url or base64-encoded data URI>", "ai_model": "latest", "enable_pbr": true, "enable_original_uv": true }'
Ця кінцева точка дозволяє отримати завдання Ретекстурування за дійсним id завдання.
Див. Об'єкт завдання Ретекстурування, щоб побачити, які
властивості включені в об'єкт завдання Ретекстурування.
Параметри
Name
id
Type
path
Description
Унікальний ідентифікатор завдання Ретекстурування для отримання.
{"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" } ],"task_error": {"message":"" },"consumed_credits":10}
Ця кінцева точка остаточно видаляє завдання ретекстурування, включно з усіма пов'язаними моделями та даними. Ця дія незворотна.
Параметри шляху
Name
id
Type
path
Description
ID завдання ретекстурування, яке потрібно видалити.
Статус завдання
Завдання, яке все ще має статус PENDING, видаляється, а кредити, витрачені
під час створення, повертаються.
Завдання, яке вже перебуває у статусі IN_PROGRESS, не може бути видалене:
запит відхиляється з кодом 409 Conflict, а завдання продовжує виконуватися.
Кредити за завдання, яке воркер вже почав виконувати, не підлягають поверненню,
тому видалення його під час виконання коштуватиме вам і кредитів, і результату.
Зачекайте, поки воно досягне статусу SUCCEEDED, FAILED або CANCELED,
а потім видаліть його.
Завдання у кінцевому статусі (SUCCEEDED, FAILED або CANCELED) видаляється
без повернення коштів.
Повертає
Повертає 200 OK у разі успіху або 409 Conflict, якщо завдання має статус
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" } ],"preceding_tasks":0,"task_error": {"message":"" },"consumed_credits":10 }]
Об'єкт Retexture Task — це одиниця роботи, яку Meshy використовує для генерації 3D текстури з текстових або графічних вхідних даних.
Модель має такі властивості:
Properties
Name
id
Type
string
Description
Унікальний ідентифікатор завдання. Хоча ми використовуємо k-сортований UUID для ідентифікаторів завдань як деталь реалізації,
вам не слід робити жодних припущень щодо формату id.
Name
type
Type
string
Description
Тип завдання Retexture. Значення — retexture.
Name
model_urls
Type
object
Description
Посилання для завантаження текстурованого файлу 3D моделі, згенерованого Meshy.
Name
glb
Type
string
Description
Посилання для завантаження файлу GLB.
Name
fbx
Type
string
Description
Посилання для завантаження файлу FBX.
Name
obj
Type
string
Description
Посилання для завантаження файлу OBJ.
Name
usdz
Type
string
Description
Посилання для завантаження файлу USDZ.
Name
mtl
Type
string
Description
Посилання для завантаження файлу MTL, яке повертається разом з експортом OBJ, якщо присутні текстури.
Name
stl
Type
string
Description
Посилання для завантаження файлу STL.
Name
3mf
Type
string
Description
Посилання для завантаження файлу 3MF. Присутнє лише якщо 3mf було запитано через target_formats.
Name
text_style_prompt
Type
string
Description
Це текстовий prompt, який було використано для створення завдання текстурування.
Name
image_style_url
Type
string
Description
Це зображення, яке було використано як вхідні дані для створення завдання текстурування.
Name
multiview_image_urls
Type
string[]
Description
Посилання для завантаження референсних зображень мультивиду, які було використано для створення завдання текстурування. Присутнє лише якщо завдання було створено з multiview_image_urls.
Name
thumbnail_url
Type
string
Description
Посилання для завантаження мініатюри файлу моделі.
Name
alpha_thumbnail_url
Type
string
Description
Посилання для завантаження версії thumbnail_url з прозорим фоном (RGBA). Присутнє лише якщо завдання було створено з alpha_thumbnail: true і прозорий попередній перегляд було успішно відрендерено; інакше це поле відсутнє.
Name
progress
Type
integer
Description
Прогрес виконання завдання. Якщо завдання ще не розпочато, це значення дорівнює 0. Коли завдання успішно завершено, значення стає 100.
Name
started_at
Type
timestamp
Description
Мітка часу, коли завдання було розпочато, у мілісекундах. Якщо завдання ще не розпочато, це значення дорівнює 0.
Мітка часу представляє кількість мілісекунд, що минули з 1 січня 1970 року UTC, відповідно до
стандарту RFC 3339.
Наприклад, п'ятниця, 1 вересня 2023 року, 12:00:00 за Гринвічем, представлена як 1693569600000. Це стосується
усіх міток часу в Meshy API.
Name
created_at
Type
timestamp
Description
Мітка часу, коли завдання було створено, у мілісекундах.
Name
expires_at
Type
timestamp
Description
Мітка часу, коли результат завдання стане недійсним, у мілісекундах.
Name
finished_at
Type
timestamp
Description
Мітка часу, коли завдання було завершено, у мілісекундах. Якщо завдання ще не завершено, це значення дорівнює 0.
Name
status
Type
string
Description
Статус завдання. Можливі значення: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
texture_urls
Type
array
Description
Масив об'єктів з посиланнями на текстури, згенеровані завданням. Зазвичай тут міститься лише один об'єкт з посиланням на текстуру. Кожен об'єкт з посиланням на текстуру має такі властивості:
Name
base_color
Type
string
Description
Посилання для завантаження зображення карти базового кольору.
Name
metallic
Type
string
Description
Посилання для завантаження зображення карти металевості.
Якщо завдання створено з enable_pbr: false, ця властивість буде відсутня.
Name
normal
Type
string
Description
Посилання для завантаження зображення карти нормалей.
Якщо завдання створено з enable_pbr: false, ця властивість буде відсутня.
Name
roughness
Type
string
Description
Посилання для завантаження зображення карти шорсткості.
Якщо завдання створено з enable_pbr: false, ця властивість буде відсутня.
Name
emission
Type
string
Description
Посилання для завантаження зображення карти випромінювання.
Якщо завдання створено з enable_pbr: false, з ai_model зі значенням meshy-6-lite, meshy-7 або latest, або з texture_resolution: 8k, ця властивість буде відсутня.
Name
preceding_tasks
Type
integer
Description
Кількість завдань у черзі перед цим.
Ця властивість присутня лише якщо статус завдання — PENDING.
Name
task_error
Type
object
Description
Деталі помилки для завдань, що завершилися невдало. Див. Помилки для повного опису об'єкта task_error.
Name
consumed_credits
Type
integer
Description
Кількість кредитів, витрачених на це завдання. Присутнє, якщо статус завдання — PENDING, IN_PROGRESS або SUCCEEDED. Повертає 0 для завдань зі статусом FAILED (кредити повертаються у разі невдачі).
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" } ],"preceding_tasks":0,"task_error": {"message":"" },"consumed_credits":10}