Claude Platform Docs
SDK、CLI、ライブラリライブラリと統合

OpenAI SDKとの互換性

Anthropicは、OpenAI SDKを使用してClaude APIをテストできる互換性レイヤーを提供しています。わずかなコード変更で、Anthropicモデルの機能を評価できます。

OpenAI SDKを使い始める

OpenAI SDK互換性機能を使用するには、次のことを行う必要があります。

  1. 公式のOpenAI SDKを使用します。
  2. 次の点を変更します。
    • ベースURLをClaude APIを指すように更新します。
    • APIキーを、Claude Consoleで取得したClaude APIキーに置き換えます。
    • キーがワークスペースにスコープされていない個人キーまたはサービスアカウントキーである場合は、すべてのリクエストでanthropic-workspace-idヘッダーも送信してください(たとえば、Python SDKではdefault_headers、TypeScriptではdefaultHeaders)。ワークスペースを選択するを参照してください。
    • モデル名をClaudeモデルを使用するように更新します。
  3. サポートされている機能については、以下のセクションを確認してください。

クイックスタートの例

import os

from openai import OpenAI

client = OpenAI(
    api_key=os.environ.get("ANTHROPIC_API_KEY"),  # Your Claude API key
    base_url="https://api.anthropic.com/v1/",  # the Claude API endpoint
)

response = client.chat.completions.create(
    model="claude-opus-5-5",  # Claude model name
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Who are you?"},
    ],
)

print(response.choices[0].message.content)

OpenAI互換性に関する重要な制限事項

APIの動作

OpenAIを使用する場合との最も大きな違いは次のとおりです。

  • function callingのstrictパラメータは無視されます。つまり、ツール使用のJSONが指定されたスキーマに従うことは保証されません。スキーマへの準拠を保証するには、ネイティブの構造化出力を使用したClaude APIを使用してください。
  • 音声入力はサポートされていません。無視され、入力から削除されます。
  • プロンプトキャッシングはサポートされていませんが、Anthropic SDKではサポートされています。
  • システム/開発者メッセージは、会話内のどこに出現しても、引き上げられてトップレベルのsystemフィールドに連結されます。会話の途中でシステム指示を追加するには、ネイティブのClaude APIで会話途中のシステムメッセージを使用してください。

サポートされていないフィールドのほとんどは、エラーを発生させるのではなく、暗黙的に無視されます。これらはすべて以下のセクションに記載されています。

出力品質に関する考慮事項

プロンプトを大幅に調整している場合、それはOpenAI向けに特化してチューニングされている可能性が高いです。プロンプトのベストプラクティスガイドを参考に、Claude向けに作り直すことを検討してください。

システム/開発者メッセージの引き上げ

OpenAI SDKへの入力のほとんどはClaude APIのパラメータに明確に直接対応しますが、明確な違いの1つはsystem / developerプロンプトの扱いです。OpenAI APIでは、これら2種類のプロンプトをチャット会話全体のどこにでも配置できます。互換性レイヤーはすべてのsystem/developerメッセージを取得し、それらの間に単一の改行(\n)を挟んで連結します。この完全な文字列は、すべてのメッセージの前に、トップレベルのsystemフィールドとして渡されます。

思考のサポート

thinkingパラメータを追加することで、思考を有効にできます。現在のモデルでは思考は適応型であり、Claudeがいつ、どの程度深く思考するかを判断します。また、Claude 5モデルではデフォルトで有効になっています。手動で設定する拡張思考はレガシーモードです。思考は複雑なタスクにおけるClaudeの推論を向上させますが、OpenAI SDKはClaudeの思考を返しません。要約された思考を含む完全な思考機能を利用するには、ネイティブのClaude APIを使用してください。

response = client.chat.completions.create(
    model="claude-sonnet-4-6",
    messages=[{"role": "user", "content": "Who are you?"}],
    extra_body={"thinking": {"type": "enabled", "budget_tokens": 2000}},
)

レート制限

「rate limit」(レート制限)は、/v1/messagesエンドポイントに対するAnthropicの標準の制限に従います。

OpenAI互換APIサポートの詳細

リクエストフィールド

単純なフィールド

フィールドサポート状況
modelClaudeモデル名を使用
max_tokens完全にサポート
max_completion_tokens完全にサポート
stream完全にサポート
stream_options完全にサポート
top_pモデルにそのまま渡されます。Claude 4.7以降のモデルおよびClaude Mythos Previewでは、デフォルト値である0.99以外の値を指定すると400エラーが返されるため、省略してください。temperatureとtop_pの両方を設定したリクエストも400エラーを返します。Messages APIの使用を参照してください。
parallel_tool_calls完全にサポート
stop空白以外のすべての停止シーケンスが機能
temperature0から1の間(両端を含む)。1より大きい値は1に制限されます。Claude 4.7以降のモデルおよびClaude Mythos Previewでは、1未満の値を指定すると400エラーが返されるため、省略してください。Messages APIの使用を参照してください。
n正確に1である必要があります
logprobs無視
metadata無視
response_format無視されます。JSON出力には、ネイティブのClaude APIで構造化出力を使用してください。
prediction無視
presence_penalty無視
frequency_penalty無視
seed無視
service_tier無視
audio無視
logit_bias無視
store無視
user無視
modalities無視
top_logprobs無視
reasoning_effort無視

tools / functionsフィールド

messages配列フィールド

レスポンスフィールド

フィールドサポート状況
id完全にサポート
choices[]常に長さは1です
choices[].finish_reason完全にサポート
choices[].index完全にサポート
choices[].message.role完全にサポート
choices[].message.content完全にサポート
choices[].message.tool_calls完全にサポート
object完全にサポート
created完全にサポート
model完全にサポート
finish_reason完全にサポート
content完全にサポート
usage.completion_tokens完全にサポート
usage.prompt_tokens完全にサポート
usage.total_tokens完全にサポート
usage.completion_tokens_details常に空
usage.prompt_tokens_details常に空
choices[].message.refusal常に空
choices[].message.audio常に空
logprobs常に空
service_tier常に空
system_fingerprint常に空

エラーメッセージの互換性

互換性レイヤーは、OpenAI APIと一貫したエラー形式を維持します。ただし、詳細なエラーメッセージは同等ではありません。エラーメッセージはログ記録とデバッグにのみ使用してください。

ヘッダーの互換性

OpenAI SDKはヘッダーを自動的に管理しますが、ヘッダーを直接扱う必要がある開発者向けに、Claude APIがサポートするヘッダーの完全なリストを以下に示します。

ヘッダーサポート状況
x-ratelimit-limit-requests完全にサポート
x-ratelimit-limit-tokens完全にサポート
x-ratelimit-remaining-requests完全にサポート
x-ratelimit-remaining-tokens完全にサポート
x-ratelimit-reset-requests完全にサポート
x-ratelimit-reset-tokens完全にサポート
retry-after完全にサポート
request-id完全にサポート
openai-version常に2020-10-01
authorization完全にサポート
openai-processing-ms常に空

Was this page helpful?