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

Documentazione · Riferimento API

Endpoint chat completions: POST /api/v1/chat/completions

Un solo endpoint risponde per ogni modello. Accetta lo stesso body dell'API chat completions di OpenAI e restituisce lo stesso oggetto, quindi un'integrazione esistente richiede un nuovo URL di base, una nuova chiave e un id modello dalla nostra lista.

Ultimo aggiornamento: · 6 min di lettura

Risposta rapida

Quali campi accetta l'endpoint chat completions di LLMwithCrypto?

Accetta il body chat completions di OpenAI: model e messages sono obbligatori; max_tokens, temperature, top_p, stop, stream, stream_options, tools, tool_choice e response_format sono facoltativi. LLMwithCrypto restituisce un oggetto chat.completion con un conteggio usage, fatturato per token dal tuo credito, come documentato il 23 ottobre 2026. Il tool calling e l'output JSON dipendono dal modello.

L'endpoint in sintesi

Metodo e URLPOST https://llmwithcrypto.com/api/v1/chat/completions
AutenticazionePassa la tua chiave API come Bearer token nell'header Authorization, come fa l'SDK di OpenAI
BodyJSON, Content-Type: application/json
RispostaOggetto chat.completion, oppure server-sent events con stream: true
FatturazionePaghi 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
FunzionalitàLo streaming funziona su ogni modello; il tool calling e l'output JSON seguono ciò che supporta il singolo modello

Crea una chat completion

POST/api/v1/chat/completions

Invia una conversazione a un modello e restituisce la sua risposta con i conteggi dei token. L'esempio pone a DeepSeek V4 Pro una domanda breve con un limite di 200 token; id, orari e conteggi nella risposta sono illustrativi.

Autenticazione: chiave API nell'header Authorization: Bearer API_KEY.

Corpo della richiesta

CampoTipoObbligatorioDescrizione
modelstringSìL'id del modello, come deepseek-v4-pro o gpt-oss-120b. GET /api/v1/models restituisce ogni id che la tua chiave può chiamare.
messagesobject[]SìLa conversazione, dal più vecchio al più recente. Ogni elemento ha un role (system, user, assistant o tool) e una stringa content; i messaggi tool hanno anche un tool_call_id.
max_tokensintegerNoIl numero massimo di token che la risposta può usare. Senza, il modello può scrivere finché la sua finestra di contesto è piena, e paghi ogni token che scrive.
temperaturenumberNoDa 0 a 2. Più basso è più prevedibile, più alto è più vario. Il valore predefinito dipende dal modello.
top_pnumberNoDa 0 a 1, nucleus sampling. Cambia temperature o top_p, non entrambi.
stopstring or string[]NoFino a 4 sequenze che terminano la risposta quando il modello le scrive. Non sono incluse nella risposta.
streambooleanNotrue invia la risposta come server-sent events, pezzo per pezzo. Vedi streaming.
stream_optionsobjectNo{"include_usage": true} aggiunge un ultimo evento con il usage di una chiamata in streaming.
toolsobject[]NoFunzioni che il modello può chiederti di chiamare, nel formato OpenAI. Funziona sui modelli che supportano il tool calling. Vedi tool calling.
tool_choicestring or objectNoauto (predefinito quando tools è impostato), none, required o {"type": "function", "function": {"name": "…"}}.
response_formatobjectNo{"type": "json_object"} richiede un oggetto JSON valido, sui modelli che lo supportano. Indica nel tuo prompt cosa deve contenere il JSON.
Esempio: a short answer from DeepSeek V4 Pro
{
  "model": "deepseek-v4-pro",
  "messages": [
    {
      "role": "system",
      "content": "Answer in two sentences."
    },
    {
      "role": "user",
      "content": "What is a context window?"
    }
  ],
  "max_tokens": 200
}
Esempio: a JSON object from gpt-oss-120b, low temperature
{
  "model": "gpt-oss-120b",
  "messages": [
    {
      "role": "user",
      "content": "Return {\"city\": string, \"country\": string} for the Eiffel Tower."
    }
  ],
  "response_format": {
    "type": "json_object"
  },
  "temperature": 0.2,
  "max_tokens": 100
}

Risposta 200

{
  "id": "chatcmpl-8f2c41d0a7b94e1c",
  "object": "chat.completion",
  "created": 1792742400,
  "model": "deepseek-v4-pro",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "A context window is the maximum number of tokens a model can read and write in one request. Anything beyond it must be cut or summarized before the call."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 27,
    "completion_tokens": 34,
    "total_tokens": 61
  }
}

Esempi di codice

curl
curl -s "https://llmwithcrypto.com/api/v1/chat/completions" \
  -H "Authorization: Bearer $LLMWITHCRYPTO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-v4-pro",
    "messages": [
      {"role": "system", "content": "Answer in two sentences."},
      {"role": "user", "content": "What is a context window?"}
    ],
    "max_tokens": 200
  }'
Python
import os

from openai import OpenAI

client = OpenAI(
    base_url="https://llmwithcrypto.com/api/v1",
    api_key=os.environ["LLMWITHCRYPTO_API_KEY"],
)

resp = client.chat.completions.create(
    model="deepseek-v4-pro",
    messages=[
        {"role": "system", "content": "Answer in two sentences."},
        {"role": "user", "content": "What is a context window?"},
    ],
    max_tokens=200,
)
print(resp.choices[0].message.content)
print(resp.usage.prompt_tokens, "in,", resp.usage.completion_tokens, "out")
Node.js
import OpenAI from 'openai';

const client = new OpenAI({
  baseURL: 'https://llmwithcrypto.com/api/v1',
  apiKey: process.env.LLMWITHCRYPTO_API_KEY,
});

const resp = await client.chat.completions.create({
  model: 'deepseek-v4-pro',
  messages: [
    { role: 'system', content: 'Answer in two sentences.' },
    { role: 'user', content: 'What is a context window?' },
  ],
  max_tokens: 200,
});
console.log(resp.choices[0].message.content);
console.log(resp.usage.prompt_tokens, 'in,', resp.usage.completion_tokens, 'out');

Come scrivo i messaggi?

Invia ogni volta l'intera conversazione, dal messaggio più vecchio: l'API non conserva memoria tra una chiamata e l'altra e niente dei tuoi prompt viene salvato. 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.

  • system: istruzioni che inquadrano ogni risposta, come tono, lingua o formato di output. Mettine una in cima.
  • user: ciò che chiede la persona o il tuo programma.
  • assistant: le risposte precedenti del modello, così può continuare la conversazione.
  • tool: il risultato di una funzione che il modello ti ha chiesto di eseguire, con il tool_call_id che ti ha dato.

Ogni messaggio conta come token di input, quindi le cronologie lunghe costano di più a ogni turno. Taglia o riassumi i turni vecchi quando una conversazione cresce.

Quanto può essere lunga una richiesta?

Input e output insieme devono stare nella context window del modello. Al 23 ottobre 2026, DeepSeek V4 Pro legge fino a 1M token, gpt-oss-120b fino a 128K e Qwen3 235B fino a 256K; la pagina dei modelli li elenca tutti.

Una richiesta che non ci sta torna come 400 con il codice context_length_exceeded e non costa nulla. Imposta max_tokens in modo che il prompt più la risposta più lunga che accetti restino dentro la finestra.

Cosa mi dice finish_reason?

finish_reasonSignificatoCosa fare
stopIl modello ha terminato la risposta o ha scritto una delle tue sequenze stopNiente: la risposta è completa
lengthLa risposta ha raggiunto max_tokens o la context windowAumenta max_tokens o chiedi una risposta più breve
tool_callsIl modello vuole che tu esegua una o più funzioniEseguile e rimanda i risultati, vedi tool calling

Quali parametri di OpenAI non sono supportati?

I campi nella tabella qui sopra sono l'intero contratto. Altri dell'API OpenAI, come n (più risposte per chiamata), logprobs, audio o input di immagini, non sono supportati: invia solo i campi elencati qui. I modelli sono modelli testuali; nessuno di loro accetta immagini tramite questo endpoint.

Il campo model accetta solo gli id sulla nostra lista. 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.

Chat completions: domande frequenti

Esiste un endpoint completions legacy?

No. Esiste solo il formato chat; un singolo prompt è un array messages con un messaggio user.

Quanto costa una chiamata?

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. I prezzi per modello sono sulla pagina dei prezzi.

Posso vedere le mie richieste passate?

No, per scelta di progettazione. 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.

Perché la mia risposta si è fermata a metà?

finish_reason è allora length: la risposta ha raggiunto max_tokens. Aumentalo, entro la context window del modello.

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

Ottieni una chiave API