IskraGen

Разработчикам

Одно API для изображений, видео, озвучки и музыки

REST-интерфейс к моделям FLUX, Kling, Sora, Suno, ElevenLabs и другим: общая схема запроса, единый баланс в рублях, российский домен без VPN и прокси.

01

Создайте ключ

В личном кабинете «API-ключи» — значение показывается один раз. Все запросы авторизуются заголовком Authorization: Bearer <ключ>.

02

Отправьте генерацию

Один эндпоинт POST /v1/generations обслуживает все типы медиа: тип и набор параметров определяет выбранная модель.

03

Заберите результат

Опрашивайте GET /v1/generations/:id или подпишитесь на webhooks — для видео и музыки это надёжнее polling'а.

Запрос на генерацию

Ответ приходит сразу — 202 Accepted с идентификатором задачи; стоимость резервируется на балансе в этот же момент и возвращается, если генерация окончательно не удалась.

bash
curl -X POST https://api.iskragen.ru/v1/generations \
  -H "Authorization: Bearer $ISKRAGEN_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order-42" \
  -d '{
    "modelSlug": "gpt-image-2-text-to-image",
    "prompt": "Кот-космонавт на фоне Сатурна, фотореализм",
    "params": { "aspect_ratio": "1:1", "resolution": "1K" }
  }'
json
{
  "id": "0192f0c4-8a1e-7b3d-9f21-2c5e6a4b7d90",
  "status": "PENDING",
  "costRub": 6
}

Статус задачи

Когда status становится SUCCEEDED, ссылки на файлы приходят в outputUrls.

bash
curl https://api.iskragen.ru/v1/generations/0192f0c4-8a1e-7b3d-9f21-2c5e6a4b7d90 \
  -H "Authorization: Bearer $ISKRAGEN_API_KEY"

TypeScript

Тот же сценарий целиком: постановка задачи с ключом идемпотентности и ожидание результата.

typescript
const API_URL = "https://api.iskragen.ru/v1";
const headers = {
  Authorization: `Bearer ${process.env.ISKRAGEN_API_KEY}`,
  "Content-Type": "application/json",
};

// 1. Ставим задачу в очередь — ответ 202, стоимость уже зарезервирована.
const created = await fetch(`${API_URL}/generations`, {
  method: "POST",
  headers: { ...headers, "Idempotency-Key": crypto.randomUUID() },
  body: JSON.stringify({
    modelSlug: "gpt-image-2-text-to-image",
    prompt: "Кот-космонавт на фоне Сатурна, фотореализм",
    params: { aspect_ratio: "1:1", resolution: "1K" },
  }),
});
const { id } = (await created.json()) as { id: string; costRub: number };

// 2. Опрашиваем статус, пока задача не завершится.
let generation;
do {
  await new Promise((resolve) => setTimeout(resolve, 3000));
  const polled = await fetch(`${API_URL}/generations/${id}`, { headers });
  generation = (await polled.json()) as { status: string; outputUrls: string[] };
} while (generation.status === "PENDING" || generation.status === "PROCESSING");

console.log(generation.outputUrls);

Документация

Готовы попробовать?

Ключ создаётся в личном кабинете за минуту, оплата — по факту генерации. Цены по типам медиа собраны на странице «Цены».

Получить API-ключ
IskraGen для разработчиков — IskraGen