API Текст у 3D — це функція, яка дає змогу інтегрувати можливості Meshy Текст у 3D у ваш власний застосунок. У цьому розділі ви знайдете всю інформацію,
необхідну для початку роботи з цим API.
Текст у 3D використовує двоетапний робочий процес. Спочатку створіть завдання попереднього перегляду (mode: "preview"), щоб згенерувати 3D-сітку без текстури, аби ви могли оцінити форму. Потім передайте ID завдання завершеного попереднього перегляду до завдання уточнення (mode: "refine"), щоб застосувати текстуру до сітки. Обидва кроки використовують ту саму кінцеву точку.
Ця кінцева точка створює завдання попереднього перегляду Текст у 3D, яке генерує 3D-сітку без текстур (лише геометрія) з текстового prompt. Це перший крок двоетапного робочого процесу. Після успішного попереднього перегляду використайте повернений ID завдання, щоб створити завдання уточнення для текстурування. Зверніться до
Об’єкта завдання Текст у 3D, щоб переглянути повну схему відповіді.
Параметри
Name
mode
Type
string
Обов'язковий
Description
Це поле має бути встановлено на "preview" під час створення завдання попереднього перегляду.
Name
prompt
Type
string
Обов'язковий
Description
Опишіть, яким має бути об’єкт 3D-моделі. Максимум 600 символів.
Name
model_type
Type
string
за замовчуванням standard
Description
Укажіть тип генерації 3D-сітки.
Доступні значення:
standard: Звичайна генерація 3D-сітки з високою деталізацією.
lowpoly: Генерує низькополігональну сітку, оптимізовану для чистіших полігонів.
Коли вибрано lowpoly, ai_model, topology, target_polycount, should_remesh ігноруються.
Name
ai_model
Type
string
за замовчуванням latest
Description
ID моделі для використання. Доступні значення: meshy-5, meshy-6, latest (Meshy 6).
Name
should_remesh
Type
boolean
за замовчуванням false (meshy-6), true (others)
Description
Керує тим, чи вмикати фазу ремешу. Якщо встановлено false, API безпосередньо поверне трикутну сітку найвищої точності.
Застосовується лише коли should_remesh = true
Name
topology
Type
string
за замовчуванням triangle
Description
Укажіть topology згенерованої моделі.
Доступні значення:
quad: Згенерувати сітку з переважанням чотирикутників.
triangle: Згенерувати спрощену трикутну сітку.
Name
target_polycount
Type
integer
за замовчуванням 30,000
Description
Укажіть цільову кількість полігонів у згенерованій моделі. Фактична кількість полігонів може відхилятися від цільової залежно від складності геометрії.
Допустимий діапазон значень змінюється залежно від рівня користувача:
від 100 до 300,000 (включно)
Name
decimation_mode
Type
integer
Description
Увімкніть адаптивне спрощення, задавши рівень кількості полігонів. Якщо встановлено, target_polycount ігнорується.
Доступні значення:
1: Адаптивний — надвисока кількість полігонів.
2: Адаптивний — висока кількість полігонів.
3: Адаптивний — середня кількість полігонів.
4: Адаптивний — низька кількість полігонів.
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
⚠ застарілий
за замовчуванням realistic
Description
Не підтримується Meshy-6. Запити з використанням Meshy-6 ігноруватимуть art_style, а деякі комбінації можуть спричинити помилки. Доступні значення: realistic, sculpture.
enable_pbr має бути встановлено на false під час використання стилю Sculpture, оскільки стиль Sculpture генерує власний набір 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, сервіс використовує AI-бачення, щоб автоматично оцінити реальну висоту об’єкта та відповідно змінити розмір моделі. Початок координат за замовчуванням буде 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
Недостатньо кредитів для виконання цього завдання.
Ця кінцева точка створює задачу уточнення Текст у 3D, яка застосовує текстуру до завершеної сітки попереднього перегляду. Ви повинні надати preview_task_id з успішної задачі попереднього перегляду. Це другий крок двокрокового робочого процесу.
Параметри
Name
mode
Type
string
Обов'язковий
Description
Це поле має бути встановлене на "refine" під час створення задачі уточнення.
Name
preview_task_id
Type
string
Обов'язковий
Description
Відповідний id задачі попереднього перегляду.
Статус наданої задачі попереднього перегляду має бути SUCCEEDED.
Name
enable_pbr
Type
boolean
за замовчуванням false
Description
Генерує PBR-карти (metallic, roughness, normal) на додаток до базового кольору. Карта емісії також включається, коли ai_model має значення meshy-6 або latest.
Name
hd_texture
Type
boolean
за замовчуванням false
Description
Генерує текстуру базового кольору з роздільною здатністю 4K (4096×4096) для вищої деталізації.
Підтримується лише тоді, коли ai_model має значення meshy-6 або latest. PBR-карти завжди генеруються у 2K.
Name
texture_prompt
Type
string
Description
Надайте додатковий текстовий prompt, щоб спрямувати процес текстурування. Максимум 600 символів.
Name
texture_image_url
Type
string
Description
Надайте 2D-зображення, щоб спрямувати процес текстурування. Наразі ми підтримуємо формати .jpg, .jpeg і .png.
Є два способи надати зображення:
Загальнодоступна URL-адреса: URL-адреса, доступна з публічного інтернету
Data URI: Data URI зображення, закодований у base64. Приклад Data URI: data:image/jpeg;base64,<your base64-encoded image data>
Текстурування за зображенням може працювати неоптимально, якщо між оригінальним асетом і завантаженим зображенням є суттєві відмінності геометрії. Для спрямування процесу текстурування можна використовувати лише один із texture_image_url або texture_prompt. Якщо надано обидва параметри, тоді texture_prompt буде використано для текстурування моделі за замовчуванням.
Name
ai_model
Type
string
за замовчуванням latest
Description
ID моделі, яку потрібно використовувати для уточнення. Доступні значення: meshy-5, meshy-6, latest (Meshy 6).
Name
moderation
Type
boolean
за замовчуванням false
Description
Коли встановлено true, вхідний вміст буде автоматично перевірено на потенційно шкідливий вміст. Якщо виявлено шкідливий вміст, задача не перейде до генерації.
Буде перевірено як текст із texture_prompt, так і зображення з texture_image_url.
Name
remove_lighting
Type
boolean
за замовчуванням true
Description
Видаляє відблиски й тіні з текстури базового кольору, створюючи чистіший результат, який краще працює з користувацькими налаштуваннями освітлення.
Підтримується лише тоді, коли ai_model має значення meshy-6 або 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, сервіс використовує AI-зір, щоб автоматично оцінити реальну висоту об’єкта та відповідно змінити розмір моделі. Початок координат за замовчуванням буде 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
Запит був неприйнятним. Поширені причини:
Недійсний ID задачі: preview_task_id є недійсним або не існує.
Задача не готова: Задача попереднього перегляду ще не завершилася успішно.
Невідповідність моделі: AI-модель задачі попереднього перегляду несумісна із запитаною моделлю уточнення.
Name
401 - Unauthorized
Description
Автентифікація не вдалася. Перевірте свій API-ключ.
Name
402 - Payment Required
Description
Недостатньо кредитів для виконання цієї задачі.
Name
404 - Not Found
Description
Задачу попереднього перегляду, вказану через preview_task_id, не знайдено.
Ця кінцева точка дозволяє отримати завдання Текст у 3D за дійсним id.
Зверніться до Об'єкта завдання Текст у 3D, щоб дізнатися, які
властивості включено в об'єкт завдання Текст у 3D.
Ця кінцева точка працює як для завдань попереднього перегляду, так і для завдань уточнення.
Параметри
Name
id
Type
path
Description
Унікальний ідентифікатор завдання Текст у 3D, яке потрібно отримати.
Повертає
Відповідь містить об'єкт завдання Текст у 3D. Перегляньте
розділ Об'єкт завдання Текст у 3D для отримання деталей.
Об’єкт завдання Текст у 3D — це робоча одиниця, яку Meshy відстежує для створення 3D-моделі з текстового введення. API Текст у 3D має два етапи: preview і refine. Етап preview призначений для створення 3D-моделі лише із сіткою, а етап refine — для створення текстурованої 3D-моделі на основі результату етапу preview.
Об’єкт має такі властивості:
Властивості
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, наданий для керування процесом текстурування під час етапу уточнення.
Name
texture_image_url
Type
string
Description
URL для завантаження зображення текстури, яке було використано для керування процесом текстурування.
Name
thumbnail_url
Type
string
Description
URL для завантаження зображення мініатюри файлу моделі.
Name
alpha_thumbnail_url
Type
string
Description
URL для завантаження версії thumbnail_url із прозорим фоном (RGBA). Присутній лише тоді, коли завдання було створено з 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 PM GMT представлена як 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 для завдань FAILED (кредити повертаються в разі збою).
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,"seed":1234,"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}