Python:公式 OpenAI / Anthropic SDK でどのモデルでも呼び出す
666 AI は OpenAI 形式(/v1/chat/completions・/v1/responses・/v1/embeddings)と Anthropic 形式(/v1/messages)の両方に対応。今のコードのまま 2 行変えるだけです。
YOUR-ENDPOINT は登録後に「API Key」ページに表示される接続先に、YOUR-KEY はご自身のキーに置き換えてください。1 つのキーで 666 AI のすべてのモデル(Claude・GPT・Gemini・DeepSeek・Qwen ほか 200 以上)を呼び出せます。1. OpenAI SDK でチャット
pip install openai
from openai import OpenAI
client = OpenAI(
base_url="https://YOUR-ENDPOINT/v1",
api_key="YOUR-KEY",
)
resp = client.chat.completions.create(
model="anthropic/claude-haiku-5.5",
messages=[{"role": "user", "content": "Say hi in 3 words."}],
max_tokens=200,
)
print(resp.choices[0].message.content)2. ストリーミング
stream = client.chat.completions.create(
model="anthropic/claude-haiku-5.5",
messages=[{"role": "user", "content": "Count from 1 to 5."}],
max_tokens=200,
stream=True,
)
for chunk in stream:
if chunk.choices:
print(chunk.choices[0].delta.content or "", end="", flush=True)3. Responses API(OpenAI・Gemini 系モデル)
resp = client.responses.create(
model="google/gemini-3.5-flash", # Claude models don't use /v1/responses — call them via chat completions or /v1/messages
input="Say hi in 3 words.",
max_output_tokens=200,
)
print(resp.output_text)4. 埋め込み(Embeddings)
emb = client.embeddings.create(
model="openai/text-embedding-3-small",
input="hello",
)
print(len(emb.data[0].embedding)) # 15365. 環境変数で設定する場合
export OPENAI_BASE_URL="https://YOUR-ENDPOINT/v1"
export OPENAI_API_KEY="YOUR-KEY"
# then simply: client = OpenAI()6. Anthropic SDK(Messages API)
pip install anthropic
import anthropic
client = anthropic.Anthropic(
base_url="https://YOUR-ENDPOINT", # no /v1 here — the SDK adds /v1/messages itself
api_key="YOUR-KEY",
)
msg = client.messages.create(
model="anthropic/claude-haiku-5.5",
max_tokens=200,
messages=[{"role": "user", "content": "Say hi in 3 words."}],
)
print(msg.content[0].text)
# streaming
with client.messages.stream(
model="anthropic/claude-haiku-5.5",
max_tokens=200,
messages=[{"role": "user", "content": "Count from 1 to 5."}],
) as s:
for text in s.text_stream:
print(text, end="", flush=True)モデル ID は?
各モデルページに表示されている ID をそのまま使います(例:anthropic/claude-opus-5.5、google/gemini-3.5-flash)。同じキーで全モデル、従量課金でサブスク不要です。
よくある質問
モデルを変えるときコードの修正は必要?
いいえ。model の文字列を変えるだけで、クライアント・接続先・キーはそのままです。
返答が空になるのはなぜ?
推論モデルは max_tokens を思考に使い切ることがあります。2,000 以上に上げてください。
OpenAI SDK と Anthropic SDK、どちらを使う?
どちらでも構いません。Claude は両方で動き、他のモデルは OpenAI SDK が簡単です。