Cookieを使用しています. Cookieとブラウザストレージは、ログイン状態の維持と設定の保存に使われます。許可いただいた場合は、サイトの利用状況も計測します。はいつでも変更できます。詳しくはCookieポリシーをご覧ください。

OpenAI SDK 互換性

はじめに

OpenAI SDK 互換性

公式 OpenAI SDK を、ベース URL と API キーの 2 つを変えるだけで api14 に向ける方法です。互換性のある機能、OpenAI や他の互換 API からの移行手順、ゲートウェイ独自パラメーターの渡し方を説明します。コードの変更は不要です。

api14 は OpenAI API に対応しています。公式の OpenAI SDK と、カスタムの OpenAI ベース URL を受け付けるツールは、コードを変更せずに動作します。変更するのはベース URL と API キーだけです。

変更する 2 つの値

設定値
ベース URLhttps://api14.com/api/v1
API キーsk-api14-... のキー
import OpenAI from 'openai'

const client = new OpenAI({
  baseURL: 'https://api14.com/api/v1',
  apiKey: process.env.API14_API_KEY,
})
import os
from openai import OpenAI

client = OpenAI(base_url="https://api14.com/api/v1", api_key=os.environ["API14_API_KEY"])

多くの SDK は OPENAI_BASE_URL と OPENAI_API_KEY の環境変数も読み取るため、コードに触れずに切り替えることもできます。

互換性のある機能

OpenAI の機能api14
stream、tools、response_format を含む chat.completions.createすべてのテキストモデルで対応
responses.create対応
completions.create対応
embeddings.create対応
images.generate対応(/images/generations)
audio.speech.create対応
audio.transcriptions.create対応(multipart)
models.list / models.retrieve対応。価格とカテゴリ付き
エラー形式 { error: { message, type, code } }同じ。SDK は通常の APIError を発生させます

OpenAI にしかないエンドポイント(Assistants、Threads、ファインチューニング、ファイル、バッチ、ベクトルストア、モデレーション)は利用できません。

OpenAI からの移行

  1. ベース URL を https://api14.com/api/v1 に設定し、api14 のキーを使います。
  2. モデル名にプロバイダーを付けます。gpt-5-mini は openai/gpt-5-mini、text-embedding-3-small は openai/text-embedding-3-small になります。
  3. これだけです。モデル ID を変えるだけで、anthropic/claude-sonnet-4.5 や google/gemini-2.5-pro など、ほかのプロバイダーにも切り替えられます。
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api14.com/api/v1",
  apiKey: process.env.API14_API_KEY,
});

const result = await client.chat.completions.create({
  "model": "openai/gpt-5-mini",
  "messages": [
    {
      "role": "user",
      "content": "Explain vector databases in two sentences."
    }
  ]
});
console.log(result.choices[0].message.content);

他の OpenAI 互換 API からの移行

ベース URL とキーを変更します。

  1. ベース URL を https://api14.com/api/v1 に設定します。
  2. API キーとして api14 のキーを使います。
  3. provider/model 形式のモデル ID(たとえば openai/gpt-5-mini)を使います。バリアント(:free、:online、:nitro、:floor)、provider ルーティング、models フォールバック、reasoning、plugins、transforms、usage に対応しています。

知っておくべき違いは次のとおりです。

  • 課金は USD 残高です。 GET /credits は USD の total_credits と total_usage、および balance_usd フィールドを返します。残高とキー情報を参照してください。
  • 利用料金は常に含まれます。 ゲートウェイは常に上流へ usage.cost を要求するため、すべてのレスポンスに価格が含まれます。
  • HTTP-Referer や X-Title などのヘッダーはゲートウェイが設定するため、送信する必要はありません。
  • 動画のジョブ URL は、上流ではなく常に api14 を指します(/api/v1/videos/{id})。動画を参照してください。

SDK でゲートウェイ独自のパラメーターを使う

OpenAI SDK が認識しないフィールドも送信できます。

await client.chat.completions.create({
  model: 'openai/gpt-5-mini',
  messages: [{ role: 'user', content: 'Hi' }],
  // @ts-expect-error api14 extension
  provider: { sort: 'price' },
})
client.chat.completions.create(
    model="openai/gpt-5-mini",
    messages=[{"role": "user", "content": "Hi"}],
    extra_body={"provider": {"sort": "price"}},
)

プロバイダールーティングとフォールバック、推論、Web 検索を参照してください。