認證與 API 金鑰
以 Bearer token 認證,並在 Dashboard 管理金鑰的花費上限與模型白名單。
認證與 API 金鑰
所有請求都必須帶上 Authorization 標頭,使用 Bearer token:
Authorization: Bearer sk-inf-xxxxxxxxxxxxxxxxxxxxxxxx
金鑰一律以 sk-inf- 開頭。缺少標頭會得到 401 unauthorized;金鑰不存在或格式錯誤會得到 401 invalid_api_key;金鑰被停用會得到 403 api_key_disabled。
金鑰管理
在 Dashboard 的 API Keys 頁面,你可以:
| 動作 | 說明 |
|---|---|
| 建立金鑰 | 完整金鑰只顯示一次,之後只看得到前綴與後四碼。 |
| 停用/啟用 | 停用後立即失效,後續請求回傳 api_key_disabled。 |
| 刪除金鑰 | 永久移除,無法復原。 |
| 每月花費上限 | 以美元計。當月累計成本達上限後回傳 spend_limit_reached,次月自動重置。 |
| 模型白名單 | 限制此金鑰可用的模型。呼叫名單外的模型回傳 model_not_allowed。 |
| 用量檢視 | 每把金鑰的請求數、token 數與成本。 |
建議依用途分開建立金鑰(例如 production、staging、local-dev),這樣可以獨立設定上限,出事時也能單獨停用。
使用範例
curl
curl https://api.alphacurve.io/v1/models \
-H "Authorization: Bearer $INFERENCE_API_KEY"
Python
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.alphacurve.io/v1",
api_key=os.environ["INFERENCE_API_KEY"],
)
print([m.id for m in client.models.list().data])
Node / TypeScript
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.alphacurve.io/v1",
apiKey: process.env.INFERENCE_API_KEY!,
});
const models = await client.models.list();
console.log(models.data.map((m) => m.id));
驗證金鑰是否有效
最省成本的做法是打 GET /v1/models,它不消耗 token:
curl -i https://api.alphacurve.io/v1/models \
-H "Authorization: Bearer sk-inf-does-not-exist"
HTTP/1.1 401 Unauthorized
Content-Type: application/json
{
"error": {
"code": "invalid_api_key",
"message": "The provided API key is invalid."
}
}
安全建議
- 只在伺服器端使用金鑰。 不要放進瀏覽器、行動 App 或任何前端 bundle——那等同公開發布。如果前端需要呼叫 LLM,請自建後端代理。
- 不要提交進版本控制。 使用環境變數或祕密管理服務;把
.env加進.gitignore。 - 設定花費上限。 對外部署的金鑰務必設上限,這是金鑰外洩時的最後一道防線。
- 定期輪替。 建立新金鑰、部署、確認流量轉移後再停用舊金鑰,可做到零停機輪替。
- 金鑰外洩時立即停用。 停用是即時生效的。