APIアクセス
AIAdapterはOpenAI互換APIです。アカウントが発行するAPIキーは1つです。デスクトップクライアントもアプリケーションコードも、同じキーで認証します。モデル、ベンダー、クライアントごとに2つ目のキーを作らないでください。
本番以外のホストに向ける場合のみ、下記のオリジンを置き換えてください。パス /v1 は必須です。
1. 認証情報
サインインし、コンソール → API Keys でキーを一度だけ作成します。秘密は作成時にだけ全文表示されます。直ちに保存し、以後すべてで再利用してください。
| 項目 | 値 |
|---|---|
| Base URL | https://www.aiadapter.com/v1 |
| 認証 | Authorization: Bearer <API_KEY> |
| モデル ID | /models に掲載された識別子 |
公式OpenAIクライアントは Base URL に /chat/completions などを付与します。サイトルートではなく …/v1 を指定してください。
キーは秘密です。リポジトリやチケットに置かず、ブラウザのJavaScript、モバイルアプリ、利用者が検査できるクライアントにも埋め込まないでください。環境変数またはシークレットマネージャから読み込みます。漏洩した場合は削除し、代わりのキーを1つだけ作成してください。
2. 直接利用(連携コードを書かない)
既存のOpenAI互換アプリからモデルを呼び、連携コードを書きたくない場合はこの節です。典型例は Cursor、Claude Desktop、Cherry Studio、Continue、LibreChat です。
設定する項目は3つだけです。キーはコンソールで発行した同じものです。
Cursor
- Settings → Models を開く。
- OpenAI API Key にキーを貼り付ける。
- Override OpenAI Base URL を有効にし、https://www.aiadapter.com/v1(小文字の v1)を設定する。
- Custom Models にマーケットプレイスのモデル識別子を追加する。Cursor内蔵モデルと衝突する ID は避ける。
Cursor Tab と一部の内蔵モデルはカスタム OpenAI Base URL を使いません。上書き後はマーケットプレイスのモデル ID でチャットしてください。フィールドにフォーカスできない場合は Cursor 3.15.20 以降に更新してください。
その他のOpenAI互換クライアント
Claude Desktop、Cherry Studio、Continue、LibreChat、または OpenAI 互換プロバイダを受け付ける任意のクライアントでは:
- プロバイダ / API 種別:OpenAI compatible
- Base URL:https://www.aiadapter.com/v1
- API key:この1つの AIAdapter キー
- モデル:マーケットプレイスの識別子
2つ目のクライアント用に別のキーを作らないでください。同じキーを2つのクライアントで使うのが想定構成です。
3. アプリケーション連携
ソフトウェアを書く場合はこの節です。契約は同じです:キーは1つ、Base URL は1つ、認証は Bearer。以下は公式 OpenAI ライブラリをドロップインクライアントとして使います。
プロセス環境に AIADAPTER_API_KEY を設定し、秘密をハードコードしないでください。MODEL_ID は /models の識別子そのものに置き換え、販売者プレフィックスを含めます。
HTTP
curl https://www.aiadapter.com/v1/chat/completions \
-H "Authorization: Bearer $AIADAPTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "MODEL_ID",
"messages": [{"role": "user", "content": "Reply with one word: ok"}]
}'
Python
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["AIADAPTER_API_KEY"],
base_url="https://www.aiadapter.com/v1",
)
response = client.chat.completions.create(
model="MODEL_ID",
messages=[{"role": "user", "content": "Reply with one word: ok"}],
)
print(response.choices[0].message.content)
Node.js
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.AIADAPTER_API_KEY,
baseURL: "https://www.aiadapter.com/v1",
});
const response = await client.chat.completions.create({
model: "MODEL_ID",
messages: [{ role: "user", content: "Reply with one word: ok" }],
});
console.log(response.choices[0].message.content);
4. モデルとエンドポイント
同じ Bearer キーで GET /v1/models を呼ぶか、/models を閲覧してください。model には掲載された識別子を使います。識別子には販売者プレフィックスが含まれます。そのままコピーしてください。例:pixverse/c1、byteplus-intl/dreamina-seedance-2-5-260628。c1 や seedance-2.5 のような短縮名は送らないでください。
一般的な OpenAI 互換ルート:
- POST /v1/chat/completions — チャットと言語モデル
- POST /v1/images/generations — 画像モデル
- POST /v1/video/generations の後に GET /v1/video/generations/{id} — 動画モデル
画像
画像生成は同期です。マーケットプレイスの識別子を model に入れます。
curl https://www.aiadapter.com/v1/images/generations \
-H "Authorization: Bearer $AIADAPTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "byteplus-intl/dola-seedream-5-0-flash-260915",
"prompt": "A red paper lantern in rain"
}'
動画
送信はジョブを返します。そのジョブ ID で同じパスをポーリングし、成功または失敗まで待ちます。完成ファイルを送信リクエスト上で待たないでください。
curl https://www.aiadapter.com/v1/video/generations \
-H "Authorization: Bearer $AIADAPTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "pixverse/c1",
"prompt": "A cat walking across a sunlit kitchen",
"seconds": "5"
}'
curl https://www.aiadapter.com/v1/video/generations/JOB_ID \
-H "Authorization: Bearer $AIADAPTER_API_KEY"
音声とその他のモダリティはマーケットプレイスの当該モデルに従います。
401 はキー欠落または無効、429 はレート制限です。残高またはクォータ不足は API エラーとして返ります。再試行前にコンソールでクレジットを追加してください。
5. キーの扱い
アカウント上のすべての連携にはキー1つで足ります。追加発行は監査証跡を分断し漏洩面を増やすだけで、追加モデルは解放しません。
問い合わせ:help@aiadapter.com