SkyStream API

Лимит и занятость пула

Как читать состояние лимита, пулы площадок и число свободных мест.

Личный лимит определяет, сколько зрителей аккаунт может держать одновременно и сколько каналов завести. Прежде чем запускать зрителей, интеграции полезно знать, сколько места свободно.

Состояние аккаунта

Состояние лимита возвращает GET /account:

GET/account
curl https://api.skystream.su/app/v1/account \  -H "Authorization: Bearer $API_KEY"
bash, zshКлюч — в переменной API_KEY
Ответ200Фрагмент ответа
{  "limit": {    "status": "active",    "expires_at": "2026-12-31T21:00:00.000Z"  },  "max_channels": 5,  "channel_count": 3,  "pools": {    "twitch": {      "size": 400,      "busy": 250,      "free": 150,      "configured": 600    },    "kick": {      "size": 100,      "busy": 0,      "free": 100,      "configured": 100    }  }}
ПолеЧто значит
limit.statusactive — лимит действует; expired — срок истёк; none — лимит не выдавался
limit.expires_atКогда лимит истекает или истёк
max_channels, channel_countСколько каналов можно завести на обеих площадках вместе и сколько заведено. max_channels: 0 — число каналов не ограничено
max_graphs, graph_countСколько графиков онлайна можно создать и сколько создано
pools.<площадка>.sizeПул — сколько зрителей можно держать одновременно на этой площадке
pools.<площадка>.busyСколько из них занято работающими запусками
pools.<площадка>.freeСколько свободно: size − busy, не меньше нуля
pools.<площадка>.configuredСумма потолков всех каналов площадки

Пулы Twitch и Kick раздельные: зрители Kick не занимают место в пуле Twitch.

Что занимает место

Место в пуле занимают только работающие запуски — те, у которых идёт эфир. Запуск, который ждёт эфира, места не занимает. Поэтому configured может быть больше size: каналы с суммарным потолком 600 уместятся в пуле на 400, если не работают одновременно.

Работающий запуск занимает столько мест, сколько ему разрешено держать (run.active_viewers, обычно — заказанное число). Запуск с назначенным графиком онлайна занимает место по наибольшему значению графика, а не по текущему: иначе он не смог бы дорасти до пика, когда место заберёт другой канал.

Когда места не хватает

Если на площадке меньше свободных мест, чем заказано запуску, запуск не отклоняется. Он поднимает столько зрителей, сколько помещается, и добирает остальных, когда место освобождается. Сколько зрителей запуску разрешено сейчас, показывает run.active_viewers у канала.

Чтобы запуски не делили место, следите, чтобы сумма заказанного на одновременно идущих эфирах не превышала пул, или поднимите лимит.

Срок лимита

Лимит действует до limit.expires_at. Срок каждого канала совпадает со сроком лимита (expires_at у канала).

Когда срок истекает:

  • идущие запуски останавливаются; в истории у них stop_reason: "limit_expired";
  • каналы и их настройки сохраняются и читаются;
  • заводить каналы, повышать их потолок и запускать зрителей нельзя: такие запросы отклоняются с ошибкой limit_expired;
  • снижать потолок и удалять каналы можно.

После продления лимита каналы снова можно запускать. Продление выполняет администратор. Когда до конца срока остаётся не больше 3 суток, приходит уведомление.

На этой странице