Cookieを使用しています. Cookieとブラウザストレージは、ログイン状態の維持と設定の保存に使われます。許可いただいた場合は、サイトの利用状況も計測します。はいつでも変更できます。詳しくはCookieポリシーをご覧ください。

プロンプトキャッシュ

エンドポイント

プロンプトキャッシュ

長いプロンプトの前半を再利用して入力コストを下げるプロンプトキャッシュの解説です。自動キャッシュに対応するプロバイダー、cache_control による明示的なキャッシュ、利用状況の読み取り方を説明します。キャッシュの読み取りは通常の入力トークンより低価格です。

プレイグラウンドで試す

プロンプトキャッシュは、システムプロンプト、ドキュメント、ツール定義などの長いプロンプトの処理済みプレフィックスを、リクエスト間で再利用します。キャッシュの読み取りは通常の入力トークンよりはるかに低価格です。api14 はプロバイダーのキャッシュ価格をそのまま反映します。input_cache_read と input_cache_write は、モデルでモデルごとに確認できます。

自動キャッシュ

次のプロバイダーは自動でキャッシュします。変更は不要です。

プロバイダー最小プロンプトキャッシュ読み取り価格キャッシュ書き込み価格
OpenAI1,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 で拒否されます。エラーを参照してください。