OpenAI API 定價:常見誤區與如何避免
OpenAI API 定價常讓開發者驚訝,因為輸入和輸出令牌分別計費,且若未仔細追蹤,串流回應可能會推高成本。了解這些機制有助於避免意外費用,並為您的預算選擇合適的模型配置。
摘要
- 輸入 token 每百萬個費用為 $0.15,輸出 token 每百萬個費用為 $0.50,適用於我們的無審查模型。
- 串流回應仍會將所有產生的權杖計入您的預付餘額。
- 上下文視窗限制會影響輸入與輸出 token 的計算。
- 預付額度永久有效,且僅針對實際使用量(包括錯誤)計費。
理解 token 成本:輸入與輸出
OpenAI API 定價對輸入和輸出令牌分別收費。這意味著您的總成本取決於您發送多少以及模型生成多少。輸入令牌涵蓋您的提示以及任何對話歷史。輸出令牌涵蓋模型的回應文字。
我們的無審查模型每百萬輸入 token 收費 $0.15,每百萬輸出 token 收費 $0.50。較高的輸出成本反映了生成文字所需的運算資源。較短的回應成本較低,但仍會消耗您的預付餘額。
- 輸入 token 包含您的提示詞與對話歷史
- 輸出 token 涵蓋模型的完整回應
- 兩種代幣類型均計入您的預付餘額
- 錯誤與拒絕消耗零 token
curl https://api.mistralopenaicompatibleapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "list top 5 linux commands for disk cleanup"}]
}'
上下文視窗限制與意外費用
上下文視窗限制直接影響您的 token 成本,因為更長的對話會消耗更多輸入 token。我們的無審查模型支援 100,000 個 token 的上下文視窗,包含提示詞與補全內容的總和。您可以每次請求生成最多 16,000 個 token。如果您省略 max_tokens,限制將降至 2,048 個 token。
較長的上下文意味著更高的輸入 token 成本,但也支持更複雜的推理。縮減對話歷史可以降低輸入成本,但可能會降低回應質量。請根據您的使用場景找到最佳平衡點。
- 輸入與輸出合計 100,000 總上下文視窗
- 每次請求最多16,000個輸出token
- 若省略 max_tokens,預設輸出 tokens 為 2,048
- 上下文視窗會影響成本和回應品質
from openai import OpenAI
client = OpenAI(base_url="https://api.mistralopenaicompatibleapi.com/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)
串流與非串流 token 計算
串流回應計算 token 的方式與非串流請求相同。無論採用何種交付方式,傳送給客戶端的每個 token 都會計入您的預付餘額。串流只是將 token 逐步交付,而非一次性全部送出。
當您需要即時回饋但需仔細追蹤 token 使用量時使用串流。最後一個區塊包含輸入和輸出的總 token 計數。監控這些計數以確保預算在控制範圍內。
- 串流與非串流使用相同的 Token 計數
- 發送到客戶端的每個 Token 都會消耗信用額
- 最後一個區塊包含總輸入與輸出 token 計數
- 在您的串流實作中追蹤 token 用量
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)
常見 SDK 配置錯誤
SDK 設定錯誤會因發送過多 token 或發出重複請求而導致意外費用。開發者常忘記設定 max_tokens,導致回應意外過長。另有人遺漏串流實作,導致回應完成後仍持續發送 token。
使用明確參數配置您的 SDK。設置 max_tokens 以控制輸出長度。僅在需要實時反饋時啟用流式傳輸。在您的應用程序日誌中監控 token 使用情況。
- 設置顯式的 max_tokens 以控制輸出長度
- 僅在需要即時回饋時啟用串流回應
- 在應用程式日誌中監控 token 數量
- 配置超時值以防止請求掛起
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.mistralopenaicompatibleapi.com/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);
為什麼預付信用能為您節省費用
預付信用額度通過僅對實際 Token 使用量收費來消除訂閱浪費。我們的系統每百萬個輸入 Token 收費 $0.15,每百萬個輸出 Token 收費 $0.50。錯誤和拒絕請求消耗零 Token,因此您永遠不會為失敗的請求付費。
以加密貨幣充值 $20 至 $500,支援 TRC20 上的 USDT 或 Base 上的 USDC。充值 $50 以上可獲贈信用額度。信用額度永不過期,隨時可用。無月費,僅為實際消耗付費。
- 預付信用額度僅對實際 Token 使用量收費
- 錯誤與拒絕消耗零 token
- 儲值 $20 至 $500 的加密貨幣
- 積分永不過期,且享有贈送積分優惠
避免速率限制罰款
速率限制可防止濫用,但如果配置不當,可能會中斷您的應用程式。我們的 API 允許每個金鑰每分鐘 300 次請求,每個金鑰 8 次並發請求。請求主體必須保持在 8 MB 以下,以避免被拒絕。
在達到速率限制時使用指數退避實作重試邏輯。監控您每分鐘的請求數量以保持在限制範圍內。為不同的應用程式元件使用不同的金鑰以分攤負載。每個帳戶一個活躍金鑰意味著您必須仔細管理金鑰輪換。
- 每 API 金鑰每分鐘 300 次請求
- 8 concurrent requests allowed per key
- 請求體必須小於 8 MB
- 每個帳戶一個有效金鑰,具備更換功能
比較無審查模型成本
無審查模型通常比標準模型成本更高,因為需要專門的訓練和推論要求。我們的模型每百萬個輸入 token 收費 $0.15,每百萬個輸出 token 收費 $0.50。此定價反映了無審查生成所需的運算資源。
標準模型成本可能較低,但包含影響回應品質的內容限制。無審查模型為合法的成人內容、小說和研究提供無限制回應。請根據你的內容需求而非僅憑價格來選擇。
- 無審查模型需要專門的訓練和推理
- 我們的定價反映了無審查生成計算的成本
- 內容限制影響回應質量和成本
- 根據內容需求而非僅根據價格來選擇
追蹤使用情況與帳單警報
Token 用量追蹤可幫助您監控成本並防止預算超支。我們的 API 在每個回應(包括串流回應)中返回 Token 計數。在您的應用程式日誌和儀表板中追蹤這些計數。
當使用量達到特定閾值時設定警報。監控輸入與輸出 token 的比例以最佳化您的提示。使用 token 計數計算實際成本,並與您的預付餘額進行比較。
- Token 計數出現在每個回應中,包括串流回應
- 監控輸入與輸出 token 的比例
- 設定使用量警示以防止預算超支
- 使用代幣數量計算實際成本
常見問題
我如何計算 API 費用?
將您的輸入 token 數量乘以每百萬 $0.15,並將您的輸出 token 數量乘以每百萬 $0.50。將這些數值相加,即可獲得單一請求的總成本。在您的應用程式日誌中追蹤 token 數量,以監控隨時間變化的使用情況。
串流回應比非串流更昂貴嗎?
否。串流和非串流回應使用相同的 token 計數。發送到客戶端的每個 token 都計入您的預付餘額,無論交付方式如何。最後一個串流區塊包含輸入和輸出的總 token 計數。
如果我觸及我的速率限制會發生什麼事?
超過每分鐘 300 次請求或 8 個併發請求限制的請求會收到錯誤回應。這些錯誤消耗零權杖,因此您不會被收費。請實作指數退避重試邏輯,以優雅地處理速率限制。
預付積分會過期嗎?
否。預付信用額度永不過期,因此您可以隨時使用。您只需為實際的 token 用量付費,包括錯誤和拒絕回應,這些都不會消耗 token。當您需要更多額度時,可以使用加密貨幣充值。
取得您的 API 金鑰
註冊、取得金鑰、更新您的端點基礎 URL。就這麼簡單。