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: Изображение в формате data URI, закодированное в base64. Пример 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, выходное изображение возвращается в виде прозрачного PNG в формате RGBA с удалённым фоном, что позволяет разместить объект на любом фоне.
Возвращаемое значение
Свойство 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=***" ] }]
Объект задачи Image to Image — это единица работы, которую Meshy отслеживает для генерации изображения на основе референсных изображений и входных данных текстового prompt.
Объект имеет следующие свойства:
Свойства
Name
id
Type
string
Description
Уникальный идентификатор задачи. Хотя в качестве деталей реализации мы используем k-сортируемый UUID для идентификаторов задач, вам не следует делать какие-либо предположения о формате id.
Name
type
Type
string
Description
Тип задачи генерации изображения. Для задач Image to Image это значение всегда будет 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 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}