你需要的三個數值
關於 glm API Base URL 的提問,通常來自擁有需要 URL、金鑰與模型名稱的用戶端,卻不清楚各值用途的人。此處一次提供所有資訊。
| 設定 | 說明 |
|---|---|
| Base URL | https://api.glmapi.cc/v1 |
| 模型 ID | uncensored |
| Auth 標頭 | Authorization: Bearer YOUR_KEY |
| 聊天端點 | POST /v1/chat/completions |
| 模型列表 | GET /v1/models |
在複製任何內容前先釐清一點。網域名稱指的是搜尋詞,而非模型。這是由獨立供應商託管、與 OpenAI 相容的文字 API,針對單一開放權重模型進行微調,旨在為合法成人用途提供無內容拒絕的回答。它不是 GLM 背後廠商的官方 API,也不是轉發至其他廠商的路由器。若你需要官方 GLM 模型,請使用該廠商的自有服務。
你可以透過 Google 或電子郵件與密碼註冊取得金鑰。API 金鑰頁面也提供一鍵領取 $0.50 試用額度,有效期 7 天且無需信用卡。
使用 curl 檢查連線
在操作任何 SDK 或應用程式之前,請先用簡單請求確認金鑰與 URL。若此步驟成功,後續問題皆來自你的客戶端設定,而非帳戶問題。首先,列出模型:
curl https://api.glmapi.cc/v1/models \
-H "Authorization: Bearer YOUR_KEY"你應會得到一個包含 id uncensored 的 JSON 列表。然後發送一次聊天完成請求:
curl https://api.glmapi.cc/v1/chat/completions \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Reply with the word ready."}],
"max_tokens": 20
}'新增 -i 以查看回應標頭。它們包含 X-Request-Id、X-Balance-USD(你的剩餘額度)、X-RateLimit-Limit-Requests 與 X-RateLimit-Limit-Concurrency。若需向支援團隊查詢呼叫狀況,請保留請求 ID。
Python 與 Node
官方 OpenAI SDK 接受自訂基礎 URL。你只需修改兩個建構子參數與模型名稱;其餘程式碼維持原樣。
Python
from openai import OpenAI
client = OpenAI(
base_url="https://api.glmapi.cc/v1",
api_key="YOUR_KEY",
)
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Give me three names for a tavern."}],
)
print(resp.choices[0].message.content)Node.js
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.glmapi.cc/v1",
apiKey: process.env.GLM_API_KEY,
});
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Give me three names for a tavern." }],
});
console.log(resp.choices[0].message.content);Node 的屬性為 baseURL(大寫字母),而 Python 的引數為 base_url。混淆兩者會導致靜默回退至 SDK 的預設主機,並從錯誤伺服器取得驗證錯誤。
使用環境變數而非程式碼
當你不明確傳遞引數時,OpenAI SDK 會從環境讀取 OPENAI_BASE_URL 與 OPENAI_API_KEY。這是重新導向無法編輯的工具(如來自儲存庫的腳本或自動建立客戶端的框架)侵入性最小的方式。
export OPENAI_BASE_URL="https://api.glmapi.cc/v1"
export OPENAI_API_KEY="YOUR_KEY"
python my_existing_script.py你仍需在工具或其設定檔中將模型名稱設為 uncensored,因為沒有環境變數能攜帶它。若工具的模型下拉選單僅列出已知名稱,請尋找自訂模型或自由文字選項。
將設定值集中在一處
連線正常後,避免將 URL 貼到五個檔案中。將三個設定值放在一處,其餘地方統一讀取。.env 檔案適用於小型專案:
GLM_BASE_URL=https://api.glmapi.cc/v1
GLM_API_KEY=YOUR_KEY
GLM_MODEL=uncensored然後在啟動時載入一次,並建立一個單一客戶端供程式其餘部分匯入。當你更換金鑰、新增帶有試用餘額的暫存金鑰,或將此端點與其他端點比較時,效益就會顯現。你只需編輯檔案,而非程式碼庫。
在帳戶允許的情況下,為開發與生產環境使用不同的金鑰;若金鑰出現在提交記錄、截圖或共用日誌中,請立即輪替金鑰。洩漏的金鑰會消耗你的預付額度,且額度無法退回。
聊天應用程式與框架
前端用詞雖異,但都要求相同的三個數值。尋找名為 OpenAI-compatible、custom OpenAI 或類似的連線類型,然後填入:
- API URL / Base URL:
https://api.glmapi.cc/v1 - API 金鑰: 你帳戶中的金鑰
- 模型:
uncensored
SillyTavern 允許你透過自訂聊天完成來源新增 OpenAI 相容的端點,Open WebUI 的設定中也有 OpenAI 相容的連線類型。LangChain 等框架在其聊天模型類別上接受 base_url,LiteLLM 則可透過自訂 API 基礎將 OpenAI 風格的模型進行路由。選單名稱會隨版本變更,請依照各專案的最新文件確認欄位的確切位置。
某些應用程式會詢問是否要自動附加 /chat/completions。許多應用程式會自動附加,這意味著你輸入的 URL 必須停在 /v1。若應用程式改為要求完整端點,請提供 https://api.glmapi.cc/v1/chat/completions。快速入門更詳細地展示了支援的請求欄位。
為何首次呼叫會失敗
若 curl 測試通過但應用程式仍報錯,原因幾乎總是以下其中之一:
- 缺少
/v1。 單獨使用https://api.glmapi.cc很可能會因找不到路徑而失敗,因為路由位於/v1之下。 - 路徑重複。 應用程式會附加
/chat/completions,而你輸入時也包含了它,導致產生/chat/completions/chat/completions。請從基礎 URL 中移除它。 - 尾隨斜線。 某些客戶端拼接路徑的方式不佳。若日誌 URL 出現雙斜線,請移除結尾的
/。 - 錯誤的模型名稱。 唯一的模型 ID 是
uncensored。其他服務的命名將無法匹配。 - 金鑰問題。 檢查貼上時是否有殘留空格或換行,以及應用程式是否已新增前綴卻再次發送
Bearer。 - 呼叫錯誤的主機。 在瀏覽器應用程式中,未設定的基礎 URL 會回退至 SDK 預設值。請記錄實際的請求 URL。
瀏覽器端的呼叫也會讓任何開啟開發者工具的人看到你的金鑰。對於公開網站,請從你自己的伺服器發送請求並將金鑰保留在伺服器端。
若以上皆無法解釋,請從最小的案例開始反向推導。在與失敗應用程式相同的機器上執行先前的 curl 指令。若 curl 成功,表示網路與金鑰無誤,且應用程式以不同方式建構請求,請開啟其除錯日誌,並將日誌 URL、標頭與 JSON 主體與 curl 版本逐字比較。若 curl 僅在那台機器上失敗,請檢查企業代理、VPN 規則與 DNS 過濾器,它們有時會封鎖不熟悉的 API 主機名稱。從未到達伺服器的請求不會返回 X-Request-Id,這是區分兩種情況的快速方法。
限制與 429 回應
完整金鑰允許 8 個並行請求與每分鐘 300 個請求。試用金鑰則允許 2 個與 60 個。超過任一限制,API 都會回傳 HTTP 429 狀態碼,並附上錯誤碼 rate_limited(每分鐘過多)或 concurrency(同時過多)。在暫時過載期間,你也會收到 429 狀態碼,並帶有 Retry-After: 5 標頭。
串流請求會佔用其並行槽位直到串流結束,因此若應用程式開啟串流卻未關閉連線就放棄,可能會導致自身資源耗盡。最大請求主體為 8 MB,上下文視窗為 100,000 token,涵蓋提示詞與完成內容。如需費率與儲值資訊,請見 定價頁面。
串流輸出、工具與 JSON 使用相同的 URL
串流輸出或函式呼叫沒有單獨的地址。所有請求都送往 /v1/chat/completions,並在請求主體中開啟功能。串流請求設定 "stream": true 並返回伺服器發送事件;帶有工具的請求新增 tools 與可選的 tool_choice;JSON 模式新增 response_format 且類型為 json_object。採樣欄位如 temperature、top_p、stop、seed 與懲罰項會直接傳遞。
以下是串流 curl 呼叫。-N 旗標會關閉 curl 的輸出緩衝,以便你看到區塊到達時的內容:
curl -N https://api.glmapi.cc/v1/chat/completions \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"uncensored","stream":true,"messages":[{"role":"user","content":"Count to five."}]}'若你的代理或託管層緩衝回應,串流看起來會像一個巨大的延遲回覆。反向代理通常需要關閉伺服器發送事件的回應緩衝,因此在歸咎 API 之前請檢查該設定。如需每個功能的 Python 實作範例,請見 快速入門。
更多指南
問答
此 API 的基礎 URL 為何?
基礎 URL 為 https://api.glmapi.cc/v1。聊天請求會發送到其下的 /chat/completions,模型列表則位於 /models。
我應該使用哪個模型名稱?
使用 uncensored。這是唯一的模型 ID,且可在任何允許輸入自訂模型的 OpenAI 風格客戶端中使用。
這是官方的 GLM API 嗎?
否。這是一項獨立服務,相容於 OpenAI,僅運行單一開放權重模型,並非任何廠商的官方 API。
哪個標頭用於攜帶金鑰?
Authorization: Bearer 後接你的金鑰。當你傳遞金鑰時,OpenAI SDK 會自動新增此標頭。
測試連線需要信用卡嗎?
不需要。註冊後,在 API 金鑰頁面提供一鍵試用,金額 $0.50,有效期 7 天。
只差一張表單,即可取得金鑰
建立帳號、複製金鑰、更改基礎 URL。這就是整個設定過程。
