API Изображение в 3D — это функция, позволяющая интегрировать возможности Meshy по преобразованию изображений в 3D в ваше собственное приложение. В этом разделе вы найдёте всю информацию,
необходимую для начала работы с этим API.
Этот эндпоинт позволяет создать новую задачу Изображение в 3D. Обратитесь к разделу
Объект задачи Изображение в 3D, чтобы узнать, какие
свойства включены в объект задачи Изображение в 3D.
Параметры
Только один из параметров input_task_id или image_url является обязательным. Если указаны оба, приоритет имеет input_task_id.
Name
input_task_id
Type
string
Обязательный
Description
ID завершённой задачи генерации изображения, чей результат должен использоваться как входное изображение. Эта задача должна быть одной из следующих: Текст в изображение или Изображение в изображение. Кроме того, она должна быть выполнена через API, иметь статус SUCCEEDED и создавать ровно одно изображение.
Name
image_url
Type
string
Обязательный
Description
Предоставьте изображение, которое Meshy будет использовать при создании модели. В настоящее время поддерживаются форматы .jpg, .jpeg и .png.
Есть два способа предоставить изображение:
Публично доступный URL: URL, доступный из публичного интернета.
Data URI: изображение, закодированное в base64 в виде data URI. Пример data URI: data:image/jpeg;base64,<ваши base64-закодированные данные изображения>.
smart-topology: выберите модель Smart Topology с ai_model (meshy-t2).
lowpoly (устаревшее): генерирует низкополигональную сетку, оптимизированную для более чистых полигонов. Рекомендуем использовать smart-topology вместо этого.
При выборе smart-topology параметры topology, should_remesh и save_pre_remeshed_model игнорируются.
При выборе lowpoly параметры ai_model, topology, target_polycount, should_remesh и save_pre_remeshed_model игнорируются.
Name
ai_model
Type
string
по умолчанию latest
Description
ID используемой модели. Доступные значения зависят от model_type.
meshy-t2 (по умолчанию): модель Smart Topology — более чистая topology, естественным образом разделённые части, вывод в виде треугольников и число граней, которое можно задать через target_polycount.
Name
geometry_resolution
Type
string
по умолчанию standard
Description
Проход генерации геометрии. 2k запускает Ultra-проход с разрешением 2048³; 4k запускает его
с разрешением 4096³ для максимальной детализации поверхности.
Доступные значения: standard, 2k, 4k
Требует meshy-7.1 или latest.
Name
ultra_mode
Type
boolean
⚠ устаревший
по умолчанию false
Description
Используйте geometry_resolution вместо этого. ultra_mode: true эквивалентно geometry_resolution: "2k".
Name
should_texture
Type
boolean
по умолчанию true
Description
Определяет, генерируются ли текстуры. Установка значения false пропускает этап текстурирования, предоставляя сетку без текстур.
Применяется только когда should_texture = true
Name
enable_pbr
Type
boolean
по умолчанию false
Description
Генерировать PBR-карты (металличность, шероховатость, нормали) в дополнение к базовому цвету. Карта эмиссии также включается, если ai_model — meshy-6, за исключением texture_resolution: 8k. meshy-6-lite, meshy-7.1 и latest не создают карту эмиссии.
Name
texture_resolution
Type
string
по умолчанию 2k
Description
Разрешение текстуры базового цвета. Одно из значений: 2k (2048×2048), 4k (4096×4096) или 8k (8192×8192). Более высокое разрешение позволяет захватить больше деталей поверхности.
4k и 8k недоступны с ai_modelmeshy-6-lite. При 8k карта эмиссии не создаётся.
Name
hd_texture
Type
boolean
⚠ устаревший
по умолчанию false
Description
Используйте texture_resolution вместо этого — эквивалентно texture_resolution: "4k". Если заданы оба параметра, приоритет имеет texture_resolution.
Name
texture_prompt
Type
string
Description
Предоставьте текстовый prompt для управления процессом текстурирования. Максимум 800 символов.
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-закодированные данные изображения>
Текстурирование по изображению может работать неоптимально, если между исходным ассетом и загруженным изображением есть существенные различия в геометрии. Для управления процессом текстурирования можно использовать только один из параметров: texture_image_url или texture_prompt. Если указаны оба параметра, по умолчанию для текстурирования модели будет использоваться texture_prompt. Текстурирование через текст или изображение стоит 10 кредитов за задачу.
Name
should_remesh
Type
boolean
по умолчанию false (Meshy 6 and Meshy 7 models), true (others)
Description
Управляет включением этапа ремешинга. Для получения модели наивысшего качества рекомендуем устанавливать should_remesh в значение false.
Применяется только когда should_remesh = true
Name
topology
Type
string
по умолчанию triangle
Description
Укажите topology генерируемой модели.
Доступные значения:
quad: генерировать сетку с преимущественно четырёхугольными гранями.
Включить адаптивную децимацию, задав уровень числа полигонов. При установке этого параметра target_polycount игнорируется.
Доступные значения:
1: адаптивный — сверхвысокое число полигонов.
2: адаптивный — высокое число полигонов.
3: адаптивный — среднее число полигонов.
4: адаптивный — низкое число полигонов.
Name
save_pre_remeshed_model
Type
boolean
по умолчанию false
Description
Если установлено значение true, Meshy также сохраняет дополнительный GLB-файл до завершения этапа ремешинга.
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
image_enhancement
Type
boolean
по умолчанию true
Description
Оптимизирует входное изображение для получения лучших результатов. Установите значение false, чтобы сохранить точный внешний вид входного изображения без какой-либо стилевой обработки.
Поддерживается только когда ai_model — meshy-6, meshy-7.1 или latest.
Name
remove_lighting
Type
boolean
по умолчанию true
Description
Удаляет отражения света и тени из текстуры базового цвета, создавая более чистый результат, который лучше подходит для использования с собственной настройкой освещения.
Поддерживается только когда ai_model — meshy-6.
Name
moderation
Type
boolean
по умолчанию false
Description
Если установлено значение true, входной контент будет автоматически проверяться на потенциально опасный материал. Если такой контент обнаружен, задача не будет переведена на этап генерации.
Проверке подвергается контент из входных параметров image_url, texture_image_url и texture_prompt.
Name
target_formats
Type
string[]
Description
Определяет, какие 3D-форматы файлов включить в результат. Будут сгенерированы и возвращены только запрошенные форматы, что может уменьшить время выполнения задачи. Если параметр не указан, включаются все поддерживаемые форматы.
Доступные значения: glb, obj, fbx, stl, usdz, 3mf
Если параметр не указан, генерируются все форматы, кроме 3mf. 3mf включается только при явном указании.
Name
auto_size
Type
boolean
по умолчанию false
Description
Если установлено значение true, сервис использует компьютерное зрение на основе AI для автоматической оценки реального размера объекта по высоте и соответствующего изменения размера модели. Начало координат по умолчанию будет bottom, если явно не задан параметр origin_at.
Name
alpha_thumbnail
Type
boolean
по умолчанию false
Description
Если установлено значение true, задача дополнительно рендерит версию превью с прозрачным фоном (RGBA) и возвращает её как alpha_thumbnail_url в ответе GET. Существующее поле thumbnail_url остаётся без изменений.
Name
multi_view_thumbnails
Type
boolean
по умолчанию false
Description
Если установлено значение true, задача дополнительно рендерит четыре миниатюры по основным ракурсам (вид спереди, справа, сзади, слева) и возвращает их в поле thumbnail_urls в ответе GET. Существующее поле thumbnail_url не изменяется и продолжает указывать на вид спереди, поэтому существующие клиенты не затрагиваются.
Увеличивает время выполнения задачи приблизительно на 3 секунды.
Применяется только когда auto_size = true
Name
origin_at
Type
string
по умолчанию bottom
Description
Положение начала координат при включённом auto_size.
Доступные значения: bottom, center.
Возвращаемое значение
Свойство result ответа содержит id задачи новой созданной задачи Изображение в 3D.
Режимы сбоя
Name
400 - Bad Request
Description
Запрос был некорректным. Распространённые причины:
Отсутствует параметр: должен быть указан image_url или input_task_id.
Недопустимая входная задача: input_task_id должен указывать на задачу Текст в изображение или Изображение в изображение со статусом SUCCEEDED, которая создаёт ровно одно изображение.
Этот эндпоинт позволяет получить задачу изображения в 3D по действительному id задачи.
Обратитесь к разделу Объект задачи Изображение в 3D, чтобы узнать, какие
свойства включены в объект задачи Изображение в 3D.
Параметры
Name
id
Type
path
Description
Уникальный идентификатор задачи Изображение в 3D, которую требуется получить.
Этот эндпоинт безвозвратно удаляет задачу Изображение в 3D, включая все связанные модели и данные. Это действие необратимо.
Параметры пути
Name
id
Type
path
Description
ID задачи Изображение в 3D, которую нужно удалить.
Статус задачи
Задача, которая всё ещё находится в статусе 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."}
Объект задачи Изображение в 3D — это единица работы, которую Meshy отслеживает для генерации 3D-модели из входного изображения.
Объект имеет следующие свойства:
Свойства
Name
id
Type
string
Description
Уникальный идентификатор задачи. Хотя в качестве деталей реализации мы используем k-sortable UUID для
идентификаторов задач, вам не следует делать никаких предположений о формате id.
Name
type
Type
string
Description
Тип задачи Изображение в 3D. Значение — image-to-3d.
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
pre_remeshed_glb
Type
string
Description
Ссылка для скачивания исходного результата GLB до ремешинга.
Доступно только если задача была создана одновременно с should_remesh: true и save_pre_remeshed_model: true.
Name
thumbnail_url
Type
string
Description
Ссылка для скачивания миниатюры файла модели. Эквивалентно thumbnail_urls.front, когда оно присутствует, сохранено для обратной совместимости.
Name
alpha_thumbnail_url
Type
string
Description
Ссылка для скачивания версии thumbnail_url с прозрачным фоном (RGBA). Присутствует только если задача была создана с alpha_thumbnail: true и прозрачное превью было успешно отрендерено; в противном случае это поле отсутствует.
Name
thumbnail_urls
Type
object
Description
Ссылки для скачивания четырёх миниатюр сгенерированной 3D-модели с видами по основным направлениям. Каждое значение — подписанная ссылка на PNG размером 512×512, отрендеренный с теми же материалами и освещением, что и thumbnail_url. Полезно для предварительного просмотра модели с разных углов в пакетных конвейерах без скачивания GLB.
Присутствует только если задача была создана с multi_view_thumbnails: true и достигла статуса SUCCEEDED. Более старые задачи и задачи, созданные без этой опции, не будут включать это поле.
Name
front
Type
string
Description
Вид спереди, поворот на 0° вокруг вертикальной оси (совпадает с thumbnail_url).
Name
right
Type
string
Description
Вид справа, поворот на 90°.
Name
back
Type
string
Description
Вид сзади, поворот на 180°.
Name
left
Type
string
Description
Вид слева, поворот на 270°.
Name
texture_prompt
Type
string
Description
Текстовый prompt, который использовался для управления процессом текстурирования.
Name
texture_image_url
Type
string
Description
Ссылка для скачивания изображения текстуры, которое использовалось для управления процессом текстурирования.
Name
ultra_mode
Type
boolean
⚠ устаревший
Description
Устаревшее; используйте вместо этого geometry_resolution.
Name
geometry_resolution
Type
string
Description
Уровень Ultra, на котором выполнялась задача (2k или 4k); отсутствует для standard.
Name
progress
Type
integer
Description
Прогресс выполнения задачи. Если задача ещё не начата, это свойство будет равно 0. После успешного завершения задачи оно станет равным 100.
Name
started_at
Type
timestamp
Description
Временная метка начала выполнения задачи, в миллисекундах. Если задача ещё не начата, это свойство будет равно 0.
Временная метка представляет собой количество миллисекунд, прошедших с 1 января 1970 года UTC, в соответствии
со стандартом RFC 3339.
Например, пятница, 1 сентября 2023 года, 12:00:00 по GMT представляется как 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
Ссылка для скачивания изображения карты излучения (emission).
Если задача создана с enable_pbr: false, либо ai_model имеет значение meshy-6-lite, meshy-7.1 или latest, это свойство будет отсутствовать.
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 (кредиты возвращаются при неудаче).