curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gpt-image-2-official",
"prompt": "Древний замок под звёздным небом, кинематографическое освещение, гиперреализм",
"size": "16:9",
"resolution": "2k",
"quality": "high",
"n": 1
}'
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gpt-image-2-official",
"prompt": "Панорама горного восхода, экстремальная детализация",
"size": "16:9",
"resolution": "4k",
"quality": "high",
"output_format": "jpeg",
"output_compression": 90
}'
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gpt-image-2-official",
"prompt": "Объедините два reference-изображения в иллюстрированный постер, сохранив контуры объектов",
"size": "1:1",
"quality": "high",
"image_urls": [
"https://example.com/input-a.png",
"https://example.com/input-b.png"
]
}'
const response = await fetch('https://toapis.com/v1/images/generations', {
method: 'POST',
headers: {
'Authorization': 'Bearer your-ToAPIs-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'gpt-image-2-official',
prompt: 'Древний замок под звёздным небом, кинематографическое освещение, гиперреализм',
size: '16:9',
resolution: '2k',
quality: 'high',
n: 1
})
});
const task = await response.json();
console.log(task.id, task.status);
{
"id": "tsk_img_01KPTXXXXXXXXXXXXXXX",
"object": "generation.task",
"model": "gpt-image-2-official",
"status": "queued",
"progress": 0,
"created_at": 1703884800,
"metadata": {}
}
GPT-Image-2
GPT-Image-2 Официальный канал: Генерация изображений
Генерация изображений через официальную модель OpenAI gpt-image-2-official — text-to-image, image-to-image и inpainting (mask) в одном API с поддержкой разрешений 1K / 2K / 4K
POST
/
v1
/
images
/
generations
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gpt-image-2-official",
"prompt": "Древний замок под звёздным небом, кинематографическое освещение, гиперреализм",
"size": "16:9",
"resolution": "2k",
"quality": "high",
"n": 1
}'
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gpt-image-2-official",
"prompt": "Панорама горного восхода, экстремальная детализация",
"size": "16:9",
"resolution": "4k",
"quality": "high",
"output_format": "jpeg",
"output_compression": 90
}'
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gpt-image-2-official",
"prompt": "Объедините два reference-изображения в иллюстрированный постер, сохранив контуры объектов",
"size": "1:1",
"quality": "high",
"image_urls": [
"https://example.com/input-a.png",
"https://example.com/input-b.png"
]
}'
const response = await fetch('https://toapis.com/v1/images/generations', {
method: 'POST',
headers: {
'Authorization': 'Bearer your-ToAPIs-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'gpt-image-2-official',
prompt: 'Древний замок под звёздным небом, кинематографическое освещение, гиперреализм',
size: '16:9',
resolution: '2k',
quality: 'high',
n: 1
})
});
const task = await response.json();
console.log(task.id, task.status);
{
"id": "tsk_img_01KPTXXXXXXXXXXXXXXX",
"object": "generation.task",
"model": "gpt-image-2-official",
"status": "queued",
"progress": 0,
"created_at": 1703884800,
"metadata": {}
}
Для пользователей из материкового Китая: используйте
https://toapis.cn в качестве эндпоинта (Base URL). Замените https://toapis.com на https://toapis.cn во всех примерах этого документа.- Официальная модель OpenAI
gpt-image-2-official - Асинхронная обработка — возвращает ID задачи для последующего опроса
- Поддержка text-to-image, image-to-image с несколькими reference-изображениями и inpainting (mask)
- 13 соотношений сторон с тремя уровнями разрешения: 1K / 2K / 4K
- До 4 изображений за запрос, до 16 reference-изображений
Авторизация
string
обязательно
Все запросы требуют аутентификации Bearer TokenПолучите API Key на странице управления API ключамиДобавьте в заголовок запроса:
Authorization: Bearer YOUR_API_KEY
Тело запроса
string
по умолчанию:"gpt-image-2-official"
обязательно
Название модели генерации изображенийИспользуйте
gpt-image-2-officialstring
обязательно
Текстовый промпт для генерации изображенияПоддерживается русский, английский и китайский языки; рекомендуется детально описывать сцену, стиль и композицию
string
по умолчанию:"1:1"
Соотношение сторонПредустановленные значения или
auto для автоматического выбора поставщиком:1:1 · 3:2 · 2:3 · 4:3 · 3:4 · 5:4 · 4:5 · 16:9 · 9:16 · 2:1 · 1:2 · 21:9 · 9:21Также можно передать любое соотношение в формате ширина:высота, например 1:3 или 7:4, с учетом ограничений ниже.При использовании auto итоговое соотношение сторон и размеры в пикселях выбирает поставщик, поэтому фиксированный результат не гарантируется.string
по умолчанию:"1k"
Уровень разрешения
1k— база 1024 пикс., быстро и экономично (по умолчанию)2k— база 2048 пикс., подходит для постеров и HD-контента4k— база 3840 пикс.; качествоhighможет занимать более 120 секунд
Таблица размеров
| size | 1K | 2K | 4K |
|---|---|---|---|
1:1 | 1024x1024 | 2048x2048 | 2880x2880 |
3:2 | 1536x1024 | 2048x1360 | 3520x2336 |
2:3 | 1024x1536 | 1360x2048 | 2336x3520 |
4:3 | 1024x768 | 2048x1536 | 3312x2480 |
3:4 | 768x1024 | 1536x2048 | 2480x3312 |
5:4 | 1280x1024 | 2560x2048 | 3216x2576 |
4:5 | 1024x1280 | 2048x2560 | 2576x3216 |
16:9 | 1536x864 | 2048x1152 | 3840x2160 |
9:16 | 864x1536 | 1152x2048 | 2160x3840 |
2:1 | 2048x1024 | 2688x1344 | 3840x1920 |
1:2 | 1024x2048 | 1344x2688 | 1920x3840 |
21:9 | 2016x864 | 2688x1152 | 3840x1648 |
9:21 | 864x2016 | 1152x2688 | 1648x3840 |
Произвольное разрешение
Помимо предустановленных соотношений выше, можно передать любое соотношение в форматеширина:высота через size. Сервис рассчитывает размеры в пикселях на основе выбранного уровня resolution. Результат должен соответствовать всем ограничениям:
- Обе стороны должны быть кратны 16 пикселям
- Длинная сторона не более 3 840 пикселей (4K)
- Соотношение сторон не более 3:1
- Общее количество пикселей от 655 360 до 8 294 400
size: "1:3"иresolution: "2k"→1024x3072size: "7:4"иresolution: "1k"→1344x768
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gpt-image-2-official",
"prompt": "Простой красный круг на белом фоне",
"size": "7:4",
"resolution": "1k",
"quality": "medium",
"n": 1
}'
string
по умолчанию:"high"
Качество изображения
low— быстро и экономично, для черновиков/превьюmedium— баланс скорости и качестваhigh— максимальная детализация, по умолчанию (4K + high занимает 120с+)
string
по умолчанию:"auto"
Стиль фона генерируемого изображения
auto— модель решает автоматически (по умолчанию)transparent— прозрачный фонopaque— непрозрачный фон
Прозрачный фон лучше всего сочетается с PNG-выводом.
string
по умолчанию:"png"
Формат вывода
png— по умолчаниюjpeg— меньший размер файла (поддерживает сжатие)
Azure OpenAI не поддерживает формат
webp.integer
по умолчанию:100
Уровень сжатия JPEG, диапазон
0–100 (0 — без сжатия, 100 — максимальное сжатие, по умолчанию 100)Применяется только при output_format: "jpeg"integer
по умолчанию:1
Количество генерируемых изображенийДиапазон:
1 ~ 10string[]
Массив URL reference-изображений для image-to-image генерации
- Максимум 16 изображений, должны быть публично доступными стабильными URL
- Используйте API загрузки изображений для получения URL
string
URL маски для inpaintingИспользуется совместно с
image_urls. Маска должна совпадать по размеру с первым reference-изображением и содержать Alpha-канал (прозрачные области — это зоны для перерисовки)Ответ
string
Уникальный идентификатор задачи
string
Тип объекта, всегда
generation.taskstring
Используемая модель
string
Статус задачи
queued— ожидает обработкиin_progress— обрабатываетсяcompleted— успешно завершенаfailed— ошибка
integer
Прогресс задачи в процентах (0-100)
integer
Время создания задачи (Unix timestamp)
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gpt-image-2-official",
"prompt": "Древний замок под звёздным небом, кинематографическое освещение, гиперреализм",
"size": "16:9",
"resolution": "2k",
"quality": "high",
"n": 1
}'
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gpt-image-2-official",
"prompt": "Панорама горного восхода, экстремальная детализация",
"size": "16:9",
"resolution": "4k",
"quality": "high",
"output_format": "jpeg",
"output_compression": 90
}'
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gpt-image-2-official",
"prompt": "Объедините два reference-изображения в иллюстрированный постер, сохранив контуры объектов",
"size": "1:1",
"quality": "high",
"image_urls": [
"https://example.com/input-a.png",
"https://example.com/input-b.png"
]
}'
const response = await fetch('https://toapis.com/v1/images/generations', {
method: 'POST',
headers: {
'Authorization': 'Bearer your-ToAPIs-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'gpt-image-2-official',
prompt: 'Древний замок под звёздным небом, кинематографическое освещение, гиперреализм',
size: '16:9',
resolution: '2k',
quality: 'high',
n: 1
})
});
const task = await response.json();
console.log(task.id, task.status);
{
"id": "tsk_img_01KPTXXXXXXXXXXXXXXX",
"object": "generation.task",
"model": "gpt-image-2-official",
"status": "queued",
"progress": 0,
"created_at": 1703884800,
"metadata": {}
}