Endpoint
Prompt caching
Riutilizza prompt lunghi con uno sconto grazie alla cache automatica e a cache_control, con i prezzi di lettura e scrittura e come leggere i token in cache.
Provalo nel playgroundIl prompt caching riutilizza il prefisso già elaborato di un prompt lungo, come un prompt di sistema, dei documenti o le definizioni degli strumenti, tra richieste diverse. Le letture dalla cache costano molto meno dei normali token di input. api14 inoltra direttamente i prezzi di cache del provider: input_cache_read e input_cache_write sono indicati per ogni modello in Modelli.
Cache automatica
Questi provider usano la cache in autonomia. Non devi cambiare nulla:
| Provider | Prompt minimo | Prezzo di lettura dalla cache | Prezzo di scrittura nella cache |
|---|---|---|---|
| OpenAI | 1,024 token | ~0.25-0.5× l'input | gratuita |
| DeepSeek | automatico | ~0.1× l'input | ~1× l'input |
| Grok, Moonshot, Groq | automatico | scontato | gratuita |
| Google Gemini 2.5 | implicito, dipende dal modello | ~0.25× l'input | gratuita |
Metti le parti che non cambiano all'inizio del prompt e quelle che cambiano alla fine, in modo che il prefisso coincida tra le richieste.
Cache esplicita con cache_control
Anthropic Claude (e la cache esplicita di Gemini) richiedono dei punti di interruzione. Aggiungi cache_control a una parte di contenuto di testo:
{
"model": "anthropic/claude-sonnet-4.5",
"messages": [
{
"role": "system",
"content": [
{ "type": "text", "text": "You are a contracts assistant." },
{
"type": "text",
"text": "<the full 40-page agreement text>",
"cache_control": { "type": "ephemeral" }
}
]
},
{ "role": "user", "content": "Which clause covers termination?" }
]
}
- Anthropic consente fino a 4 punti di interruzione. La cache dura circa 5 minuti e viene rinnovata a ogni utilizzo. Usa
"ttl": "1h"per una cache più lunga, che costa di più da scrivere. - Le scritture in cache su Anthropic costano circa 1.25× l'input e le letture circa 0.1×.
- Per continuare a usare la cache dello stesso provider, aggiungi
provider: { "order": ["Anthropic"], "allow_fallbacks": false }se ti serve.
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api14.com/api/v1",
apiKey: process.env.API14_API_KEY,
});
const result = await client.chat.completions.create({
"model": "anthropic/claude-sonnet-4.5",
"messages": [
{
"role": "user",
"content": "Explain vector databases in two sentences."
}
]
});
console.log(result.choices[0].message.content);
Leggere l'utilizzo della cache
L'oggetto usage mostra i token in cache, e cost include già lo sconto:
{
"usage": {
"prompt_tokens": 10450,
"completion_tokens": 120,
"total_tokens": 10570,
"prompt_tokens_details": { "cached_tokens": 10200 },
"cost": 0.004863
}
}
cached_tokens compare anche nei log di utilizzo della dashboard. La Ricerca di una generazione mostra il dettaglio completo, incluso cache_discount.
Errori
Il caching non causa mai errori propri. Un cache_control malformato viene ignorato o rifiutato dal provider con un 400. Vedi Errori.