Sin KYC — sin ID, sin selfie, sin documentos. Paga con criptomonedas: BTC, USDT, USDC, ETH, SOL, LTC
Idioma: Español
Consigue una clave API

Docs · errores

Errores, rate limits y reintentos

Los errores llegan en el formato de OpenAI, así que los SDK los lanzan como excepciones habituales. Esta página enumera cada estado y código, indica cuáles merecen un reintento y muestra un bucle de reintentos que respeta el rate limit.

Última actualización: · 5 min de lectura

Respuesta rápida

¿Qué errores puede devolver la API de LLMwithCrypto y se cobran?

La API responde a los errores con un estado HTTP y un cuerpo al estilo de OpenAI: {"error": {"message", "type", "param", "code"}}. LLMwithCrypto usa 400 para una petición incorrecta, 401 para una clave errónea, 402 cuando el crédito no puede pagar, 404 para un modelo desconocido, 429 para el rate limit y 500 o 503 por nuestra parte. Una llamada que termina en error no cuesta nada, según la documentación del 23 de octubre de 2026.

¿Qué errores existen?

Ningún error consume crédito. code es el valor estable que debes comprobar en tu código; message es para personas y puede cambiar.

HTTPcodeCausa¿Reintentar?
400invalid_parameterFalta un campo obligatorio, o un valor está fuera de rango o es de un tipo incorrectoNo: corrige la petición
400context_length_exceededLos mensajes más max_tokens no caben en la ventana de contexto del modeloNo: acorta la entrada o reduce max_tokens
400unsupported_parameterUn campo que este modelo no admite, como response_format en un modelo sin modo JSONNo: quítalo o cambia de modelo
401invalid_api_keyLa clave falta, está mal escrita o fue revocadaNo: revisa la clave
402insufficient_balanceEl saldo restante no alcanza para esta llamadaNo: compra un pack de créditos
404model_not_foundEl id model no está en nuestra listaNo: usa un id de GET /api/v1/models
429rate_limit_exceededMás solicitudes o tokens por minuto de los que permite la cuentaSí, tras una pausa
500server_errorAlgo falló por nuestra parteSí, con backoff
503model_overloadedEl modelo está al límite de capacidad por un momentoSí, con backoff, o prueba otro modelo
Cuerpo del error: un modelo desconocido
{
  "error": {
    "message": "The model `gpt-4o` does not exist or is not available to your key.",
    "type": "invalid_request_error",
    "param": "model",
    "code": "model_not_found"
  }
}

¿Por qué recibo 404 con gpt-4o o claude?

Porque esos modelos no se venden aquí. No vendemos acceso a GPT, Claude, Gemini ni Grok: sus creadores prohíben revender el acceso a la API sin su aprobación, y nosotros no la tenemos. El código escrito para la API de OpenAI suele nombrar un modelo en varios sitios; busca en tu proyecto el nombre antiguo y reemplázalo por un id de la página de modelos, como deepseek-v4-pro o gpt-oss-120b.

¿Cuándo debe reintentar mi código?

Reintenta 429, 500 y 503, y los errores de red como un timeout o una conexión reiniciada. Nunca reintentes 400, 401, 402 ni 404: la misma solicitud fallará de la misma forma.

Espera antes de cada nuevo intento. Cuando la respuesta tenga una cabecera Retry-After, espera esos segundos; si no, duplica la pausa cada vez (1, 2, 4, 8 segundos…) y añade un poco de tiempo aleatorio, para que muchos workers no reintenten a la vez. Abandona tras unos cuantos intentos y registra el error. Los SDK de OpenAI ya reintentan por su cuenta; el ejemplo de abajo lo desactiva para mostrar la lógica completa.

Python: reintentar 429, 500 y 503 con backoff exponencial
import os
import random
import time

from openai import APIConnectionError, APIStatusError, OpenAI

client = OpenAI(
    base_url="https://llmwithcrypto.com/api/v1",
    api_key=os.environ["LLMWITHCRYPTO_API_KEY"],
    max_retries=0,
)
RETRY = {429, 500, 503}


def chat(messages, model="deepseek-v4-pro", attempts=5):
    for attempt in range(attempts):
        try:
            return client.chat.completions.create(model=model, messages=messages, max_tokens=500)
        except APIStatusError as err:
            if err.status_code not in RETRY or attempt == attempts - 1:
                raise
            wait = err.response.headers.get("retry-after")
            delay = float(wait) if wait else min(30, 2**attempt) + random.random()
        except APIConnectionError:
            if attempt == attempts - 1:
                raise
            delay = min(30, 2**attempt) + random.random()
        time.sleep(delay)

¿Qué hago con 402 insufficient_balance?

Recarga. La llamada no se cobró y nada más de la cuenta cambia: tus claves siguen funcionando en cuanto vuelva a haber crédito. En cuanto se confirma tu recarga con criptomonedas y compras un pack de créditos, tu clave API te espera en el panel.

Para evitar sorpresas en producción, lee GET https://llmwithcrypto.com/api/v1/credits de vez en cuando y actívate una alerta por debajo de un umbral que elijas; la página de modelos y créditos muestra la llamada. Los créditos no caducan: lo que no gastes este mes seguirá ahí el año que viene, así que un pack más grande comprado antes no cuesta nada extra.

¿Cómo me mantengo por debajo del rate limit?

Cada cuenta tiene un límite de peticiones y de tokens por minuto, que se muestra en el panel; pídelo a soporte y se puede ampliar.

  • Limita la concurrencia. Ejecuta un número fijo de solicitudes en paralelo en lugar de lanzar un lote entero de golpe.
  • Limita la salida. Los límites de tokens también cuentan lo que escribe el modelo, así que un max_tokens razonable deja más solicitudes dentro del límite.
  • Reparte los lotes. Para trabajos grandes offline, marca el ritmo de las solicitudes a lo largo del minuto en lugar de enviarlas a ráfagas.

Errores: preguntas frecuentes

¿Me cobran por una llamada fallida?

No. Pagas por token desde tu saldo: los tokens de entrada y de salida se cuentan con el tokenizador propio del modelo y se cobran al precio de ese modelo por 1M de tokens. Una llamada que termina en error no cuesta nada.

¿Dónde puedo ver si hay una caída?

En la página de estado. Una racha de errores 500 o 503 en varios modelos suele indicar un incidente por nuestra parte; escribe a [email protected] si persiste.

¿Puedo ver la solicitud que falló?

No por nuestra parte. No guardamos tus prompts ni las respuestas del modelo: una vez enviada una respuesta, su texto desaparece. Cada llamada deja una línea de log con la hora, la cuenta, el modelo y el recuento de tokens, que se borra a los 30 días. Registra el error code y tu propio id de solicitud en tu app.

DeepSeek V4 Pro desde $1.254 por 1M de tokens de entrada · sin KYC

Consigue una clave API