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

# Claudeネイティブインターフェース呼び出し

## 説明

Claudeシリーズモデルは、公式のネイティブインターフェースを介した呼び出しをサポートしています。使用する前に、anthropicの依存関係をインストールまたはアップグレードしてください。

```bash theme={null}
pip install -U anthropic
```

<Info>
  Claude以外のモデルは、OpenAIのインターフェース形式で呼び出してください。
</Info>

## モデル情報

| モデル名           | Claude Opus 4 | Claude Sonnet 4 | Claude Sonnet 3.7 | Claude Sonnet 3.5 | Claude Haiku 3.5 | Claude Opus 3 | Claude Haiku 3 |
| -------------- | ------------- | --------------- | ----------------- | ----------------- | ---------------- | ------------- | -------------- |
| 拡張思考のサポート      | はい            | はい              | はい                | いいえ               | いいえ              | いいえ           | いいえ            |
| コンテキストウィンドウサイズ | 200K          | 200K            | 200K              | 200K              | 200K             | 200K          | 200K           |
| 最大出力長          | 32000トークン     | 64000トークン       | 64000トークン         | 8192トークン          | 8192トークン         | 4096トークン      | 4096トークン       |
| トレーニングデータカットオフ | 2025年3月       | 2025年3月         | 2024年11月          | 2024年4月           | 2024年7月          | 2023年8月       | 2023年8月        |

<Tip>
  1. 3.5以上のモデルの場合、4096トークンを超える出力を必要とする場合は、上記の表の「最長出力長」を参照して、明確な「max\_tokens」値を渡してください。
  2. Sonnet 3.7の場合、リクエストボディに`extra_headers={"anthropic-beta": "output-128k-2025-02-19"}`を渡すことで、最大出力を64Kから128Kに拡張できます。以下の「ストリーミング128K」呼び出しを参照するか、Claude公式の[ベータヘッダーの説明](https://docs.anthropic.com/en/api/beta-headers)を参照してください。
</Tip>

## Claude 4 新機能

### 新しい拒否停止理由 (Refusal Stop Reason)

Claude 4モデルは、安全上の理由でモデルがコンテンツの生成を拒否した場合に、新しい`refusal`停止理由を導入しました。

```json theme={null}
{
  "id": "msg_014XEDjypDjFzgKVWdFUXxZP",
  "type": "message",
  "role": "assistant",
  "model": "claude-sonnet-4-20250514",
  "content": [{"type": "text", "text": "喜んでお手伝いさせていただきます。"}],
  "stop_reason": "refusal",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 564,
    "cache_creation_input_tokens": 0,
    "cache_read_input_tokens": 0,
    "output_tokens": 22
  }
}
```

Claude 4に移行する際は、`refusal`停止理由を処理するようにアプリケーションを更新する必要があります。

### 拡張思考 (Extended Thinking)

拡張思考を有効にすると、Claude 4モデルのMessages APIは、Claudeの完全な思考プロセスの要約を返します。要約思考は、拡張思考のすべてのインテリジェントな利点を提供しながら、悪用を防ぎます。

APIはClaude 3.7と4モデル間で一貫していますが、拡張思考のストリーミング応答は「チャンク」伝送モードで返される可能性があり、ストリーミングイベント間に遅延が発生する可能性があります。

要約は、リクエストで指定したモデルとは異なるモデルによって処理されます。思考モデルは要約出力を表示しません。

### 交互思考 (Interleaved Thinking)

Claude 4モデルは、ツール使用と拡張思考を交互に行うことをサポートしており、ツール使用と応答が通常のメッセージと混在する、より自然な会話を可能にします。

交互思考は現在ベータ段階です。交互思考を有効にするには、APIリクエストにテストヘッダー`interleaved-thinking-2025-05-14`を追加します。

```python theme={null}
extra_headers={
    "anthropic-beta": "interleaved-thinking-2025-05-14"
}
```

**エンドポイント（Endpoint）：** `POST` /v1/messages

## 呼び出し

<CodeGroup>
  ```shell Curl theme={null}
  curl https://aihubmix.com/v1/messages \
       --header "x-api-key: $ANTHROPIC_API_KEY" \ # AiHubMixで生成したキーに置き換えてください
       --header "anthropic-version: 2023-06-01" \
       --header "content-type: application/json" \
       --data \
  '{
      "model": "claude-3-5-sonnet-20241022",
      "max_tokens": 1024,
      "messages": [
          {"role": "user", "content": "Hello, world"}
      ]
  }'
  ```

  ```py Python 非ストリーミング theme={null}
  import anthropic

  client = anthropic.Anthropic(
      api_key="sk-***", # AiHubMixで生成したキーに置き換えてください
      base_url="https://aihubmix.com"
  )
  message = client.messages.create(
      model="claude-3-5-sonnet-20241022",
      max_tokens=1024,
      messages=[
          {"role": "user", "content": "Hello, Claude"}
      ]
  )
  print(message.content)
  ```

  ```py Python ストリーミング 128K theme={null}
  import anthropic

  client = anthropic.Anthropic(
      api_key="sk-***", # AiHubMixで生成したキーに置き換えてください
      base_url="https://aihubmix.com"
  )

  with client.messages.stream(
      model="claude-3-7-sonnet-20250219",  # claude-opus-4-20250514, claude-sonnet-4-20250514
      max_tokens=128000,
      messages=[
          {"role": "user", "content": "チャールズ・マンガーの100の思考モデルを詳細な段落でそれぞれ説明する（各モデル約1000トークン）、各モジュールにはモデルの紹介段落、多次元思考、適用方法、実践上の盲点、具体的な事例を含める、10万トークンの記事を生成してください。分かりやすく、魅力的な内容が重要です。必要な場合にのみ箇条書きにしてください。"}
      ],
      extra_headers={
          "anthropic-beta": "output-128k-2025-02-19"
      }
  ) as stream:
      for text in stream.text_stream:
          print(text, end="", flush=True)
  ```

  ```py Python 交互思考 theme={null}
  import anthropic

  client = anthropic.Anthropic(
      api_key="sk-***", # AiHubMixで生成したキーに置き換えてください
      base_url="https://aihubmix.com"
  )

  response = client.messages.create(
      model="claude-sonnet-4-20250514",  # または claude-opus-4-20250514
      max_tokens=1024,
      messages=[
          {"role": "user", "content": "このデータを分析してグラフを生成してください"}
      ],
      tools=[
          {
              "type": "computer_20241022",
              "name": "computer"
          }
      ],
      extra_headers={
          "anthropic-beta": "interleaved-thinking-2025-05-14"
      }
  )
  print(response.content)
  ```
</CodeGroup>

### Body リクエスト構造

```json theme={null}
{
  "model": "claude-3-5-sonnet-20241022",
  "max_tokens": 1024,
  "messages": [
    {
      "role": "user",
      "content": "What is the meaning of life?"
    }
  ]
}
```

### リクエストパラメータ

| 名前            | 位置     | タイプ       | 必須  | 説明                        |
| ------------- | ------ | --------- | --- | ------------------------- |
| x-api-key     | header | string    | いいえ | Bearer AIHUBMIX\_API\_KEY |
| Content-Type  | header | string    | いいえ | なし                        |
| body          | body   | object    | いいえ | なし                        |
| » model       | body   | string    | はい  | なし                        |
| » messages    | body   | \[object] | はい  | なし                        |
| »» role       | body   | string    | いいえ | なし                        |
| »» content    | body   | string    | はい  | なし                        |
| » max\_tokens | body   | number    | はい  | なし                        |

### 戻り値の例

```json theme={null}
200 Response
```

```json theme={null}
{
  "id": "msg_013Uf6CwwyjSe35n3yVaPbLM",
  "type": "message",
  "role": "assistant",
  "model": "claude-3-5-sonnet-20241022",
  "content": [
    {
      "type": "text",
      "text": "それは人類の最も永続的で複雑な哲学的問いの一つです！普遍的な答えはありませんが、私はその複雑さを認識しながら、そのような問いを思慮深く探求することを目指しています。私は意味のある会話をし、できる限り助けることに集中しようとします。あなたにとって人生の意味とは何ですか？"
    }
  ],
  "stop_reason": "end_turn",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 14,
    "cache_creation_input_tokens": 0,
    "cache_read_input_tokens": 0,
    "output_tokens": 61
  }
}
```

### 戻り値の結果

| 状態码 | 状態码含义 | 説明 | データモデル |
| --- | ----- | -- | ------ |
| 200 | OK    | なし | インライン  |

## Claude 4への移行

Claude 3.7からClaude 4モデルに移行する場合は、以下の変更点に注意してください。

### モデル名の更新

```python theme={null}
# Claude 3.7から
model="claude-3-7-sonnet-20250219"

# Claude 4へ移行
model="claude-sonnet-4-20250514"  # または "claude-opus-4-20250514"
```

### 新しい停止理由の処理

新しい`refusal`停止理由を処理するようにアプリケーションを更新してください。

```python theme={null}
if response.stop_reason == "refusal":
    print("Claudeはコンテンツの生成を拒否しました")
elif response.stop_reason == "end_turn":
    print("正常に完了しました")
```

### サポートされていない機能の削除

* **トークン効率の良いツール使用**：Claude Sonnet 3.7でのみ利用可能で、Claude 4ではサポートされていません。
* **拡張出力**：`output-128k-2025-02-19`テストヘッダーはClaude Sonnet 3.7でのみ利用可能です。

Claude Sonnet 3.7から移行する場合は、これらのテストヘッダーをリクエストから削除することをお勧めします。

```python theme={null}
# これらのヘッダーを削除（存在する場合）
# "token-efficient-tools-2025-02-19"
# "output-128k-2025-02-19"
```

## アプリケーションでの使用（Lobe-Chatを例に）

* 設定ページに入り、モデルプロバイダーClaudeを選択します。
* APIキーには[当サイトのキー](https://aihubmix.com/token)を入力します。
* インターフェースプロキシアドレスには、以下のURLを直接入力します。

```
https://aihubmix.com
```

* 「クライアントリクエストモードを使用」をオンにすることをお勧めします。
* 最後に、モデルリストに自分で使用したいモデルを追加します（当サイトの設定ページからモデル名をコピー＆ペーストすることをお勧めします）。

  <img src="https://mintcdn.com/aihubmix/axGkcFk0FkcdXl5v/public/en/cla1.png?fit=max&auto=format&n=axGkcFk0FkcdXl5v&q=85&s=df809eab08a870a80d6368dd2af7cb82" alt="画像" width="1225" height="613" data-path="public/en/cla1.png" />

  <img src="https://mintcdn.com/aihubmix/axGkcFk0FkcdXl5v/public/en/cla2.png?fit=max&auto=format&n=axGkcFk0FkcdXl5v&q=85&s=161adb793216abf53c8161c6782d5fe7" alt="画像" width="1102" height="699" data-path="public/en/cla2.png" />

## Claude テキスト編集ツール

Claudeは、Anthropicが定義したテキスト編集ツールを使用してテキストファイルを表示および変更でき、コードやその他のテキストドキュメントのデバッグ、修正、改善に役立ちます。これにより、Claudeはファイルと直接対話し、提案だけでなく実際の操作支援を提供できます。

### テキスト編集ツールを使用する前の準備

互換性のあるモデルを選択
Anthropicのテキスト編集ツールは、以下のClaudeモデルをサポートしています。

* **Claude 4 シリーズモデル** (`claude-opus-4-20250514`, `claude-sonnet-4-20250514`): `text_editor_20250429`
* **Claude 3.7 Sonnet** (`claude-3-7-sonnet-20250219`): `text_editor_20250124`
* **Claude 3.5 Sonnet** (`claude-3-5-sonnet-20241022`): `text_editor_20241022`

<Warning>
  Claude 4モデルは新しいテキスト編集ツールを使用しており、古いバージョンとは互換性がありません。正しいツールタイプと名前を使用していることを確認してください。
</Warning>

### モデルに対応するツール設定

| モデルバージョン               | ツールタイプ                 | ツール名                          | サポートされる機能                              |
| ---------------------- | ---------------------- | ----------------------------- | -------------------------------------- |
| Claude 4 (Opus/Sonnet) | `text_editor_20250429` | `str_replace_based_edit_tool` | view, str\_replace, create             |
| Claude 3.7 Sonnet      | `text_editor_20250124` | `str_replace_editor`          | view, str\_replace, create, undo\_edit |
| Claude 3.5 Sonnet      | `text_editor_20241022` | `str_replace_editor`          | view, str\_replace, create, undo\_edit |

<Tip>
  **重要な変更点：** Claude 4モデルは`undo_edit`コマンドをサポートしなくなりました。コードからこの機能への依存を削除してください。
</Tip>

### 使用シナリオの評価

以下は、テキスト編集ツールを使用する典型的なシナリオです。

* コードデバッグ：構文エラーから論理的な問題まで、コードの問題を特定して修正するのに役立ちます。
* コードリファクタリング：ターゲットを絞った編集により、コードの構造、可読性、パフォーマンスを向上させます。
* ドキュメント生成：コードベースにドキュメント文字列、コメント、またはREADMEファイルを追加します。
* テスト作成：実装の理解に基づいて単体テストを作成します。

### テキスト編集ツールの使用

Messages APIを介してClaudeにテキスト編集ツール（`str_replace_editor`という名前）を提供します。
`anthropic`パッケージをインストールする必要があります。

```shell theme={null}
pip install anthropic
```

**呼び出し例：**

<CodeGroup>
  ```python Python-Claude 4 theme={null}
  import anthropic

  client = anthropic.Anthropic(
      api_key="sk-***", # AiHubMixで生成したキーに置き換えてください
      base_url="https://aihubmix.com"
  )

  response = client.messages.create(
      model="claude-sonnet-4-20250514",  # または claude-opus-4-20250514
      max_tokens=1024,
      tools=[
          {
              "type": "text_editor_20250429",
              "name": "str_replace_based_edit_tool"
          }
      ],
      messages=[
          {
              "role": "user", 
              "content": "primes.pyファイルに構文エラーがあります。修正を手伝っていただけますか？"
          }
      ]
  )

  print("応答コンテンツ:")
  for message in response.content:
      print(message.text)
  ```

  ```py Python-Claude 3.7 theme={null}
  import anthropic

  client = anthropic.Anthropic(
      api_key="sk-***", # AiHubMixで生成したキーに置き換えてください
      base_url="https://aihubmix.com"
  )

  response = client.messages.create(
      model="claude-3-7-sonnet-20250219",
      max_tokens=1024,
      tools=[
          {
              "type": "text_editor_20250124",
              "name": "str_replace_editor"
          }
      ],
      messages=[
          {
              "role": "user", 
              "content": "primes.pyファイルに構文エラーがあります。修正を手伝っていただけますか？"
          }
      ]
  )

  print("応答コンテンツ:")
  for message in response.content:
      print(message.text)
  ```

  ```shell Curl-Claude 4 theme={null}
  curl -X POST https://aihubmix.com/v1/messages \
    -H "Content-Type: application/json" \
    -H "x-api-key: xxx" \
    -H "anthropic-version: 2023-06-01" \
    -d '{
      "model": "claude-sonnet-4-20250514",
      "max_tokens": 1024,
      "tools": [
        {
          "type": "text_editor_20250429",
          "name": "str_replace_based_edit_tool"
        }
      ],
      "messages": [
        {
          "role": "user",
          "content": "primes.pyファイルに構文エラーがあります。修正を手伝っていただけますか？"
        }
      ]
    }'
  ```

  ```shell Curl-Claude 3.7 theme={null}
  curl -X POST https://aihubmix.com/v1/messages \
    -H "Content-Type: application/json" \
    -H "x-api-key: xxx" \
    -H "anthropic-version: 2023-06-01" \
    -d '{
      "model": "claude-3-7-sonnet-20250219",
      "max_tokens": 1024,
      "tools": [
        {
          "type": "text_editor_20250124",
          "name": "str_replace_editor"
        }
      ],
      "messages": [
        {
          "role": "user",
          "content": "primes.pyファイルに構文エラーがあります。修正を手伝っていただけますか？"
        }
      ]
    }'
  ```
</CodeGroup>

### Claude 4への移行（テキスト編集ツール）

Claude 3.7 SonnetからClaude 4モデルに移行する場合は、以下の変更点に注意してください。

#### ツール設定の更新

```py python theme={null}
# Claude 3.7 Sonnet
tools=[
    {
        "type": "text_editor_20250124",
        "name": "str_replace_editor"
    }
]

# Claude 4 (Opus/Sonnet)
tools=[
    {
        "type": "text_editor_20250429",
        "name": "str_replace_based_edit_tool"
    }
]
```

#### サポートされていない機能の削除

* **`undo_edit`コマンド**：Claude 4モデルは編集の取り消し機能をサポートしなくなりました。
* `undo_edit`に依存するロジックはコードから削除してください。

戻り値の例：

```json theme={null}
{
  "id": "msg_bdrk_012xyNaFCQg4zsVcTk5VkDAe",
  "type": "message",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "primes.pyファイルの構文エラーを修正するお手伝いをさせていただきます。まず、ファイルを確認して問題点を特定させてください。"
    },
    {
      "type": "tool_use",
      "text": "",
      "id": "toolu_bdrk_01P6jQG6suDSsDjzugqGVHWC",
      "name": "str_replace_based_edit_tool",
      "input": {
        "command": "view",
        "path": "/repo/primes.py"
      }
    }
  ],
  "model": "claude-sonnet-4-20250514",
  "stop_reason": "tool_use",
  "usage": {
    "input_tokens": 1042,
    "output_tokens": 115
  }
}
```

***

最終更新日：2026-06-01
