Image to 3D API
Превратите изображение в 3D-модель, с текстурами или без них, в выбранных вами форматах. Отправьте изображение или используйте результат задачи Текст в изображение или Изображение в изображение.
Создание задачи Изображение в 3D
Создаёт задачу Изображение в 3D. Задача выполняется в фоновом режиме. О том, сколько обычно занимает выполнение задачи, см. Время обработки.
Request
# Simple request with required params
curl 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 Ultra 4K geometry, remesh, PBR, and A-pose
curl 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>",
"ai_model": "meshy-7.1",
"geometry_resolution": "4k",
"enable_pbr": true,
"should_remesh": true,
"target_polycount": 100000,
"should_texture": true,
"pose_mode": "a-pose",
"target_formats": ["glb"]
}'
# Textured with Meshy N1 from the input image
curl 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>",
"ai_model": "meshy-7.1",
"texture_model": "meshy-n1"
}'
Response
{
"result": "018a210d-8ba4-705c-b111-1f1776f7f578"
}
Параметры
- Name
- input_task_id
- Type
- string
- Обязательный
- Description
Обязателен, если не отправлен
image_url. ID задачи Текст в изображение или Изображение в изображение, изображение из которой вы хотите использовать в качестве входных данных. Задача должна быть создана вами через API, иметь статусSUCCEEDEDи выдать ровно одно изображение.
- Name
- image_url
- Type
- string
- Обязательный
- Description
Обязателен, если не отправлен
input_task_id. Изображение для преобразования в 3D-модель, в виде публичного URL или base64-кодированного data URI, напримерdata:image/jpeg;base64,<ваши base64-кодированные данные изображения>. Если отправлены оба параметра, Meshy используетinput_task_id.Изображение должно быть файлом JPG, JPEG, PNG или WebP размером не более 20 МБ, не менее 32 пикселей по каждой стороне и не более 178 956 970 пикселей (ширина × высота).
- Name
- model_type
- Type
- string
- по умолчанию standard
- Description
Тип создаваемой 3D-сетки.
Доступные значения:
standard: высокодетализированная сеткаsmart-topology: сетка от модели Smart Topology, которую вы выбираете с помощьюai_model(meshy-t2илиmeshy-t2.5)
При
smart-topologyMeshy игнорируетshould_remesh,save_pre_remeshed_modelиdecimation_mode, и принимает толькоtopology: triangle.
- Name
- ai_model
- Type
- string
- по умолчанию latest
- Description
ИИ-модель, создающая 3D-модель. Доступные значения зависят от
model_type.Стандартные модели (
model_type: standard):latest: Meshy 7.1meshy-7.1meshy-6meshy-6-litemeshy-7(устаревшее): используйте вместо неёmeshy-7.1
Модели Smart Topology (
model_type: smart-topology) создают треугольники, с числом граней, которое можно задать черезtarget_polycount:meshy-t2: более чистая топология и изначально разделённые частиmeshy-t2.5(по умолчанию): более чёткая детализация для игровых ассетов
- Name
- geometry_resolution
- Type
- string
- по умолчанию standard
- Description
Проход генерации геометрии.
Доступные значения:
standard2k: запускает проход Ultra при разрешении 2048³4k: запускает проход Ultra при разрешении 4096³, для максимальной детализации поверхности
2kтребуетmeshy-7.1,latestили устаревшуюmeshy-7.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
Создавать ли текстуры.
trueвозвращает текстурированную модель, аfalseпропускает текстурирование и возвращает нетекстурированную сетку.
should_texture = true- Name
- texture_model
- Type
- string
- по умолчанию depends on ai_model
- Description
ИИ-модель, которая текстурирует 3D-модель в рамках той же задачи. Если не указать, используется модель текстурирования по умолчанию для вашей
ai_model. Это не влияет на стоимость в кредитах.Доступные значения:
meshy-7: Meshy 7, с PBR-картами и текстурами до 8Kmeshy-n1: Meshy N1, 2K-текстура базового цвета только по референсным изображениямmeshy-6-lite: Meshy 6 Lite, 2K-текстура по минимальной ценеmeshy-6: Meshy 6, только как значение по умолчанию дляai_model: meshy-6
Каждая
ai_modelпринимаетmeshy-7,meshy-n1иmeshy-6-lite. Опция, не поддерживаемая выбранной моделью текстурирования, возвращает400. Приmeshy-n1сгенерированная модель с более чем 7 999 999 треугольниками приводит к сбою задачи, и Meshy возвращает её кредиты. Приshould_texture: falseMeshy игнорируетtexture_model, но неизвестное значение всё равно возвращает400.О том, что делает каждая модель текстурирования и какую выбрать, см. Модели.
- Name
- enable_pbr
- Type
- boolean
- по умолчанию false
- Description
Создавать ли также PBR-карты (металличность, шероховатость и нормали) помимо базового цвета.
trueтребуетshould_texture: trueи возвращает400приshould_texture: false. Приtexture_model: meshy-n1значениеtrueвозвращает400.Модель текстурирования Meshy 6 также создаёт карту излучения (emission), кроме случая
texture_resolution: 8k.
- Name
- texture_resolution
- Type
- string
- по умолчанию 2k
- Description
Размер текстуры базового цвета. Более крупная текстура передаёт больше деталей поверхности.
Доступные значения:
2k: 2048×20484k: 4096×40968k: 8192×8192
4kи8kтребуют модель текстурирования Meshy 7 или Meshy 6 и возвращают400при использовании других моделей. При8kMeshy не создаёт карту излучения.
- Name
- hd_texture
- Type
- boolean
- ⚠ устаревший
- по умолчанию false
- Description
Используйте вместо этого
texture_resolution.hd_texture: trueэквивалентноtexture_resolution: "4k". Если отправлены оба параметра, Meshy используетtexture_resolution.
- Name
- texture_prompt
- Type
- string
- Description
Текст, направляющий создание текстуры, до 800 символов. Более длинный текст возвращает
400. Приtexture_model: meshy-n1отправка этого параметра возвращает400.
- Name
- texture_image_url
- Type
- string
- Description
Изображение, направляющее создание текстуры, в виде публичного URL или base64-кодированного data URI, например
data:image/jpeg;base64,<ваши base64-кодированные данные изображения>. Изображение должно быть файлом JPG, JPEG, PNG или WebP размером не более 20 МБ, не менее 32 пикселей по каждой стороне и не более 178 956 970 пикселей (ширина × высота).Meshy направляет создание текстуры только по одному из параметров:
texture_promptилиtexture_image_url. Если отправлены оба, Meshy используетtexture_prompt. О стоимости текстурирования в кредитах см. Цены.При
texture_model: meshy-n1Meshy текстурирует с использованием этого изображения как вида спереди, либо входного изображения, если этот параметр не указан.Текстурирование по изображению может работать плохо, если форма изображения сильно отличается от геометрии 3D-модели.
- Name
- should_remesh
- Type
- boolean
- по умолчанию true (meshy-6-lite), false (other models)
- Description
Запускать ли этап ремешинга. Для получения 3D-модели максимального качества установите значение
false.
should_remesh = true- Name
- topology
- Type
- string
- по умолчанию triangle
- Description
Тип граней ремешированной модели.
Доступные значения:
quad: сетка с преобладанием четырёхугольниковtriangle: децимированная треугольная сетка
Вывод Smart Topology состоит только из треугольников, поэтому
quadвместе сmeshy-t2илиmeshy-t2.5возвращает400. Приtexture_model: meshy-n1значениеquadвозвращает400, когда модель подвергается ремешингу, чтоmeshy-6-liteделает по умолчанию.
- Name
- decimation_mode
- Type
- integer
- Description
Адаптивное число граней по уровню. При установке этого параметра Meshy игнорирует
target_polycount.Доступные значения:
1: ультра2: высокий3: средний4: низкий
- Name
- save_pre_remeshed_model
- Type
- boolean
- по умолчанию false
- Description
Сохранять ли также GLB-файл модели в том виде, в каком она была до этапа ремешинга. Meshy возвращает его в
model_urls.pre_remeshed_glb.
- Name
- target_polycount
- Type
- integer
- Description
Целевое количество граней. Результат может отличаться от целевого значения в зависимости от геометрии модели.
Этот параметр применяется в двух разных случаях:
- Ремешинг: когда
should_remeshравенtrueдля моделиstandard, Meshy децимирует сетку примерно до этого числа. Если заданdecimation_mode, Meshy использует его и игнорируетtarget_polycount. - Smart Topology: когда
model_typeравенsmart-topology, аai_model—meshy-t2илиmeshy-t2.5, Meshy создаёт модель с этим числом граней. Ремешинг не выполняется, иshould_remeshне требуется.
Диапазон и значение по умолчанию зависят от случая:
Случай Диапазон По умолчанию Ремешинг 100–30000030000meshy-t2100–150004000meshy-t2.5100–3000015000Значение вне диапазона возвращает
400.- Ремешинг: когда
- Name
- symmetry_mode
- Type
- string
- ⚠ устаревший
- по умолчанию auto
- Description
Не указывайте этот параметр, так как он не влияет на результат. Его значения управляли симметрией во время генерации:
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
- surface_mode
- Type
- string
- ⚠ устаревший
- Description
Используйте вместо этого
ai_model. Этот параметр не влияет на результат, так как выбиравшийся им способ генерации модели больше не используется.Допустимые значения:
organicиhard. Любое другое значение возвращает400.
- Name
- image_enhancement
- Type
- boolean
- по умолчанию true
- Description
Оптимизировать ли входное изображение перед генерацией.
falseсохраняет исходный внешний вид входного изображения без какой-либо стилевой обработки.Работает только с
meshy-6,meshy-7.1илиlatest. Приmeshy-6-liteилиmodel_type: smart-topologyвозвращает400.
- Name
- remove_lighting
- Type
- boolean
- по умолчанию true
- Description
Удалять ли блики и тени из текстуры базового цвета. Результат получается чище и лучше подходит для использования с собственным освещением.
Действует только с моделью текстурирования Meshy 6, а модель текстурирования, не поддерживающая эту функцию, возвращает
400при значенииtrue. Приmodel_type: smart-topology, либо приai_model: meshy-6-liteи её модели текстурирования по умолчанию, отправка этого параметра возвращает400.
- Name
- moderation
- Type
- boolean
- по умолчанию false
- Description
Проверять ли эти входные данные на наличие вредоносного контента перед генерацией:
image_urltexture_image_urltexture_prompt
Если Meshy обнаруживает вредоносный контент, запрос возвращает
400, и Meshy не создаёт задачу.
- Name
- target_formats
- Type
- string[]
- Description
Форматы файлов для создания. Meshy создаёт и возвращает только перечисленные вами форматы, что может сократить время выполнения задачи. Если параметр не указан, Meshy создаёт все форматы, кроме
3mf, который вы получите только если укажете его явно.Доступные значения:
glbobjfbxstlusdz3mf
- Name
- auto_size
- Type
- boolean
- по умолчанию false
- Description
Оценивать ли реальную высоту объекта с помощью ИИ-зрения и масштабировать модель под неё. Meshy помещает начало координат внизу, если не задан
origin_at.
- Name
- alpha_thumbnail
- Type
- boolean
- по умолчанию false
- Description
Создавать ли также превью с прозрачным фоном (RGBA), которое возвращается в
alpha_thumbnail_urlпри получении задачи.thumbnail_urlпри этом не изменяется.
- Name
- multi_view_thumbnails
- Type
- boolean
- по умолчанию false
- Description
Создавать ли также превью с видами спереди, справа, сзади и слева, которые возвращаются в
thumbnail_urlsпри получении задачи.thumbnail_urlпри этом не изменяется и по-прежнему показывает вид спереди. Это добавляет к задаче примерно 5 секунд.
auto_size = true- Name
- origin_at
- Type
- string
- по умолчанию bottom
- Description
Где разместить начало координат модели:
bottomилиcenter.
Возвращаемые данные
Поле result в ответе содержит ID новой задачи Изображение в 3D.
Варианты сбоя
- Name
400 - Bad Request- Description
Запрос не может быть выполнен. Сообщение об ошибке указывает, в чём проблема. Например:
- Отсутствует параметр: не отправлен ни
image_url, ниinput_task_id. - Недопустимая входная задача:
input_task_idне является задачей Текст в изображение или Изображение в изображение со статусомSUCCEEDED, выдавшей ровно одно изображение. - Недопустимый формат изображения: изображение
image_urlне является файлом JPG, JPEG, PNG или WebP. - Недоступный URL: Meshy не может загрузить изображение
image_url, так как URL возвращает404или превышено время ожидания. - Слишком большое изображение: изображение
image_urlилиtexture_image_urlпревышает 20 МБ. - Недопустимый размер изображения: изображение
image_urlилиtexture_image_urlимеет сторону короче 32 пикселей или более 178 956 970 пикселей (ширина × высота). - Недопустимый data URI: строка base64 имеет неверный формат.
- Недопустимая комбинация параметров:
enable_pbrравенtrue, аshould_textureравенfalse. - Неподдерживаемая модель для Ultra:
geometry_resolutionравен2kили4kприai_model, который не может это выполнить. - Неподдерживаемая модель для параметров изображения: один из вариантов:
image_enhancementбыл отправлен вместе сai_model: "meshy-6-lite"илиmodel_type: "smart-topology".remove_lightingбыл отправлен вместе сmodel_type: "smart-topology", либо сai_model: "meshy-6-lite"и её моделью текстурирования по умолчанию.
- Недопустимая модель текстурирования:
texture_modelне является одним из доступных значений. - Модель текстурирования недоступна:
texture_modelравенmeshy-6приai_model, отличной отmeshy-6. Отправьтеmeshy-7,meshy-n1илиmeshy-6-lite, либо не указывайте этот параметр. - Неподдерживаемая опция для модели текстурирования: запрос запрашивает у модели текстурирования опцию, которую она не поддерживает, например
enable_pbr: trueсmeshy-n1или текстуру4kсmeshy-6-lite. См. Модели.
Исправьте запрос и отправьте его снова. См. Ошибки.
- Отсутствует параметр: не отправлен ни
- Name
401 - Unauthorized- Description
API-ключ отсутствует или недействителен. Проверьте заголовок
Authorization.
- Name
402 - Payment Required- Description
Например:
- Недостаточно кредитов: на счёте недостаточно кредитов для этой задачи, либо достигнут лимит кредитов. Проверьте баланс кредитов и повторите попытку.
- Бесплатный план: для создания задачи требуется платный план. Обновите свой план в настройках подписки, затем повторите попытку.
- Name
403 - Forbidden- Description
Модерация контента заблокировала prompt или входное изображение. Измените входные данные и повторите попытку.
- Name
404 - Not Found- Description
input_task_idне соответствует ни одной из ваших задач. Проверьте ID задачи и отправьте запрос снова.
- Name
429 - Too Many Requests- Description
Превышено ограничение частоты запросов. Подождите и повторите попытку. См. Ограничения частоты.
Получить задачу Изображение в 3D
Возвращает задачу Изображение в 3D по её ID.
Request
curl https://api.meshy.ai/openapi/v1/image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "image-to-3d",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
"fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
"obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
"usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
"stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***",
"pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
"thumbnail_urls": {
"front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
"right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
"back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
"left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
},
"texture_prompt": "",
"progress": 100,
"started_at": 1692771667037,
"created_at": 1692771650657,
"expires_at": 1692771679037,
"finished_at": 1692771669037,
"status": "SUCCEEDED",
"texture_urls": [
{
"base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
"metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
"normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
"roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX",
"emission": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX"
}
],
"preceding_tasks": 0,
"task_error": null,
"consumed_credits": 30
}
Параметры
- Name
- id
- Type
- path
- Description
ID задачи из ответа на запрос создания.
Возвращает
Удаление задачи Изображение в 3D
Безвозвратно удаляет задачу Изображение в 3D, включая её модели и данные. Отменить удаление невозможно.
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
// 200 OK on success, with an empty body.
//
// 409 Conflict when the task is IN_PROGRESS. The task keeps 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."
}
Параметры пути
- Name
- id
- Type
- path
- Description
ID задачи, которую нужно удалить.
Статус задачи
Удаление задачи со статусом PENDING возвращает кредиты, потраченные при её создании.
Задачу со статусом IN_PROGRESS удалить нельзя. Запрос вернёт 409 Conflict,
а задача продолжит выполняться. Meshy не возвращает кредиты за уже начатую задачу,
поэтому её удаление означало бы потерю и кредитов, и результата. Дождитесь, пока
статус станет SUCCEEDED, FAILED или CANCELED, а затем удалите её.
Удаление задачи в финальном статусе (SUCCEEDED, FAILED или CANCELED)
не возвращает потраченные кредиты.
Возвращает
200 OK, когда задача удалена, или 409 Conflict, когда задача имеет статус
IN_PROGRESS.
Список задач Изображение в 3D
Возвращает список ваших задач Изображение в 3D.
Request
curl https://api.meshy.ai/openapi/v1/image-to-3d?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "image-to-3d",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
"fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
"obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
"usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
"pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
"thumbnail_urls": {
"front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
"right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
"back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
"left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
},
"texture_prompt": "",
"progress": 100,
"started_at": 1692771667037,
"created_at": 1692771650657,
"expires_at": 1692771679037,
"finished_at": 1692771669037,
"status": "SUCCEEDED",
"texture_urls": [
{
"base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
"metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
"normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
"roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX",
"emission": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX"
}
],
"preceding_tasks": 0,
"task_error": null,
"consumed_credits": 30
}
]
Параметры
- Name
- page_num
- Type
- integer
- по умолчанию 1
- Description
Номер страницы, до
255. Большее значение вернёт400.
- Name
- page_size
- Type
- integer
- по умолчанию 10
- Description
Количество задач на странице, до
100.
- Name
- sort_by
- Type
- string
- Description
Порядок сортировки.
Доступные значения:
+created_at: сначала старые-created_at: сначала новые
Возвращает
Постраничный список объектов задач Изображение в 3D.
Стриминг задачи Изображение в 3D
Передаёт обновления задачи Изображение в 3D в виде потока Server-Sent Events (SSE).
Request
curl -N https://api.meshy.ai/openapi/v1/image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response Stream
// Error event example
event: error
data: {
"status_code": 404,
"message": "Task not found"
}
// Message event examples illustrate task progress.
// These examples are shortened. Each event holds the full task object.
event: message
data: {
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"progress": 0,
"status": "PENDING"
}
event: message
data: {
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "image-to-3d",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
"fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
"obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
"usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
"stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***",
"pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
"thumbnail_urls": {
"front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
"right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
"back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
"left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
},
"texture_prompt": "",
"progress": 100,
"started_at": 1692771667037,
"created_at": 1692771650657,
"expires_at": 1692771679037,
"finished_at": 1692771669037,
"status": "SUCCEEDED",
"texture_urls": [
{
"base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
"metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
"normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
"roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX",
"emission": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX"
}
],
"preceding_tasks": 0,
"task_error": null,
"consumed_credits": 30
}
Параметры
- Name
- id
- Type
- path
- Description
ID задачи из ответа на создание.
Возвращает
Поток объектов задачи Изображение в 3D в формате Server-Sent Events.
Каждое событие содержит полный объект задачи — в том же виде, в котором его возвращает эндпоинт Get. Пока задача находится в статусе PENDING или IN_PROGRESS, поля результата ещё не имеют значений.
Объект задачи Изображение в 3D
Объект задачи Изображение в 3D описывает одну генерацию 3D-модели из изображения. Он содержит статус, прогресс и файлы модели, когда задача завершается успешно.
Свойства
Example Image to 3D Task Object
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "image-to-3d",
"model_urls": {
"glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***",
"fbx": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***",
"obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
"usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
"stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***",
"pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
},
"thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
"thumbnail_urls": {
"front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
"right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
"back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
"left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
},
"texture_prompt": "",
"texture_image_url": "",
"progress": 100,
"started_at": 1692771667037,
"created_at": 1692771650657,
"expires_at": 1692771679037,
"finished_at": 1692771669037,
"status": "SUCCEEDED",
"texture_urls": [
{
"base_color": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***",
"metallic": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX",
"normal": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX",
"roughness": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX",
"emission": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX"
}
],
"preceding_tasks": 0,
"task_error": null,
"consumed_credits": 30
}
- Name
- id
- Type
- string
- Description
ID задачи. Рассматривайте его как непрозрачную строку и не полагайтесь на её формат.
- Name
- type
- Type
- string
- Description
Тип задачи, всегда
image-to-3d.
- Name
- model_urls
- Type
- object
- Description
URL-адреса для скачивания сгенерированной 3D-модели, по одному на каждый формат файла. Для формата, который задача не сгенерировала, ключ отсутствует, а не содержит пустую строку.
- 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. Присутствует только если
target_formatsвключает3mf.
- Name
pre_remeshed_glb- Type
- string
- Description
Файл GLB до ремешинга. Присутствует только если вы создали задачу с
should_remesh: trueиsave_pre_remeshed_model: trueодновременно.
- Name
- thumbnail_url
- Type
- string
- Description
URL-адрес для скачивания предварительного изображения 3D-модели. Когда присутствует
thumbnail_urls, это то же изображение, что иthumbnail_urls.front. Meshy сохраняет это поле для обратной совместимости.
- Name
- alpha_thumbnail_url
- Type
- string
- Description
URL-адрес для скачивания версии
thumbnail_urlс прозрачным фоном (RGBA). Присутствует только если вы создали задачу сalpha_thumbnail: trueи Meshy отрендерил прозрачное превью.
- Name
- thumbnail_urls
- Type
- object
- Description
URL-адреса для скачивания превью 3D-модели с четырёх сторон. Каждое значение — это подписанный URL на PNG-изображение 512×512, отрендеренное с теми же материалами и освещением, что и
thumbnail_url. Используйте их, чтобы просматривать модель с нескольких ракурсов, например в пакетном конвейере, без скачивания GLB.Присутствует только если вы создали задачу с
multi_view_thumbnails: trueи задача достигла статусаSUCCEEDED. Задачи, созданные безmulti_view_thumbnails: true, не включают это поле.- 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
- 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
Время начала задачи, в миллисекундах Unix. Значение равно
0, пока задача не началась.
- Name
- created_at
- Type
- timestamp
- Description
Время создания задачи, в миллисекундах Unix.
- Name
- expires_at
- Type
- timestamp
- Description
Время истечения срока действия результата задачи, в миллисекундах Unix.
- Name
- finished_at
- Type
- timestamp
- Description
Время завершения задачи, в миллисекундах Unix. Значение равно
0, пока задача не завершится.
- Name
- status
- Type
- string
- Description
Статус задачи, один из
PENDING,IN_PROGRESS,SUCCEEDED,FAILEDилиCANCELED.
- Name
- texture_urls
- Type
- array
- Description
Карты текстур, сгенерированные задачей, в виде массива объектов. Обычно содержит один объект со следующими полями:
- 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-адрес для скачивания карты эмиссии. Meshy включает её только если вы создали задачу со всеми следующими параметрами:
ai_model: meshy-6, с текстурной моделью по умолчаниюenable_pbr: truetexture_resolutionсо значением2kили4k
- Name
- preceding_tasks
- Type
- integer
- Description
Количество задач перед данной в очереди. Значение имеет смысл только пока задача находится в статусе
PENDING.
- Name
- task_error
- Type
- object
- Description
Подробности ошибки, если задача завершилась неудачно. Значение равно
null, если статус неFAILED. См. Ошибки.
- Name
- consumed_credits
- Type
- integer
- Description
Количество кредитов, использованных задачей. Присутствует, когда статус
PENDING,IN_PROGRESSилиSUCCEEDED. Равно0для задачи со статусомFAILED, так как Meshy возвращает кредиты, если задача завершается неудачно.