Senza KYC — niente documento, niente selfie, niente documenti. Paga in criptovalute: BTC, USDT, USDC, ETH, SOL, LTC
Lingua: Italiano
Ottieni una chiave API

Documentazione · errori

Errori, rate limit e retry

Gli errori tornano nel formato OpenAI, così gli SDK li sollevano come normali eccezioni. Questa pagina elenca ogni status e codice, dice quali vale la pena ritentare e mostra un loop di retry che rispetta il rate limit.

Ultimo aggiornamento: · 4 min di lettura

Risposta rapida

Quali errori può restituire l'API LLMwithCrypto e vengono addebitati?

L'API risponde agli errori con uno status HTTP e un body in stile OpenAI: {"error": {"message", "type", "param", "code"}}. LLMwithCrypto usa 400 per una richiesta errata, 401 per una chiave sbagliata, 402 quando i crediti non bastano a pagare, 404 per un modello sconosciuto, 429 per il rate limit e 500 o 503 da parte nostra. Una chiamata che termina con un errore non costa nulla, come documentato il 23 ottobre 2026.

Quali errori esistono?

Nessun errore consuma crediti. code è il valore stabile da testare nel tuo codice; message è per le persone e può cambiare.

HTTPcodeCausaRitentare?
400invalid_parameterManca un campo obbligatorio, oppure un valore è fuori intervallo o del tipo sbagliatoNo: correggi la richiesta
400context_length_exceededI messaggi più max_tokens non entrano nella finestra di contesto del modelloNo: accorcia l'input o abbassa max_tokens
400unsupported_parameterUn campo che questo modello non supporta, come response_format su un modello senza modalità JSONNo: rimuovilo o cambia modello
401invalid_api_keyLa chiave manca, è scritta male o è stata revocataNo: controlla la chiave
402insufficient_balanceIl saldo residuo non può pagare questa chiamataNo: acquista un pacchetto di crediti
404model_not_foundL'id model non è nella nostra listaNo: usa un id da GET /api/v1/models
429rate_limit_exceededPiù richieste o token al minuto di quanti ne consenta l'accountSì, dopo una pausa
500server_errorQualcosa è andato storto dalla nostra parteSì, con backoff
503model_overloadedIl modello è momentaneamente al limite di capacitàSì, con backoff, oppure prova un altro modello
Corpo dell'errore: un modello sconosciuto
{
  "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"
  }
}

Perché ricevo 404 per gpt-4o o claude?

Perché quei modelli non sono venduti qui. Non vendiamo l'accesso a GPT, Claude, Gemini o Grok: i loro produttori vietano la rivendita dell'accesso alle API senza la loro approvazione, e noi non l'abbiamo. Il codice scritto per l'API OpenAI spesso nomina un modello in più punti; cerca nel tuo progetto il vecchio nome e sostituiscilo con un id dalla pagina dei modelli, come deepseek-v4-pro o gpt-oss-120b.

Quando deve riprovare il mio codice?

Riprova 429, 500 e 503, e gli errori di rete come un timeout o una connessione interrotta. Non riprovare mai 400, 401, 402 o 404: la stessa richiesta fallirà allo stesso modo.

Attendi prima di ogni nuovo tentativo. Quando la risposta ha un header Retry-After, attendi quel numero di secondi; altrimenti raddoppia la pausa ogni volta (1, 2, 4, 8 secondi…) e aggiungi un po' di tempo casuale, così che molti worker non riprovino tutti insieme. Rinuncia dopo alcuni tentativi e registra l'errore nel log. Gli SDK OpenAI riprovano già da soli; l'esempio qui sotto lo disattiva per mostrare la logica per intero.

Python: riprova su 429, 500 e 503 con backoff esponenziale
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)

Cosa devo fare in caso di 402 insufficient_balance?

Ricarica. La chiamata non è stata addebitata e nient'altro sull'account cambia: le tue chiavi continuano a funzionare non appena c'è di nuovo credito. Una volta confermato il tuo versamento in criptovalute e acquistato un pack di crediti, la tua chiave API ti aspetta nella dashboard.

Per evitare sorprese in produzione, leggi GET https://llmwithcrypto.com/api/v1/credits di tanto in tanto e imposta un avviso sotto una soglia a tua scelta; la pagina dei modelli e dei crediti mostra la chiamata. I crediti non hanno data di scadenza: quello che non spendi questo mese è ancora lì l'anno prossimo, quindi un pacchetto più grande acquistato in anticipo non costa nulla in più.

Come resto sotto il rate limit?

Ogni account ha un limite di richieste e di token al minuto, mostrato nella dashboard; chiedi al supporto e può essere alzato.

  • Limita la concorrenza. Esegui un numero fisso di richieste in parallelo invece di lanciare un intero batch tutto insieme.
  • Limita l'output. I limiti di token contano anche ciò che scrive il modello, quindi un max_tokens ragionevole tiene più richieste dentro il limite.
  • Distribuisci i batch. Per i grandi lavori offline, distribuisci le richieste lungo il minuto invece di inviarle a raffiche.

Errori: domande frequenti

Una chiamata fallita mi viene addebitata?

No. Paghi per token dal tuo saldo: i token di input e di output vengono contati dal tokenizer del modello stesso e addebitati al prezzo di quel modello per 1M di token. Una chiamata che termina con un errore non costa nulla.

Dove posso vedere se c'è un disservizio?

Nella status page. Una serie di errori 500 o 503 su più modelli di solito indica un incidente dalla nostra parte; scrivi a [email protected] se persiste.

Posso vedere la richiesta che ha fallito?

Non dalla nostra parte. Non conserviamo i tuoi prompt né le risposte del modello: una volta inviata una risposta, il suo testo non c'è più. Ogni chiamata lascia una riga di log con l'ora, l'account, il modello e i conteggi dei token, cancellata dopo 30 giorni. Registra nel log della tua app l'errore code e il tuo id di richiesta.

DeepSeek V4 Pro da $1.254 per 1M di token di input · senza KYC

Ottieni una chiave API