Текст у 3D API - це функція, яка дозволяє вам інтегрувати можливості Meshy з перетворення тексту на 3D у ваш додаток. У цьому розділі ви знайдете всю інформацію, необхідну для початку роботи з цим API.
Текст у 3D використовує процес у два етапи. По-перше, створіть задачу попереднього перегляду (mode: "preview") для генерації 3D сітки без текстури, щоб ви могли оцінити форму. Потім передайте завершений ідентифікатор задачі попереднього перегляду в задачу refine (mode: "refine") для застосування текстури до сітки. Обидва етапи використовують ту саму кінцеву точку.
Ця кінцева точка створює задачу попереднього перегляду тексту у 3D, яка генерує непотекстуровану 3D сітку (тільки геометрію) з текстового prompt. Це перший крок двоетапного процесу. Коли попередній перегляд вдається, використовуйте повернений ідентифікатор задачі для створення завдання refine для текстурування. Ознайомтеся з
Об'єкт завдання текст у 3D для отримання повної схеми відповіді.
Параметри
Name
mode
Type
string
Обов'язковий
Description
Це поле слід встановити на "preview", коли створюєте задачу попереднього перегляду.
Name
prompt
Type
string
Обов'язковий
Description
Опишіть, яким є 3D модель. Максимум 600 символів.
Name
model_type
Type
string
за замовчуванням standard
Description
Вкажіть тип генерації 3D сітки.
Доступні значення:
standard: Регулярна генерація 3D сітки з високою деталізацією.
smart-topology: Виберіть Smart Topology модель з ai_model (meshy-t2).
lowpoly (застаріле): Створює низькополігональні сітки, оптимізовані для чистіших полігонів. Ми рекомендуємо використовувати smart-topology.
Коли обрано smart-topology, should_remesh і decimation_mode ігноруються, і лише topology: triangle приймається.
Коли обрано lowpoly, ai_model, topology, target_polycount і should_remesh ігноруються.
Name
ai_model
Type
string
за замовчуванням latest
Description
Ідентифікатор моделі для використання. Доступні значення залежать від model_type.
meshy-t2 (за замовчуванням): модель Smart Topology — чистіша топологія, окремо вироблені частини, вихідний трикутник, і кількість граней, яку ви можете задати з target_polycount.
Name
ultra_mode
Type
boolean
за замовчуванням false
Description
Увімкнення Ultra генерації для більшого розподілення геометрії з тоншими деталями поверхні. Генерація займає більше часу і додає 5 кредитів.
Підтримується лише, коли ai_model - це meshy-7 (або latest), і лише в preview режимі.
Name
should_remesh
Type
boolean
за замовчуванням false (meshy-6, meshy-7), true (інші)
Description
Керує, чи потрібно увімкнути етап ремеша. Для моделі найвищої якості ми рекомендуємо встановити should_remesh на false.
Застосовується лише коли should_remesh = true
Name
topology
Type
string
за замовчуванням triangle
Description
Вказати топологію моделі, що генерується.
Доступні значення:
quad: Генерувати сітку, домінуючу над чотирикутниками.
triangle: Генеруйте децимовану трикутну сітку.
Результат Smart Topology - лише трикутний. Запит quad разом із ai_model: meshy-t2 повертає помилку.
Name
decimation_mode
Type
integer
Description
Увімкніть адаптивну децимацію, встановивши рівень полігонів. Коли встановлено, target_polycount ігнорується.
Доступні значення:
1: Адаптивний — ультра кількість полігонів.
2: Адаптивний — висока кількість полігонів.
3: Адаптивний — середня кількість полігонів.
4: Адаптивний — низька кількість полігонів.
Name
target_polycount
Type
integer
Description
Цільова кількість полігонів (граней) у виході. Реальне число може відхилятися від цілі залежно від геометрії.
target_polycount має ефект у двох незалежних випадках:
Ремеш — з should_remesh: true на standard моделі. Сітка реконструюється (децимується) до приблизно цього числа. Діапазон від 100 до 300,000, за замовчуванням 30,000. Якщо встановлено decimation_mode, йому надається пріоритет, і target_polycount ігнорується.
Smart Topology — з model_type: smart-topology та ai_model: meshy-t2. Модель генерується безпосередньо з цією кількістю граней; ремеш не виконується, і should_remesh не потрібен. Діапазон від 100 до 15,000, за замовчуванням 4,000.
Name
symmetry_mode
Type
string
⚠ застарілий
за замовчуванням auto
Description
Застаріле. Цей параметр більше не впливає на вивід.
Поле symmetry_mode контролює поведінку симетрії під час генерації моделі.
Допустимі значення:
off: Вимикає симетрію.
auto: Автоматично визначає і застосовує симетрію на основі вхідної геометрії.
on: Забезпечує симетрію під час генерації.
Name
pose_mode
Type
string
за замовчуванням ""
Description
Вкажіть режим пози для створеної моделі.
Доступні значення:
a-pose: Створює модель в A позі.
t-pose: Створює модель в T позі.
"" (рядок з пустим вмістом): Специфічна поза не застосовується.
Name
is_a_t_pose
Type
boolean
⚠ застарілий
за замовчуванням false
Description
Використовуйте pose_mode замість цього. Чи генерувати модель у позі A/T.
Name
art_style
Type
string
⚠ застарілий
за замовчуванням реалістичне
Description
Не підтримується Meshy-6. Запити, які використовують Meshy-6, ігнорують art_style, і певні комбінації можуть спричинити помилки. Доступні значення: реалістичне, скульптура.
enable_pbr слід встановити на false, коли використовуєте стиль Скульптура, так як стиль Скульптура генерує свій власний набір PBR-карт.
Name
moderation
Type
boolean
за замовчуванням false
Description
Коли встановлено на true, вхідний контент автоматично перевірятиметься на потенційно шкідливий вміст. Якщо буде виявлено шкідливий контент, завдання не виконуватиметься.
Текст з prompt буде перевірено.
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 не змінюється.
Name
auto_size
Type
boolean
за замовчуванням false
Description
Коли встановлено на true, служба використовує комп'ютерний зір для автоматичного оцінювання реальної висоти об'єкта та зміни розміру моделі відповідно. Початок координат за замовчуванням буде bottom, якщо origin_at не встановлено явно.
Застосовується лише коли auto_size = true
Name
origin_at
Type
string
за замовчуванням bottom
Description
Розташування початку координат, коли увімкнено auto_size.
Доступні значення: bottom, center.
Повернення
Властивість result у відповіді містить ідентифікатор завдання id щойно створеного завдання Текст у 3D.
Способи відмови
Name
400 - Bad Request
Description
Запит був неприйнятним. Поширені причини:
Відсутній параметр: Відсутній обов'язковий параметр (наприклад, prompt, mode).
Неправильний параметр: art_style не є одним з дозволених значень.
Prompt занадто довгий: prompt перевищує обмеження на кількість символів.
Name
401 - Unauthorized
Description
Автентифікація не вдалася. Будь ласка, перевірте ваш API-ключ.
Name
402 - Payment Required
Description
Недостатньо кредитів для виконання цього завдання.
Name
429 - Too Many Requests
Description
Ви перевищили ваше обмеження частоти.
Запит
POST
/openapi/v2/text-to-3d
# Проста попередній перегляд лише з потрібними параметрамиcurlhttps://api.meshy.ai/openapi/v2/text-to-3d \-H'Authorization: Bearer ${YOUR_API_KEY}' \-H'Content-Type: application/json' \-d'{ "mode": "preview", "prompt": "монстр маска"}'# Попередній перегляд з ремешем та A-позоюcurlhttps://api.meshy.ai/openapi/v2/text-to-3d \-H'Authorization: Bearer ${YOUR_API_KEY}' \-H'Content-Type: application/json' \-d'{ "mode": "preview", "prompt": "футуристичний робот-воїн", "should_remesh": true, "target_polycount": 100000, "pose_mode": "a-pose", "target_formats": ["glb"]}'
Ця кінцева точка створює задачу для уточнення тексту у 3D, яка наносить текстуру на завершену сітку попереднього перегляду. Ви повинні надати preview_task_id з успішного завдання попереднього перегляду. Це другий крок двоетапного процесу.
Параметри
Name
mode
Type
string
Обов'язковий
Description
Це поле слід встановити на "refine", коли створюєте задачу для уточнення.
Name
preview_task_id
Type
string
Обов'язковий
Description
Відповідний ідентифікатор задачі попереднього перегляду.
Статус вказаної задачі попереднього перегляду має бути SUCCEEDED.
Name
enable_pbr
Type
boolean
за замовчуванням false
Description
Генерує PBR карти (металічний, шорсткість, карта нормалей) на додавання до базового кольору. Карта випромінювання також включена, коли ai_model - це meshy-6, за винятком texture_resolution: 8k (карта випромінювання не створюється). meshy-7 (і latest) не створює карту випромінювання.
Name
texture_resolution
Type
string
за замовчуванням 2k
Description
Роздільна здатність базової колірної текстури. Одне з 2k (2048×2048), 4k (4096×4096) або 8k (8192×8192). Вищі роздільні здатності захоплюють більше деталей поверхні. Застосовується лише в refine режимі.
4k та 8k вимагають ai_modelmeshy-6, meshy-7 або latest. У 8k карта випромінювання не створюється.
Name
hd_texture
Type
boolean
⚠ застарілий
за замовчуванням false
Description
Використовуйте texture_resolution замість цього - еквівалент texture_resolution: "4k". Коли обидва встановлені, texture_resolution має пріоритет.
Name
texture_prompt
Type
string
Description
Надати додатковий текстовий prompt для керування процесом текстурування. Максимум 600 символів.
Name
texture_image_url
Type
string
Description
Надати 2D зображення для керування процесом текстурування. Ми підтримуємо формати .jpg, .jpeg та .png.
Існує два способи надати зображення:
Публічно доступний URL: URL, доступний з публічного Інтернету
Data URI: Декодований base64 Data URI зображення. Приклад Data URI: data:image/jpeg;base64,<дані зображення кодовані в base64>
Текстурування зображення може працювати не оптимально, якщо є суттєві геометричні відмінності між оригінальним assetом та завантаженим зображенням. Для керування процесом текстурування можна використовувати лише один з texture_image_url або texture_prompt. Якщо надано обидва параметри, то texture_prompt буде використано за замовчуванням.
Name
ai_model
Type
string
за замовчуванням latest
Description
Ідентифікатор моделі для використання для уточнення. Доступні значення: meshy-5, meshy-6, meshy-7, latest (Meshy 7).
latest вирішується тут точно так само, як і в завданні попереднього перегляду (наразі Meshy 7), тому попередній перегляд latest і його уточнення latest завжди виконуються на тій самій текстурній моделі.
Name
moderation
Type
boolean
за замовчуванням false
Description
Коли встановлено на true, вхідний контент автоматично перевірятиметься на потенційно шкідливий вміст. Якщо буде виявлено шкідливий контент, завдання не виконуватиметься.
Текст з texture_prompt та зображення з texture_image_url будуть перевірені.
Name
remove_lighting
Type
boolean
за замовчуванням true
Description
Видаляє підсвічування та тіні з базової кольорової текстури, створюючи чистіший результат, який краще працює з власними налаштуваннями освітлення.
Має ефект лише, коли ai_model - це meshy-6. На meshy-7 (і latest) параметр приймається, але ігнорується.
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 не змінюється.
Name
auto_size
Type
boolean
за замовчуванням false
Description
Коли встановлено на true, служба використовує комп'ютерний зір для автоматичного оцінювання реальної висоти об'єкта та зміни розміру моделі відповідно. Початок координат за замовчуванням буде bottom, якщо origin_at не встановлено явно.
Застосовується лише коли auto_size = true
Name
origin_at
Type
string
за замовчуванням bottom
Description
Розташування початку координат, коли увімкнено auto_size.
Доступні значення: bottom, center.
Повернення
Властивість result у відповіді містить ідентифікатор завдання id щойно створеного завдання Текст у 3D.
Способи відмови
Name
400 - Bad Request
Description
Запит був неприйнятним. Поширені причини:
Неправильний ідентифікатор задачі: preview_task_id недійсний або не існує.
Завдання не готове: Завдання попереднього перегляду ще не успішне.
Невідповідність моделі: Модель попереднього перегляду несумісна із запитуваною моделлю уточнення.
Name
401 - Unauthorized
Description
Автентифікація не вдалася. Будь ласка, перевірте ваш API-ключ.
Name
402 - Payment Required
Description
Недостатньо кредитів для виконання цього завдання.
Name
404 - Not Found
Description
Завдання попереднього перегляду, зазначене у preview_task_id, не знайдено.
Name
429 - Too Many Requests
Description
Ви перевищили ваше обмеження частоти.
Запит
POST
/openapi/v2/text-to-3d
# Базова задача уточненняcurlhttps://api.meshy.ai/openapi/v2/text-to-3d \-H'Authorization: Bearer ${YOUR_API_KEY}' \-H'Content-Type: application/json' \-d'{ "mode": "refine", "preview_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578", "enable_pbr": true}'# Уточнення з авто розміром та форматом GLBcurlhttps://api.meshy.ai/openapi/v2/text-to-3d \-H'Authorization: Bearer ${YOUR_API_KEY}' \-H'Content-Type: application/json' \-d'{ "mode": "refine", "preview_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578", "target_formats": ["glb"], "auto_size": true}'
Ця кінцева точка дозволяє отримати завдання Тексту у 3D за наданим дійсним id задачі.
Ознайомтеся з Об'єкт завдання Тексту у 3D, щоб побачити, які
властивості включені до об'єкта завдання Тексту у 3D.
Ця кінцева точка працює для задач як попереднього перегляду, так і уточнення.
Параметри
Name
id
Type
path
Description
Унікальний ідентифікатор для завдання Тексту у 3D, яке потрібно отримати.
// Зразок події про помилкуevent: errordata: {"status_code": 404,"message": "Завдання не знайдено"}// Зразки подій повідомлень, що ілюструють progress завдання.// Для задач PENDING або IN_PROGRESS потокова відповідь не включатиме всі поля.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": "text-to-3d-preview","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=***"},"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}
Об'єкт завдання Текст у 3D - це робоча одиниця, за якою Meshy відстежує перетворення тексту у 3D модель. Є два етапи Тексту у 3D API, preview і refine. Етап попереднього перегляду призначений для створення лише сітки 3D моделі, тоді як етап refine використовується для створення 3D моделі з текстурами на основі результату етапу попереднього перегляду.
Об'єкт має такі властивості:
Властивості
Name
id
Type
string
Description
Унікальний ідентифікатор завдання. Хоча ми використовуємо k-сортуваний UUID для ідентифікаторів завдань як деталь імплементації, ви не повинні робити жодних припущень про формат id.
Name
type
Type
string
Description
Тип завдання Тексту у 3D. Можливі значення - text-to-3d-preview для завдань етапу попереднього перегляду та text-to-3d-refine для завдань етапу уточнення.
Name
model_urls
Type
object
Description
Завантажувані URL до файлу з текстурованою 3D моделлю, згенерованого Meshy. Властивість для формату буде упущена, якщо формат не згенеровано замість повернення порожнього рядка.
Name
glb
Type
string
Description
Завантажуваний URL до GLB файлу.
Name
fbx
Type
string
Description
Завантажуваний URL до FBX файлу.
Name
usdz
Type
string
Description
Завантажуваний URL до USDZ файлу.
Name
obj
Type
string
Description
Завантажуваний URL до OBJ файлу.
Name
mtl
Type
string
Description
Завантажуваний URL до MTL файлу.
Name
stl
Type
string
Description
Завантажуваний URL до STL файлу.
Name
3mf
Type
string
Description
Завантажуваний URL до 3MF файлу. Присутній лише тоді, коли 3mf було запрошено через target_formats.
Name
prompt
Type
string
Description
Це не модифікований prompt, який використовувався для створення завдання.
Name
negative_prompt
Type
string
⚠ застарілий
Description
Зберігається для зворотної сумісності. Це поле не має функціонального впливу на згенеровані моделі.
Name
art_style
Type
string
⚠ застарілий
Description
Невідновлений art_style, який використовувався для створення завдання попереднього перегляду. Не підтримується Meshy-6.
Name
texture_richness
Type
string
⚠ застарілий
Description
Зберігається для зворотної сумісності. Це поле не має функціонального впливу на згенеровані моделі.
Name
texture_prompt
Type
string
Description
Додатковий текстовий prompt, поданий для керування процесом текстурування під час етапу refine.
Name
ultra_mode
Type
boolean
Description
Підтверджує значення ultra_mode, з яким було створено завдання попереднього перегляду. Присутній лише для завдань попереднього перегляду meshy-7 (або latest), які увімкнули ultra_mode; в іншому випадку упущено.
Name
texture_image_url
Type
string
Description
Завантажуваний URL до текстурного зображення, використаного для керування процесом текстурування.
Name
thumbnail_url
Type
string
Description
Завантажуваний URL до мініатюрного зображення файлу моделі.
Name
alpha_thumbnail_url
Type
string
Description
Завантажуваний URL до версії з прозорим фоном (RGBA) thumbnail_url. Присутній лише, коли завдання було створено з alpha_thumbnail: true і прозорий попередній перегляд був успішно відрендерено; в іншому випадку це поле упущено.
Name
video_url
Type
string
⚠ застарілий
Description
Завантажуваний URL до відеоперегляду. Буде видалено у майбутньому випуску.
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
finished_at
Type
timestamp
Description
Мітка часу, коли завдання було завершено, у мілісекундах. Якщо завдання не завершене, ця властивість буде 0.
Name
status
Type
string
Description
Статус завдання. Можливі значення - один з PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
texture_urls
Type
array
Description
Масив об'єктів URL текстур, що згенеровані зі завдання. Зазвичай це містить лише один об'єкт URL текстури. Кожен URL текстури має такі властивості:
Name
base_color
Type
string
Description
Завантажуваний URL до зображення базової кольорової карти.
Name
metallic
Type
string
Description
Завантажуваний URL до зображення металічної карти.
Якщо завдання створено з enable_pbr: false, ця властивість буде упущена.
Name
normal
Type
string
Description
Завантажуваний URL до зображення нормальної карти.
Якщо завдання створено з enable_pbr: false, ця властивість буде упущена.
Name
roughness
Type
string
Description
Завантажуваний URL до зображення карти шорсткості.
Якщо завдання створено з enable_pbr: false, ця властивість буде упущена.
Name
emission
Type
string
Description
Завантажуваний URL до зображення карти випромінювання.
Якщо завдання створено з enable_pbr: false, або ai_model - це meshy-5, ця властивість буде упущена.
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 для невдалих завдань (кредити повертаються при помилці).
Приклад об'єкта завдання Тексту у 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":"монстр маска","texture_prompt":"зелена слизька шкіра з лусками та бородавками","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}