API Мульти-изображение в 3D — это функция, которая позволяет интегрировать возможности Meshy по преобразованию нескольких изображений в 3D в ваше собственное приложение. В этом разделе вы найдёте всю
информацию, необходимую для начала работы с этим API.
Этот эндпоинт позволяет создать новую задачу Мульти-изображение в 3D. Обратитесь к разделу
Объект задачи Мульти-изображение в 3D, чтобы увидеть, какие
свойства включены в объект задачи Мульти-изображение в 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-encoded data URI. Пример data URI: data:image/jpeg;base64,<ваши закодированные в base64 данные изображения>.
Для meshy-7.1 (или latest) первое изображение используется как основной (фронтальный) вид. Порядок остальных изображений не важен.
meshy-7 (устаревшее): используйте вместо неё meshy-7.1.
Name
geometry_resolution
Type
string
по умолчанию standard
Description
Этап генерации геометрии. 2k запускает Ultra-этап с разрешением 2048³. Требует meshy-7.1 или latest.
Доступные значения: standard, 2k
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, meshy-7.1 или latest. При 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-encoded data URI. Пример data URI: data:image/jpeg;base64,<ваши закодированные в base64 данные изображения>
Текстурирование по изображению может работать неоптимально, если между исходным ассетом и загруженным изображением есть существенные различия в геометрии. Для управления процессом текстурирования может использоваться только один из параметров: texture_image_url или texture_prompt. Если указаны оба параметра, по умолчанию для текстурирования модели будет использован texture_prompt.
Name
texture_image_urls
Type
string[]
Description
Предоставьте от 1 до 4 изображений, показывающих один и тот же объект с разных ракурсов, чтобы направить текстурирование. Первое изображение является основным (фронтальным) видом; порядок остальных видов (левый, задний, правый) не важен.
Каждый элемент принимает те же форматы, что и texture_image_url (общедоступный URL или base64 data URI, .jpg/.jpeg/.png).
Эти изображения направляют только текстурирование и не зависят от image_urls — оба списка могут содержать разные изображения и разное количество изображений.
Требует ai_modelmeshy-7.1 или latest. Не может сочетаться с texture_image_url или texture_prompt.
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: сгенерировать сетку с преобладанием четырёхугольников.
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
Укажите 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, meshy-7.1 или latest.
Name
remove_lighting
Type
boolean
по умолчанию true
Description
Удаляет блики и тени с текстуры базового цвета, обеспечивая более чистый результат, который лучше работает при пользовательских настройках освещения.
Поддерживается только когда ai_model равен meshy-6, meshy-7.1 или 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-зрение для автоматической оценки реальной высоты объекта и соответствующего изменения размера модели. Начало координат по умолчанию будет 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_urls, либо input_task_id.
Недопустимая входная задача: параметр input_task_id должен ссылаться на задачу Текст в изображение, Изображение в изображение или их вариант Мультивид со статусом SUCCEEDED.
Недопустимое количество изображений: image_urls должен содержать от 1 до 4 изображений, а texture_image_urls — от 1 до 4.
Недопустимый формат изображения: одно или несколько изображений в image_urls имеют неподдерживаемый формат.
Конфликтующие входные данные для текстурирования: texture_image_urls нельзя сочетать с texture_image_url или texture_prompt, и требуется should_texture: true.
Неподдерживаемая модель для мультивидовой текстуры: texture_image_urls требует ai_modelmeshy-7.1 или latest.
Недоступный URL: один или несколько элементов image_urls или texture_image_urls не удалось загрузить.
Неподдерживаемое разрешение для мульти-изображения на входе: geometry_resolution: "4k" недоступно для этого эндпоинта; используйте 2k или standard.
Name
401 - Unauthorized
Description
Ошибка аутентификации. Пожалуйста, проверьте свой API-ключ.
Name
402 - Payment Required
Description
Недостаточно кредитов для выполнения этой задачи.
Name
429 - Too Many Requests
Description
Вы превысили ограничение частоты запросов.
Request
POST
/openapi/v1/multi-image-to-3d
# Simple requestcurlhttps://api.meshy.ai/openapi/v1/multi-image-to-3d \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "image_urls": [ "<your publicly accessible image url or base64-encoded data URI>", "<your second publicly accessible image url or base64-encoded data URI>" ] }'# With Ultra 2K geometry, PBR texturing and GLB formatcurlhttps://api.meshy.ai/openapi/v1/multi-image-to-3d \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "image_urls": [ "<your publicly accessible image url or base64-encoded data URI>", "<your second publicly accessible image url or base64-encoded data URI>" ], "ai_model": "meshy-7.1", "geometry_resolution": "2k", "should_texture": true, "enable_pbr": true, "target_formats": ["glb"] }'
Этот эндпоинт позволяет получить задачу Мульти-изображение в 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-модели из нескольких изображений (от 1 до 4 включительно). Изображения должны быть одного и того же объекта, в идеале с разных ракурсов или углов.
Объект имеет следующие свойства:
Свойства
Name
id
Type
string
Description
Уникальный идентификатор задачи. Хотя в качестве реализации мы используем k-sortable UUID для идентификаторов задач, вам не следует делать никаких предположений о формате id.
Name
type
Type
string
Description
Тип задачи Мульти-изображение в 3D. Значение — multi-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 до применения remesh.
Доступно только если задача была создана с одновременно 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_urls
Type
string[]
Description
Скачиваемые ссылки на референсные изображения текстуры, которые использовались для создания задачи, в порядке их предоставления. Присутствует только если задача была создана с texture_image_urls.
Name
ultra_mode
Type
boolean
⚠ устаревший
Description
Устаревшее; используйте вместо этого geometry_resolution.
Name
geometry_resolution
Type
string
Description
Уровень Ultra, с которым выполнялась задача (2k); опускается для 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 по Гринвичу представляется как 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
Скачиваемая ссылка на изображение карты свечения.
Если задача создана с enable_pbr: false, или ai_model — это meshy-6-lite, это свойство будет опущено.
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 (кредиты возвращаются при неудаче).