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: Data URI изображения в кодировке base64. Пример Data URI: data:image/jpeg;base64,<your base64-encoded image data>.
Name
model_type
Type
string
по умолчанию standard
Description
Укажите тип генерации 3D-сетки.
Доступные значения:
standard: Обычная генерация 3D-сетки с высокой детализацией.
lowpoly: Генерирует низкополигональную сетку, оптимизированную для более чистых полигонов.
При выборе lowpoly игнорируются ai_model, topology, target_polycount, should_remesh, save_pre_remeshed_model.
Name
ai_model
Type
string
по умолчанию latest
Description
ID модели для использования. Доступные значения: meshy-5, meshy-6, latest (Meshy 6).
Name
should_texture
Type
boolean
по умолчанию true
Description
Определяет, генерируются ли текстуры. Установка значения false пропускает фазу текстурирования, предоставляя сетку без текстур.
Применяется только когда should_texture = true
Name
enable_pbr
Type
boolean
по умолчанию false
Description
Генерирует PBR-карты (metallic, roughness, normal) в дополнение к базовому цвету. Карта emission также включается, когда 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. Текстурирование через текст или изображение будет стоить 10 кредитов за задачу.
Name
should_remesh
Type
boolean
по умолчанию false (meshy-6), true (others)
Description
Управляет тем, включать ли фазу ремешинга. При значении false API возвращает треугольную сетку наивысшей точности.
Применяется только когда should_remesh = true
Name
topology
Type
string
по умолчанию triangle
Description
Укажите topology сгенерированной модели.
Доступные значения:
quad: Генерирует сетку с преобладанием четырехугольников.
Укажите целевое число полигонов в сгенерированной модели. Фактическое число полигонов может отклоняться от целевого в зависимости от сложности геометрии.
Допустимый диапазон значений зависит от уровня пользователя:
от 100 до 300 000 (включительно)
Name
decimation_mode
Type
integer
Description
Включает адаптивное упрощение, задавая уровень числа полигонов. Если задано, target_polycount игнорируется.
Доступные значения:
1: Адаптивное — ультравысокое число полигонов.
2: Адаптивное — высокое число полигонов.
3: Адаптивное — среднее число полигонов.
4: Адаптивное — низкое число полигонов.
Name
save_pre_remeshed_model
Type
boolean
по умолчанию false
Description
При значении true Meshy также сохраняет дополнительный файл GLB до завершения фазы ремешинга.
Name
symmetry_mode
Type
string
⚠ устаревший
по умолчанию auto
Description
Устаревшее. Этот параметр больше не влияет на результат.
Поле symmetry_mode управляет поведением симметрии в процессе генерации модели.
Допустимые значения:
off: Отключает симметрию.
auto: Автоматически определяет и применяет симметрию на основе входной геометрии.
on: Принудительно применяет симметрию во время генерации.
Name
pose_mode
Type
string
по умолчанию ""
Description
Укажите mode позы для сгенерированной модели.
Доступные значения:
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 или latest.
Name
remove_lighting
Type
boolean
по умолчанию true
Description
Удаляет блики и тени из текстуры базового цвета, создавая более чистый результат, который лучше работает при пользовательских настройках освещения.
Поддерживается только когда ai_model — meshy-6 или latest.
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, которая создает ровно одно изображение.
Недопустимый формат изображения: Предоставленный image_url не является поддерживаемым форматом (.jpg, .jpeg, .png).
Недоступный URL: Не удалось загрузить image_url (404 или timeout).
Недопустимый Data URI: Строка base64 имеет неверный формат.
Недопустимая комбинация параметров: enable_pbr поддерживается только когда should_texture имеет значение true.
Name
401 - Unauthorized
Description
Аутентификация не удалась. Проверьте ваш API-ключ.
Name
402 - Payment Required
Description
Недостаточно кредитов для выполнения этой задачи.
Name
429 - Too Many Requests
Description
Вы превысили ваше ограничение частоты.
Request
POST
/openapi/v1/image-to-3d
# Simple request with required paramscurl https://api.meshy.ai/openapi/v1/image-to-3d \ -X POST \ -H "Authorization: Bearer ${YOUR_API_KEY}" \ -H 'Content-Type: application/json' \ -d '{ "image_url": "<your publicly accessible image url or base64-encoded data URI>" }'# With remesh, PBR, and A-posecurl https://api.meshy.ai/openapi/v1/image-to-3d \ -X POST \ -H "Authorization: Bearer ${YOUR_API_KEY}" \ -H 'Content-Type: application/json' \ -d '{ "image_url": "<your publicly accessible image url or base64-encoded data URI>", "enable_pbr": true, "should_remesh": true, "target_polycount": 100000, "should_texture": true, "pose_mode": "a-pose", "target_formats": ["glb"] }'
Этот эндпоинт позволяет получить задачу Изображение в 3D по действительному id задачи.
См. Объект задачи Изображение в 3D, чтобы узнать, какие
свойства включены в объект задачи Изображение в 3D.
Параметры
Name
id
Type
path
Description
Уникальный идентификатор задачи Изображение в 3D, которую нужно получить.
Объект задачи Изображение в 3D — это рабочая единица, которую Meshy отслеживает для создания 3D-модели из входного изображения.
Объект имеет следующие свойства:
Свойства
Name
id
Type
string
Description
Уникальный идентификатор задачи. Хотя в качестве детали реализации мы используем k-сортируемый UUID для идентификаторов задач,
вам не следует делать никаких предположений о формате идентификатора.
Name
type
Type
string
Description
Тип задачи Изображение в 3D. Значение: image-to-3d.
Name
model_urls
Type
object
Description
URL для загрузки файла 3D-модели с текстурами, сгенерированного Meshy. Свойство для формата будет опущено, если формат не сгенерирован, вместо возврата пустой строки.
Name
glb
Type
string
Description
URL для загрузки файла GLB.
Name
fbx
Type
string
Description
URL для загрузки файла FBX.
Name
obj
Type
string
Description
URL для загрузки файла OBJ.
Name
usdz
Type
string
Description
URL для загрузки файла USDZ.
Name
mtl
Type
string
Description
URL для загрузки файла MTL, возвращается вместе с экспортом OBJ, когда присутствуют текстуры.
Name
stl
Type
string
Description
URL для загрузки файла STL.
Name
3mf
Type
string
Description
URL для загрузки файла 3MF. Присутствует только когда 3mf был запрошен через target_formats.
Name
pre_remeshed_glb
Type
string
Description
URL для загрузки исходного вывода GLB до ретопологии.
Доступно только когда задача была создана одновременно с should_remesh: true и save_pre_remeshed_model: true.
Name
thumbnail_url
Type
string
Description
URL для загрузки изображения-миниатюры файла модели. Эквивалентно thumbnail_urls.front, когда присутствует, сохранено для обратной совместимости.
Name
alpha_thumbnail_url
Type
string
Description
URL для загрузки версии thumbnail_url с прозрачным фоном (RGBA). Присутствует только когда задача была создана с alpha_thumbnail: true и прозрачный предпросмотр был успешно отрендерен; в противном случае это поле опускается.
Name
thumbnail_urls
Type
object
Description
URL для загрузки четырех миниатюр с основными ракурсами сгенерированной 3D-модели. Каждое значение — это подписанный URL к 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
URL для загрузки изображения текстуры, которое использовалось для управления процессом текстурирования.
Name
progress
Type
integer
Description
Progress задачи. Если задача еще не запущена, это свойство будет 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
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
Массив объектов 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 (кредиты возвращаются при сбое).