はじめに
認証
API キーを Authorization ヘッダーの Bearer トークンで送る方法と、sk-api14- キーの作成と失効、キーごとの制限、キー不要のエンドポイント、401 invalid_api_key の対処をまとめています。API キーは環境変数で管理します。
従量課金エンドポイントへのすべてのリクエストは、api14 の API キーで認証されます。キーは Authorization ヘッダーに Bearer トークンとして送信します。
Authorization: Bearer sk-api14-...
OpenAI SDK は、apiKey / api_key オプションからこのヘッダーを自動で設定します。
API キー
キーの作成と管理は API キーで行います。
- キーは
sk-api14-で始まり、作成時に 1 回だけ表示されます。保存されるのはハッシュのみのため、紛失したキーは復元できません。新しいキーを作成し、古いキーを失効させてください。 - 各キーには、独自の毎分リクエスト数の上限、1 日の USD 利用上限、モデルの許可リストを設定できます。レート制限を参照してください。
- 保持できるキーの数はプランによって異なります。Free は 1 つ、Pro は 10 個、Team と Enterprise はそれ以上です。
- キーの失効は即座に反映され、そのキーによるリクエストは
401 invalid_api_keyを返します。
キーの使い方
キーは環境変数に保存し、コードから読み取ります。
export API14_API_KEY="sk-api14-..."
curl https://api14.com/api/v1/chat/completions \
-H "Authorization: Bearer $API14_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "openai/gpt-5-mini", "messages": [{"role": "user", "content": "Hello"}]}'
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);
キーが不要なエンドポイント
次の読み取り専用のカタログエンドポイントは、認証なしで利用できます。
| エンドポイント | 説明 |
|---|---|
GET /models | 利用可能なすべてのモデル |
GET /models/{id} | 1 つのモデル |
GET /images/models | 追加パラメーター付きの画像モデル |
GET /videos/models | 解像度と長さ付きの動画モデル |
GET /embeddings/models | 埋め込みモデル |
それ以外のすべて(生成エンドポイント、/credits、/key、/generation、動画ジョブのステータス)にはキーが必要です。
認証エラー
キーがない、形式が正しくない、または失効している場合は、次のレスポンスが返ります。
{
"error": {
"message": "Missing or invalid API key. Use \"Authorization: Bearer sk-api14-…\".",
"type": "authentication_error",
"code": "invalid_api_key"
}
}
HTTP ステータスは 401 です。許可リストで制限されたキーが許可外のモデルを呼び出すと、403 model_not_allowed が返ります。エラーを参照してください。
キーを安全に保つ
- ブラウザやモバイルアプリのコードにキーを含めないでください。そこでは誰でも読み取れます。api14 はサーバーから呼び出してください。
- キーをソース管理にコミットしないでください。環境変数またはシークレットマネージャーを使います。
- アプリや環境ごとに 1 つのキーを使うと、ほかに影響を与えずに 1 つだけ失効できます。
- スクリプトや信頼度の低いサービスで使うキーには 1 日の USD 上限を設定すると、バグで残高を使い果たすことを防げます。
- キーが漏えいした場合は、すぐに API キーで失効させてください。