Claude API 413 request_too_large: el límite sube a 128 MB — límites de Bedrock y pasarelas de terceros, cómo enviar PDF grandes y capturas

El límite de las peticiones Messages de la API de Claude pasa de 32 MB a 128 MB, pero Bedrock sigue en 20 MB, Vertex gestionado por Google en 30 MB y las pasarelas de terceros tienen sus propios topes. Cómo reconocer 413 request_too_large, tabla de límites por plataforma, comprimir y reducir imágenes, enviar PDF grandes con file_id de la Files API, recortar capturas antiguas en sesiones largas de computer use y Claude Code, y nuestra prueba de 10 MB a 130 MB.

7 分钟阅读
Claude API 413 request_too_large: el límite sube a 128 MB — límites de Bedrock y pasarelas de terceros, cómo enviar PDF grandes y capturas

En resumen: según la documentación de Claude, la API de Claude de primera parte acepta ahora peticiones Messages y Token Counting de hasta 128 MB (antes 32 MB). Batch llega a 256 MB y la Files API a 500 MB. Eso solo aplica a la API de Anthropic: Amazon Bedrock sigue en 20 MB, Claude en Vertex gestionado por Google en 30 MB, y Claude Platform on AWS, Google Cloud gestionado por Anthropic y Microsoft Foundry en 32 MB. Las pasarelas de terceros también fijan sus propios topes.

Probamos peticiones Messages de 10 MB a 130 MB con nuestra propia clave:

  • hasta unos 50 MB todo devolvió 200 en 5 a 9 segundos;
  • desde unos 54 MB recibimos 413, y las peticiones más grandes se rechazaron en 1 segundo aproximadamente.

Ante un 413, no cambies de modelo: mide el cuerpo de la petición, reduce imágenes, divide los PDF y elimina capturas antiguas. La ventana de contexto no creció: caber en 128 MB no significa caber en tokens.

Crear API Key y usar Claude en Claude Code →

Cómo reconocer 413 request_too_large

La API oficial devuelve HTTP 413 con el tipo de error request_too_large:

json
{
  "type": "error",
  "error": {
    "type": "request_too_large",
    "message": "Request exceeds the maximum allowed number of bytes."
  }
}

Según la página oficial de errores, en la API de Claude de primera parte este error lo devuelve Cloudflare antes de que la petición llegue a los servidores de la API. Es decir:

  • la petición nunca llegó al modelo, no hubo salida ni consumo de tokens;
  • reenviar la misma petición no sirve, hay que reducir el cuerpo;
  • es un problema distinto de 400 invalid_request_error (formato), 429 (límite de frecuencia) y 529 (sobrecarga).

A través de una pasarela de terceros, el cuerpo del 413 cambia. En nuestra prueba vimos dos formas: el mensaje propio de la pasarela (en chino, «cuerpo de la petición demasiado grande, reduce el contenido y reintenta») y bad response status code 413, que indica que el servicio de origen devolvió 413. Trata ambos como «petición demasiado grande». Para otros errores, consulta la solución de errores de la API de Claude Haiku 5.5.

Primero mide tu petición:

python
import json
body = json.dumps(payload).encode()
print(f"{len(body) / 1024 / 1024:.1f} MB")

Límites por plataforma

AccesoTamaño máximo de petición
API de Claude: Messages, Token Counting128 MB
API de Claude: Message Batches256 MB
API de Claude: subida a Files API500 MB
API de Claude: Sessions, Agents, Environments32 MB
Claude Platform on AWS32 MB
Claude en Google Cloud (gestionado por Anthropic)32 MB
Microsoft Foundry32 MB
Claude en Google Cloud (gestionado por Google, Vertex)30 MB
Amazon Bedrock20 MB
Nuestra pasarela (nuestra prueba)pasa hasta unos 50 MB, 413 desde unos 54 MB

Cifras según la visión general oficial de la API; la documentación indica que manda la de cada plataforma cloud. Según AlphaSignal, la subida apunta a peticiones con muchas imágenes.

Otros límites se aplican junto al tamaño (según la documentación de Vision y la de PDF):

  • cada imagen admite como máximo 8000×8000 px; con más de 20 imágenes en una petición, el lado largo de cada imagen debe ser de 3000 px o menos (antes 2000 px, según AlphaSignal), si no, invalid_request_error con mención a many-image requests;
  • hasta 600 imágenes por petición, 100 en modelos con contexto de 200K;
  • PDF de hasta 600 páginas por petición, 100 si la ventana de contexto es menor de 1M tokens;
  • base64 añade cerca de un tercio: un PNG de 3 MB pasa a unos 4 MB.

Solución 1: comprimir y reducir imágenes

El modelo no usa tu resolución completa. Según la documentación, Claude 4.7 y modelos posteriores reducen el lado largo a 2576 px y el resto a 1568 px. Enviar capturas 4K solo multiplica los bytes. Redimensiona antes de enviar:

python
from PIL import Image
import base64, io

def shrink(path, max_side=1568, quality=80):
    im = Image.open(path).convert("RGB")
    im.thumbnail((max_side, max_side))
    buf = io.BytesIO()
    im.save(buf, "JPEG", quality=quality, optimize=True)
    return base64.b64encode(buf.getvalue()).decode()

Reglas prácticas:

  • guarda las capturas en JPEG (calidad 75 a 85), mucho más ligero que PNG;
  • lado largo en 1568 px, 2576 px solo para texto pequeño;
  • con más de 20 imágenes, siempre por debajo de 3000 px;
  • envía cada imagen una sola vez en la conversación y luego refiérete a ella en texto.

Solución 2: PDF grandes con file_id de la Files API

En la API oficial, sube los archivos grandes a la Files API (500 MB por archivo) y referencia el file_id en Messages; el cuerpo solo lleva un ID:

bash
curl https://api.anthropic.com/v1/files \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "anthropic-beta: files-api-2025-04-14" \
  -F "file=@report.pdf"
# -> {"id": "file_011C...", ...}
json
{"type": "document", "source": {"type": "file", "file_id": "file_011C..."}}

Según la documentación, las conversaciones de varios turnos y los agentes reenvían todo el historial en cada turno, así que las imágenes base64 viajan cada vez; con file_id el cuerpo sigue pequeño.

Si tu pasarela no admite la Files API (en esta prueba, la llamada de subida a nuestra pasarela devolvió 400), divide el PDF en partes de 100 páginas como máximo y dentro del límite de petición:

bash
qpdf report.pdf --pages . 1-100 -- part1.pdf
qpdf report.pdf --pages . 101-200 -- part2.pdf

Cada página de PDF se procesa como imagen; en PDF escaneados, bajar la resolución de las imágenes incrustadas los reduce mucho.

Solución 3: en sesiones largas de computer use y Claude Code, elimina capturas antiguas

Computer use y los agentes con muchas capturas son los que más chocan con el 413: cada paso añade una captura en tool_result, cada turno reenvía todo el historial, y tras unas decenas de pasos el cuerpo supera los 100 MB. Según la documentación, las capturas dentro de tool_result también cuentan para el umbral de 20 imágenes.

Qué hacer:

  • conserva solo las últimas capturas y sustituye las antiguas por una línea de texto («paso 12: ajustes abiertos»);
  • en tu propio bucle de agente, resume el historial cada N pasos;
  • en Claude Code, ejecuta /compact o abre una sesión nueva para tareas largas. Para saber cuándo compacta Claude Code, consulta la compactación automática de Claude Code.

Para conectar Claude Code a un endpoint de terceros, la configuración global va en ~/.claude/settings.json:

json
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.aicodewith.ai",
    "ANTHROPIC_AUTH_TOKEN": "TU_API_KEY"
  },
  "model": "claude-sonnet-5-5"
}

La dirección es https://api.aicodewith.ai, sin /v1. Pasos completos: configurar una API de terceros en Claude Code; para los cambios de versión de API y SDK del 21 de octubre, consulta la migración Claude API 2026-10-21.

Prueba: qué tamaño acepta nuestra pasarela

Método: claude-sonnet-5-5, max_tokens 16, una petición Messages con varias imágenes base64 (imágenes de 16×16 px con bytes de relleno para mantener pocos tokens), de 10 MB a 130 MB, enviada por POST a https://api.aicodewith.ai/v1/messages.

Tamaño del cuerpoEstadoTiempo
4,8 MB200unos 14 s
10,1 MB200unos 5 s
40,3 MB200unos 6 s
50,3 MB200unos 9 s
52,0 MB200unos 9 s
53,7 MB413unos 6 s
60,4 MB413unos 10 s
75,5 MB413unos 1 s
98,8 MB413unos 4 s
129,6 MB413unos 1 s

Resultado: en nuestra prueba, las peticiones Messages a través de nuestra pasarela devolvieron 200 hasta unos 52 MB y 413 desde unos 54 MB, por debajo de los 128 MB oficiales. Una conversación con algunas imágenes, unas capturas o un PDF de unas decenas de páginas queda muy lejos; si de verdad necesitas enviar decenas de MB, las tres soluciones anteriores son el camino más seguro. Algunas peticiones perdieron la conexión durante la subida y funcionaron al reenviarlas. Después borramos el script y los archivos de prueba.

Crear API Key y conectar Claude a Claude Code →

Preguntas frecuentes

Con 128 MB, ¿puedo enviar más contenido?

Creció el límite de bytes, no la ventana de contexto. Una imagen grande reducida a la resolución de trabajo del modelo tiene un número fijo de tokens; los bytes de más son ancho de banda desperdiciado. El texto suele chocar con la ventana de contexto mucho antes de 128 MB.

¿Qué diferencia hay entre 413 y 400 «prompt is too long»?

413 significa demasiados bytes y la petición se detiene antes del modelo; prompt is too long significa demasiados tokens para la ventana de contexto y la petición sí llegó a la API. En el primero reduce bytes; en el segundo, quita contenido o compacta el historial.

¿Por qué sigo viendo 413 en Bedrock?

Bedrock admite 20 MB y Vertex gestionado por Google 30 MB; los 128 MB solo aplican a la API de Claude de primera parte. Comprime según el límite de la plataforma.

¿Batch admite peticiones más grandes?

Un lote completo puede ocupar 256 MB, pero cada elemento sigue siendo una petición Messages. Batch sirve para muchas tareas offline, no para saltarse el tamaño por petición.

¿Reenviar soluciona el 413?

No. El mismo cuerpo se rechaza siempre; redúcelo primero.

相关文章

La extensión Claude Code para VS Code 2.1.313 traía una puerta trasera SSH: revisión y limpieza en 5 minutos para Cursor / VSCodium

La extensión Claude Code para VS Code 2.1.313 traía una puerta trasera SSH: revisión y limpieza en 5 minutos para Cursor / VSCodium

Según OpenSourceMalware y Phorion, la extensión Claude Code 2.1.313 publicada en Open VSX tenía un cargador de 66 líneas al inicio de extension.js. En cuanto la extensión se carga, añade una clave del atacante a ~/.ssh/authorized_keys, intenta activar SSH, abre un túnel inverso a 134.209.82.225 e instala persistencia. Esta guía da 5 pasos de revisión para macOS, Linux y Windows, además de conservación de pruebas, limpieza y rotación de credenciales.

Google Jules cierra (31 de diciembre): exporta tus datos y migra a los agentes en segundo plano de Claude Code / Codex

Google Jules cierra (31 de diciembre): exporta tus datos y migra a los agentes en segundo plano de Claude Code / Codex

Google cerrará Jules el 31 de diciembre de 2026 y el servicio pasa a solo lectura después del 11 de noviembre. Esta guía sigue la exportación oficial (ajustes, variables de entorno, tareas programadas, repositorios, memorias, scripts de setup, todas las sesiones y sus patches) y lleva cada pieza a Claude Code y Codex, con los tiempos medidos al ejecutar la misma exportación en ambos clientes (Claude Code unos 15 s, Codex unos 44 s).

¿Por qué Claude suspende cuentas? La teoría comunitaria del «sistema de puntos» y cómo usar Claude Code sin cambiar de cuenta

¿Por qué Claude suspende cuentas? La teoría comunitaria del «sistema de puntos» y cómo usar Claude Code sin cambiar de cuenta

Desde el 28 de octubre, dos publicaciones que afirman que «Claude suspende cuentas con un sistema de puntos» suman unas 770.000 visualizaciones en X. Separamos lo que dice la comunidad de lo que Anthropic publica oficialmente sobre suspensiones y apelaciones, y probamos Claude Code 2.1.310 con una API Key de nuestro sitio: las solicitudes simples respondieron en unos 1,4–1,7 segundos y una pequeña tarea de corregir un bug y escribir pruebas terminó en 8,5 segundos. Incluye la configuración de Codex y Cursor y cómo resolver 401/429.