Редактирование изображений
Генерируйте или редактируйте изображения по референсным изображениям через GPT Image 2 и OpenAI-совместимый API BetterToken. С примерами и частыми ошибками.
POST /v1/images/edits
Endpoint для редактирования изображений использует тело запроса multipart/form-data. Загрузите одно или несколько референсных изображений и передайте prompt и параметры как поля формы.
https://bettertoken.ai/v1 как Base URL. API Key BetterToken передается через Authorization: Bearer YOUR_API_KEY.Рекомендуемые значения
Передавайте эти поля явно в каждом запросе:image. Для нескольких референсных изображений используйте повторяющиеся поля image[].
Одно референсное изображение
Несколько референсных изображений
Локальное редактирование по маске
Добавьте необязательное файловое полеmask, если нужно направить редактирование на выбранную область. Текущий endpoint BetterToken читает один файл mask. Не отправляйте повторяющиеся поля mask[].
- Исходное изображение и mask должны иметь одинаковый формат и размеры в пикселях. Размер каждого файла должен быть меньше 50 MB. Для максимальной совместимости рекомендуется использовать PNG с Alpha-каналом для исходного изображения и mask.
- Mask должна содержать Alpha-канал. Полностью прозрачные пиксели (
Alpha 0) отмечают область, которую модель может перерисовать. Полностью непрозрачные пиксели (Alpha 255) направляют модель на сохранение области. - Обычное чёрно-белое RGB-изображение не является корректной mask, если в файле нет Alpha-канала.
- Если вы передаёте несколько полей
image[], mask применяется к первому входному изображению. - Mask служит ориентиром для модели и не гарантирует, что пиксели за пределами прозрачной области останутся абсолютно неизменными.
Редактирование по маске на Python
Откройте оба файла в одном оператореwith, чтобы Python закрыл их после запроса:
Проверка файлов перед загрузкой
Этот минимальный пример с Pillow проверяет обязательные требования к формату, размерам и Alpha-каналу. Для обычной локальной mask он также выводит предупреждение, если Alpha-канал не содержит одновременно полностью прозрачные и полностью непрозрачные области:Пример на Python
Рекомендуемые размеры
size задает ожидаемое соотношение сторон и уровень размера. Фактические пиксели в ответе могут быть сопоставлены или скорректированы сервером. Используйте размеры декодированного изображения, а не принудительную обрезку до запрошенного значения.
Сохранение изображения
Успешный ответ следует OpenAI-совместимой форме image response:data[0].b64_json и сохраните его как base64 image content. Всегда задавайте output_format: "png", чтобы сохранить декодированное изображение как .png.
Поток ответа
Endpoint синхронный. После отправкиPOST /images/edits держите текущий HTTP-запрос открытым до ответа сервера. При успешной генерации содержимое изображения возвращается в data[0].b64_json.
Endpoint не возвращает task_id; отдельного status query или endpoint для скачивания результата нет.
Смежные документы
Авторизации
Используйте API Key BetterToken как bearer token. Не публикуйте API keys во frontend-коде, скриншотах, логах, тикетах или Git-репозиториях.
Тело
Используйте фиксированное значение YOUR_MODEL_ID.
YOUR_MODEL_ID "YOUR_MODEL_ID"
Инструкция для редактирования изображения или генерации по референсному изображению.
"На основе этого изображения создай более аккуратное квадратное главное изображение продукта, сохранив общий стиль основного объекта."
Поле для одного референсного изображения. В этом случае используйте image.
Поле для нескольких референсных изображений. Повторяйте image[] для каждого файла.
Необязательный одиночный файл mask. Сервер читает только один файл mask. Формат и размеры mask должны совпадать с исходным изображением, размер каждого файла должен быть меньше 50 MB, а mask должна содержать Alpha-канал. Для максимальной совместимости рекомендуется использовать PNG с Alpha-каналом для обоих файлов. При нескольких image[] mask применяется к первому входному изображению.
Рекомендуется фиксировать значение 1. Для нескольких изображений отправляйте несколько отдельных запросов.
"1"
Размеры и соотношения сторон изображения. auto выбирает размер автоматически; 1024x1024 и 2048x2048 — 1:1; 1536x1024 — 3:2; 1024x1536 — 2:3; 1536x1152 — 4:3; 1152x1536 — 3:4; 2048x1152 и 3840x2160 — 16:9; 2160x3840 — 9:16. Фактический размер может быть сопоставлен или скорректирован сервером, поэтому клиенту следует ориентироваться на реальные размеры декодированного изображения.
auto, 1024x1024, 1536x1024, 1024x1536, 1536x1152, 1152x1536, 2048x2048, 2048x1152, 3840x2160, 2160x3840 "1024x1024"
Рекомендуется фиксировать b64_json.
b64_json "b64_json"
Рекомендуется фиксировать png. Не рассчитывайте, что jpeg или webp всегда вернутся напрямую в выбранном формате.
png "png"

