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

# Claude Chat Completion API 申請及び使用

> Claude AI 集成指南 - XHuoAPI

Anthropic Claude は非常に強力な AI 対話システムで、提示されたキーワードを入力するだけで、数秒以内に流暢で自然な返信を生成します。Claude はその優れた言語理解と生成能力により業界で独自の地位を築いており、現在、Claude はさまざまな業界や分野で広く利用されており、その影響力はますます顕著になっています。日常の対話、創造的な執筆、専門的な相談、コードプログラミングにおいても、Claude は驚くべき知的支援を提供し、人間の作業効率と創造性を大幅に向上させています。

この文書では、Claude Chat Completion API 操作の使用プロセスについて主に説明します。これを利用することで、公式の Claude の対話機能を簡単に使用できます。

## 申請プロセス

Claude Chat Completion API を使用するには、まず [Claude Chat Completion API](https://api.xhuoapi.ai/documents/280928a2-2dce-419c-adb5-1ea835e8183a) ページにアクセスし、「Acquire」ボタンをクリックして、リクエストに必要な認証情報を取得します：

![](https://cdn.xhuoapi.ai/nyq0xz.png)

まだログインまたは登録していない場合は、自動的にログインページにリダイレクトされ、登録とログインを促されます。ログインまたは登録後、現在のページに自動的に戻ります。

初回申請時には無料のクレジットが付与され、この API を無料で使用できます。

## 基本使用

次に、画面上に対応する内容を入力します。以下の図のように：

<p>
  <img src="https://cdn.xhuoapi.ai/ejeq57.png" width="400" className="m-auto" />
</p>

このインターフェースを初めて使用する際には、少なくとも3つの内容を入力する必要があります。一つは `authorization` で、ドロップダウンリストから直接選択できます。もう一つのパラメータは `model` で、`model` は Claude の公式モデルカテゴリを選択するものです。ここでは主に20種類のモデルがあり、詳細は提供されたモデルを参照できます。最後のパラメータは `messages` で、`messages` は入力する質問の配列です。これは配列で、複数の質問を同時にアップロードでき、各質問には `role` と `content` が含まれています。`role` は質問者の役割を示し、私たちは `user`、`assistant`、`system` の3つの役割を提供しています。もう一つの `content` は私たちの具体的な質問内容です。

また、右側には対応する呼び出しコードが生成されていることに注意してください。コードをコピーして直接実行することも、直接「Try」ボタンをクリックしてテストすることもできます。

よく使われるオプションパラメータ：

* `max_tokens`：単一の返信の最大トークン数を制限します。
* `temperature`：生成のランダム性、0-2 の範囲で、値が大きいほど発散します。
* `n`：一度に生成する候補返信の数。
* `response_format`：返却フォーマットの設定。

<p>
  <img src="https://cdn.xhuoapi.ai/v6lbjo.png" width="400" className="m-auto" />
</p>

呼び出し後、返された結果は以下のようになります：

```json theme={null}
{
  "id": "msg_bdrk_01Q6WN27v95ypCa1kbanAQ6K",
  "model": "claude-opus-4-20250514",
  "object": "chat.completion",
  "created": 1768619365,
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! How can I help you today?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 8,
    "completion_tokens": 12,
    "total_tokens": 20,
    "prompt_tokens_details": {
      "cached_tokens": 0,
      "text_tokens": 0,
      "audio_tokens": 0,
      "image_tokens": 0
    },
    "completion_tokens_details": {
      "text_tokens": 0,
      "audio_tokens": 0,
      "reasoning_tokens": 0
    },
    "input_tokens": 0,
    "output_tokens": 0,
    "input_tokens_details": null,
    "claude_cache_creation_5_m_tokens": 0,
    "claude_cache_creation_1_h_tokens": 0
  }
}
```

返された結果には複数のフィールドがあり、以下のように説明されます：

* `id`：今回の対話タスクを生成するための ID で、今回の対話タスクを一意に識別します。
* `model`：選択した Claude の公式モデル。
* `choices`：Claude が質問に対して提供した回答情報。
* `usage`：今回の問答に対するトークンの統計情報。

その中で `choices` は Claude の回答情報を含んでおり、その中の `choices` は Claude の具体的な回答情報を示しています。以下の図のように確認できます。

<p>
  <img src="https://cdn.xhuoapi.ai/2ulyhw.png" width="400" className="m-auto" />
</p>

`choices` の中の `content` フィールドには、Claude の返信の具体的な内容が含まれています。

## ストリーミング応答

このインターフェースはストリーミング応答もサポートしており、ウェブページとの接続に非常に便利で、ウェブページで逐字表示効果を実現できます。

ストリーミング応答を返したい場合は、リクエストヘッダーの `stream` パラメータを `true` に変更します。

以下の図のように変更しますが、呼び出しコードにはストリーミング応答をサポートするための対応する変更が必要です。

<p>
  <img src="https://cdn.xhuoapi.ai/ueugot.png" width="400" className="m-auto" />
</p>

`stream` を `true` に変更すると、API は対応する JSON データを行ごとに返します。コードレベルで逐行の結果を得るために、相応の変更を行う必要があります。

Python サンプル呼び出しコード：

```python theme={null}
import requests

url = "https://api.xhuoapi.ai/v1/v1/chat/completions"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "claude-opus-4-20250514",
    "messages": [{"role":"user","content":"Hello"}],
    "stream": True
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

出力結果は以下のようになります：

```json theme={null}
data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [{"delta": {"content": "", "role": "assistant"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [{"delta": {"content": ""}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [{"delta": {"content": "こんにちは！"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [{"delta": {"content": " どのようにお手伝いできますか"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [{"delta": {"content": " 今日？"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [{"delta": {}, "logprobs": null, "finish_reason": "stop", "index": 0}], "usage": null}

data: {"id": "msg_bdrk_01LPPqDjLKMgfSwTRMRty9VT", "object": "chat.completion.chunk", "created": 1768619445, "model": "claude-opus-4-20250514", "system_fingerprint": null, "choices": [], "usage": {"prompt_tokens": 8, "completion_tokens": 12, "total_tokens": 20, "prompt_tokens_details": {"cached_tokens": 0, "text_tokens": 0, "audio_tokens": 0, "image_tokens": 0}, "completion_tokens_details": {"text_tokens": 0, "audio_tokens": 0, "reasoning_tokens": 0}, "input_tokens": 0, "output_tokens": 0, "input_tokens_details": null, "claude_cache_creation_5_m_tokens": 0, "claude_cache_creation_1_h_tokens": 0}}

data: [DONE]
```

見ることができるように、応答の中には多くの `data` があり、`data` の中の `choices` が最新の回答内容であり、上記の内容と一致しています。`choices` は新たに追加された回答内容であり、結果に基づいてシステムに接続することができます。また、ストリーミング応答の終了は `data` の内容に基づいて判断され、内容が `[DONE]` の場合、ストリーミング応答の回答がすべて終了したことを示します。返された `data` の結果には複数のフィールドがあり、以下のように説明されています：

* `id`、今回の対話タスクを生成するための ID で、今回の対話タスクを一意に識別するために使用されます。
* `model`、選択された Claude の公式モデル。
* `choices`、Claude が質問に対して提供した回答情報。

JavaScript もサポートされており、例えば Node.js のストリーミング呼び出しコードは以下の通りです：

```javascript theme={null}
const options = {
  method: "post",
  headers: {
    accept: "application/json",
    authorization: "Bearer {token}",
    "content-type": "application/json",
  },
  body: JSON.stringify({
    model: "claude-opus-4-20250514",
    messages: [{ role: "user", content: "こんにちは" }],
    stream: true,
  }),
};

fetch("https://api.xhuoapi.ai/v1/v1/chat/completions", options)
  .then((response) => response.json())
  .then((response) => console.log(response))
  .catch((err) => console.error(err));
```

Java のサンプルコード：

```java theme={null}
JSONObject jsonObject = new JSONObject();
jsonObject.put("model", "claude-opus-4-20250514");
jsonObject.put("messages", [{"role":"user","content":"こんにちは"}]);
jsonObject.put("stream", true);
MediaType mediaType = "application/json; charset=utf-8".toMediaType();
RequestBody body = jsonObject.toString().toRequestBody(mediaType);
Request request = new Request.Builder()
  .url("https://api.xhuoapi.ai/v1/v1/chat/completions")
  .post(body)
  .addHeader("accept", "application/json")
  .addHeader("authorization", "Bearer {token}")
  .addHeader("content-type", "application/json")
  .build();

OkHttpClient client = new OkHttpClient();
Response response = client.newCall(request).execute();
System.out.print(response.body!!.string())
```

他の言語は別に自分で書き換えることができ、原理は同じです。

## 多輪対話

もし多輪対話機能を接続したい場合は、`messages` フィールドに複数の質問をアップロードする必要があります。複数の質問の具体的な例は以下の画像の通りです：

<p>
  <img src="https://cdn.xhuoapi.ai/odwx82.png" width="400" className="m-auto" />
</p>

Python のサンプル呼び出しコード：

```python theme={null}
import requests

url = "https://api.xhuoapi.ai/v1/v1/chat/completions"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "claude-opus-4-20250514",
    "messages": [{"role":"user","content":"こんにちは"},{"role":"assistant","content":"こんにちは！どのようにお手伝いできますか？"},{"role":"user","content":"私が今言ったことは何ですか？"}]
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

複数の質問をアップロードすることで、多輪対話を簡単に実現でき、以下のような回答を得ることができます：

```json theme={null}
{
  "id": "msg_bdrk_01Y1wfQmd89g968TVbFu57Yc",
  "model": "claude-opus-4-20250514",
  "object": "chat.completion",
  "created": 1768619674,
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "あなたは「こんにちは」と言いました - それが私たちの会話の最初のメッセージでした。"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 29,
    "completion_tokens": 20,
    "total_tokens": 49,
    "prompt_tokens_details": {
      "cached_tokens": 0,
      "text_tokens": 0,
      "audio_tokens": 0,
      "image_tokens": 0
    },
    "completion_tokens_details": {
      "text_tokens": 0,
      "audio_tokens": 0,
      "reasoning_tokens": 0
    },
    "input_tokens": 0,
    "output_tokens": 0,
    "input_tokens_details": null,
    "claude_cache_creation_5_m_tokens": 0,
    "claude_cache_creation_1_h_tokens": 0
  }
}
```

見ることができるように、`choices` に含まれる情報は基本的な使用内容と一致しており、これは Claude が複数の対話に対して返信した具体的な内容を含んでいます。これにより、複数の対話内容に基づいて対応する質問に答えることができます。

## 深い思考モデル

claude-opus-4-20250514-thinking と claude-sonnet-4-20250514-thinking モデルは他のモデルとは異なり、質問の言葉に基づいて深く考えて回答し、その思考過程の結果を返します。この記事では具体的な例を通じて深い思考機能を示します。次に、Claude Chat Completion API インターフェースに対応する内容を入力できます。以下の図のように：

<p>
  <img src="https://cdn.xhuoapi.ai/d1a4wq.png" width="400" className="m-auto" />
</p>

また、右側に対応する呼び出しコードが生成されていることに注意してください。コードをコピーして直接実行することも、直接「Try」ボタンをクリックしてテストすることもできます。

<p>
  <img src="https://cdn.xhuoapi.ai/21nmzq.png" width="400" className="m-auto" />
</p>

呼び出し後、返された結果は以下の通りです：

```json theme={null}
{
  "id": "msg_018J4YaRoGHtbsTVb4Vvz7oH",
  "object": "chat.completion",
  "created": 1755444014,
  "model": "claude-sonnet-4-20250514-thinking",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "30度のサインは **1/2** または **0.5** です。\n\nこれは基本的な三角関数の値の一つです。30-60-90の三角形では、辺の比は1:√3:2であり、30°の角に対する辺の長さは1、斜辺の長さは2であるため、sin(30°) = 1/2 となります。",
        "reasoning_content": "ユーザーは30度のサインを尋ねています。これは基本的な三角関数の質問です。\n\n30度のサインはよく知られた値です。30-60-90の三角形では、辺の比は1:√3:2です。\n\n30°の角に対して：\n- 対辺は1\n- 斜辺は2\n- したがって、sin(30°) = 対辺/斜辺 = 1/2 = 0.5\n\nこれは一般的に記憶される標準的な三角関数の値の一つです。"
      },
      "logprobs": null,
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 60,
    "completion_tokens": 239,
    "total_tokens": 299,
    "prompt_tokens_details": {
      "cached_tokens_details": {}
    },
    "completion_tokens_details": {}
  }
}
```

見ることができるように、`choices` 内の回答情報は深い思考の結果であり、関連する思考過程の内容も示されています。その中で、`content` の `reasoning_content` はモデルの思考過程を表しています。`choices` 内の回答情報は `markdown` 構文を使用してレンダリングする必要があり、そうすることで最良の体験を得ることができます。最後に、これも私たちのモデルのネットワーク機能の強力な利点を示しています。

## 視覚モデル

claude-sonnet-4-20250514 は Claude が開発したマルチモーダル大規模言語モデルで、claude-4 の基盤の上に視覚理解能力が追加されています。このモデルは、テキストと画像の入力を同時に処理し、クロスモーダルの理解と生成を実現しています。

claude-sonnet-4-20250514 モデルのテキスト処理は、上記の基本的な使用内容と一致しています。以下では、モデルの画像処理能力を使用する方法を簡単に紹介します。

claude-sonnet-4-20250514 モデルの画像処理能力は、元の `content` 内容に `type` フィールドを追加することによって主に使用されます。このフィールドを通じて、アップロードされたのがテキストか画像かを知ることができ、claude-sonnet-4-20250514 モデルの画像処理能力を使用することができます。以下では、Curl と Python の2つの方法でこの機能を呼び出す方法を説明します。

* Curl スクリプト方式

```
curl -X POST 'https://api.xhuoapi.ai/v1/v1/chat/completions' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
    "model": "claude-sonnet-4-20250514",
    "messages": [
      {
        "role": "user",
        "content": [
          {
            "type": "text",
            "text": "この画像には何が含まれていますか？"
          },
          {
            "type": "image_url",
            "image_url": {
              "url": "https://cdn.xhuoapi.ai/ueugot.png"
            }
          }
        ]
      }
    ]
  }'
```

* Python スクリプト方式

```python theme={null}
import requests

url = "https://api.xhuoapi.ai/v1/v1/chat/completions"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "claude-sonnet-4-20250514",
    "messages": [
        {
            "role": "user",
            "content": [
                {
                    "type": "text", "text": "この画像には何が含まれていますか？"
                },
                {
                    "type": "image_url",
                    "image_url": {
                        "url": "https://cdn.xhuoapi.ai/ueugot.png"
                    }
                },
            ],
        }
    ]
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

その後、以下の結果を得ることができます。結果内のフィールド情報は上記と一致しており、具体的には以下の通りです：

```json theme={null}
{
  "id": "msg_bdrk_01NCrxpZmV17bhQJJRQEFEb9",
  "model": "claude-sonnet-4-20250514",
  "object": "chat.completion",
  "created": 1768628904,
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "この画像は、AIチャット完了サービスのAPIリクエスト構成インターフェースを示しています。以下は主要な要素です：\n\n**リクエストボディパラメータ：**\n\n1. **model** (必須文字列) - \"claude-opus-4-202505...\" に設定 - 使用するAIモデルを指定します。\n\n2. **messages** (必須配列) - 会話履歴を含みます：\n   - **role** (必須文字列) - \"user\" に設定\n   - **content** (必須文字列) - メッセージ内容として \"Hello\" を含みます。\n\n3. **stream** (ブール値) - \"true\" に設定 - ChatGPTのように部分的なメッセージデルタを有効にします。\n\n4. **max_tokens** (数値) - 応答で生成できる最大トークンを設定するためのフィールドです。\n\n5. **n** (数値) - 各入力に対して生成するチャット完了の選択肢の数を指定します。\n\nインターフェースはダークテーマで、黒またはダークグレーの背景に白いテキストがあります。右下には「Fill Example」ボタンがあり、APIリクエストパラメータを構成するためのさまざまなドロップダウンメニューや入力フィールドがあります。メッセージエントリを削除するための赤いゴミ箱/削除アイコンが表示されており、メッセージエントリを削除するためのものと思われます。"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 1570,
    "completion_tokens": 252,
    "total_tokens": 1822,
    "prompt_tokens_details": {
      "cached_tokens": 0,
      "text_tokens": 0,
      "audio_tokens": 0,
      "image_tokens": 0
    },
    "completion_tokens_details": {
      "text_tokens": 0,
      "audio_tokens": 0,
      "reasoning_tokens": 0
    },
    "input_tokens": 0,
    "output_tokens": 0,
    "input_tokens_details": null,
    "claude_cache_creation_5_m_tokens": 0,
    "claude_cache_creation_1_h_tokens": 0
  }
}
```

回答の内容は画像に基づいているため、上記の2つの方法でclaude-3-7-sonnet-20250219モデルのテキストと画像処理能力を簡単に使用できます。

## エラーハンドリング

APIを呼び出す際にエラーが発生した場合、APIは対応するエラーコードと情報を返します。例えば：

* `400 token_mismatched`：不正なリクエスト、パラメータが欠落または無効である可能性があります。
* `400 api_not_implemented`：不正なリクエスト、パラメータが欠落または無効である可能性があります。
* `401 invalid_token`：未認証、無効または欠落した認証トークン。
* `429 too_many_requests`：リクエストが多すぎます、レート制限を超えました。
* `500 api_error`：内部サーバーエラー、サーバーで何かがうまくいきませんでした。

### エラー応答の例

```
{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "fetch failed"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}
```

## 結論

この文書を通じて、Claude Chat Completion APIを使用して公式のClaudeの対話機能を簡単に実現する方法を理解しました。この文書がAPIの接続と使用に役立つことを願っています。ご不明な点がございましたら、いつでも技術サポートチームにお問い合わせください。
