РУКОВОДСТВО · ОБНОВЛЕНО 2026-11-01
Ошибка 413 при отправке документа в AI: где искать лимит размера
Диагностика отказа на транспортном уровне до обработки документа нейросетью.
HTTP 413 означает, что один из серверов отказался принять слишком большое тело запроса. Это не то же самое, что превышение контекста модели: запрос может быть отклонён ещё на прокси. Найдите слой, который вернул ответ, и измерьте размер фактически отправленных байтов. Файл на диске и JSON с тем же файлом могут иметь разный объём. Согласуйте ограниченные размеры на каждом участке вместо отключения всех проверок. Повтор неизменённого запроса обычно не исправляет причину и лишь создаёт лишние обращения.
1. Сохраните признаки отказа
Запишите статус, безопасные заголовки, время и идентификатор запроса, если он есть. Не записывайте в общий лог сам документ или API-ключ. Сравните ответ с журналом приложения: отсутствие записи может указывать на отказ раньше по пути. Однако один HTML-шаблон ошибки не доказывает, какой именно сервер его создал. Проверьте фактическую цепочку клиент, CDN, reverse proxy, приложение и поставщик. Диагностику выполняйте через разрешённые интерфейсы своего проекта.
2. Измерьте отправленное представление
Уточните, передаётся ли файл как multipart, строка base64, ссылка или предварительно извлечённый текст. В JSON учитывайте размер всего тела вместе с инструкцией и историей. Не приравнивайте мегабайты к токенам: это разные единицы и разные ограничения. Если вопрос относится к одной странице, подготовьте только нужную часть документа, сохранив ссылку на оригинал. Изменение изображения или скана не должно лишать его читаемых деталей только ради уменьшения запроса.
3. Проверьте настройки нужного маршрута
В nginx директива client_max_body_size ограничивает допустимое тело запроса и при превышении возвращает413. Найдите действующий server/location и возможные дополнительные ограничения приложения. Документируйте согласованный предел и понятное сообщение пользователю. Не меняйте общий конфиг всех сайтов ради одной формы. Перед изменением сохраните предыдущую настройку, проверьте синтаксис и используйте штатный выпуск проекта. Если лимит задаёт внешний сервис, настройка вашего прокси не увеличит его возможности.
4. Проверьте границу и альтернативный путь
Используйте безопасные синтетические файлы чуть ниже и выше принятого предела, а не реальную платную генерацию. Убедитесь, что отказ обрабатывается до повторов и пользователь получает полезное объяснение. Если сервис поддерживает отдельную загрузку файлов или передачу ссылки, проверьте соответствующий контракт и доступ к объекту. Большое тело нельзя скрыто разбить на независимые запросы, если это меняет смысл задачи. После исправления повторите проверку через весь внешний путь, а не только прямое локальное подключение.
Частые вопросы
Нужно ли увеличить контекст модели?
Не обязательно. 413 относится к размеру HTTP-тела и может возникнуть до вызова модели. Сначала установите слой отказа.
Почему небольшой файл превышает лимит?
Передаваемое представление включает другие данные, а некоторые способы кодирования увеличивают объём. Измеряйте сериализованное тело, которое отправляет клиент.
Поможет ли автоматический повтор?
Для неизменённого слишком большого тела причина сохраняется. Повтор следует выполнять только после осмысленного изменения или по условиям сервиса.
Можно ли отключить client_max_body_size для всего сайта?
Это снимает ограничение и требует оценки ресурсов. Для обычной интеграции лучше согласованный конечный предел нужного маршрута и проверка приложения.