IskraGen

Генерации

Создание задач генерации и проверка статуса

Базовый адрес — https://api.iskragen.ru. Общие правила — в обзоре справочника.

GET /v1/generations/

Список генераций. Возвращает свои генерации от новых к старым с фильтрами status, modelId через запятую, q длиной 1–200 символов и from / to; курсорная пагинация принимает limit от 1 до 100, по умолчанию 20, а cursor равен ISO 8601 createdAt последнего элемента, nextCursor: null означает конец списка. Требуется API-ключ; действует общий лимит 60 запросов в минуту, превышение возвращает 429 RATE_LIMIT_ERROR с retryAfter, а отсутствие ключа — 401 AUTHENTICATION_ERROR.

Авторизация: заголовок Authorization: Bearer <ключ> — API-ключ, выданный в личном кабинете (isk_live_<prefix>_<secret>).

Параметры

ПараметрГдеТипОбязательныйОписание и ограничения
limitqueryintegerнет≥ 1; ≤ 100; по умолчанию 20
cursorquerystringнет
statusquerystringнетзначения: PENDING, PROCESSING, SUCCEEDED, FAILED
modelIdquerystringнетОдин или несколько идентификаторов моделей через запятую — modelSlug (рекомендуется) или прежний идентификатор; длина ≤ 2000
qquerystringнетдлина ≥ 1; длина ≤ 200
mediaTypequerystringнетзначения: IMAGE, VIDEO, AUDIO
fromquerystringнетформат date-time
toquerystringнетформат date-time

Пример вызова

curl -X GET "https://api.iskragen.ru/v1/generations/" \
  -H "Authorization: Bearer $ISKRAGEN_API_KEY"

Структура ответа 200

Поля и типы из схемы ответа, это не пример: значения зависят от запроса. Корень — object.

ПолеТипОбязательноеОписание и ограничения
itemsobject[]да
items[].chargeStatusstring | nullда
items[].costRubnumberда
items[].createdAtstringда
items[].errorCodestring | nullда
items[].errorMessagestring | nullда
items[].finishedAtstring | nullда
items[].idstringда
items[].mediaPriceRubnumber | nullда
items[].mediaTypestringда
items[].modelIdstringдаУстарело: внутренний идентификатор. Используйте modelSlug.
items[].modelNamestringда
items[].modelSlugstringнетВсегда присутствует в ответе; публичный идентификатор модели
items[].outputUrlsstring[]да
items[].promptstringда
items[].startedAtstring | nullда
items[].statusstringда
nextCursorstring | nullда

Коды ошибок

  • 401 AUTHENTICATION_ERROR — ключ отсутствует, невалиден или отозван.
  • 429 RATE_LIMIT_ERROR — превышен лимит запросов либо число одновременных генераций (по умолчанию 5).

POST /v1/generations/

Создать генерацию. Возвращает 202 и задачу с id, status, costRub, а не результат; при резервировании стоимость списывается с баланса в момент создания задачи, до постановки в очередь, при нехватке возвращается 402 INSUFFICIENT_BALANCE с required и available, а при провале генерации сумма возвращается на баланс автоматически. Результат получают опросом GET /v1/generations/{id} или вебхуком generation.completed / generation.failed; Idempotency-Key длиной 1–64 символа приоритетнее одноимённого поля тела, повтор и одновременные запросы с одним ключом возвращают ту же задачу. prompt — до 10 000 символов с точным пределом модели в promptMaxChars каталога, допускается не более 5 одновременных задач и до 10 внешних референсов суммарно до 200 МБ; доступ: Требуется API-ключ, действует общий лимит 60 запросов в минуту, превышение возвращает 429 RATE_LIMIT_ERROR с retryAfter, а отсутствие ключа — 401 AUTHENTICATION_ERROR.

Авторизация: заголовок Authorization: Bearer <ключ> — API-ключ, выданный в личном кабинете (isk_live_<prefix>_<secret>).

Параметры

ПараметрГдеТипОбязательныйОписание и ограничения
idempotency-keyheaderstringнетдлина ≥ 1; длина ≤ 64

Тело запроса (application/json)

ПолеТипОбязательноеОписание и ограничения
durationSecintegerнет≥ 1; ≤ 600
heightintegerнет≥ 256; ≤ 4096
idempotencyKeystringнетдлина ≥ 1; длина ≤ 64
modelSlugstringдадлина ≥ 1
negativePromptstringнетдлина ≤ 2000
paramsobjectнетпроизвольные ключи
promptstringдадлина ≥ 1; длина ≤ 10000
seedintegerнет≥ 0
widthintegerнет≥ 256; ≤ 4096

Пример вызова

curl -X POST "https://api.iskragen.ru/v1/generations/" \
  -H "Authorization: Bearer $ISKRAGEN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"modelSlug":"<modelSlug>","prompt":"<prompt>"}'

Структура ответа 202

Поля и типы из схемы ответа, это не пример: значения зависят от запроса. Корень — object.

ПолеТипОбязательноеОписание и ограничения
costRubnumberда
idstringда
statusstringда

Коды ошибок

  • 401 AUTHENTICATION_ERROR — ключ отсутствует, невалиден или отозван.
  • 402 INSUFFICIENT_BALANCE — баланс ниже стоимости запроса.
  • 429 RATE_LIMIT_ERROR — превышен лимит запросов либо число одновременных генераций (по умолчанию 5).

GET /v1/generations/models

Модели из моей истории. Возвращает без пагинации модели, по которым у аккаунта есть генерации, и их счётчики для фильтра списка. Требуется API-ключ; действует общий лимит 60 запросов в минуту, превышение возвращает 429 RATE_LIMIT_ERROR с retryAfter, а отсутствие ключа — 401 AUTHENTICATION_ERROR.

Авторизация: заголовок Authorization: Bearer <ключ> — API-ключ, выданный в личном кабинете (isk_live_<prefix>_<secret>).

Пример вызова

curl -X GET "https://api.iskragen.ru/v1/generations/models" \
  -H "Authorization: Bearer $ISKRAGEN_API_KEY"

Структура ответа 200

Поля и типы из схемы ответа, это не пример: значения зависят от запроса. Корень — object.

ПолеТипОбязательноеОписание и ограничения
modelsobject[]да
models[].countintegerда
models[].idstringдаУстарело: внутренний идентификатор. Используйте slug.
models[].namestringда
models[].slugstringнетВсегда присутствует в ответе; публичный идентификатор модели

Коды ошибок

  • 401 AUTHENTICATION_ERROR — ключ отсутствует, невалиден или отозван.
  • 429 RATE_LIMIT_ERROR — превышен лимит запросов либо число одновременных генераций (по умолчанию 5).

GET /v1/generations/{id}

Получить генерацию. Возвращает генерацию для опроса статуса и параметры для повтора; возможные статусы: PENDING, PROCESSING, SUCCEEDED, FAILED, REFUNDED, CANCELLED, ENQUEUE_FAILED, а чужой id возвращает 404. Требуется API-ключ; действует общий лимит 60 запросов в минуту, превышение возвращает 429 RATE_LIMIT_ERROR с retryAfter, а отсутствие ключа — 401 AUTHENTICATION_ERROR.

Авторизация: заголовок Authorization: Bearer <ключ> — API-ключ, выданный в личном кабинете (isk_live_<prefix>_<secret>).

Параметры

ПараметрГдеТипОбязательныйОписание и ограничения
idpathstringдаформат uuid

Пример вызова

curl -X GET "https://api.iskragen.ru/v1/generations/<id>" \
  -H "Authorization: Bearer $ISKRAGEN_API_KEY"

Структура ответа 200

Поля и типы из схемы ответа, это не пример: значения зависят от запроса. Корень — object.

ПолеТипОбязательноеОписание и ограничения
chargeStatusstring | nullда
costRubnumberда
createdAtstringда
durationSecinteger | nullда
errorCodestring | nullда
errorMessagestring | nullда
finishedAtstring | nullда
heightinteger | nullда
idstringда
mediaPriceRubnumber | nullда
mediaTypestringда
modelIdstringдаУстарело: внутренний идентификатор. Используйте modelSlug.
modelNamestringда
modelSlugstringда
negativePromptstring | nullда
outputUrlsstring[]да
paramsobjectдапроизвольные ключи
promptstringда
seedinteger | nullда
startedAtstring | nullда
statusstringда
userIdstringда
widthinteger | nullда

Коды ошибок

  • 401 AUTHENTICATION_ERROR — ключ отсутствует, невалиден или отозван.
  • 404 — Ресурс не существует или принадлежит другому пользователю
  • 429 RATE_LIMIT_ERROR — превышен лимит запросов либо число одновременных генераций (по умолчанию 5).

GET /v1/generations/{id}/download

Скачать результат. Отдаёт файл потоком с Content-Disposition: attachment и Cache-Control: private, no-store, а не ссылку или редирект; index от 0–15 выбирает файл при нескольких результатах. Отсутствующий файл возвращает 404, недоступное хранилище — 502 OUTPUT_FETCH_FAILED. Требуется API-ключ; действует общий лимит 60 запросов в минуту, превышение возвращает 429 RATE_LIMIT_ERROR с retryAfter, а отсутствие ключа — 401 AUTHENTICATION_ERROR.

Авторизация: заголовок Authorization: Bearer <ключ> — API-ключ, выданный в личном кабинете (isk_live_<prefix>_<secret>).

Параметры

ПараметрГдеТипОбязательныйОписание и ограничения
indexqueryintegerнет≥ 0; ≤ 15; по умолчанию 0
idpathstringдаформат uuid

Пример вызова

curl -X GET "https://api.iskragen.ru/v1/generations/<id>/download" \
  -H "Authorization: Bearer $ISKRAGEN_API_KEY"

Структура ответа 200

Схема не описывает JSON-тело ответа; что приходит в ответе — в описании метода выше.

Коды ошибок

  • 401 AUTHENTICATION_ERROR — ключ отсутствует, невалиден или отозван.
  • 404 — Ресурс не существует или принадлежит другому пользователю
  • 429 RATE_LIMIT_ERROR — превышен лимит запросов либо число одновременных генераций (по умолчанию 5).
  • 502 OUTPUT_FETCH_FAILED — файл результата не удалось получить из хранилища.
Генерации · IskraGen Docs — IskraGen