Torna al blog

AI per principiantiGuida

Cos'è una chiave API e come conservarla in sicurezza

Cos'è una chiave API AI, dove ottenerla, perché deve restare fuori dal tuo codice e da git, come fare una prima chiamata e cosa fare se la chiave viene compromessa.

Di CheapTokens TeamPubblicato il Aggiornato il 5 min di lettura

Copertina: una chiave API come password per un account AI, conservata in una variabile d'ambiente
In questa pagina
  1. Cos'è una chiave API
  2. Dove ottenere una chiave
  3. Dove una chiave non deve mai stare
  4. Conserva la chiave in una variabile d'ambiente
  5. Fai una prima chiamata
  6. Abitudini che tengono al sicuro una chiave
  7. Cosa fare se una chiave è stata compromessa
  8. Prossimi passi

Ti sei iscritto a un'API AI e la prima cosa che ti chiede è una chiave. Questa guida spiega cos'è una chiave API, da dove viene, come tenerla al sicuro e cosa fare se finisce dove non dovrebbe.

Cos'è una chiave API#

Una chiave API è una lunga stringa di lettere e cifre che dice al servizio chi sta inviando una richiesta. Pensala come una password per i programmi: il tuo script invia la chiave con ogni richiesta e il servizio la usa per trovare il tuo account e addebitare il costo della richiesta sul tuo saldo.

Ne derivano due cose:

  • Chiunque abbia la chiave può spendere il tuo saldo. Il servizio non riesce a distinguere te da chi ha copiato la tua chiave.
  • La chiave non è il modello e non è il saldo. È solo il lasciapassare. Il saldo è una cosa separata che ricarichi, e la stessa chiave funziona con qualsiasi modello che il tuo account può usare.

Il costo di una richiesta è conteggiato in token. Se i token sono una novità per te, inizia da Cos'è un token nell'AI?.

Dove ottenere una chiave#

Ogni servizio AI emette chiavi dalla propria dashboard. Ad esempio, l'API ufficiale di DeepSeek ha una pagina delle chiavi API su platform.deepseek.com/api_keys, e la sua documentazione legge la chiave dalla variabile d'ambiente DEEPSEEK_API_KEY (verificato il 21 ottobre 2026). Il flusso generale è quasi ovunque lo stesso:

  1. Crea un account.
  2. Apri la pagina delle chiavi API nella dashboard.
  3. Premi il pulsante che crea una nuova chiave e dalle un nome, ad esempio my-first-script.
  4. Copia subito la chiave. Molti servizi la mostrano una sola volta.

Con CheapTokens, i passaggi dall'account alla chiave sono in La tua prima richiesta API con CheapTokens. CheapTokens funziona con un saldo prepagato in USD: un unico saldo per tutti i modelli. Se una richiesta fallisce perché il saldo è esaurito, vedi Errore "Not enough tokens".

Dove una chiave non deve mai stare#

La maggior parte delle fughe non sono attacchi. Sono errori di copia-incolla:

  • una chiave scritta direttamente nel codice (api_key="sk-...") e poi caricata su GitHub;
  • una chiave in uno screenshot, in un messaggio di chat o in una domanda su un forum;
  • una chiave nel codice front-end (una pagina web o un'app mobile): chiunque può aprirlo e leggerla;
  • un file .env che è stato committato in git.

L'ultimo è il più comune. Anche se elimini il file nel commit successivo, la chiave resta nella cronologia di git, quindi una chiave che è stata committata anche una sola volta va considerata compromessa.

Conserva la chiave in una variabile d'ambiente#

Una variabile d'ambiente è un valore con un nome che vive nel tuo sistema, non nel tuo codice. Il programma la legge all'avvio, così il codice può essere condiviso in sicurezza e la chiave resta sulla tua macchina.

Su Linux o macOS, impostala per il terminale corrente:

bash
export CHEAPTOKENS_API_KEY="YOUR_API_KEY"

In Windows PowerShell:

powershell
$env:CHEAPTOKENS_API_KEY = "YOUR_API_KEY"

Questo vale finché non chiudi il terminale. Per mantenerla tra le sessioni, metti la riga nel profilo della tua shell, oppure usa un file .env per il progetto e aggiungilo a .gitignore prima del primo commit:

text
# .gitignore
.env

Poi leggi la chiave nel codice. Non digitarla mai lì:

python
import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.cheaptokens.dev/v1",
    api_key=os.environ["CHEAPTOKENS_API_KEY"],  # read from the environment, not written in the code
)

Se la variabile manca, os.environ[...] ferma subito il programma con un errore, il che è meglio che inviare una richiesta con una chiave vuota.

Fai una prima chiamata#

CheapTokens parla i formati OpenAI Chat Completions e Anthropic Messages, quindi gli SDK standard funzionano: cambi solo l'URL di base e la chiave. Ecco un test completo con MiniMaxAI/MiniMax-M2.7:

python
import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.cheaptokens.dev/v1",
    api_key=os.environ["CHEAPTOKENS_API_KEY"],
)

response = client.chat.completions.create(
    model="MiniMaxAI/MiniMax-M2.7",
    messages=[{"role": "user", "content": "Explain what an API key is in two sentences."}],
    max_tokens=200,
)

print(response.choices[0].message.content)

Lo stesso con curl, dove la shell sostituisce la variabile e la chiave non appare mai nel comando:

bash
curl https://api.cheaptokens.dev/v1/chat/completions \
  -H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "MiniMaxAI/MiniMax-M2.7", "messages": [{"role": "user", "content": "Hello"}], "max_tokens": 100}'

Un test breve come questo costa poco. Ad esempio, una richiesta con 1.000 token di input e 500 token di output costa $0.00013 al prezzo attuale. MiniMax-M2.7 ha anche una finestra di contesto di 180K e fornisce risposte fino a 8.192 token, quindi è un modello comodo per i primi esperimenti. Se la risposta si interrompe a metà frase, vedi Perché una risposta AI si interrompe a metà frase?.

Copia l'id del modello dalla documentazione di CheapTokens e non da un altro servizio: i nomi dei modelli variano tra i provider.

Abitudini che tengono al sicuro una chiave#

  • Una chiave per progetto. Se una viene compromessa, ne sostituisci solo quella e nient'altro smette di funzionare.
  • Dai alle chiavi nomi che dicano dove sono usate (laptop-script, telegram-bot), così sai cosa aggiornare dopo una sostituzione.
  • Mantieni il saldo basso mentre impari. Con un saldo prepagato, il danno di una chiave compromessa è limitato a ciò che c'è sopra, ma sono comunque soldi tuoi.
  • Non incollare le chiavi nelle chat con persone o assistenti AI, e rimuovile da log e screenshot.
  • Non mettere la chiave in un browser o in un'app mobile. Chiama l'API da un server che controlli e lascia che l'app parli con quel server.

Cosa fare se una chiave è stata compromessa#

Se hai caricato una chiave su un repository pubblico, l'hai inviata in un messaggio o semplicemente non ne sei sicuro, agisci come se fosse già nelle mani di qualcun altro:

  1. Revoca prima la chiave. Apri la pagina in cui l'hai creata ed eliminala o disattivala. Fallo prima di ogni altra cosa; la pulizia viene dopo.
  2. Crea una nuova chiave con un nuovo nome.
  3. Sostituiscila ovunque fosse usata: variabili d'ambiente, file .env, server, app e strumenti.
  4. Controlla saldo e utilizzo. Richieste che non hai fatto sono un segno che la vecchia chiave è stata usata.
  5. Pulisci il codice sorgente. Rimuovi la chiave dal codice e aggiungi .env a .gitignore. Eliminare il file non rimuove la chiave dalla cronologia di git, ed è per questo che il passo 1 conta più della riscrittura della cronologia.

L'ordine è importante. Una chiave revocata è innocua anche se resta in un vecchio commit.

Prossimi passi#

Pronto a provare? Ottieni una chiave CheapTokens, impostala come CHEAPTOKENS_API_KEY ed esegui l'esempio qui sopra.

Endpoint, id dei modelli e limiti di ogni modello sono nella documentazione di CheapTokens.