先決條件
要使用 apertus API,你需要一個帳戶和 API 金鑰。請在取得 API 金鑰頁面透過 Google 或電子郵件註冊。你會立即收到金鑰,不需要電話號碼。如果你想先測試,每個新帳戶都會獲得 7 天有效的 $0.50 免費試用額度。試用不需要信用卡。用於生產環境時,請使用加密貨幣儲值(TRC20 上的 USDT 或 Base 上的 USDC)。額度永不過期,且錯誤不會消耗餘額。每個帳戶只能有一個有效金鑰;生成新金鑰會取代舊金鑰。請妥善保管你的金鑰,並將其作為 Bearer token 傳送至 Authorization 標頭。API 僅支援文字,提供一個無審查模型,專為在無內容拒絕的情況下回答而最佳化。
Base URL 與身份驗證
將所有請求導向 https://api.apertus.cc/v1。此基礎 URL 可與官方 OpenAI SDK 及任何相容客戶端搭配使用,只需更改端點即可。請在標頭中包含您的 API 金鑰:Authorization: Bearer YOUR_API_KEY。唯一支援的端點為 POST /v1/chat/completions。GET /v1/models 端點也可用,用於驗證連線。要使用的模型 ID 為 uncensored。這是一個運行在我們伺服器上的開放權重模型,與 GPT、Claude 或其他供應商不同。它處理文字輸入並回傳文字輸出。不要期待嵌入、影像或音訊。此 API 專為希望進行簡易整合且無需處理模型路由複雜性的開發者而設計。
第一個請求
發送基本的補全請求以驗證你的設定。使用 curl 命令將請求 POST 至聊天補全端點。將模型設定為 uncensored 並包含簡單訊息。這將確認你的 API 金鑰有效且基礎 URL 正確。你可以根據需要調整 temperature 或 max_tokens 等參數。回應將包含模型的文字輸出。如果收到 401 錯誤,請檢查你的金鑰。402 錯誤表示額度不足。429 錯誤表示你已達到速率限制。此簡單請求展示了未經處理的 API 存取,無需任何中介軟體。這是建構更複雜邏輯之前驗證整合的最快方式。
Python 整合
使用官方 openai Python SDK 與 API 互動。使用 base URL https://api.apertus.cc/v1 和您的 API 金鑰初始化用戶端。將模型設為 uncensored。將訊息作為字典列表發送。SDK 會自動處理序列化和錯誤解析。此方法非常適合後端服務或數據處理腳本。您可以串流回應或獲取完整區塊。用戶端程式碼與用於 OpenAI 的程式碼相同,僅 base URL 不同。這減少了從其他供應商切換時的摩擦。確保使用最新版本的 SDK 以獲得最佳相容性。整合非常簡潔,只需對現有客戶端設定進行配置更改。
Node.js 整合
對於 JavaScript 或 TypeScript 環境,請使用 openai npm 套件。使用與 Python 相同的 base URL 和金鑰配置用戶端。使用 uncensored 模型呼叫 chat.completions.create()。以標準格式傳遞您的訊息。這非常適合無伺服器函式或 Node.js 後端。SDK 管理 HTTP 請求和回應解析。您可以透過檢查回應狀態來優雅地處理錯誤。程式碼在不同 OpenAI 相容服務之間保持可移植性。這使得在需要時輕鬆更換供應商成為可能。Node.js 整合支援同步和非同步模式。使用它來構建需要無審查文字生成的 API、機器人或自動化工作流程。
串流回應
在請求中設定 stream: true 以啟用串流。API 會在生成時返回文字區塊。這可以改善長回應的感知延遲。每個區塊包含部分補全內容。最後一個區塊包含 token 使用統計數據。串流透過伺服器發送事件 (SSE) 支援。使用 SDK 的串流輔助工具來高效處理區塊。這非常適合聊天介面或即時應用程式。注意,串流消耗的 token 與非串流相同。串流過程中可能會發生錯誤,因此請處理中斷。無審查模型預設支援串流。此功能允許您增量顯示文字。這是現代 LLM API 的標準功能。確保您的客戶端程式碼能正確處理部分回應。
限制、錯誤與上下文
上下文視窗總計為 100,000 個 token,包括提示詞和補全內容。每個請求的最大輸出為 32,000 個 token,如果未設定 max_tokens,則為 2,048 個 token。速率限制為每分鐘 300 個請求和每個金鑰 8 個並行請求。請求主體必須小於 8 MB。常見錯誤包括:401 表示金鑰無效,402 表示無額度,429 表示達到速率限制。模型會拒絕涉及未成年人的性內容。它不會拒絕其他合法的成人、虛構或爭議性主題。定價透明:每 100 萬個輸入 token $0.25,每 100 萬個輸出 token $1.00。錯誤免費。額度為預付額度,永不過期。使用這些限制來規劃應用程式的規模。API 專為高容量、具成本效益的文字生成而設計。
cURL
curl https://api.apertus.cc/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.apertus.cc/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.apertus.cc/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);串流輸出
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)