この互換性レイヤーは主にモデル機能のテストと比較を目的としており、ほとんどのユースケースにおいて長期的または本番環境対応のソリューションとは考えられていません。完全に機能的に保ち、破壊的変更を行わない意図はありますが、私たちの優先事項はClaude APIの信頼性と有効性です。既知の互換性制限の詳細については、重要なOpenAI互換性制限をご覧ください。OpenAI SDK互換性機能で問題が発生した場合は、こちらでお知らせください。
最高のエクスペリエンスとClaude APIの全機能セット(PDF処理引用拡張思考プロンプトキャッシュ)へのアクセスには、ネイティブのClaude APIの使用をお勧めします。

OpenAI SDKの使用開始

OpenAI SDK互換性機能を使用するには、以下が必要です:
  1. 公式のOpenAI SDKを使用する
  2. 以下を変更する
    • ベースURLをClaude APIを指すように更新する
    • APIキーをClaude APIキーに置き換える
    • モデル名をClaudeモデルを使用するように更新する
  3. サポートされている機能について以下のドキュメントを確認する

クイックスタート例

from openai import OpenAI

client = OpenAI(
    api_key="ANTHROPIC_API_KEY",  # あなたのClaude APIキー
    base_url="https://api.anthropic.com/v1/"  # Claude APIエンドポイント
)

response = client.chat.completions.create(
    model="claude-sonnet-4-5", # Anthropicモデル名
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Who are you?"}
    ],
)

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

重要なOpenAI互換性制限

API動作

OpenAIの使用との最も重要な違いは以下の通りです:
  • 関数呼び出しのstrictパラメータは無視されます。これは、ツール使用JSONが提供されたスキーマに従うことが保証されないことを意味します。
  • オーディオ入力はサポートされていません。単純に無視され、入力から削除されます
  • プロンプトキャッシュはサポートされていませんが、Anthropic SDKではサポートされています
  • システム/開発者メッセージは巻き上げられ、会話の開始時に連結されます。Anthropicは単一の初期システムメッセージのみをサポートするためです。
サポートされていないフィールドのほとんどは、エラーを生成するのではなく、静かに無視されます。これらはすべて以下に文書化されています。

出力品質の考慮事項

プロンプトに多くの調整を行った場合、それはOpenAI専用に適切に調整されている可能性があります。良い出発点として、Claude Consoleのプロンプト改善機能の使用を検討してください。

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

OpenAI SDKへの入力のほとんどは、AnthropicのAPIパラメータに直接明確にマップされますが、1つの明確な違いはシステム/開発者プロンプトの処理です。これら2つのプロンプトは、OpenAI経由でチャット会話全体に配置できます。Anthropicは初期システムメッセージのみをサポートするため、すべてのシステム/開発者メッセージを取得し、それらの間に単一の改行(\n)を挟んで連結します。この完全な文字列は、メッセージの開始時に単一のシステムメッセージとして提供されます。

拡張思考サポート

thinkingパラメータを追加することで、拡張思考機能を有効にできます。これにより複雑なタスクに対するClaudeの推論が改善されますが、OpenAI SDKはClaudeの詳細な思考プロセスを返しません。Claudeのステップバイステップの推論出力へのアクセスを含む完全な拡張思考機能については、ネイティブのClaude APIを使用してください。
response = client.chat.completions.create(
    model="claude-sonnet-4-5",
    messages=...,
    extra_body={
        "thinking": { "type": "enabled", "budget_tokens": 2000 }
    }
)

レート制限

レート制限は、/v1/messagesエンドポイントのAnthropicの標準制限に従います。

詳細なOpenAI互換API サポート

リクエストフィールド

シンプルフィールド

フィールドサポート状況
modelClaudeモデル名を使用
max_tokens完全サポート
max_completion_tokens完全サポート
stream完全サポート
stream_options完全サポート
top_p完全サポート
parallel_tool_calls完全サポート
stop空白文字以外のすべての停止シーケンスが動作
temperature0から1の間(包含)。1より大きい値は1に制限されます。
n正確に1である必要があります
logprobs無視
metadata無視
response_format無視
prediction無視
presence_penalty無視
frequency_penalty無視
seed無視
service_tier無視
audio無視
logit_bias無視
store無視
user無視
modalities無視
top_logprobs無視
reasoning_effort無視

tools / functions フィールド

tools[n].function フィールド
フィールドサポート状況
name完全サポート
description完全サポート
parameters完全サポート
strict無視

messages 配列フィールド

messages[n].role == "developer"のフィールド
開発者メッセージは初期システムメッセージの一部として会話の開始時に巻き上げられます
フィールドサポート状況
content完全サポート、ただし巻き上げ
name無視

レスポンスフィールド

フィールドサポート状況
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常に空