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

Documentazione · curl

curl: l'API LLM da un terminale

Ogni chiamata è semplice HTTPS con un body JSON, quindi curl basta per testare una chiave, confrontare due modelli o scriptare un lavoretto veloce. jq rende il JSON leggibile; entrambi sono inclusi nella maggior parte dei sistemi o si installano con un comando.

Ultimo aggiornamento: · 4 min di lettura

Risposta rapida

Come chiamo LLMwithCrypto con curl?

Invia una POST a https://llmwithcrypto.com/api/v1/chat/completions con -H "Authorization: Bearer $LLMWITHCRYPTO_API_KEY", un content type JSON e un body che contiene model e messages. LLMwithCrypto restituisce l'oggetto di risposta di OpenAI; passalo a jq per stampare la risposta e i conteggi dei token. Aggiungi -N e "stream": true per vedere il testo arrivare in tempo reale, come documentato al 23 ottobre 2026.

Come imposto la chiave una volta sola?

Esportala nella tua sessione shell così ogni comando può usarla, e tienila fuori dalla cronologia della shell e dagli script condivisi:

  • Linux e macOS: export LLMWITHCRYPTO_API_KEY=… nel terminale, oppure in un file .env che i tuoi script caricano e che non viene mai committato.
  • Windows PowerShell: $env:LLMWITHCRYPTO_API_KEY = "…", poi esegui i comandi in Git Bash o WSL, oppure adatta le virgolette.

Crea una chiave API per ogni app, agente o membro del team e revoca quella che vuoi dalla dashboard senza toccare le altre.

Una risposta breve e i suoi conteggi di token
curl -s "https://llmwithcrypto.com/api/v1/chat/completions" \
  -H "Authorization: Bearer $LLMWITHCRYPTO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "gpt-oss-20b", "messages": [{"role": "user", "content": "One word for fast?"}], "max_tokens": 20}' \
  | jq -r '.choices[0].message.content, "\(.usage.prompt_tokens) in, \(.usage.completion_tokens) out"'

Come evito i problemi di virgolette?

Metti il body in un file. Le virgolette della shell e quelle del JSON si scontrano appena un prompt contiene un apostrofo o un simbolo del dollaro; un file evita entrambi. --data @request.json invia il file così com'è.

Una richiesta letta da un file
cat > request.json <<'EOF'
{
  "model": "deepseek-v4-pro",
  "messages": [
    {"role": "system", "content": "You review shell scripts."},
    {"role": "user", "content": "Is it safe to run rm -rf \"$DIR\"/ when DIR may be empty?"}
  ],
  "max_tokens": 300
}
EOF
curl -s "https://llmwithcrypto.com/api/v1/chat/completions" \
  -H "Authorization: Bearer $LLMWITHCRYPTO_API_KEY" \
  -H "Content-Type: application/json" \
  --data @request.json | jq -r '.choices[0].message.content'

Come faccio a vedere una risposta in streaming?

-N disattiva il buffer di output di curl, così ogni server-sent event viene stampato non appena arriva. Vedrai le righe data: grezze; la pagina sullo streaming le spiega.

Risposta in streaming, eventi grezzi
curl -sN "https://llmwithcrypto.com/api/v1/chat/completions" \
  -H "Authorization: Bearer $LLMWITHCRYPTO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-v4.1-flash",
    "messages": [{"role": "user", "content": "Write a haiku about latency."}],
    "stream": true,
    "stream_options": {"include_usage": true},
    "max_tokens": 120
  }'

Come faccio a elencare i modelli e controllare i crediti?

Entrambe le chiamate sono gratuite. La prima stampa un id di modello per riga, pronto per il campo model; la seconda stampa i crediti rimanenti in dollari USA.

Id dei modelli
curl -s "https://llmwithcrypto.com/api/v1/models" \
  -H "Authorization: Bearer $LLMWITHCRYPTO_API_KEY" | jq -r '.data[].id'
Crediti rimanenti
curl -s "https://llmwithcrypto.com/api/v1/credits" \
  -H "Authorization: Bearer $LLMWITHCRYPTO_API_KEY" | jq -r '.balance_usd'

Come faccio a vedere un errore nel terminale?

Aggiungi -w "\nHTTP %{http_code}\n" per stampare lo status dopo il body. Un body di errore è un piccolo oggetto JSON con un campo code, come invalid_api_key, insufficient_balance o model_not_found; la pagina sugli errori li spiega uno per uno. Con jq, .error.code // empty stampa il codice quando c'è e niente altrimenti, il che rende facile creare rami negli script.

Gli errori non costano nulla. 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.

Posso automatizzare un batch con curl?

Per una manciata di richieste, un loop shell sui file va bene: un body JSON per file, un curl per file, i risultati scritti accanto. Tienilo sequenziale, oppure esegui qualche richiesta alla volta con xargs -P 4, per restare sotto il tuo rate limit. Ogni account ha un limite di richieste e di token al minuto, mostrato nella dashboard; chiedi al supporto e può essere alzato.

Per volumi più grandi, retry e concorrenza sono più semplici nel codice: le pagine Python e Node.js hanno esempi di batch pronti con un limite di concorrenza.

curl: domande frequenti

Perché ricevo un errore 401?

La chiave manca, è scritta male o è stata revocata, oppure la variabile non è impostata in questa shell. Esegui echo ${#LLMWITHCRYPTO_API_KEY} per controllare che non sia vuota.

Come faccio a confrontare rapidamente due modelli?

Esegui lo stesso file due volte e cambia solo model, per esempio deepseek-v4-pro e gpt-oss-120b; le righe usage mostrano quanto è costata ogni risposta in token.

Il mio prompt viene memorizzato?

No. 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.

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

Ottieni una chiave API