curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gpt-image-2-vip",
"prompt": "Сгенерируй широкоформатный кинематографичный постер ночного города будущего с неоном",
"n": 1,
"size": "16:9",
"resolution": "2k",
"quality": "high",
"response_format": "url"
}'
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gpt-image-2-vip",
"prompt": "Сохрани структуру сцены, но сделай стиль киберпанк с усиленным светом и деталями",
"n": 1,
"size": "9:16",
"resolution": "4k",
"quality": "medium",
"image_urls": [
"https://example.com/source.png",
"https://example.com/source.png"
],
"response_format": "url"
}'
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-vip',
prompt: 'Сгенерируй широкоформатный кинематографичный постер ночного города будущего с неоном',
n: 1,
size: '16:9',
resolution: '2k',
quality: 'low',
response_format: 'url'
})
});
const task = await response.json();
console.log(task.id, task.status);
{
"id": "task_img_abc123def456",
"object": "generation.task",
"model": "gpt-image-2-vip",
"status": "queued",
"progress": 0,
"created_at": 1703884800,
"metadata": {}
}
GPT-Image-2-VIP
GPT-Image-2-VIP Генерация изображений
Генерация изображений с помощью gpt-image-2-vip. Параметры совпадают с gpt-image-2, но поддерживаются все стандартные соотношения сторон.
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-vip",
"prompt": "Сгенерируй широкоформатный кинематографичный постер ночного города будущего с неоном",
"n": 1,
"size": "16:9",
"resolution": "2k",
"quality": "high",
"response_format": "url"
}'
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gpt-image-2-vip",
"prompt": "Сохрани структуру сцены, но сделай стиль киберпанк с усиленным светом и деталями",
"n": 1,
"size": "9:16",
"resolution": "4k",
"quality": "medium",
"image_urls": [
"https://example.com/source.png",
"https://example.com/source.png"
],
"response_format": "url"
}'
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-vip',
prompt: 'Сгенерируй широкоформатный кинематографичный постер ночного города будущего с неоном',
n: 1,
size: '16:9',
resolution: '2k',
quality: 'low',
response_format: 'url'
})
});
const task = await response.json();
console.log(task.id, task.status);
{
"id": "task_img_abc123def456",
"object": "generation.task",
"model": "gpt-image-2-vip",
"status": "queued",
"progress": 0,
"created_at": 1703884800,
"metadata": {}
}
Для пользователей из материкового Китая: используйте
https://toapis.cn в качестве эндпоинта (Base URL). Замените https://toapis.com на https://toapis.cn во всех примерах этого документа.- Унифицированный API генерации изображений
- Выбор модели
gpt-image-2-vipчерез параметрmodel - Параметры совпадают с
gpt-image-2 - Поддержка text-to-image, single-reference и multi-reference generation
- Асинхронное управление задачами с получением результата по task ID
Важное изменение: Для повышения производительности и контроля затрат base64 больше не поддерживается в
image_urls и reference_images. Сначала используйте API загрузки изображений, затем передайте полученный URL.Авторизация
string
обязательно
Все API требуют аутентификации Bearer TokenПолучите API Key на странице управления API ключамиДобавьте в заголовок:
Authorization: Bearer YOUR_API_KEY
Тело запроса
string
по умолчанию:"gpt-image-2-vip"
обязательно
Название модели генерации изображенийПример:
"gpt-image-2-vip"string
обязательно
Текстовый промпт для генерации изображенияМаксимум 32 000 символов для GPT image models
string
по умолчанию:"1:1"
Соотношение сторон выходного изображенияПредустановленные соотношения:
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, 2k, 4kПроизвольное разрешение
Помимо предустановленных соотношений выше, можно передать любое соотношение в форматеширина:высота через 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-vip",
"prompt": "Простой красный круг на белом фоне",
"size": "1:3",
"resolution": "2k",
"quality": "medium",
"n": 1
}'
string
по умолчанию:"medium"
Качество изображения
low— быстро и экономично, для черновиков/превьюmedium— баланс скорости и качестваhigh— максимальная детализация, подходит для финальных изображений
string
по умолчанию:"auto"
Стиль фона генерируемого изображения
auto— модель решает автоматически (по умолчанию)transparent— прозрачный фонopaque— непрозрачный фон
Прозрачный фон лучше всего сочетается с PNG-выводом.
integer
по умолчанию:1
Количество изображенийПо умолчанию: 1
string
по умолчанию:"url"
Формат ответаAPI возвращает URL изображения, рекомендуемое значение:
urlstring[]
URL эталонных изображений для image-to-image⚠️ Только URL (base64 больше не поддерживается)
- Публично доступные URL (
http://илиhttps://) - Можно использовать API загрузки изображений для загрузки локальных файлов
- Поддерживаются одиночные и множественные reference images
string[]
Поле обратной совместимостиВ ToAPIs автоматически нормализуется в
reference_imagesstring
Стандартный callback завершения ToAPIs. Настройте HTTPS URL и secret Token; разрешено только same-origin переопределение. См. Webhook.
Ответ
string
Уникальный идентификатор задачи
string
Тип объекта, всегда
generation.taskstring
Используемая модель
string
Статус задачи
queuedin_progresscompletedfailed
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-vip",
"prompt": "Сгенерируй широкоформатный кинематографичный постер ночного города будущего с неоном",
"n": 1,
"size": "16:9",
"resolution": "2k",
"quality": "high",
"response_format": "url"
}'
curl --request POST \
--url https://toapis.com/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "gpt-image-2-vip",
"prompt": "Сохрани структуру сцены, но сделай стиль киберпанк с усиленным светом и деталями",
"n": 1,
"size": "9:16",
"resolution": "4k",
"quality": "medium",
"image_urls": [
"https://example.com/source.png",
"https://example.com/source.png"
],
"response_format": "url"
}'
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-vip',
prompt: 'Сгенерируй широкоформатный кинематографичный постер ночного города будущего с неоном',
n: 1,
size: '16:9',
resolution: '2k',
quality: 'low',
response_format: 'url'
})
});
const task = await response.json();
console.log(task.id, task.status);
{
"id": "task_img_abc123def456",
"object": "generation.task",
"model": "gpt-image-2-vip",
"status": "queued",
"progress": 0,
"created_at": 1703884800,
"metadata": {}
}