Справочник по API
Используйте открытый API GPT Image 2 для программной генерации и редактирования изображений. Аутентифицируйтесь с помощью собственного API-ключа, оплачивайте кредитами и получайте результаты через polling.
Обзор
API GPT Image 2 позволяет генерировать изображения через ваш аккаунт GPT Image 2. Запросы используют API-ключ вашего сайта и маршрутизируются через нашу серверную интеграцию Kie.
Создайте API-ключ по пути:
/settings/apikeysЗатем вызовите:
POST /api/v1/images/generations
GET /api/v1/images/tasks/{task_id}Генерация изображений выполняется асинхронно. Endpoint создания возвращает идентификатор задачи, а endpoint задачи возвращает конечные URL-адреса изображений после успешной генерации.
Аутентификация
Отправьте API-ключ GPT Image 2 в качестве Bearer-токена:
Authorization: Bearer sk-xxxНе раскрывайте API-ключи в коде на стороне браузера. Используйте их из бэкенда, скриптов или бессерверных функций.
Тарификация
Использование API потребляет те же кредиты, что и веб-приложение:
| Операция | Стоимость в кредитах |
|---|---|
| Генерация изображения | 10 кредитов за изображение |
Если запрос к провайдеру завершается ошибкой до принятия задачи, потраченные кредиты автоматически возвращаются через процесс обработки сбоя задачи.
Создание генерации изображения
Endpoint
POST https://gpt-image-2.art/api/v1/images/generationsТело запроса
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
model | string | Нет | Используйте gpt-image-2. Внутренние псевдонимы gpt-image-2-text-to-image и gpt-image-2-image-to-image также поддерживаются. |
prompt | string | Да | Текстовое описание изображения. Обязательно, если не указаны image_urls. |
image_urls | string[] | Нет | URL-адреса референсных изображений для генерации «изображение-в-изображение». |
n | integer | Нет | Количество генерируемых изображений, от 1 до 10. По умолчанию: 1. |
size | string | Нет | Одно из: 1024x1024, 1536x1024, 1024x1536, 1920x1088, 1088x1920, 3824x2160, 2160x3824 или auto. |
quality | string | Нет | Параметр качества провайдера, например high или auto. |
output_format | string | Нет | png, jpeg или webp, если поддерживается провайдером. |
response_format | string | Нет | Поддерживается только url. |
user | string | Нет | Необязательный идентификатор конечного пользователя для вашего собственного отслеживания. |
Пример «текст-в-изображение»
curl https://gpt-image-2.art/api/v1/images/generations \
-H "Authorization: Bearer $GPT_IMAGE_2_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"prompt": "A cinematic product photo of a matte black coffee bag on a marble counter",
"size": "1536x1024",
"quality": "high",
"n": 1
}'Пример «изображение-в-изображение»
curl https://gpt-image-2.art/api/v1/images/generations \
-H "Authorization: Bearer $GPT_IMAGE_2_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"prompt": "Keep the product unchanged and place it on a clean studio background",
"image_urls": ["https://example.com/product.png"],
"size": "1024x1024",
"n": 1
}'Ответ на создание
{
"id": "8f6d9f87-1b3f-4f89-bdfb-3df8e77b7af3",
"object": "image.generation",
"created": 1714000000,
"model": "gpt-image-2-text-to-image",
"status": "pending",
"credits": 10,
"data": []
}Сохраните id и выполняйте polling endpoint задачи.
Запрос задачи по изображению
Endpoint
GET https://gpt-image-2.art/api/v1/images/tasks/{task_id}Пример
curl https://gpt-image-2.art/api/v1/images/tasks/8f6d9f87-1b3f-4f89-bdfb-3df8e77b7af3 \
-H "Authorization: Bearer $GPT_IMAGE_2_API_KEY"Успешный ответ
{
"id": "8f6d9f87-1b3f-4f89-bdfb-3df8e77b7af3",
"object": "image.generation",
"created": 1714000000,
"model": "gpt-image-2-text-to-image",
"status": "succeeded",
"credits": 10,
"data": [
{
"url": "https://..."
}
]
}Возможные значения status:
| Статус | Значение |
|---|---|
pending | Задача находится в очереди. |
processing | Провайдер генерирует изображение. |
succeeded | URL-адреса изображений доступны в data. |
failed | Генерация завершилась ошибкой. |
canceled | Генерация была отменена. |
Пример на JavaScript
const apiKey = process.env.GPT_IMAGE_2_API_KEY;
const createRes = await fetch(
'https://gpt-image-2.art/api/v1/images/generations',
{
method: 'POST',
headers: {
Authorization: `Bearer ${apiKey}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
model: 'gpt-image-2',
prompt:
'A premium skincare bottle on wet stone with soft studio lighting',
size: '1024x1024',
n: 1,
}),
}
);
const task = await createRes.json();
let result = task;
while (['pending', 'processing'].includes(result.status)) {
await new Promise((resolve) => setTimeout(resolve, 3000));
const queryRes = await fetch(
`https://gpt-image-2.art/api/v1/images/tasks/${task.id}`,
{
headers: {
Authorization: `Bearer ${apiKey}`,
},
}
);
result = await queryRes.json();
}
console.log(result.data);Формат ошибок
Ошибки имеют формат в стиле OpenAI:
{
"error": {
"message": "Invalid API key provided.",
"type": "authentication_error",
"param": null,
"code": "invalid_api_key"
}
}Дополнительные ресурсы
- Цены и кредиты — Стоимость кредитов за вызов и пакеты
- Руководство по промптам — Лучшие результаты от API-вызовов
- Сценарии использования — Реальные паттерны интеграции API
- Галерея работ — Посмотрите возможности GPT Image 2
- Официальная документация OpenAI Image API — Официальный источник для пользователей со своим OpenAI-ключом