Перейти к содержанию
Справочник APIKimi · Ошибки и retry

Kimi · Ошибки и retry

Реальные коды клиентского ответа и разные причины 429.

Оболочка и поля ошибки те же, что у всех семейств — см. Коды ошибок: текст по-русски, code, action, request_id и хвост [код · req_…] в тексте. Ниже только коды, характерные для Kimi.

Коды

HTTP / codeЧто означаетЧто делать
400 invalid_json / invalid_messages / messages_required / invalid_requestневерное тело или параметрисправить запрос; не повторять без изменений
400 invalid_streamполе stream не булевопередать true или false
401ключ отсутствует, неверен или отозванпроверить Bearer auth
402 request_reserve_exceeds_creditбаланса не хватает на reserve входа и максимального ответасократить запрос, уменьшить max_tokens или пополнить
404 model_not_foundнеизвестный Kimi model idскопировать один из четырёх точных id
413 request_too_largeзапрос превышает допустимый размерсократить историю сообщений или вложения
429 client_key_rate_limitслишком много запросов с этого ключаповторить не раньше Retry-After, обычно через секунду
429 kimi_queue_fullочередь запросов временно заполненаповторить с задержкой
429 rate_limit_exceededкороткий частотный лимит Kimiвыждать 60–90 секунд и повторить
429 kimi_daily_spend_limitдневной лимит расхода Kimi на этом ключе уже выбранувеличить лимит в боте или подождать; Retry-After — сутки
429 kimi_hourly_spend_limitчасовой лимит расхода Kimi на этом ключе уже выбранувеличить лимит в боте или подождать; Retry-After — час
429 kimi_daily_reserve_limitостатка дневного лимита не хватает на резерв именно этого запросауменьшить max_tokens и сам запрос либо увеличить лимит
429 kimi_hourly_reserve_limitостатка часового лимита не хватает на резерв именно этого запросауменьшить max_tokens и сам запрос либо увеличить лимит
400 invalid_request с текстом «Kimi отклонил запрос. Ответ поставщика: …»ваш запрос отверг сам Kimi (например, temperature не равен 1 на /v1/messages); его объяснение приведено дословно после подводкиисправить поле по объяснению; деньги не списаны
503 kimi_unavailable кадром внутри потокаузел Kimi оборвал ответ уже после начала SSEповторить запрос; поток закрывается кадром ошибки и data: [DONE], а не обрывом соединения
502 kimi_model_mismatchответ не совпал с выбранной моделью; вы не платите ничегоприслать хвост [код · req_…] в поддержку
503 kimi_billing_unavailableтарификация Kimi временно недоступнаповторить позже; запрос не отправлен и деньги не списаны
503 kimi_unavailableKimi временно недоступенповторить позже
403 kimi_agent_not_allowedKimi For Coding принимает только агентов из своего списка (Kimi CLI, Claude Code, Roo Code, Kilo Code) и отверг агента, названного в системном промптеИспользуйте поддержанный клиент, например Roo Code / Kilo Code. Не удаляйте и не подменяйте имя агента для обхода; простой повтор не поможет.

Семь разных 429

Под одним статусом лежат семь непохожих причин, и лечатся они по-разному. Первые три временные: подождите и повторите. Последние четыре — ваши собственные лимиты расхода, и время тут не поможет, пока лимит не изменён или окно не сдвинулось.

error.codeКто ограничил и что в Retry-After
client_key_rate_limitсобственный ограничитель Guard на частоту запросов одного ключа. Retry-After — одна секунда
kimi_queue_fullочередь к узлам Kimi временно заполнена целиком. Retry-After — одна секунда
rate_limit_exceededкороткий частотный лимит самого Kimi, отдельный от плановой квоты и от вашего баланса. В Retry-After стоит одна секунда, но в живых проверках он отпускал примерно через 80 секунд, почти не расходуя плановую квоту
kimi_daily_spend_limitдневной лимит расхода Kimi на этом ключе выбран целиком. Retry-After — сутки
kimi_hourly_spend_limitчасовой лимит расхода Kimi на этом ключе выбран целиком. Retry-After — час
kimi_daily_reserve_limitдневной лимит ещё не выбран, но его остатка не хватает на резерв этого запроса. Retry-After — сутки
kimi_hourly_reserve_limitчасовой лимит ещё не выбран, но его остатка не хватает на резерв этого запроса. Retry-After — час

Лимиты расхода Kimi считаются отдельно от лимитов Claude и по скользящему окну: не с полуночи, а за последние 24 часа и за последний час. В сумму входят и уже списанные запросы, и ещё не закрытые резервы. Сам лимит меняется в боте.

Файлы: коды загрузки и ссылки

У файлового API оболочка ошибки другая: код лежит в detail.error.code, а не в error.code, как на /v1/chat/completions. Ошибки самих ссылок input_file приходят уже от чат-запроса и лежат в обычном error.code.

HTTP / codeЧто означаетЧто делать
415 unsupported_media_typeзаголовок Content-Type не multipart/form-dataотправлять форму, а не JSON
400 invalid_multipartтело не разобралось как multipart/form-data, поля file в нём нет либо в форме больше одного дополнительного поляприслать одну файловую часть в поле file и не больше одного поля рядом
400 invalid_file_purposepurpose не из спискапередать user_data, file-extract или assistants
400 empty_fileфайл нулевого размераприслать непустой файл
400 invalid_file_referencefile_id не похож на идентификатор файлаподставить id из ответа загрузки
402 insufficient_creditна ключе нулевой остаток; так отвечают все запросы файлового API, включая DELETEпополнить ключ либо дождаться, пока файлы истекут через 24 часа
404 file_not_foundфайла нет, он просрочен или принадлежит другому ключузагрузить заново тем же ключом
404 not_foundк ключу не подключена семья Kimi, файловая поверхность для него закрытапроверить доступ к Kimi; повтор ничего не изменит
413 file_too_largeфайл больше 10 МиБуменьшить файл
413 file_count_quota_exceeded / file_storage_quota_exceededна ключе уже 20 файлов или 50 МиБ занятого местаудалить ненужные через DELETE /v1/files/{file_id}
413 file_reference_limit / file_context_too_largeбольше 20 ссылок в запросе или готовый блок документов больше 2 МиБсослаться на меньшее число документов
413 extracted_text_too_largeизвлечённого текста больше 2 МиБразбить документ на части
413 document_section_limitпростой текст разбился больше чем на 1000 разделовразбить файл на части
413 too_many_sectionsто же самое для PDF, .docx, .xlsx и .pptx — код у них другойразбить документ на части
413 pdf_page_limitв PDF меньше одной или больше 200 страницразделить PDF на части по 200 страниц
413 office_sheet_limit / office_slide_limitбольше 200 листов в .xlsx или больше 500 слайдов в .pptxразделить книгу или презентацию
413 office_row_limit / office_cell_limit / office_cell_too_largeбольше 20 000 строк на листе, больше 200 000 ячеек в книге .xlsx или в одной таблице .docx, либо ячейка .xlsx длиннее 32 768 символовсократить таблицу или выгрузить её в .csv частями
413 office_block_limitбольше 50 000 блоков в .docx или фигур в .pptxразделить документ
413 file_size_limitразборщик получил пустой файл или больше 10 МиБприслать непустой файл в пределах 10 МиБ
415 unsupported_file_typeрасширение или тип содержимого вне списка поддерживаемыхконвертировать в один из восьми форматов
415 invalid_document / invalid_pdf / invalid_office_documentфайл не читается как документ заявленного форматапересохранить файл
413 office_document_too_large / office_document_entry_limit / office_document_compression_ratioфайл .docx, .xlsx или .pptx распаковывается в слишком большой или слишком плотный архивпересохранить документ без вложенных архивов и лишних объектов
415 encrypted_document_unsupportedдокумент защищён паролемснять пароль перед загрузкой
415 invalid_text_encodingтекстовый файл не в UTF-8пересохранить в UTF-8
415 invalid_text_documentв текстовом файле есть управляющие байты, кроме табуляции и перевода строкиубрать двоичные вставки или загрузить файл как документ подходящего формата
415 document_parse_timeoutдокумент не успел разобратьсяупростить или уменьшить документ
429 file_rate_limitслишком частые обращения к файловому APIповторить не раньше Retry-After
503 document_parser_unavailable / file_storage_unavailableразбор документов или хранилище временно недоступныповторить позже
503 file_encryption_unavailable / file_decryption_failed / file_integrity_failed / file_id_collisionредкий сбой на нашей стороне хранилища: файл не удалось зашифровать, расшифровать, проверить или выдать ему идентификаторповторить позже; если повторяется, сохранить request id и написать в поддержку

Поиск и загрузка страницы: коды

HTTP / codeЧто означаетЧто делать
400 invalid_managed_service_requestв теле не ровно одно ожидаемое поле либо тело вообще не разобралось как JSONоставить только query либо только url и проверить, что тело — корректный JSON
400 invalid_search_queryquery пуст или длиннее допустимогосократить запрос
400 / 422 invalid_fetch_urlадрес не публичный http/https или не разрешается во внешний адреспередать обычную публичную ссылку
402 insufficient_creditна ключе нулевой остатокпополнить ключ
404 route_not_foundк ключу не подключена семья Kimiпроверить доступ к Kimi; повтор ничего не изменит
422 managed_service_request_failedсамый частый отказ: битая ссылка, платный доступ, защита от ботов, ответ 403, 404 или 500 от самого сайта. Retry-After в этом ответе нет намеренновзять другой адрес или другой запрос; повтор того же не поможет
429 client_key_rate_limit / kimi_queue_fullслишком часто или очередь заполненаповторить не раньше Retry-After
502 managed_service_invalid_responseответ пришёл, но не разобрался: не UTF-8 или не тот конверт. Retry-After нетповторить один раз; если повторяется — взять другой адрес
503 managed_service_unavailableдве разные причины под одним кодом: поставщик ответил 408, 429 или 503, либо страница оказалась больше 2 МиБ и её оборвал транспорт. Retry-After: 1 есть в обоих случаяхв первом случае повторить после Retry-After; во втором повтор бесполезен — страница меньше не станет
503 kimi_unavailableповерхность Kimi временно недоступна целикомповторить позже

Когда ответила не та модель

Guard сверяет модель в ответе с той, которую вы запросили. Если они не совпали, ответ вам не отдаётся вовсе — вместо него приходит 502 kimi_model_mismatch.

За такой запрос вы не платите ничего. Резерв возвращается целиком, строка расхода не пишется, и в отчёте по ключу этого запроса не будет. Счётчики, которые прислал поставщик, на ваш баланс не влияют, каким бы большим ни было их значение: расход в этом случае наш, а не ваш. В stream так же: начало потока придерживается, пока в кадрах не встретится имя модели, и до вас ничего не доходит, если оно не совпало.

Повторять запрос сразу можно: узел, ответивший не тем, помечается сбойным и следующая попытка уходит на другой. Если 502 kimi_model_mismatch повторяется, сохраните request id и напишите в поддержку.

Разделы документации

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