Endpoints
Prompt caching
Reduza o custo de prompts longos reaproveitando o prefixo já processado, com cache automático e cache_control no Claude, e leia cached_tokens.
Teste no playgroundO prompt caching reaproveita, entre requisições, o prefixo já processado de um prompt longo, como um prompt de sistema, documentos ou definições de ferramentas. As leituras de cache custam bem menos que os tokens de entrada normais. A api14 repassa diretamente os preços de cache do provedor: input_cache_read e input_cache_write são listados para cada modelo em Modelos.
Cache automático
Estes provedores fazem cache por conta própria. Você não precisa mudar nada:
| Provedor | Prompt mínimo | Preço de leitura do cache | Preço de escrita do cache |
|---|---|---|---|
| OpenAI | 1.024 tokens | ~0.25–0.5× da entrada | grátis |
| DeepSeek | automático | ~0.1× da entrada | ~1× da entrada |
| Grok, Moonshot, Groq | automático | com desconto | grátis |
| Google Gemini 2.5 | implícito, depende do modelo | ~0.25× da entrada | grátis |
Coloque as partes que não mudam no início do prompt e as que mudam no final, para que o prefixo coincida entre as requisições.
Cache explícito com cache_control
O Anthropic Claude (e o cache explícito do Gemini) precisam de pontos de interrupção. Adicione cache_control a uma parte de conteúdo de texto:
{
"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?" }
]
}
- A Anthropic permite até 4 pontos de interrupção. O cache dura cerca de 5 minutos e é renovado a cada acerto. Use
"ttl": "1h"para um cache mais longo, cuja escrita custa mais. - As escritas de cache na Anthropic custam cerca de 1.25× a entrada, e as leituras cerca de 0.1×.
- Para continuar acertando o cache do mesmo provedor, adicione
provider: { "order": ["Anthropic"], "allow_fallbacks": false }se precisar.
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);
Lendo o uso do cache
O objeto usage mostra os tokens em cache, e cost já inclui o desconto:
{
"usage": {
"prompt_tokens": 10450,
"completion_tokens": 120,
"total_tokens": 10570,
"prompt_tokens_details": { "cached_tokens": 10200 },
"cost": 0.004863
}
}
cached_tokens também aparece nos seus logs de uso no painel. A Consulta de geração mostra o detalhamento completo, incluindo cache_discount.
Erros
O cache nunca causa erros por conta própria. Um cache_control malformado é ignorado ou rejeitado pelo provedor com um 400. Veja Erros.