Text to Image API
Генеруйте зображення з текстового prompt за допомогою AI-моделей Meshy.
Текст у зображення створює зображення. Щоб створити 3D-модель із того, що зображено на картинці, використовуйте Зображення у 3D. Щоб створити об'єкт, який можна тримати в руках або надрукувати з фотографії, використовуйте Creative Lab APIs. Вони створюють прототип зображення, а потім будують на його основі 3D-модель, наприклад брелок, магніт на холодильник, фігурку, лампу або ковпачок клавіші.
Створення завдання Text to Image
Створює завдання Текст у зображення. Завдання виконується у фоновому режимі. Про типову тривалість виконання завдання див. Час обробки.
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
AI-модель, яка генерує зображення. Ціни відрізняються залежно від моделі. Щодо цін див. Ціни.
Доступні значення:
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. Не вказуйте, якщо поза не потрібна.Робота pose_mode залежить від
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повертає прозорий RGBA PNG, щоб можна було розмістити об’єкт на будь-якому фоні.
Результат
Поле 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
Перевищено обмеження частоти. Зачекайте, потім повторіть спробу. Див. Обмеження частоти.
Отримати задачу Текст у зображення
Повертає задачу Текст у зображення за її 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
Ідентифікатор завдання, яке потрібно видалити.
Статус завдання
Видалення завдання зі статусом PENDING повертає кредити, витрачені під час його створення.
Завдання зі статусом IN_PROGRESS видалити неможливо. Запит поверне 409 Conflict,
а завдання продовжить виконуватися. Meshy не повертає кредити за завдання, яке вже
почало виконуватися, тому видалення коштувало б вам і кредитів, і результату. Зачекайте,
поки воно досягне статусу SUCCEEDED, FAILED або CANCELED, а потім видаліть його.
Видалення завдання в кінцевому статусі (SUCCEEDED, FAILED або CANCELED)
не повертає витрачені кредити.
Повертає
200 OK, коли завдання видалено, або 409 Conflict, коли завдання має статус
IN_PROGRESS.
Отримати список завдань 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
Об'єкт завдання Текст у зображення описує одну генерацію зображення з текстового 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 повертає кредити, якщо завдання завершується невдало.