Torna al blog

Ottimizzazione dei costiAnalisi

Quanti token usa una richiesta API? Misurato su 3 attività

Numeri di utilizzo reali da DeepSeek-V4-Flash: una domanda breve, un riassunto di un paragrafo ed email-in-JSON, con il costo di 1.000 richieste e uno script per i tuoi prompt.

Di CheapTokens TeamPubblicato il Aggiornato il 6 min di lettura

Card che mostra il campo usage di una risposta API: prompt_tokens 23, completion_tokens 87, total_tokens 110
In questa pagina
  1. Una domanda rapida
  2. Un riassunto, e i token che non leggi
  3. Un'email in ingresso, JSON pulito in uscita
  4. Tutte e tre a confronto
  5. Provalo sui tuoi prompt
  6. Da dove iniziare

Chiedi quanto costa una richiesta a un'API di AI e di solito ti senti rispondere "dipende". È vero, ma non puoi pianificare un budget su questa base. Così abbiamo preso tre attività quotidiane, le abbiamo inviate a DeepSeek-V4-Flash tramite l'API di CheapTokens il 23 ottobre 2026 e abbiamo annotato cosa diceva ogni volta il campo usage.

In breve: una domanda rapida è arrivata a 110 token, un riassunto di un paragrafo a 396 e la conversione di un'email in JSON a 299. Qui sotto trovi com'era ogni richiesta, cosa è tornato indietro e quanto costa.

Una domanda rapida#

Abbiamo iniziato con qualcosa che le persone chiedono continuamente agli assistenti chat: la differenza tra git merge e git rebase, in due o tre frasi.

Animazione: una domanda su git merge e git rebase va a DeepSeek-V4-Flash, appare una risposta di tre frasi, poi la riga di utilizzo: 23 prompt token, 87 completion token, 110 in totale
La richiesta e la risposta reali, 23 ottobre 2026

La domanda ha richiesto 23 token, la risposta 87. È la prima cosa da notare: la risposta è quasi quattro volte più lunga della domanda, e l'output è la parte che costa di più; su MiniMax-M2.7 al momento è $0.15 per 1M di token di output contro $0.05 per l'input. A questi prezzi, una richiesta come questa costa $0.000014. Mille di queste, $0.0142.

Ecco quella richiesta esatta, se vuoi vedere i numeri sul tuo schermo:

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": "What is the difference between git merge and git rebase? Answer in two or three sentences."}
    ],
    "max_tokens": 2048,
    "temperature": 0.2
  }'

I conteggi stanno nel blocco usage alla fine della risposta: prompt_tokens è ciò che hai inviato, completion_tokens è ciò che ha scritto il modello, total_tokens è entrambi insieme.

Un riassunto, e i token che non leggi#

Seconda attività: ridurre un breve report di incidente a due frasi. I team fanno passare questo genere di cose da un modello tutto il giorno: ticket, report, lunghe thread di email. Ecco il prompt:

text
Summarize this incident report in two sentences.

On Tuesday between 14:05 and 14:50 UTC the checkout API returned errors for about 6% of requests. The cause was a configuration change deployed at 13:58 that lowered the database connection pool from 50 to 5 connections per instance. Under normal load nobody noticed, but when the afternoon traffic peak arrived, requests queued for a free connection and timed out after 30 seconds. The on-call engineer saw the growing p99 latency at 14:12, found the change in the deploy log at 14:31 and rolled it back at 14:44. To prevent a repeat, the pool size is now validated in CI against a minimum value, and an alert fires when more than 20 requests wait for a connection for two minutes.

E la risposta:

Martedì, una modifica di configurazione che ha ridotto il pool di connessioni al database da 50 a 5 ha causato errori dell'API di checkout per circa il 6% delle richieste durante il picco pomeridiano, fino al rollback alle 14:44. Per prevenire il ripetersi, ora la dimensione del pool viene validata in CI e un alert scatta quando i tempi di attesa delle connessioni superano le soglie.

Due frasi, 331 caratteri e 146 token di output. Sembravano molti per così poco testo, e la risposta ha spiegato perché: usage aveva un campo in più, reasoning_tokens: 76. Prima di rispondere, il modello ha speso 76 token per ragionarci sopra. Fanno parte dei 146 (250 in + 146 out = 396 in totale), quindi circa metà dell'output è andato in un ragionamento che non fa parte del testo della risposta, ed è fatturato come qualsiasi altro token di output.

Utile da sapere quando pianifichi un budget: nelle attività in cui il modello si ferma a pensare, l'output può essere sensibilmente più grande del testo che ricevi indietro. Mille riassunti come questo costano $0.0344.

Un'email in ingresso, JSON pulito in uscita#

Terza attività: una conferma d'ordine che deve diventare un record di database.

Animazione: un'email d'ordine a sinistra, e a destra il JSON che DeepSeek-V4-Flash ne ha estratto: id ordine, articoli, prezzi, spedizione, totale, corriere, numero di tracciamento e data di consegna; utilizzo: 199 prompt token e 100 completion token
L'email che abbiamo inviato e il JSON che è tornato, formattato per la lettura

Il modello ha restituito esattamente le chiavi che avevamo chiesto e niente intorno, nessun "Ecco il tuo JSON". Il totale corrisponde all'email e la data di consegna è tornata come 2026-11-03, già nel formato richiesto. 199 token in ingresso, 100 in uscita.

Colpisce la densità: 100 token per 276 caratteri di JSON, mentre la risposta su git ha richiesto 87 token per 421 caratteri di testo semplice. Virgolette, parentesi graffe e virgole sono anch'esse token, quindi l'output strutturato costa di più per carattere rispetto alla prosa. Mille email come questa: $0.025.

Tutte e tre a confronto#

Attività Token in Token out 1.000 richieste
Domanda rapida 23 87 $0.0142
Riassunto 250 146 $0.0344
Email in JSON 199 100 $0.025

I costi sono calcolati da questi conteggi di token al prezzo attuale di MiniMax-M2.7, quindi restano corretti quando i prezzi cambiano.

Dove finiscono i soldi in 1.000 richieste: input vs output
  • Riassunto: output$0.0219
  • Email in JSON: output$0.015
  • Domanda rapida: output$0.0131
  • Riassunto: input$0.0125
  • Email in JSON: input$0.01
  • Domanda rapida: input$0.0012

L'output vince in ogni attività, anche nel riassunto, dove abbiamo inviato più di quanto abbiamo ricevuto. Quindi la leva più semplice sulla tua bolletta è la lunghezza della risposta: "in due o tre frasi" o "restituisci solo JSON" fanno un lavoro concreto.

Per dare la scala: un bot di supporto che risponde a 2.000 domande rapide al giorno, ciascuna come la prima, spende circa $0.852 al mese su MiniMax-M2.7. Una chat reale reinvia la sua cronologia a ogni turno, quindi l'input cresce con ogni messaggio, ma per domande una tantum quella è l'intera bolletta.

Provalo sui tuoi prompt#

I tuoi prompt arriveranno a numeri diversi, e basta un minuto per scoprirlo. Questo script invia ogni prompt, salta le risposte troncate e stampa i token e il costo di 1.000 richieste:

python
import os
from openai import OpenAI

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

MODEL = "MiniMaxAI/MiniMax-M2.7"
PRICE_IN, PRICE_OUT = 1.00, 4.00  # USD per 1M tokens: example values, use the current ones from the price list

PROMPTS = [
    "What is the difference between git merge and git rebase? Answer in two or three sentences.",
    # add your own prompts here
]

for prompt in PROMPTS:
    r = client.chat.completions.create(
        model=MODEL,
        messages=[{"role": "user", "content": prompt}],
        max_tokens=2048,
        temperature=0.2,
    )
    if r.choices[0].finish_reason != "stop":
        print("cut off at max_tokens, raise the limit:", prompt[:40])
        continue
    tin, tout = r.usage.prompt_tokens, r.usage.completion_tokens
    per_1000 = (tin * PRICE_IN + tout * PRICE_OUT) * 1000 / 1_000_000
    print(f"{tin} in, {tout} out, 1,000 requests = ${per_1000:.4f} | {prompt[:40]}")

Inserisci i prezzi attuali in PRICE_IN e PRICE_OUT: per MiniMax-M2.7 sono $0.05 per 1M di token di input e $0.15 per 1M di token di output. Il primo prompt è quello del nostro test; i conteggi dei token variano un po' tra i modelli, quindi aspettati numeri nello stesso intervallo di 23 in ingresso e 87 in uscita. Ti servirà il pacchetto openai (pip install openai) e la tua chiave in CHEAPTOKENS_API_KEY.

Se un numero sembra strano: finish_reason: length significa che la risposta ha raggiunto max_tokens (perché le risposte si fermano a metà frase); un reasoning_tokens grande spiega un output più grande del testo; e la formula completa per i prezzi di input e output è in token di input vs output.

Da dove iniziare#

In totale, contando insieme input e output, MiniMax-M2.7 su CheapTokens è più economico del prezzo di riferimento di OpenRouter per tutte e tre le attività qui sopra. Ha una context di 180K, risposte fino a 8.192 token e un unico prezzo a qualsiasi ora. Ricarica il saldo, crea una chiave e invia la richiesta curl dall'inizio di questa pagina: la documentazione copre la chiave e la base URL, la pagina DeepSeek ha il catalogo dei modelli e pricing ha il listino prezzi aggiornato.