Перетворіть вихідне фото на колекційну 3D-фігурку у стилі вінілової іграшки з великою головою у два
етапи: prototype генерує стилізоване концептуальне зображення з вашого вхідного
фото, а потім build перетворює це концептуальне зображення на текстуровану 3D-модель.
Ці два етапи пов'язані через input_task_id.
POST /openapi/creative-lab/vinyl-figure/v1/prototype
Створює одне концептуальне зображення у стилі вінілової фігурки на основі вихідного
фото. Отриманий ID задачі — це те, що передається як input_task_id у кінцеву точку
побудови. Зверніться до
Об'єкта задачі прототипу вінілової фігурки
для опису форми відповіді.
Параметри
Name
image_url
Type
string
Обов'язковий
Description
Вихідне фото, яке Meshy стилізує у вінілову фігурку з великою головою. Наразі підтримуються формати .jpg, .jpeg, .png та .webp.
Існує два способи надати зображення:
Публічно доступний URL: URL-адреса, доступна з відкритого інтернету.
Data URI: закодоване у base64 зображення у форматі data URI. Приклад data URI: data:image/jpeg;base64,<your base64-encoded image data>.
Name
name
Type
string
Description
Необов'язкова назва задачі для відображення. Максимум 100 символів.
Name
remove_background
Type
boolean
за замовчуванням false
Description
Якщо встановлено значення true, зображення прототипу повертається у вигляді прозорого RGBA PNG з видаленим фоном, щоб ви могли розмістити об'єкт на будь-якому фоні.
Повертає
Властивість result відповіді містить id задачі новоствореного прототипу вінілової фігурки. Опитуйте кінцеву точку Отримати задачу або підпишіться на потік, доки задача не досягне статусу SUCCEEDED, а потім передайте цей ID у кінцеву точку побудови як input_task_id.
Згенерувати фінальну текстуровану 3D-вінілову фігурку з успішного завдання-прототипу. Побудова виконується за тим самим конвеєром перетворення зображення на 3D, що й
Зображення у 3D, тому формат об'єкта відповіді та список вихідних URL-адрес повністю збігаються. Форму відповіді дивіться в
Об'єкт завдання побудови вінілової фігурки.
Параметри
Name
input_task_id
Type
string
Обов'язковий
Description
ID завдання прототипу, створеного через ту саму кінцеву точку OpenAPI. Прототип повинен бути створений з тим самим API-ключем, повинен досягти статусу SUCCEEDED і повинен мати рівно одне кандидатне зображення.
Завдання-прототипи, створені через вебзастосунок, не приймаються — кінцева точка побудови приймає лише завдання-прототипи, створені через POST /openapi/creative-lab/vinyl-figure/v1/prototype, і відхиляє будь-яке інше джерело з кодом 404.
Name
name
Type
string
Description
Необов'язкова назва завдання для відображення. Максимум 100 символів.
Повертає
Властивість result відповіді містить id завдання новоствореного завдання побудови вінілової фігурки. Опитуйте кінцеву точку Отримати завдання або підпишіться на потік, доки завдання не досягне статусу SUCCEEDED, а потім завантажте текстуровану модель GLB з model_urls.glb (або пару OBJ + MTL з model_urls.obj та model_urls.mtl, якщо ваш подальший конвеєр обробки надає перевагу OBJ).
Режими збоїв
Name
400 - Bad Request
Description
Запит неприйнятний. Поширені причини:
Відсутній параметр: input_task_id є обов'язковим.
Недійсний UUID: input_task_id не є дійсним UUID.
Батьківське завдання не завершено успішно: зазначене завдання-прототип ще не досягло статусу SUCCEEDED.
Немає кандидата: завдання-прототип завершилося успішно, але не створило жодного кандидатного зображення.
Name
401 - Unauthorized
Description
Помилка автентифікації. Перевірте свій API-ключ.
Name
402 - Payment Required
Description
Недостатньо кредитів для виконання цього завдання.
Name
404 - Not Found
Description
Зазначене завдання-прототип не існує, належить іншому користувачу або було створене через вебзастосунок (лише завдання-прототипи в режимі API можуть використовуватися для побудови).
Name
429 - Too Many Requests
Description
Ви перевищили обмеження частоти.
Request
POST
/openapi/creative-lab/vinyl-figure/v1/build
# Stage 2: chain build off a succeeded prototype taskcurlhttps://api.meshy.ai/openapi/creative-lab/vinyl-figure/v1/build \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "input_task_id": "019c8a2e-4b7d-7c3a-8d21-3f2987a1c4de" }'
Отримайте завдання прототипу або збірки за дійсним id завдання. Шлях URL
повинен відповідати етапу завдання — якщо завдання збірки запитується через
/prototype/:id, повертається 404, і навпаки.
Скасувати завдання vinyl figure. Якщо завдання ще перебуває у стані PENDING,
кредити, витрачені під час створення, повертаються. Завдання, що вже
перебувають у стані IN_PROGRESS, скасовуються без повернення коштів (виконавець
може вже витрачати ресурси). Завдання, що вже досягли кінцевого стану
(SUCCEEDED, FAILED, CANCELED), скасувати неможливо.
Шлях URL повинен відповідати етапу завдання — DELETE для
/prototype/:buildId повертає 404.
Параметри шляху
Name
id
Type
path
Description
Унікальний ідентифікатор завдання vinyl figure, яке потрібно скасувати.
Повертає
Повертає 204 No Content у разі успіху з порожнім тілом.
Режими збою
Name
400 - Bad Request
Description
Завдання вже перебуває у кінцевому стані, і його неможливо скасувати.
Name
404 - Not Found
Description
Завдання не існує, належить іншому користувачу, або його етап не відповідає шляху URL.
Транслює оновлення в реальному часі для завдання vinyl figure через Server-Sent Events
(SSE). Шлях URL має відповідати етапу завдання — відкриття потоку за адресою
/prototype/:buildId/stream видає одне корисне навантаження event: error зі
значенням status_code: 404 і закриває потік.
Параметри
Name
id
Type
path
Description
Унікальний ідентифікатор завдання vinyl figure для потокової передачі.
Повертає
Повертає потік об'єктів завдання Vinyl Figure Prototype
або Vinyl Figure Build у вигляді Server-Sent Events. Кожен кадр містить повний об'єкт завдання для цього етапу — таку саму форму, яку
повертає кінцева точка Get, — тому поки завдання має статус PENDING або IN_PROGRESS,
поля виводу просто ще не заповнені (null, [] або {}), а
finished_at дорівнює null.
Отримайте пагінований список ваших завдань з вініловими фігурками для одного етапу.
Шлях URL визначає етап — /prototype повертає завдання прототипу;
/build повертає завдання побудови. Завдання іншого етапу не включаються
в жодну з відповідей.
Path Parameters
Name
stage
Type
path
Обов'язковий
Description
Або prototype, або build. Колекція повертає лише завдання,
чий етап відповідає URL — отримання /prototype ніколи не повертає
завдання побудови, і навпаки.
Query Parameters
Name
page_num
Type
integer
за замовчуванням 1
Description
Номер сторінки для пагінації.
Name
page_size
Type
integer
за замовчуванням 10
Description
Обмеження розміру сторінки. Максимально дозволено 100 елементів.
Name
sort_by
Type
string
за замовчуванням -created_at
Description
Поле для сортування. Доступні значення:
+created_at: Сортування за часом створення у порядку зростання.
-created_at: Сортування за часом створення у порядку спадання.
Об'єкт завдання прототипу вінілової фігурки — це одиниця роботи, яку Meshy
відстежує для генерації концептуального зображення у стилі вінілової
фігурки з вихідної фотографії. Результат цього етапу передається на
етап побудови через input_task_id.
Властивості
Name
id
Type
string
Description
Унікальний ідентифікатор завдання. Хоча як деталь реалізації ми використовуємо k-сортований UUID для ідентифікаторів завдань, вам не слід робити жодних припущень щодо формату id.
Name
type
Type
string
Description
Тип завдання. Значення — creative-lab-vinyl-figure-prototype.
Name
name
Type
string
Description
Назва завдання, вказана під час його створення. Порожній рядок, якщо назву не було надано.
Name
status
Type
string
Description
Статус завдання. Можливі значення: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Прогрес завдання. Якщо завдання ще не розпочато, це значення дорівнюватиме 0. Коли завдання успішно завершиться, воно стане 100.
Name
created_at
Type
timestamp
Description
Мітка часу створення завдання, у мілісекундах.
Мітка часу відображає кількість мілісекунд, що минули з 1 січня 1970 року UTC, відповідно до
стандарту RFC 3339.
Наприклад, п'ятниця, 1 вересня 2023 року, 12:00:00 за GMT, представлена як 1693569600000. Це стосується
всіх міток часу в Meshy API.
Name
started_at
Type
timestamp
Description
Мітка часу початку виконання завдання, у мілісекундах. Якщо завдання ще не розпочато, це значення дорівнюватиме 0.
Name
finished_at
Type
timestamp
Description
Мітка часу завершення завдання, у мілісекундах. Якщо завдання ще не завершено, це значення дорівнюватиме 0.
Name
expires_at
Type
timestamp
Description
Мітка часу, коли результат завдання втрачає чинність, у мілісекундах.
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 (кредити повертаються у разі невдачі).
Name
image_urls
Type
array of strings
Description
URL-адреси для завантаження варіантів концептуального зображення, згенерованих цим завданням прототипу. Наразі API завжди повертає рівно один варіант; поле є масивом, щоб майбутні версії могли надавати кілька варіантів без критичних змін.
Об'єкт задачі створення вінілової фігурки — це одиниця роботи, яку Meshy відстежує
для генерації текстурованої 3D вінілової фігурки з успішно виконаної задачі прототипу.
Вона використовує той самий конвеєр перетворення зображення у 3D, що й Зображення у 3D,
тому вихідні поля дзеркально відповідають об'єкту задачі цієї кінцевої точки.
Властивості
Name
id
Type
string
Description
Унікальний ідентифікатор задачі.
Name
type
Type
string
Description
Тип задачі. Значення — creative-lab-vinyl-figure-build.
Name
name
Type
string
Description
Назва задачі, надана при її створенні. Порожній рядок, якщо назву не було вказано.
Name
status
Type
string
Description
Статус задачі. Можливі значення: одне з PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Progress задачі. Якщо задача ще не розпочалася, це значення буде 0. Після успішного завершення задачі стане 100.
Name
created_at
Type
timestamp
Description
Мітка часу створення задачі, в мілісекундах.
Name
started_at
Type
timestamp
Description
Мітка часу початку виконання задачі, в мілісекундах.
Name
finished_at
Type
timestamp
Description
Мітка часу завершення задачі, в мілісекундах.
Name
expires_at
Type
timestamp
Description
Мітка часу закінчення терміну дії результату задачі, в мілісекундах.
Name
preceding_tasks
Type
integer
Description
Кількість попередніх задач у черзі. Має значення лише коли статус — PENDING.
Name
task_error
Type
object
Description
Деталі помилки для невдалих задач. Дивіться Помилки для повного опису об'єкта task_error.
Name
consumed_credits
Type
integer
Description
Кількість кредитів, витрачених на цю задачу. Повертає 0 для задач зі статусом FAILED (кредити повертаються у разі невдачі).
Name
prompt
Type
string
Description
Завжди порожній для створення вінілової фігурки. Присутній для сумісності між кінцевими точками із загальною структурою V2ImageTo3DTaskResponse, яку використовує Зображення у 3D.
Name
negative_prompt
Type
string
Description
Завжди порожній для створення вінілової фігурки. Присутній для сумісності між кінцевими точками.
Name
texture_prompt
Type
string
Description
Завжди порожній для створення вінілової фігурки. Присутній для сумісності між кінцевими точками.
Name
texture_image_url
Type
string
Description
Завжди порожній для створення вінілової фігурки. Присутній для сумісності між кінцевими точками.
Name
model_urls
Type
object
Description
Посилання для завантаження згенерованої 3D-моделі. Створення вінілової фігурки видає текстурований GLB, а також пару OBJ + MTL для конвеєрів, що надають перевагу формату Wavefront OBJ. Структура поля відповідає об'єкту model_urls зі Зображення у 3D, тому додавання нових форматів у майбутньому не порушить зворотну сумісність.
Name
glb
Type
string
Description
Посилання для завантаження текстурованого файлу GLB.
Name
obj
Type
string
Description
Посилання для завантаження файлу Wavefront OBJ (геометрія + UV).
Name
mtl
Type
string
Description
Посилання для завантаження супровідного файлу матеріалу MTL для OBJ. Використовуйте разом з obj та записом з texture_urls[0].base_color.
Name
thumbnail_url
Type
string
Description
Посилання для завантаження мініатюри файлу моделі.
Name
texture_urls
Type
array
Description
Масив об'єктів посилань на текстури, згенерованих цією задачею. Наразі містить один об'єкт з картою базового кольору.
Name
base_color
Type
string
Description
Посилання для завантаження зображення карти базового кольору.