Руководства
Лимиты и обработка ошибок
Формат ошибок DemoQA AI, rate limits, таймауты и стратегия повторных попыток.
Все JSON-ошибки используют OpenAI-совместимый envelope:
{
"error": {
"message": "Rate limit exceeded",
"type": "rate_limit_error",
"param": null,
"code": "rate_limit_exceeded"
}
}| Статус | Что означает | Действие |
|---|---|---|
400 | Неверный payload или модель | Исправить запрос, не повторять автоматически |
401 | Нет или неверен API-ключ | Обновить секрет |
403 | Операция недоступна ключу | Проверить права и аккаунт |
404 | Ресурс или video job не найден | Проверить id |
409 | Конфликт состояния/идемпотентности | Сверить исходную операцию |
429 | Rate limit | Уважать Retry-After, применить backoff+jitter |
5xx | Временная ошибка DemoQA или провайдера | Ограниченно повторить с тем же idempotency key |
Рекомендуемый backoff
Начните с 500–1000 ms, удваивайте интервал до 15–30 секунд и добавляйте случайный jitter. Ограничьте число попыток и общий deadline. Для stream: true считайте запрос неуспешным, если поток завершился без терминального события; продолжение текста с середины не гарантируется.
Лимиты могут различаться по аккаунтам и моделям. Не кодируйте фиксированное число запросов в минуту; обрабатывайте 429 динамически.