Список ошибок
Справочник ошибок API Царь Роутера - HTTP-коды, типы и сообщения, которые может вернуть /v1, с пояснениями на русском
Все ошибки /v1 возвращаются в OpenAI-совместимом формате:
{"error": {"message": "...", "type": "...", "code": "..."}}
В сообщениях ниже {в фигурных скобках} - подставляемые значения.
| code | type | message | Описание |
|---|
| 401 | authentication_error | Invalid API key | Неверный или несуществующий API-ключ. Проверьте Bearer-токен. |
| 401 | authentication_error | API key has expired | Истёк срок действия ключа. |
| 403 | permission_error | Not authenticated | Заголовок Authorization: Bearer <key> отсутствует или пустой. |
| 403 | permission_error | API key is disabled. Enable it in the dashboard to resume use. | Ключ заморожен владельцем в личном кабинете. Включите его в дашборде. |
| code | type | message | Описание |
|---|
| 402 | insufficient_quota | Account balance too low: {balance} ₽ available, minimum 1 ₽ required. Add funds to your account. | На счёте меньше 1 ₽. Пополните баланс. |
| 402 | insufficient_quota | Insufficient balance for this request: estimated up to {est} ₽, available {balance} ₽. Add funds and retry. | Баланса не хватит на данный запрос. Пополните и повторите. |
| 402 | insufficient_quota | Insufficient balance to start streaming: required {hold} ₽, available {balance} ₽. Add funds or use another key. | Баланса не хватит при старте потокового ответа (chat со stream: true). |
| 402 | insufficient_quota | API key budget limit reached: {spent} of {limit} ₽ spent. Increase this key's limit in the dashboard or use another key. | Исчерпан денежный лимит самого ключа (не баланс аккаунта). Поднимите лимит ключа или используйте другой. |
| 429 | rate_limit_error | Rate limit exceeded: {N} requests/minute… (варианты: for {type} models, for free models, for this endpoint) | Превышен один из лимитов уровня (см. Лимиты). Retry-After - честные секунды до сброса окна; ответ несёт заголовки x-ratelimit-*. |
| 429 | rate_limit_error | Daily cap for free models reached: {N} requests/day, resets at midnight Europe/Moscow. | Исчерпан суточный лимит запросов к бесплатным моделям (см. Лимиты); счётчик сбрасывается в полночь по Москве. |
| 429 | rate_limit_error | Concurrent stream limit reached: {N} simultaneous streams. Wait for a running stream to finish and retry. | Достигнут лимит одновременных потоковых ответов уровня (см. Лимиты). Дождитесь завершения одного из стримов и повторите. |
| code | type | message | Описание |
|---|
| 400 | invalid_request_error | Model '{model}' not found. Use GET /v1/models to list available models. | /v1/chat/completions: модели нет в каталоге. |
| 400 | invalid_request_error | Embedding model '{model}' not found. Available: {список} | /v1/embeddings: модель не найдена или не является эмбеддинг-моделью. |
| 400 | invalid_request_error | Reranker model '{model}' not found. Available: {список} | /v1/rerank: модель не найдена или не является reranker. |
| 400 | invalid_request_error | Image model '{model}' not found. Available: {список} | /v1/images/generations. |
| 400 | invalid_request_error | Image enhancement model '{model}' not found. Available: {список} | /v1/images/enhance. |
| 400 | invalid_request_error | Classification model '{model}' not found. Available: {список} | /v1/classify. |
| 400 | invalid_request_error | Speech model '{model}' not found. Available: {список} | /v1/audio/speech (синтез речи). |
| 400 | invalid_request_error | STT model '{model}' not found | /v1/audio/transcriptions (распознавание речи). |
| 400 | invalid_request_error | Sentiment model '{model}' not found. Available: {список} | /v1/audio/sentiment (тональность речи). |
| 400 | invalid_request_error | AI-check model '{model}' not found. Available: {список} | /v1/ai/check (детектор ИИ-текста). |
| 404 | not_found_error | Model '{model}' not found | GET /v1/models/…: запрос модели по ID, которого нет в каталоге. |
| code | type | message | Описание |
|---|
| 400 | invalid_request_error | {поле}: {текст ошибки} | Любой /v1: невалидное тело запроса - нет обязательного поля или неверный тип (напр. отсутствует model или messages). |
| 400 | invalid_request_error | Parameter 'prompt' is required for image generation. | /v1/images/generations: пустой prompt. |
| 400 | invalid_request_error | Only n=1 is supported: one image per request. | /v1/images/generations: одна картинка за запрос. |
| 400 | invalid_request_error | Prompt too long: maximum {max} characters, got {n}. | /v1/images/generations: слишком длинный промпт. |
| 400 | invalid_request_error | Parameter 'image' is required (empty file). | /v1/images/enhance: не передан файл изображения. |
| 400 | invalid_request_error | Only JPEG and PNG images are supported. | /v1/images/enhance: поддерживаются только JPEG и PNG. |
| 400 | invalid_request_error | Parameter 'rfactor' must be 2 or 4. | /v1/images/enhance: коэффициент апскейла только 2 или 4. |
| 400 | invalid_request_error | Parameter 'rtype' must be 'photo' or 'art'. | /v1/images/enhance: тип апскейла только photo или art. |
| 413 | api_error | Image too large: maximum {N} MB, got {x} MB. | /v1/images/enhance: размер файла больше 10 МБ. |
| 400 | invalid_request_error | Parameter 'text' is required for classification. | /v1/classify: пустой text. |
| 400 | invalid_request_error | Provide between 2 and 20 labels, got {n}. | /v1/classify: нужно от 2 до 20 меток. |
| 400 | invalid_request_error | Parameter 'input' is required for speech synthesis. | /v1/audio/speech: пустой input. |
| 400 | invalid_request_error | Input too long: maximum {max} characters, got {n}. | /v1/audio/speech: лимит 5000 символов. |
| 400 | invalid_request_error | Файл больше лимита модели '{model}': {x} МБ > {N} МБ. | /v1/audio/transcriptions: размер файла сверх лимита выбранной модели (у каждой свой: Yandex async - 60 МБ, T-Bank - 32, VK - 20, Yandex sync - 1; см. карточку модели). |
| 400 | invalid_request_error | Аудио длиннее лимита модели '{model}': {n} с > {N} с. | /v1/audio/transcriptions: длительность записи сверх лимита модели (напр. Yandex sync - 30 с, Yandex async - 40 мин, VK - 5 мин). |
| 413 | - (HTML nginx) | - | Тело запроса больше транспортного лимита: 60 МБ для /v1/audio/transcriptions, 10 МБ для остальных эндпоинтов. Ответ отдаёт nginx без JSON-тела. |
| 400 | invalid_request_error | Text too short: AI-content detection requires at least {min} words, got {n}. | /v1/ai/check: текст слишком короткий для детекции. |
| 400 | invalid_request_error | This detector supports Russian text only (>=50% Cyrillic), got {x}%. | /v1/ai/check: детектор работает только с русским текстом. |
| code | type | message | Описание |
|---|
| 4xx | по коду провайдера | Request for model '{model}' was rejected by the provider. Please verify your request parameters. | Провайдер отверг запрос как невалидный; код наследуется от провайдера. Проверьте параметры. |
| 502 | server_error | All providers failed for model chain [{модели}] | /v1/chat/completions: все маршруты цепочки моделей недоступны. Повторите позже или смените модель. |
| 502 | server_error | All providers for '{model}' are currently unavailable. Retry shortly or contact support if it persists. | /v1/embeddings, /v1/rerank, /v1/images/generations: все провайдеры недоступны. |
| 503 | server_error | No provider available for '{model}'. All providers are currently unavailable. Retry shortly or contact support if it persists. | /v1/ai/check, /v1/images/enhance, /v1/classify, синтез и распознавание речи: все провайдеры недоступны. |
| 503 | server_error | Model '{model}' temporarily unavailable: pricing not configured. Contact support. | У модели временно не настроен тариф. Повторите позже или обратитесь в поддержку. |
| 503 | server_error | Model '{model}' is temporarily disabled for maintenance. | Модель временно отключена на обслуживание. Выберите другую или повторите позже. |
| code | type | message | Описание |
|---|
| 400 | invalid_request_error | Invalid image input: {детали} | Распознавание (OCR Yandex) и зрение (VK): изображение нужно передавать как base64 data URI (JPEG/PNG). |
| 400 | invalid_request_error | Unknown VK Cloud model: {model} | Неизвестная VK Cloud Vision-модель. |
| 400 | invalid_request_error | Invalid MP3: could not determine sample rate and channels. | T-Bank (распознавание речи): битый MP3 - пришлите корректный MP3 или WAV (PCM). |
| 400 | invalid_request_error | Unsupported audio format. Use WAV (PCM) or MP3. | T-Bank (распознавание речи): поддерживаются только WAV (PCM) и MP3. |
| 400 | invalid_request_error | VK Cloud enhance error: {детали} | VK (обработка фото): ошибка параметров обработки изображения. |
| 422 | api_error | текст причины от модели | Kandinsky / GigaChat сгенерировал отказ по контент-политике. ⚠️ Запрос тарифицируется. Измените промпт. |
| 500 | server_error | Voice service is not configured. Please contact support. | Голосовой сервис VK не настроен (ошибка конфигурации сервиса, не клиента). |
| 502 | server_error | VK Cloud Vision error: {детали} | Сбой обработки на стороне VK (зрение / апскейл / реставрация). |