Plataforma
Límites y cupos
Peticiones por minuto, cupo mensual y tamaños máximos.
Cupo semanal y saldo
Cada plan incluye un número de tokens de API a la semana (entrada + salida, razonamiento incluido):
| Plan | Tokens incluidos a la semana |
|---|---|
| Gratuito | Ninguno: se usa solo el saldo recargado |
| Premium | 20.000.000 tokens |
El cupo cuenta lo consumido en los últimos 7 días: no hay un día de reinicio, cada petición deja de contar una semana después de hacerse. Cuando se acaban los incluidos, el consumo se descuenta de tu saldo prepagado (ver Precios y facturación). Sin incluidos ni saldo, la API responde 429 con code: "insufficient_quota". El cupo de la API es independiente del chat: gastarlo no afecta a tus conversaciones en Sabiuco.
Ritmo de peticiones
| Límite | Valor | Error si se supera |
|---|---|---|
| Peticiones por minuto, por clave | 60 | 429 rate_limit_exceeded |
| Peticiones por minuto, por cuenta (todas tus claves juntas) | 60 | 429 rate_limit_exceeded |
| Peticiones simultáneas, por cuenta | 2 | 429 too_many_concurrent_requests |
| Peticiones simultáneas en toda la plataforma | Limitadas para proteger el servicio | 429 server_busy |
Los límites de la cuenta suman todas tus claves: repartir el tráfico entre varias claves no da más ritmo, y usar varias claves o cuentas para saltarse los límites va contra las Condiciones de la API. Si necesitas más, escríbenos desde Soporte. Ante un 429, espera unos segundos y reintenta con espera creciente.
Saldo reservado y cortes
Cuando ya no te quedan tokens incluidos, antes de empezar cada petición se aparta del saldo su coste máximo (entrada estimada + max_tokens de salida) y al terminar se cobra solo lo consumido. Si el saldo no alcanza, la API responde 429 con code: "insufficient_quota": baja max_tokens, acorta la conversación o recarga.
Si cortas la conexión antes de que termine la respuesta, se cobra lo procesado hasta ese momento (estimado a partir de lo enviado y de lo generado, razonamiento incluido) y la petición aparece como «cortada» en Consumo.
Si la cuenta tiene abierta una disputa o un contracargo de un pago, la API responde 403 con code: "account_frozen" hasta que se resuelva.
Tamaños máximos
| Qué | Máximo |
|---|---|
| Cuerpo de la petición | 12 MB |
| Mensajes por petición | 2.000 |
| Texto por petición | unos 3.000.000 de caracteres (~850.000 tokens) |
Tokens de salida (max_tokens) | 524.288 (por defecto, 16.384) |
| Claves activas por cuenta | 10 |
| Asistentes por cuenta | 20 |
| Instrucciones de un asistente | 12.000 caracteres |
| Duración máxima de una respuesta | Según max_tokens: de 5 minutos a 6 horas |
Respuestas largas
max_tokens es un tope, no un objetivo: el modelo escribe lo que la respuesta necesita y se para. Subirlo no alarga las respuestas ni las encarece; solo evita que una respuesta larga salga cortada (finish_reason: "length").
- Usa
stream: truepara las respuestas largas. El modelo escribe entre 40 y 160 tokens por segundo: 50.000 tokens son unos 10-15 minutos, y el máximo, varias horas. En streaming vas recibiendo el texto según sale. - Mientras el modelo razona no llega texto. Para que la conexión no se quede muda, el servidor manda cada 15 segundos una línea de comentario (
: ok), que el estándar de eventos y las librerías de OpenAI ignoran. Si lees el flujo a mano, salta las líneas que empiezan por:. - Sin
stream, la respuesta llega entera al final. Si tarda más de 20 segundos, el servidor responde ya con200y va mandando espacios en blanco delante del JSON para mantener la conexión abierta; cualquier lector de JSON los ignora. En ese caso, si la generación falla después, el error llega con código200y{"error": …}en el cuerpo en lugar dechoices: compruébalo si haces peticiones largas sin streaming. Recuerda subir también el tiempo de espera de tu cliente (el de las librerías de OpenAI es de 10 minutos). - Cortes. Si el motor deja de mandar datos durante 2 minutos, la petición se corta con
stream_interruptedy se cobra lo generado hasta ese momento. - Saldo. Con saldo prepagado se aparta el coste máximo de la petición antes de empezar: un
max_tokensmuy alto aparta más (y se devuelve lo que no se use).