Skip to content

Claude OpenAI 互換形式

Fast-Token は OpenAI API プロトコル で Anthropic Claude シリーズのモデルを呼び出せます。OpenAI SDK や /v1/chat/completions ベースのアプリがある場合、通常は base_urlmodel を変更するだけで Claude に接続でき、Anthropic Messages ネイティブ API への書き換えは不要です。

本ページは利用ガイドが中心です。各エンドポイントのリクエストボディ、レスポンスフィールド、オンラインデバッグは ChatGPT ドキュメント および下記の機能対照表のリンクを参照してください。

2 つの接続方式

比較項目OpenAI 互換形式(本ページ)Claude ネイティブ API(同ディレクトリの他ドキュメント)
典型的なパスPOST /v1/chat/completionsPOST /v1/messages
リクエストボディmessagesmodelstream など OpenAI フィールドmessagessystemthinking など Anthropic フィールド
向いている用途既存の OpenAI クライアント、マルチモデル統合ゲートウェイ、迅速な移行Claude 固有機能(拡張思考の予算、Tool Use、PDF、ウェブ検索など)
ドキュメント本ページ + チャット グループ本フォルダ「チャット」グループ内の API ページ

どちらも同じ API Key とゲートウェイ URL を共有します。課金は モデル広場 の該当モデルに準じます。

接続設定

ゲートウェイと認証

  • Base URLhttps://fast-token.com/v1クイックスタート と同じ)
  • 認証:リクエストヘッダー Authorization: Bearer <Fast-Token_API_KEY>
  • モデル名モデル広場 から claude を含むモデル ID をコピーし、model に設定

OpenAI SDK の利用(推奨)

公式 SDK の base_url を Fast-Token に向けるだけで、それ以外は OpenAI と同じです:

python
from openai import OpenAI

client = OpenAI(
    base_url="https://fast-token.com/v1",
    api_key="<Fast-Token_API_KEY>",
)

completion = client.chat.completions.create(
    model="claude-sonnet-4-20250514",  # モデル広場の ID を使用
    messages=[
        {"role": "user", "content": "用一句话介绍你自己"},
    ],
)
print(completion.choices[0].message.content)
javascript
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://fast-token.com/v1",
  apiKey: "<Fast-Token_API_KEY>",
});

const completion = await client.chat.completions.create({
  model: "claude-sonnet-4-20250514",
  messages: [{ role: "user", content: "用一句话介绍你自己" }],
});
console.log(completion.choices[0].message.content);

ストリーミング会話は stream: true を指定してください。詳細は チャット補完の作成(ストリーミング)

chat 互換形式の機能一覧

以下の機能はすべて OpenAI 互換パス 経由です。コンソールや Apifox では 「chat 互換形式」 に分類されることが多いです。実装では多くが同じ POST /v1/chat/completions で、モデルストリーミングメッセージ構造でシナリオを区別します。

機能説明参考ドキュメント
思考チャットの作成モデルの「思考」過程を含む対話ストリーミングextra_body.enable_thinking
チャット補完の作成(ストリーミング)標準的なマルチターン会話、SSE ストリーミングチャット補完の作成(ストリーミング)
チャット補完の作成(非ストリーミング)標準的なマルチターン会話、一括レスポンスチャット補完の作成(非ストリーミング)
チャット画像認識(ストリーミング)画像のアップロードによる理解・説明・質問チャット画像認識の作成(ストリーミング)
チャット画像認識(非ストリーミング)画像認識、非ストリーミングの完全レスポンスチャット画像認識の作成(非ストリーミング)

モデルの選択

各シナリオの モデル IDモデル広場 を参照してください。名前に claude を含み、対応する会話・画像認識・思考に対応と記載されたモデルを試してください。「モデルが存在しない」や非対応の場合は、同シナリオの別の Claude モデルに切り替えてください。

シナリオ別の利用ポイント

標準チャット(ストリーミング / 非ストリーミング)

system ロール

OpenAI 形式では、messages 内の role: "system" にシステムプロンプトを書きます。ネイティブ Claude API ではトップレベルの system フィールドが一般的です。→ チャット補完の作成(ストリーミング)

思考モード(思考チャットの作成)

一部の Claude 思考モデルは ストリーミング リクエストで拡張フィールドにより思考出力を有効化できます:

json
{
  "model": "claude-sonnet-4-20250514",
  "messages": [{ "role": "user", "content": "逐步推导:为什么天空是蓝色的?" }],
  "stream": true,
  "extra_body": {
    "enable_thinking": true
  }
}
  • 互換形式での思考の表示はゲートウェイとモデルに依存します。モデル広場で「思考」対応の Claude モデルを選択してください
  • 思考トークン予算(thinking.budget_tokens)の精密制御、思考ブロックと本文ブロックの区別には、ネイティブ 拡張思考チャットの作成POST /v1/messages)を使用してください

画像認識(ビジョン)

user メッセージの contentマルチモーダル配列text + image_url(URL または Base64)を使用します。

json
{
  "model": "claude-sonnet-4-20250514",
  "messages": [
    {
      "role": "user",
      "content": [
        { "type": "text", "text": "描述这张图片中的主要内容" },
        {
          "type": "image_url",
          "image_url": { "url": "https://example.com/photo.jpg" }
        }
      ]
    }
  ],
  "stream": true
}

OpenAI 互換とネイティブ Claude API の選び方

ニーズ推奨
迅速な接続、OpenAI SDK / 既存コードの再利用OpenAI 互換形式(本ページ)
拡張思考、budget_tokens、思考ブロックの SSE 構造ネイティブ API拡張思考チャットの作成
Tool Use / 関数呼び出しネイティブ API関数呼び出しの作成(ストリーミング)
構造化出力(JSON Schema)ネイティブ API構造化出力の作成
PDF、ウェブ検索ネイティブ APIPDFサポートウェブ検索
OpenAI クライアントで「チャット + 画像認識 + 思考」のみOpenAI 互換形式 で主要パスをカバー

よくある質問

Q:OpenAI 公式ドキュメントと完全に一致しないのはなぜ?
A:互換レイヤーはリクエスト/レスポンスを OpenAI に合わせ、実体は Claude です。OpenAI 専用パラメータの一部は無効または無視される場合があります。実際のモデル対応を基準にしてください。

Q:model には何を入れる?
A:モデル広場に記載の 完全なモデル ID(通常 claude を含む)を使用してください。略称や古い名称は使わないでください。

Q:Anthropic 公式 Python SDK は使える?
A:公式 SDK はデフォルトで POST /v1/messages 向けです。SDK を使い続ける場合は本フォルダのネイティブ API ドキュメントを参照してください。OpenAI SDK は本ページの互換形式向けです。

Q:ストリーミングのレスポンス形式は?
A:SSE、data: {...} 行と終了の data: [DONE]。OpenAI ストリーミング Chat Completions と同じです。→ チャット完了チャンクオブジェクト

Q:完全なレスポンス JSON 構造は?
A:→ チャット完了オブジェクト。ネイティブ Messages API は → チャット完了オブジェクト(Anthropic 形式)

関連資料