Документация API Hop
Генерация изображений GPT-Image-2
Создавайте изображения или редактируйте референсы с gpt-image-2 и получайте результаты в текущем JSON-ответе или SSE-соединении.
https://api.apihop.ai/openai/v1/images/generationsgpt-image-2 поддерживает генерацию и редактирование изображений-референсов для товарных изображений, черновиков плакатов, иллюстраций, материалов для соцсетей, визуальных материалов высокого разрешения, переноса стиля и объединения нескольких референсов.
POST https://api.apihop.ai/openai/v1/images/generationsАутентификация
Authorization: Bearer YOUR_API_KEY
Content-Type: application/jsonБыстрый старт
{
"model": "gpt-image-2",
"prompt": "A minimal black wireless earbud product poster on a white background, clean studio lighting, no text",
"n": 1,
"size": "2048x1152",
"resolution": "2k",
"quality": "low"
}Границы сравнения цен
Опубликованные уровни изображений 1K / 2K / 4K RequestBeam — это *продажные цены RequestBeam*, а не официальные фиксированные тарифы OpenAI за изображение. Документация цен OpenAI описывает оплату токенов изображений/текста и уровней обработки; фактическая стоимость зависит от размера, качества, референсов и вывода. Сравнение только потому, что обе стороны упоминают 1k или 2k, не является расчётом скидки на одинаковых условиях.
Чтобы избежать необоснованных заявлений об экономии, прежний агрегированный ориентир провайдеров USD per image и значок скидки намеренно скрыты для GPT Image 2. Цена RequestBeam остаётся видимой, контракт оплаты не меняется. Для обоснованного будущего сравнения фиксируйте точную модель, эндпоинт, качество, размер, условия ввода, официальный URL источника и дату проверки ориентира. Перед платным вызовом проверяйте действующую цену своего аккаунта.
Тело запроса
modelstringобязательноПо умолчанию: gpt-image-2ID модели изображений. Используйте gpt-image-2.
promptstringобязательноЗапрос для изображения. Опишите объект, сцену, композицию, стиль, материал, освещение, цвета и необходимость текста.
nintegerПо умолчанию: 1Число генерируемых изображений. Текущий публичный контракт gpt-image-2 поддерживает только 1. Другие значения возвращают 400 до резервирования средств.
sizestringПо умолчанию: autoСоотношение сторон или размеры вывода в пикселях.
Распространённые значения:
1:14:316:99:161024x10241536x10241024x15362048x20482048x11523840x21602160x3840auto
qualitystringПо умолчанию: autoКачество вывода. Поддерживаются low, medium, high и auto.
resolutionstringПо умолчанию: 1kУровень разрешения вывода. Поддерживаются 1k, 2k и 4k.
Можно сочетать с size, например size: "16:9" и resolution: "2k".
image_urlsarray<string>Изображения-референсы для редактирования по инструкциям или объединения нескольких изображений.
- До 16 изображений.
- Каждое изображение — до 20 MB, общий лимит ввода — 256 MB.
- Поддерживаются общедоступные URL изображений.
- Поддерживаются URI данных Base64, например
data:image/...;base64,.... - URL и URI данных Base64 можно смешивать в одном массиве.
output_formatstringПо умолчанию: pngФормат вывода. Поддерживаются png, jpeg и webp.
streambooleanПо умолчанию: falseНужно ли возвращать Server-Sent Events.
Референсные изображения и редактирование
Редактирование референсных изображений использует тот же JSON-эндпоинт. Добавьте image_urls и опишите в prompt, что сохранить и изменить:
{
"model": "gpt-image-2",
"prompt": "Keep the product unchanged, replace the background with a dark blue studio, and add soft rim lighting",
"image_urls": [
"https://example.com/product.png"
],
"size": "1:1",
"resolution": "2k"
}Несколько референсов могут задавать объект, композицию или визуальный стиль:
{
"model": "gpt-image-2",
"prompt": "Use the product from the first image and the composition from the second image to create a clean ecommerce hero image",
"image_urls": [
"https://example.com/product.png",
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
],
"size": "4:3",
"resolution": "2k"
}Текущие границы публичного контракта:
- Редактирование целого изображения, перенос стиля и объединение нескольких референсов поддерживаются через
image_urls. - Отдельного маршрута
POST https://api.apihop.ai/openai/v1/images/editsнет. - Загрузки
multipart/form-dataне принимаются. Сначала преобразуйте локальные изображения в URI данных Base64 или загрузите их по доступным URL. - Заполнение по маске не поддерживается. Передача
mask,mask_urlилиmaskUrlвозвращает400до резервирования средств.
Примеры запросов
Товарное изображение 1:1
{
"model": "gpt-image-2",
"prompt": "A transparent glass cup on a light gray background, commercial product photography, soft shadow, no text",
"n": 1,
"size": "1024x1024",
"resolution": "1k",
"quality": "low",
"output_format": "png"
}Плакат 16:9
{
"model": "gpt-image-2",
"prompt": "A futuristic city night poster with neon lights, wet streets, cinematic composition, no text",
"n": 1,
"size": "2048x1152",
"resolution": "2k",
"quality": "medium",
"output_format": "jpeg"
}Как возвращаются результаты
Этот совместимый с OpenAI эндпоинт не возвращает сначала ответ о постановке задачи с data.jobId для последующего опроса:
- При
stream: falseтекущий HTTP-запрос ожидает завершения и возвращает URL изображений в JSON-ответе. - При
stream: trueтекущее SSE-соединение остаётся открытым доimage_generation.completedи[DONE].
Не используйте GET https://api.apihop.ai/v1/jobs/{id} для получения результатов этого эндпоинта. Используйте Получение асинхронной задачи, только когда асинхронный эндпоинт создания явно возвращает jobId.
Непотоковый ответ
Ответ содержит URL изображений. usage включается, если маршрут провайдера предоставляет данные измерения использования.
{
"created": 1777270000,
"data": [
{
"url": "https://image.example.com/generated/123456789012345678/0.png"
}
],
"usage": {
"input_tokens": 20,
"output_tokens": 1234,
"total_tokens": 1254
}
}Потоковый ответ
event: image_generation.completed
data: {"type":"image_generation.completed","data":[{"index":0,"url":"https://image.example.com/generated/123456789012345678/0.png"}],"usage":{"input_tokens":20,"output_tokens":1234,"total_tokens":1254}}
data: [DONE]Справочник размеров
| Целевое соотношение | Рекомендация 1K | Рекомендация 2K | Рекомендация 4K |
|---|---|---|---|
1:1 | 1024x1024 | 2048x2048 | Не рекомендуется |
3:2 | 1536x1024 | 2048x1360 | Не рекомендуется |
2:3 | 1024x1536 | 1360x2048 | Не рекомендуется |
4:3 | 1024x768 | 2048x1536 | Не рекомендуется |
3:4 | 768x1024 | 1536x2048 | Не рекомендуется |
16:9 | 1536x864 | 2048x1152 | 3840x2160 |
9:16 | 864x1536 | 1152x2048 | 2160x3840 |
21:9 | 2016x864 | 2688x1152 | 3840x1648 |
9:21 | 864x2016 | 1152x2688 | 1648x3840 |
Ответ с ошибкой
Полный справочник кодов, различия протоколов и этапы диагностики приведены в разделе Коды ошибок и устранение неполадок.
{
"code": 10000,
"message": "prompt is required",
"type": "api_error"
}Типичные ошибки:
400: отсутствуют обязательные параметры или сочетание не поддерживается401: аутентификация не удалась или ключ API неверен402: недостаточный баланс404: модель не существует или не включена429: превышен лимит частоты5xx: сервис временно недоступен или генерация изображения не удалась