cd ../back to blog
$Guide//June 4, 2026//6 min read

OpenAI から Brievio へ 10 分で移行する — Python・Node・LangChain・Vercel AI SDK

OpenAI 互換のアプリを Brievio に切り替える実践ガイド。Python・Node・LangChain・Vercel AI SDK それぞれ base_url を 1 行変えるだけで、本物のモデルを正直なトークン課金で利用できます。

あなたのアプリがすでに OpenAI の API と通信しているなら、Brievio への 切り替えにかかるのはおよそ 10 分 — その大半はサインアップの時間です。 SDK もコードベースもそのまま使い続けながら、信頼できるインフラ上で本物の モデルを、正直なトークン課金で利用できます。本ガイドでは、多くのチームが 持つ 4 種類の連携パターンと、それぞれに必要なたった 1 行の変更を順に 見ていきます。

ステップ 0 — キーを取得する(2 分)

  1. brievio.com/app/signup でサインアップ します。登録時に $2 のクレジットが付与され、カードは不要です。
  2. /app/keys を開いてキーを作成します。 キーは sk-brievio- で始まります。
  3. 環境変数を設定します: export BRIEVIO_API_KEY=sk-brievio-...

ステップ 1 — SDK を切り替える(1 分)

Python(openai パッケージ)

migrate.py
# 変更前 — OpenAI に直接向ける
from openai import OpenAI
client = OpenAI(
    api_key=os.environ["OPENAI_API_KEY"],
)

# 変更後 — Brievio に向ける。それ以外はすべてそのまま。
from openai import OpenAI
client = OpenAI(
    api_key=os.environ["BRIEVIO_API_KEY"],
    base_url="https://api.brievio.com/v1",
)

Node / TypeScript

migrate.mjs
// 変更前
import OpenAI from "openai";
const client = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });

// 変更後
import OpenAI from "openai";
const client = new OpenAI({
  apiKey: process.env.BRIEVIO_API_KEY,
  baseURL: "https://api.brievio.com/v1",
});

LangChain

LangChain は内部で同じ OpenAI クライアントを使っているので、変更内容は まったく同じです。モデル ID が Brievio のスラッグになる点だけが違います — ライブの一覧は /models を参照してください(試すなら claude-sonnet-4-6gemini-2.5-flash claude-opus-4-7)。

langchain_setup.py
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    model="claude-sonnet-4-6",          # モデルを切り替えた
    api_key=os.environ["BRIEVIO_API_KEY"],
    base_url="https://api.brievio.com/v1",
)

Vercel AI SDK

@ai-sdk/openai は、ベース URL と API キーを既定で環境変数から 読み取ります。それらを設定すれば完了です — すべてのフレームワーク ヘルパー(streamTextgenerateObject、 リトライ、ツールルーティング)がそのまま動きます。

vercel_ai.mjs
import { openai } from "@ai-sdk/openai";

// @ai-sdk/openai は OPENAI_BASE_URL を自動で読み取る
process.env.OPENAI_BASE_URL = "https://api.brievio.com/v1";
process.env.OPENAI_API_KEY = process.env.BRIEVIO_API_KEY;

const model = openai("claude-sonnet-4-6");
// あとは streamText / generateText / streamObject をこれまで通り使うだけ

Anthropic SDK(すでに Claude を使っている場合)

Brievio は OpenAI 形式に加えて、Anthropic ネイティブの Messages API も /v1/messages で公開しています — なので SDK を乗り換える必要は ありません。

anthropic_sdk.py
from anthropic import Anthropic

# 変更前 — Anthropic SDK を api.anthropic.com に向ける
client = Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"])

# 変更後 — 同じ SDK のまま Brievio へ。キャッシュ・thinking・ツールはすべて素通し。
client = Anthropic(
    api_key=os.environ["BRIEVIO_API_KEY"],
    base_url="https://api.brievio.com",   # SDK が /v1/messages を付加する
)

ステップ 2 — ウォレットをスモークテストする(1 分)

本番コードに触れる前に、 claude-haiku-4-5 に対して安価なテストを実行します。これが 正常に返れば、キーは有効で、課金も機能し、ルーティング層も健全です。

smoke_test.py
# 移行検証のための、安くてほぼ決定的なスモークテスト。
resp = client.chat.completions.create(
    model="claude-haiku-4-5",            # 最も安い Claude
    messages=[{"role": "user", "content": "ping"}],
    max_tokens=8,
    temperature=0,
)
assert resp.choices[0].message.content, "empty response"
print("ok — Brievio のウォレットは正常、総コストは約 $0.0001")

ステップ 3 — トラフィックを移す(5 分)

安全なやり方は、アプリ内に環境変数を 2 つ用意することです — AI_BASE_URLAI_API_KEY — を環境ごとに 選択します。本番は OpenAI のまま、ステージングを Brievio に切り替えます。 24 時間後に本番を切り替えます。

切り替え前にコストへの影響が気になるなら、Brievio のダッシュボードが 呼び出しごとのコストを上流の公式レートと並べて表示します — 実際の プロンプトでの月間差額を簡単に試算できます。

変わらないもの

  • SDK とコードベース。
  • ストリーミング、Function Calling、ツール利用、ビジョン、構造化出力。
  • OpenAI とまったく同じリクエスト/レスポンスのスキーマ。
  • エラーの形(error.message / error.type / error.code)。

より良く変わるもの

  • 本物であること。 毎回の呼び出しで本物のファースト パーティ・モデルを — フルコンテキスト、ネイティブのツールとキャッシュ 付きで。こっそりの格下げも、再ラップされたプロキシもありません。
  • 価格。 どのモデルもプロバイダーの公式リストより おおむね 15% 安く、本当のトークン数で課金されます — /pricing を参照してください。
  • モダリティ。 同じ SDK のまま Claude(claude-opus-4-7)、Gemini(gemini-2.5-pro)、 GPT-Image-2、Veo 3、Nano Banana に届きます — /models を参照してください。
  • 請求。 Stripe ネイティブのウォレット — カード、 Apple Pay、Google Pay、ACH、SEPA、Alipay、WeChat Pay。監査可能な 請求書 1 通にまとまります。
  • 信頼性。 監視つきの自動フェイルオーバー — 上流が 劣化した瞬間に経路を切り替えます。多くの場合、あなたのリトライ ループが動き出す前に。

うまくいかない経路の注意点

  • 現時点で対応していない OpenAI 固有のエンドポイント: /v1/responses(代わりに /v1/chat/completions を使用)、 /v1/assistants(状態はそちらで保持してください。当社は ステートレスなゲートウェイです)、/v1/realtime(計画中)。
  • 一部の Claude 固有機能 — cache_control、拡張 thinking — は、OpenAI 形式ではなくネイティブの /v1/messages エンドポイント経由が 最も良く動きます。

行き詰まったら contact@brievio.com — 営業日内に人間が返信します。本格的な移行を進めているなら、 通話で対応します。