Multi-Image to 3D API - это функция, которая позволяет интегрировать возможности Meshy для преобразования несколькими изображениями в 3D в ваше собственное приложение. В этом разделе вы найдете всю необходимую информацию для начала работы с этим API.
Этот эндпоинт позволяет создать новую задачу Multi-Image to 3D. Обратитесь к
Объект задачи Multi-Image to 3D, чтобы узнать, какие свойства включены в объект задачи Multi-Image to 3D.
Параметры
Только один из input_task_id или image_urls является обязательным. Если оба указаны, то приоритет отдается input_task_id.
Name
input_task_id
Type
string
Обязательный
Description
ID выполненной задачи по генерации изображений, выходные данные которой (1-4 изображения) должны быть использованы в качестве входных данных. Эта задача должна быть одной из следующих: Текст в изображение, Изображение в изображение, Текст в изображение многовид, либо Изображение в изображение многовид. Кроме того, она должна быть запущена через API и иметь статус SUCCEEDED.
Name
image_urls
Type
array
Обязательный
Description
Укажите от 1 до 4 изображений для использования Meshy при создании модели. В настоящее время мы поддерживаем форматы .jpg, .jpeg и .png. Для достижения наилучших результатов все изображения должны изображать один и тот же объект с разных ракурсов.
Существует два способа представления каждого изображения:
Общедоступный URL-адрес: URL-адрес, доступный в публичном интернете.
Data URI: Закодированный в base64 Data URI изображения. Пример Data URI: data:image/jpeg;base64,<ваши данные изображения в формате base64>.
Для meshy-7 (или latest) первое изображение используется в качестве основного (вид спереди). Порядок остальных изображений не имеет значения.
Name
ai_model
Type
string
по умолчанию latest
Description
Идентификатор модели для использования. Доступные значения: meshy-5, meshy-6, meshy-7, latest (Meshy 7).
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-7 и latest не создают карту эмиссии.
Name
texture_resolution
Type
string
по умолчанию 2k
Description
Разрешение текстуры базового цвета. Одно из 2k (2048×2048), 4k (4096×4096), или 8k (8192×8192). Более высокие разрешения захватывают больше поверхностных деталей.
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
should_remesh
Type
boolean
по умолчанию false (meshy-6), true (others)
Description
Контролирует, будет ли активирована фаза ремешинга. Для получения модели высочайшего качества мы рекомендуем установить should_remesh в false.
Применяется только когда should_remesh = true
Name
topology
Type
string
по умолчанию triangle
Description
Укажите топологию генерируемой модели.
Доступные значения:
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
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
Укажите режим позы для генерируемой модели.
Доступные значения:
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_modelmeshy-6, meshy-7 или latest.
Name
remove_lighting
Type
boolean
по умолчанию true
Description
Убирает блики и тени из базовой цветовой текстуры, создавая более чистый результат, который лучше работает в условиях пользовательских световых сцен.
Поддерживается только при использовании ai_modelmeshy-6, meshy-7 или latest.
Name
moderation
Type
boolean
по умолчанию false
Description
Если параметр установлен в true, входной контент будет автоматически проверен на наличие потенцийно вредоносного содержимого. При обнаружении вредоносного содержимого задача не будет выполнена до генерации.
Каждое изображение из image_urls и текст из 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 vision для автоматической оценки реальной высоты объекта и соотвествующего изменения размера модели. По умолчанию началом координат будет 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 задачи новосозданной задачи Multi-Image to 3D.
Режимы неудачи
Name
400 - Bad Request
Description
Запрос недопустим. Общие причины:
Отсутствует параметр: Должен быть предоставлен либо image_urls, либо input_task_id.
Недопустимая задача: input_task_id должен ссылаться на задачу SUCCEEDED типа Текст в изображение, Изображение в изображение или многовидный вариант задачи.
Недопустимое количество изображений: image_urls должен содержать от 1 до 4 изображений.
Недопустимый формат изображения: Одно или несколько изображений в image_urls имеют неподдерживаемые форматы.
Недоступный URL: Один или несколько image_urls не удалось загрузить.
Name
401 - Unauthorized
Description
Аутентификация не удалась. Пожалуйста, проверьте ваш API-ключ.
Name
402 - Payment Required
Description
Недостаточно кредитов для выполнения этой задачи.
Name
429 - Too Many Requests
Description
Вы превысили ваше ограничение частоты.
Запрос
POST
/openapi/v1/multi-image-to-3d
# Простой запросcurlhttps://api.meshy.ai/openapi/v1/multi-image-to-3d \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "image_urls": [ "<ваш общедоступный URL изображения или закодированный base64 Data URI>", "<ваш второй общедоступный URL изображения или закодированный base64 Data URI>" ] }'# С текстурированием PBR и форматом GLBcurlhttps://api.meshy.ai/openapi/v1/multi-image-to-3d \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "image_urls": [ "<ваш общедоступный URL изображения или закодированный base64 Data URI>", "<ваш второй общедоступный URL изображения или закодированный base64 Data URI>" ], "should_texture": true, "enable_pbr": true, "target_formats": ["glb"] }'
Этот эндпоинт позволяет получить задачу Multi-Image to 3D, задав действительный id задачи.
Обратитесь к Объект задачи Multi-Image to 3D, чтобы узнать, какие
свойства включены в объект задачи Multi-Image to 3D.
Параметры
Name
id
Type
path
Description
Уникальный идентификатор задачи Multi-Image to 3D для получения.
Объект задачи Multi-Image to 3D - это рабочая единица, которую Meshy отслеживает для создания 3D модели из нескольких изображений (от 1 до 4 включительно). Изображения должны быть одного и того же объекта, желательно с разных видов или углов.
Объект имеет следующие свойства:
Свойства
Name
id
Type
string
Description
Уникальный идентификатор задачи. Хотя мы используем k-сортируемый UUID для идентификаторов задач как деталь реализации, вы не должны делать никаких предположений о формате идентификатора.
Name
type
Type
string
Description
Тип задачи Multi-Image to 3D. Значение - multi-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-адрес на 512×512 PNG, рендеренный с теми же материалами и освещением, что и 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
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
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 (кредиты возвращаются при ошибке).