Text to Image API
Генерируйте изображения по текстовому prompt с помощью AI-моделей Meshy.
Text to Image создаёт изображения. Чтобы создать 3D-модель на основе того, что изображено на картинке, используйте Изображение в 3D. Чтобы создать объект, который можно подержать в руках или напечатать на основе фотографии, используйте API Creative Lab. Они сначала создают изображение-прототип, а затем строят на его основе 3D-модель, например брелок, магнит на холодильник, фигурку, лампу или колпачок для клавиши.
Создание задачи Текст в изображение
Создаёт задачу Текст в изображение. Задача выполняется в фоновом режиме. О том, сколько обычно занимает выполнение задачи, см. Время обработки.
Request
# Generate an image from a text prompt
curl https://api.meshy.ai/openapi/v1/text-to-image \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"ai_model": "nano-banana",
"prompt": "A majestic dragon soaring through clouds at sunset",
"aspect_ratio": "16:9"
}'
Response
{
"result": "018a210d-8ba4-705c-b111-1f1776f7f578"
}
Параметры
- Name
- ai_model
- Type
- string
- Обязательный
- Description
ИИ-модель, которая генерирует изображение. Цены зависят от модели. О ценах см. Цены.
Доступные значения:
nano-banana: стандартная модельnano-banana-2: более функциональна, чемnano-banananano-banana-2-lite: облегчённая версияnano-banana-2nano-banana-2-1: Nano Banana 2.1nano-banana-pro: Pro-модель с более высоким качеством. Требует план Pro или выше. На более низком плане возвращает402.gpt-image-2: OpenAI GPT Image 2gpt-image-2-5-flare: OpenAI GPT Image 2.5 (Flare)gpt-image-2-5-sunburst: OpenAI GPT Image 2.5 (Sunburst)
- Name
- prompt
- Type
- string
- Обязательный
- Description
Текст, описывающий изображение, которое нужно сгенерировать. Подробное описание даёт лучшие результаты.
- Name
- generate_multi_view
- Type
- boolean
- по умолчанию false
- Description
Указывает, нужно ли сгенерировать мультивид-изображение, показывающее объект с нескольких ракурсов. Если
true, нельзя отправлятьaspect_ratio. Отправка обоих параметров возвращает400.
- Name
- pose_mode
- Type
- string
- Description
Поза для персонажа,
a-poseилиt-pose. Оставьте пустым, если поза не нужна.То, как работает поза, зависит от
ai_model:nano-banana-2,nano-banana-2-liteиnano-banana-2-1: Meshy сохраняет выбранную вами модель. Изображение всегда имеет соотношение3:4, и Meshy игнорируетaspect_ratio.nano-bananaиnano-banana-pro: Meshy генерирует изображение с помощьюnano-banana-pro, поэтому в полеai_modelзадачи отображаетсяnano-banana-pro. Для этого требуется план Pro или выше. Изображение всегда имеет соотношение3:4, и Meshy игнорируетaspect_ratio.- Модели GPT Image (
gpt-image-2,gpt-image-2-5-flareиgpt-image-2-5-sunburst): Meshy сохраняет выбранную вами модель и вашaspect_ratio.
- Name
- aspect_ratio
- Type
- string
- по умолчанию 1:1
- Description
Форма изображения. Значения, которые можно отправить, зависят от
ai_model.Доступные значения:
1:1: квадрат16:9: широкоформатный альбомный9:16: широкоформатный портретный4:3: стандартный альбомный3:4: стандартный портретный3:2: альбомный, только для моделей GPT Image2:3: портретный, только для моделей GPT Image
Модели
nano-banana(nano-banana,nano-banana-2,nano-banana-2-lite,nano-banana-2-1иnano-banana-pro) возвращают400для3:2и2:3.
- Name
- remove_background
- Type
- boolean
- по умолчанию false
- Description
Указывает, нужно ли удалить фон изображения. При
trueвозвращается прозрачный PNG в формате RGBA, чтобы вы могли разместить объект на любом фоне.
Возвращаемые значения
Поле result ответа содержит ID новой задачи Текст в изображение.
Варианты сбоя
- Name
400 - Bad Request- Description
Запрос не может быть выполнен. Сообщение об ошибке указывает, какая проблема была обнаружена. Например:
- Отсутствует параметр: отсутствует обязательный параметр, например
ai_modelилиprompt. - Недопустимый параметр:
ai_modelилиaspect_ratioне являются одним из допустимых значений. - Конфликт:
aspect_ratioбыл отправлен вместе сgenerate_multi_view: true.
Исправьте запрос и отправьте его снова. См. Ошибки.
- Отсутствует параметр: отсутствует обязательный параметр, например
- Name
401 - Unauthorized- Description
API-ключ отсутствует или недействителен. Проверьте заголовок
Authorization.
- Name
402 - Payment Required- Description
Аккаунт не может выполнить эту задачу. Например:
- Бесплатный план: для создания задачи требуется платный план. Обновите свой план в настройках подписки, затем повторите попытку.
- Недостаточно кредитов: на аккаунте недостаточно кредитов для выполнения этой задачи (
Insufficient funds), либо аккаунт достиг лимита кредитов. - Требуется план: в запросе используется
nano-banana-pro, либоpose_modeвместе сnano-banana, на плане ниже Pro (Only Pro and above users can use nano-banana-proилиOnly Pro and above users can use A/T pose feature (requires nano-banana-pro)).
Проверьте баланс кредитов и свой план, затем повторите попытку.
- Name
429 - Too Many Requests- Description
Вы превысили ограничение частоты. Подождите, затем повторите попытку. См. Ограничения частоты.
Get a Text to Image task
Возвращает задачу Текст в изображение по её ID.
Request
curl https://api.meshy.ai/openapi/v1/text-to-image/018a210d-8ba4-705c-b111-1f1776f7f578 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "text-to-image",
"ai_model": "nano-banana",
"prompt": "A majestic dragon soaring through clouds at sunset",
"status": "SUCCEEDED",
"progress": 100,
"created_at": 1692771650657,
"started_at": 1692771667037,
"finished_at": 1692771669037,
"expires_at": 1692771679037,
"image_urls": [
"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/image.png?Expires=***"
]
}
Параметры
- Name
- id
- Type
- path
- Description
ID задачи из ответа на создание.
Возвращает
Удаление задачи Текст в изображение
Безвозвратно удаляет задачу Текст в изображение, включая её изображения и данные. Отменить удаление нельзя.
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/text-to-image/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.
Получение списка задач Text to Image
Возвращает список ваших задач Text to Image и Изображение в изображение. Поле type каждой задачи указывает, к какому из этих двух типов она относится.
Request
curl https://api.meshy.ai/openapi/v1/text-to-image?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "text-to-image",
"ai_model": "nano-banana",
"prompt": "A majestic dragon soaring through clouds at sunset",
"status": "SUCCEEDED",
"progress": 100,
"created_at": 1692771650657,
"started_at": 1692771667037,
"finished_at": 1692771669037,
"expires_at": 1692771679037,
"image_urls": [
"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/image.png?Expires=***"
]
}
]
Параметры
- Name
- page_num
- Type
- integer
- Description
Номер страницы, которую нужно вернуть. Начинается с
1и по умолчанию равен1.
- Name
- page_size
- Type
- integer
- Description
Количество задач на странице, до
100. По умолчанию10.
- Name
- sort_by
- Type
- string
- Description
Порядок сортировки.
Доступные значения:
+created_at: сначала самые старые-created_at: сначала самые новые
Возвращаемые значения
Постраничный список объектов задач в том же формате, что и объект задачи Text to Image.
Stream a Text to Image task
Передаёт обновления задачи Текст в изображение в виде потока событий Server-Sent Events (SSE).
Request
curl -N https://api.meshy.ai/openapi/v1/text-to-image/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": "text-to-image",
"ai_model": "nano-banana",
"prompt": "A majestic dragon soaring through clouds at sunset",
"status": "SUCCEEDED",
"progress": 100,
"created_at": 1692771650657,
"started_at": 1692771667037,
"finished_at": 1692771669037,
"expires_at": 1692771679037,
"image_urls": [
"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/image.png?Expires=***"
]
}
Параметры
- Name
- id
- Type
- path
- Description
ID задачи из ответа на создание.
Возвращает
Поток объектов задачи Текст в изображение в виде событий Server-Sent Events.
Каждое событие содержит полный объект задачи, в том же виде, в каком его возвращает эндпоинт Get. Пока задача имеет статус PENDING или IN_PROGRESS, её поля с результатами ещё не содержат значений.
Объект задачи Text to Image
Объект задачи Text to Image описывает одну генерацию изображения из текстового prompt. Он содержит статус, progress и URL-адреса изображений после успешного завершения задачи.
Свойства
Example Text to Image Task Object
{
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "text-to-image",
"ai_model": "nano-banana",
"prompt": "A majestic dragon soaring through clouds at sunset",
"status": "SUCCEEDED",
"progress": 100,
"created_at": 1692771650657,
"started_at": 1692771667037,
"finished_at": 1692771669037,
"expires_at": 1692771679037,
"image_urls": [
"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/image.png?Expires=***"
],
"task_error": null,
"consumed_credits": 3
}
- Name
- id
- Type
- string
- Description
ID задачи. Рассматривайте его как непрозрачную строку и не полагайтесь на её формат.
- Name
- type
- Type
- string
- Description
Тип задачи, всегда
text-to-image.
- Name
- ai_model
- Type
- string
- Description
Модель ИИ, использованная задачей.
Возможные значения:
nano-banananano-banana-2nano-banana-2-litenano-banana-2-1nano-banana-progpt-image-2gpt-image-2-5-flaregpt-image-2-5-sunburst
- Name
- prompt
- Type
- string
- Description
Текстовый prompt, с которым вы создали задачу.
- Name
- status
- Type
- string
- Description
Статус задачи, один из
PENDING,IN_PROGRESS,SUCCEEDED,FAILEDилиCANCELED.
- Name
- progress
- Type
- integer
- Description
Насколько задача выполнена, в процентах. Значение равно
0, пока задача не началась, и100, когда она успешно завершена.
- Name
- created_at
- Type
- timestamp
- Description
Время создания задачи, в миллисекундах Unix.
- Name
- started_at
- Type
- timestamp
- Description
Время начала выполнения задачи, в миллисекундах Unix. Отсутствует, пока задача не началась.
- Name
- finished_at
- Type
- timestamp
- Description
Время завершения задачи, в миллисекундах Unix. Отсутствует, пока задача не завершена.
- Name
- expires_at
- Type
- timestamp
- Description
Время истечения срока действия результатов задачи, в миллисекундах Unix. Отсутствует, пока задача не завершена.
- Name
- preceding_tasks
- Type
- integer
- Description
Количество задач перед этой в очереди. Значение имеет смысл только пока задача находится в статусе
PENDING. Это поле опускается, если значение равно0.
- Name
- image_urls
- Type
- array
- Description
URL-адреса для скачивания сгенерированных изображений. При
generate_multi_view: trueмассив содержит по одному URL на ракурс, обычно три. Если Meshy не может разделить все ракурсы, он возвращает меньше, и задача всё равно завершается успешно. В остальных случаях массив содержит один URL.
- Name
- task_error
- Type
- object
- Description
Детали ошибки при неудачном завершении задачи. Значение
null, если статус неFAILED. См. Ошибки.
- Name
- consumed_credits
- Type
- integer
- Description
Количество кредитов, использованных задачей. Присутствует, когда статус
PENDING,IN_PROGRESSилиSUCCEEDED. Для задачи со статусомFAILEDзначение равно0, так как Meshy возвращает кредиты при неудачном завершении задачи.