從 API Key到正式環境請求。
可直接使用的串接說明。範例共用一個 Base URL,端點清單則與儲存庫中的 relay OpenAPI 契約保持一致。
01 / START
快速開始
- 登入控制台建立 API Key。
- 從公開模型目錄複製模型 ID。
- 將 Key 存放於伺服器端環境變數,再發送第一個請求。
02 / AUTH
驗證與 Base URL
所有受保護端點使用 Bearer Token。請勿將 API Key 放入瀏覽器程式碼、公開儲存庫、記錄或螢幕截圖。
Base URL
https://tokenboat.com/v1請求標頭
Authorization: Bearer $TOKEN_BOAT_API_KEY03 / CALL
三種呼叫方式
Curl
export TOKEN_BOAT_API_KEY="your_api_key"
export MODEL_ID="choose_from_the_model_catalog"
curl https://tokenboat.com/v1/chat/completions \
-H "Authorization: Bearer $TOKEN_BOAT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "'"$MODEL_ID"'",
"messages": [{"role": "user", "content": "Hello from Token Boat"}]
}'Python
from openai import OpenAI
import os
client = OpenAI(
api_key=os.environ["TOKEN_BOAT_API_KEY"],
base_url="https://tokenboat.com/v1",
)
response = client.chat.completions.create(
model=os.environ["MODEL_ID"],
messages=[{"role": "user", "content": "Hello from Token Boat"}],
)
print(response.choices[0].message.content)JavaScript
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.TOKEN_BOAT_API_KEY,
baseURL: "https://tokenboat.com/v1",
});
const response = await client.chat.completions.create({
model: process.env.MODEL_ID,
messages: [{ role: "user", content: "Hello from Token Boat" }],
});
console.log(response.choices[0].message.content);04 / STREAM
串流輸出
對支援串流回應的模型設定 stream: true,並逐步讀取 Server-Sent Events。用戶端應處理連線中斷及不完整的最後一個區塊。
const stream = await client.chat.completions.create({
model: process.env.MODEL_ID,
messages: [{ role: "user", content: "Stream a short answer" }],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}05 / RECOVER
錯誤與重試
錯誤回應包含 HTTP 狀態與訊息。請記錄請求時間、端點、模型 ID 及狀態;不要記錄完整 Key 或敏感提示詞。
| Status | 含義 | 建議動作 |
|---|---|---|
| 400 | 請求欄位或模型參數無效 | 修正請求後再試 |
| 401 | API Key 缺少、無效或已失效 | 檢查 Authorization 標頭與 Key 狀態 |
| 403 | 帳戶或模型不可存取 | 檢查帳戶權限與模型可用性 |
| 429 | 達到請求或 Token 限制 | 遵循 Retry-After 並使用加入抖動的指數退避 |
| 5xx | 閘道或上游暫時無法使用 | 只對可安全重送的請求有限重試 |
06 / LIMITS
速率限制
RPM、TPM 與並行上限會依帳戶、模型及目前政策而異,因此不固定寫入可能失真的數字。收到 429 時,以回應標頭與帳戶控制台為準。
- 限制並行並設定用戶端逾時。
- 對 429 與暫時性 5xx 使用加入抖動的指數退避。
- 生成類任務不要盲目重送;先查詢任務狀態。
- 正式環境工作負載需要提高上限時,請透過支援中心聯絡。
07 / REFERENCE
主要端點
以下是主要公開端點;各模型實際支援的端點類型,以模型詳情為準。
| 方法 | 路徑 | 用途 |
|---|---|---|
| GET | /v1/models | 列出目前 API Key 可存取的模型 |
| POST | /v1/responses | 適合工具與多輪工作流程的 Responses API |
| POST | /v1/chat/completions | OpenAI 相容對話補全 |
| POST | /v1/messages | Anthropic Messages 相容端點 |
| POST | /v1/embeddings | 建立文字嵌入向量 |
| POST | /v1/images/generations | 提交圖像生成請求 |
| POST | /v1/audio/speech | 文字轉語音 |
| POST | /v1/audio/transcriptions | 音訊轉錄 |
| POST | /v1/videos | 提交影片生成任務 |
API 契約來源:docs/openapi/relay.json