API Зображення у зображення — це функція, яка дозволяє інтегрувати можливості штучного інтелекту Meshy для редагування зображень у власний застосунок. Перетворюйте та редагуйте наявні зображення за допомогою референсних зображень і текстових запитів разом із нашими потужними моделями ШІ.
Ця кінцева точка дозволяє створити нове завдання Зображення у зображення. Зверніться до
Об'єкт завдання Зображення у зображення, щоб побачити, які
властивості включені в об'єкт завдання Зображення у зображення.
Параметри
Name
ai_model
Type
string
Обов'язковий
Description
ID моделі, яка буде використана для генерації зображення.
Доступні значення:
nano-banana: Стандартна модель (3 кредити за зображення)
nano-banana-2: Збалансована модель з потужнішими можливостями, ніж стандартна (6 кредитів за зображення)
nano-banana-pro: Про-модель з покращеною якістю (9 кредитів за зображення)
gpt-image-2: OpenAI GPT Image 2, модель високоточного редагування зображень (12 кредитів за зображення)
gpt-image-2-5-flare: OpenAI GPT Image 2.5 (Flare), модель високоточного редагування зображень (12 кредитів за зображення)
gpt-image-2-5-sunburst: OpenAI GPT Image 2.5 (Sunburst), модель високоточного редагування зображень (12 кредитів за зображення)
Name
prompt
Type
string
Обов'язковий
Description
Текстовий опис перетворення чи редагування, яке ви хочете застосувати до референс-зображень.
Потрібен лише один з параметрів input_task_id або reference_image_urls. Якщо надано обидва, input_task_id має пріоритет.
Name
input_task_id
Type
string
Обов'язковий
Description
ID завершеного завдання генерації зображень, вихідні зображення якого мають бути використані як референс-зображення. Це завдання має бути одним з таких: Текст у зображення або Зображення у зображення, включно з їх мультивид-варіантами. Крім того, воно має бути виконане через API і мати статус SUCCEEDED.
Використовуються всі вихідні зображення джерельного завдання. Завдання з одним зображенням надає 1 референс-зображення; мультивид-завдання надає по одному на кожен згенерований вид, тому один ID завдання може заповнити кілька з 5 слотів для референс-зображень.
Джерельне завдання все ще має бути в межах періоду зберігання ресурсів — щойно він закінчується, його ID повертає 404.
Name
reference_image_urls
Type
array
Обов'язковий
Description
Масив від 1 до 5 референс-зображень для використання у завданні редагування зображення. Наразі підтримуються формати .jpg, .jpeg та .png.
Є два способи надання кожного зображення:
Публічно доступний URL: URL, доступний з публічного інтернету.
Data URI: закодоване у base64 зображення у вигляді data URI. Приклад data URI: data:image/jpeg;base64,<ваші закодовані у base64 дані зображення>.
Name
generate_multi_view
Type
boolean
за замовчуванням false
Description
Якщо встановлено значення true, генерується мультивид-зображення, що показує об'єкт з кількох ракурсів.
Коли generate_multi_view має значення true, параметр aspect_ratio не можна встановлювати.
Name
aspect_ratio
Type
string
за замовчуванням 1:1
Description
Вкажіть співвідношення сторін вихідного зображення. Дозволені значення залежать від обраної ai_model:
3:2: альбомна орієнтація (підтримується лише моделями GPT Image)
2:3: книжкова орієнтація (підтримується лише моделями GPT Image)
Name
remove_background
Type
boolean
за замовчуванням false
Description
Якщо встановлено значення true, вихідне зображення повертається як прозорий RGBA PNG з видаленим фоном, щоб ви могли скомпонувати об'єкт з будь-яким фоном.
Повертає
Властивість result відповіді містить id завдання новоствореного завдання Зображення у зображення.
Режими помилок
Name
400 - Bad Request
Description
Запит було відхилено. Поширені причини:
Відсутній параметр: відсутній обов'язковий параметр (наприклад, ai_model, prompt), або не надано ані reference_image_urls, ані input_task_id.
Недійсне вхідне завдання: input_task_id має посилатися на завдання Текст у зображення або Зображення у зображення зі статусом SUCCEEDED (включно з мультивидом), яке все ще має вихідні зображення. Завдання будь-якого іншого типу, те, що не завершилося успішно, або те, зображення якого повністю застаріли, відхиляється.
Недійсний формат зображення: одне або кілька референс-зображень мають непідтримувані формати.
Недоступний URL: одне або кілька значень reference_image_urls не вдалося завантажити.
Недійсний параметр: aspect_ratio не є одним із дозволених значень для обраної ai_model.
Конфлікт: generate_multi_view та aspect_ratio не можна використовувати одночасно.
Name
401 - Unauthorized
Description
Автентифікація не вдалася. Перевірте свій API-ключ.
Name
402 - Payment Required
Description
Недостатньо кредитів для виконання цього завдання.
Name
404 - Not Found
Description
input_task_id не посилається на завдання, що належить вашому обліковому запису. Завдання, яке не існує, і завдання, що належить іншому обліковому запису, повертають однакову відповідь.
Name
429 - Too Many Requests
Description
Ви перевищили обмеження частоти.
Request
POST
/openapi/v1/image-to-image
# Transform a reference image with a text promptcurlhttps://api.meshy.ai/openapi/v1/image-to-image \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "ai_model": "nano-banana", "prompt": "Transform this into a cyberpunk style artwork", "reference_image_urls": [ "<your publicly accessible image url or base64-encoded data URI>" ] }'## Using Data URI examplecurlhttps://api.meshy.ai/openapi/v1/image-to-image \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "ai_model": "nano-banana", "prompt": "Transform this into a cyberpunk style artwork", "reference_image_urls": [ "data:image/png;base64,${YOUR_BASE64_ENCODED_IMAGE_DATA}" ] }'## Chaining from a previous task, instead of passing image URLscurlhttps://api.meshy.ai/openapi/v1/image-to-image \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "ai_model": "nano-banana", "prompt": "Transform this into a cyberpunk style artwork", "input_task_id": "<your Text to Image or Image to Image task id>" }'
Ця кінцева точка дозволяє отримати завдання Зображення у зображення за дійсним id завдання.
Зверніться до розділу Об'єкт завдання Зображення у зображення, щоб дізнатися, які
властивості включені до об'єкта завдання Зображення у зображення.
Параметри
Name
id
Type
path
Description
Унікальний ідентифікатор завдання Зображення у зображення, яке потрібно отримати.
{"id":"018a210d-8ba4-705c-b111-1f1776f7f578","type":"image-to-image","ai_model":"nano-banana","prompt":"Transform this into a cyberpunk style artwork","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 завдання Зображення у зображення, яке потрібно видалити.
Статус завдання
Завдання, яке ще перебуває у стані 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."}
[ {"id":"018a210d-8ba4-705c-b111-1f1776f7f578","type":"image-to-image","ai_model":"nano-banana","prompt":"Transform this into a cyberpunk style artwork","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=***" ] }]
Об'єкт завдання Зображення у зображення — це одиниця роботи, яку Meshy відстежує для генерації зображення з референсних зображень та вхідного текстового prompt.
Об'єкт має такі властивості:
Властивості
Name
id
Type
string
Description
Унікальний ідентифікатор завдання. Хоча як деталь реалізації ми використовуємо k-сортований UUID для ідентифікаторів завдань, вам не слід робити жодних припущень щодо формату id.
Name
type
Type
string
Description
Тип завдання генерації зображення. Для завдань Зображення у зображення це завжди буде image-to-image.
Name
ai_model
Type
string
Description
Модель ШІ, що використовується для цього завдання. Можливі значення: nano-banana, nano-banana-2, nano-banana-pro, gpt-image-2, gpt-image-2-5-flare або gpt-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
Мітка часу створення завдання, у мілісекундах.
Мітка часу представляє кількість мілісекунд, що минули з 1 січня 1970 року UTC, відповідно до
стандарту RFC 3339.
Наприклад, п'ятниця, 1 вересня 2023 12:00:00 PM GMT представлена як 1693569600000. Це стосується
всіх міток часу в Meshy API.
Name
started_at
Type
timestamp
Description
Мітка часу початку виконання завдання, у мілісекундах. Якщо завдання ще не розпочато, це значення дорівнюватиме 0.
Name
finished_at
Type
timestamp
Description
Мітка часу завершення завдання, у мілісекундах. Якщо завдання ще не завершено, це значення дорівнюватиме 0.
Name
expires_at
Type
timestamp
Description
Мітка часу закінчення терміну дії результату завдання, у мілісекундах.
Name
preceding_tasks
Type
integer
Description
Кількість завдань у черзі перед цим.
Значення цього поля має сенс лише якщо статус завдання — PENDING.
Name
image_urls
Type
array
Description
Масив URL-адрес для завантаження згенерованих зображень. Коли увімкнено generate_multi_view, цей масив містить три URL-адреси зображень, що представляють різні кути огляду. В іншому випадку він містить одну URL-адресу зображення.
Name
task_error
Type
object
Description
Деталі помилки для невдалих завдань. Дивіться Помилки для повного опису об'єкта task_error.
Name
consumed_credits
Type
integer
Description
Кількість кредитів, витрачених на це завдання. Присутнє, коли статус завдання — PENDING, IN_PROGRESS або SUCCEEDED. Повертає 0 для завдань зі статусом FAILED (кредити повертаються у разі невдачі).
Example Image to Image Task Object
{"id":"018a210d-8ba4-705c-b111-1f1776f7f578","type":"image-to-image","ai_model":"nano-banana","prompt":"Transform this into a cyberpunk style artwork","status":"SUCCEEDED","progress":100,"created_at":1692771650657,"started_at":1692771667037,"finished_at":1692771669037,"expires_at":1692771679037,"preceding_tasks":0,"image_urls": ["https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/image.png?Expires=***" ],"task_error": {"message":"" },"consumed_credits":3}