エンドポイント
プロンプトキャッシュ
長いプロンプトの前半を再利用して入力コストを下げるプロンプトキャッシュの解説です。自動キャッシュに対応するプロバイダー、cache_control による明示的なキャッシュ、利用状況の読み取り方を説明します。キャッシュの読み取りは通常の入力トークンより低価格です。
プレイグラウンドで試すプロンプトキャッシュは、システムプロンプト、ドキュメント、ツール定義などの長いプロンプトの処理済みプレフィックスを、リクエスト間で再利用します。キャッシュの読み取りは通常の入力トークンよりはるかに低価格です。api14 はプロバイダーのキャッシュ価格をそのまま反映します。input_cache_read と input_cache_write は、モデルでモデルごとに確認できます。
自動キャッシュ
次のプロバイダーは自動でキャッシュします。変更は不要です。
| プロバイダー | 最小プロンプト | キャッシュ読み取り価格 | キャッシュ書き込み価格 |
|---|---|---|---|
| OpenAI | 1,024 トークン | 入力の約 0.25〜0.5 倍 | 無料 |
| DeepSeek | 自動 | 入力の約 0.1 倍 | 入力の約 1 倍 |
| Grok, Moonshot, Groq | 自動 | 割引あり | 無料 |
| Google Gemini 2.5 | 暗黙的、モデルによる | 入力の約 0.25 倍 | 無料 |
リクエスト間でプレフィックスが一致するように、変わらない部分をプロンプトの先頭に、変わる部分を末尾に配置してください。
cache_control による明示的なキャッシュ
Anthropic Claude(および Gemini の明示的なキャッシュ)にはブレークポイントが必要です。テキストのコンテンツパートに cache_control を追加します。
{
"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 では最大 4 つのブレークポイントを設定できます。キャッシュの保持期間は約 5 分で、ヒットするたびに更新されます。より長く保持するには
"ttl": "1h"を使いますが、書き込みの料金は高くなります。 - Anthropic のキャッシュ書き込みは入力の約 1.25 倍、読み取りは約 0.1 倍です。
- 同じプロバイダーのキャッシュに当たり続けるには、必要に応じて
provider: { "order": ["Anthropic"], "allow_fallbacks": false }を追加します。
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);
キャッシュ利用状況の読み取り
usage オブジェクトにキャッシュされたトークンが表示され、cost にはすでに割引が反映されています。
{
"usage": {
"prompt_tokens": 10450,
"completion_tokens": 120,
"total_tokens": 10570,
"prompt_tokens_details": { "cached_tokens": 10200 },
"cost": 0.004863
}
}
cached_tokens は、ダッシュボードの利用ログにも表示されます。生成情報の取得では、cache_discount を含む詳細な内訳を確認できます。
エラー
キャッシュ自体がエラーを引き起こすことはありません。形式が正しくない cache_control は、プロバイダーによって無視されるか、400 で拒否されます。エラーを参照してください。