<svg viewBox="0 0 1540 600" xmlns="http://www.w3.org/2000/svg" font-family="-apple-system, 'Segoe UI', Helvetica, Arial, sans-serif">
<rect width="1540" height="600" fill="#ffffff"/>
<text x="60" y="64" font-size="30" font-weight="700" fill="#0f172a">Las cuatro cosas que puede significar un 429</text>
<text x="60" y="96" font-size="13.6" fill="#475569">Mismo código de estado, cuatro situaciones, dos de las cuales nunca deben reintentarse. Códigos de error según la documentación de cada proveedor; el cliente debe leer el cuerpo, no el estado</text>
<rect x="640" y="122" width="260" height="46" rx="23" fill="#0f172a"/><text x="770" y="152" font-size="22" font-weight="800" fill="#ffffff" text-anchor="middle">HTTP 429</text>
<line x1="230" y1="168" x2="1310" y2="168" stroke="#94a3b8" stroke-width="2"/>
<line x1="230" y1="168" x2="230" y2="200" stroke="#94a3b8" stroke-width="2"/><line x1="590" y1="168" x2="590" y2="200" stroke="#94a3b8" stroke-width="2"/><line x1="950" y1="168" x2="950" y2="200" stroke="#94a3b8" stroke-width="2"/><line x1="1310" y1="168" x2="1310" y2="200" stroke="#94a3b8" stroke-width="2"/>
<rect x="60" y="200" width="340" height="330" rx="14" fill="#ffffff" stroke="#2563eb" stroke-width="3"/>
<rect x="60" y="200" width="340" height="54" rx="14" fill="#2563eb"/><rect x="60" y="236" width="340" height="18" fill="#2563eb"/>
<text x="230" y="235" font-size="20" font-weight="700" fill="#ffffff" text-anchor="middle">Limitación de tasa</text>
<text x="230" y="284" font-size="15" fill="#475569" text-anchor="middle" font-style="italic">Superaste un límite por minuto</text>
<text x="78" y="318" font-size="13" fill="#0f172a">OpenAI rate_limit_error</text>
<text x="78" y="342" font-size="13" fill="#0f172a">Anthropic rate_limit_error + retry-after</text>
<text x="78" y="366" font-size="13" fill="#0f172a">Gemini rate_limit_exceeded</text>
<text x="78" y="390" font-size="13" fill="#0f172a">Kimi rate_limit_reached_error</text><text x="78" y="414" font-size="13" fill="#0f172a">Bedrock ThrottlingException (429)</text><text x="78" y="438" font-size="13" fill="#0f172a">Azure "Se superó el límite de tasa"</text>
<line x1="78" y1="450" x2="382" y2="450" stroke="#e2e8f0" stroke-width="2"/>
<text x="230" y="476" font-size="10.5" font-weight="700" fill="#2563eb" text-anchor="middle"><tspan x="230" dy="0">Reintentar tras Retry-After</tspan><tspan x="230" dy="12.6">o aplicar espera exponencial</tspan></text>
<rect x="420" y="200" width="340" height="330" rx="14" fill="#ffffff" stroke="#d97706" stroke-width="3"/>
<rect x="420" y="200" width="340" height="54" rx="14" fill="#d97706"/><rect x="420" y="236" width="340" height="18" fill="#d97706"/>
<text x="590" y="235" font-size="20" font-weight="700" fill="#ffffff" text-anchor="middle">Aceleración</text>
<text x="590" y="284" font-size="15" fill="#475569" text-anchor="middle" font-style="italic">Aumentaste el ritmo demasiado rápido</text>
<text x="438" y="318" font-size="13" fill="#0f172a">OpenAI slow_down</text>
<text x="438" y="342" font-size="13" fill="#0f172a">Límites de aceleración de Anthropic</text>
<text x="438" y="366" font-size="13" fill="#0f172a">Alibaba: tasa aumentada demasiado rápido</text><text x="438" y="390" font-size="13" fill="#0f172a">Ráfagas de Azure en ventanas de 1 s / 10 s</text>
<line x1="438" y1="450" x2="742" y2="450" stroke="#e2e8f0" stroke-width="2"/>
<text x="590" y="484" font-size="15" font-weight="700" fill="#d97706" text-anchor="middle">Reducir la aceleración y reintentar</text>
<rect x="780" y="200" width="340" height="330" rx="14" fill="#ffffff" stroke="#dc2626" stroke-width="3"/>
<rect x="780" y="200" width="340" height="54" rx="14" fill="#dc2626"/><rect x="780" y="236" width="340" height="18" fill="#dc2626"/>
<text x="950" y="235" font-size="20" font-weight="700" fill="#ffffff" text-anchor="middle">Cuota o límite de gasto</text>
<text x="950" y="284" font-size="15" fill="#475569" text-anchor="middle" font-style="italic">Esperar no libera nada</text>
<text x="798" y="318" font-size="13" fill="#0f172a">OpenAI insufficient_quota, gasto</text>
<text x="798" y="342" font-size="13" fill="#0f172a">Anthropic enforced_spend_limit_reached</text>
<text x="798" y="366" font-size="13" fill="#0f172a">Gemini quota_exceeded (diaria)</text>
<text x="798" y="390" font-size="13" fill="#0f172a">Kimi exceeded_current_quota_error</text><text x="798" y="414" font-size="12" fill="#0f172a">Bedrock ServiceQuotaExceededException (400)</text>
<line x1="798" y1="450" x2="1102" y2="450" stroke="#e2e8f0" stroke-width="2"/>
<text x="950" y="476" font-size="10.5" font-weight="700" fill="#dc2626" text-anchor="middle"><tspan x="950" dy="0">No reintentar: corregir la facturación</tspan><tspan x="950" dy="12.6">o esperar al restablecimiento</tspan></text>
<rect x="1140" y="200" width="340" height="330" rx="14" fill="#ffffff" stroke="#7c3aed" stroke-width="3"/>
<rect x="1140" y="200" width="340" height="54" rx="14" fill="#7c3aed"/><rect x="1140" y="236" width="340" height="18" fill="#7c3aed"/>
<text x="1310" y="235" font-size="20" font-weight="700" fill="#ffffff" text-anchor="middle">Sobrecarga</text>
<text x="1310" y="276" font-size="14.1" fill="#475569" text-anchor="middle" font-style="italic"><tspan x="1310" dy="0">La capacidad del</tspan><tspan x="1310" dy="16.9">proveedor, no la tuya</tspan></text>
<text x="1158" y="318" font-size="13" fill="#0f172a">Kimi engine_overloaded_error (429)</text>
<text x="1158" y="342" font-size="13" fill="#0f172a">OpenAI 503 server_is_overloaded</text>
<text x="1158" y="366" font-size="13" fill="#0f172a">Anthropic 529 overloaded_error</text>
<text x="1158" y="390" font-size="13" fill="#0f172a">DeepSeek 503</text><text x="1158" y="414" font-size="13" fill="#0f172a">Bedrock 503, Vertex AI 429 (pool)</text><text x="1158" y="438" font-size="13" fill="#0f172a">Azure "alta demanda", PTU al 100%</text>
<line x1="1158" y1="450" x2="1462" y2="450" stroke="#e2e8f0" stroke-width="2"/>
<text x="1310" y="484" font-size="15" font-weight="700" fill="#7c3aed" text-anchor="middle">Reintentar con espera exponencial</text>
<text x="60" y="570" font-size="14" fill="#475569">Fuentes: páginas de errores y límites de tasa de OpenAI, Anthropic, Gemini, Kimi, Alibaba, DeepSeek, Bedrock, Vertex AI y Azure OpenAI, consultadas el 2026-09-03 y el 2026-09-04</text>
</svg>
