> ## Documentation Index
> Fetch the complete documentation index at: https://docs.jiekou.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# プロンプトキャッシュ

## Anthropic

Anthropic モデルは **明示的なプロンプトキャッシュ** に対応しています。

本プラットフォームでは、OpenAI chat/completions プロトコル、Anthropic v1/messages プロトコルのいずれでも、`"cache_control": {"type": "ephemeral"}` を使用してキャッシュする内容を指定できます。

```json theme={null}
{
  "model": "claude-sonnet-4-5-20250929",
  "max_tokens": 4096,
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "HUGE TEXT BODY",
          "cache_control": { "type": "ephemeral" }
        },
        {
          "type": "text",
          "text": "Name all the characters in the above book"
        }
      ]
    }
  ]
}
```

⚠️ cache\_control は当社が拡張したフィールドであり、OpenAI 公式 SDK プロトコルにはこの属性は含まれていないため、呼び出し時に明示的に追加する必要があります。

レスポンスからキャッシュの作成/ヒット状況を確認できます。

<CodeGroup>
  ```json OpenAI /chat/completions theme={null}
  {
    "prompt_tokens": 7039,
    "completion_tokens": 650,
    "total_tokens": 7689,
    "prompt_tokens_details": {
      "cached_tokens": 7019,
      "cache_creation_input_tokens": 7019,  # 👈 cache created
      "cache_read_input_tokens": 0
    }
  }
  ---
  {
    "prompt_tokens": 7042,
    "completion_tokens": 572,
    "total_tokens": 7614,
    "prompt_tokens_details": {
      "audio_tokens": 0,
      "cached_tokens": 7019,
      "cache_creation_input_tokens": 0,
      "cache_read_input_tokens": 7019 # 👈 cache read
    }
  }
  ```

  ```json Anthropic /v1/messages theme={null}
  {"cache_creation_input_tokens":188086,"cache_read_input_tokens":0,"input_tokens":21,"output_tokens":393} # 👈 cache created

  {"cache_creation_input_tokens":0,"cache_read_input_tokens":188086,"input_tokens":21,"output_tokens":393} # 👈 cache read
  ```
</CodeGroup>

⚠️⚠️⚠️ Anthropic モデルで Prompt caching を使用する場合の最小 Input Tokens 要件は以下のとおりです。

* Claude Opus 4.1、Claude Opus 4、Claude Sonnet 4.5、Claude Sonnet 4、Claude Sonnet 3.7 は 1024 tokens
* Claude Haiku 4.5、Claude Haiku 3.5、Claude Haiku 3 は 2048 tokens

## OpenAI および OpenAI 互換モデル

通常、これらのモデルは暗黙的キャッシュに対応している可能性があります。

ユーザーが同じ Prompt プレフィックスを使用して同じモデルに繰り返しアクセスすると、一定の確率でキャッシュにヒットします。

```
// Round 1
{
  "model": "gpt-4",
  "messages": [
    {
      "role": "system",
      "content": "HUGE TEXT BODY: Complete API documentation, code style guide, best practices (5000+ lines)"
    },
    {
      "role": "user",
      "content": "How do I authenticate API requests?"
    }
  ]
}

// Round 2 - Documentation cached
{
  "model": "gpt-4",
  "messages": [
    {
      "role": "system",
      "content": "HUGE TEXT BODY: Complete API documentation, code style guide, best practices (5000+ lines)"
    },
    {
      "role": "user",
      "content": "How do I authenticate API requests?"
    },
    {
      "role": "assistant",
      "content": "Use Bearer token in Authorization header..."
    },
    {
      "role": "user",
      "content": "What about rate limiting?"
    }
  ]
}
```

以下はキャッシュヒット時の使用量の例です。

```json theme={null}
{
  "prompt_tokens": 3003,
  "completion_tokens": 1564,
  "total_tokens": 4567,
  "prompt_tokens_details": {
    "cached_tokens": 2025 # 👈 cache hitted
  }
}
```

## Gemini

現在は暗黙的キャッシュのみ対応しています。暗黙的キャッシュでは、手動設定や追加の cache\_control 設定は不要です。ユーザーが同じ Prompt プレフィックスを使用して同じモデルに繰り返しアクセスすると、一定の確率でキャッシュにヒットします。

注意点は以下のとおりです。

* 平均 TTL（キャッシュ存続時間）は 3～5 分ですが、変動する場合があります（たとえば数秒のみの場合もあります）
* Gemini 2.5 Flash は最小入力 1024 tokens、Gemini 2.5 Pro は最小入力 4096 tokens が必要です

以下はキャッシュヒット時の使用量の例です。

```
{
  "prompt_tokens": 2004,
  "completion_tokens": 1564,
  "total_tokens": 3568,
  "prompt_tokens_details": {
    "cached_tokens": 1994 # 👈 cache hitted
  }
}
```

入力例は **OpenAI モデルおよび OpenAI 互換モデル** を参照してください。
