LLM API 協定
Atlas Cloud 同時支援 OpenAI Chat Completions、Completions、Responses、Images,以及 Anthropic Messages 與 Google Gemini。一把金鑰、一個 Base URL、六種協定格式。
Atlas Cloud 在同一個 Base URL 上、用同一把 API 金鑰接受六種不同的請求格式。把現有 SDK 指向 Atlas Cloud,通常不必改動就能直接運作——不用重寫,也不必自己寫轉接層。
https://api.atlascloud.ai協定一覽
| 協定 | 端點 | 適用情境 |
|---|---|---|
| OpenAI Chat Completions | POST /v1/chat/completions | 預設選擇,模型涵蓋面最廣 |
| OpenAI Completions | POST /v1/completions | 舊式文字補全,支援的模型很少 |
| OpenAI Responses | POST /v1/responses | 您已經在使用 Responses API |
| OpenAI Images | POST /v1/images/generations、/v1/images/edits | 透過 OpenAI 用戶端進行同步圖片呼叫 |
| Anthropic Messages | POST /v1/messages | 您已經在使用 Anthropic SDK 或 Claude Code |
| Google Gemini | POST /v1beta/models/{model}:generateContent | 您已經在使用 Google GenAI SDK |
並非每個模型都支援每一種協定。每個模型都會公布一份 supported_apis 清單——切換格式前請先確認。清單是有順序的:第一項就是該模型的建議協定。舉例來說,Gemini 系列模型只有在原生 Gemini 格式下才會提供完整的多模態能力。
身份驗證
您的 API 金鑰支援四種標頭寫法,因此為其他供應商設計的 SDK 不必修改即可完成驗證:
-H "Authorization: Bearer $ATLASCLOUD_API_KEY"建議寫法,適用於所有協定。
Atlas Cloud API 金鑰以 apikey- 開頭。請參閱 API 金鑰。
OpenAI Chat Completions
支援最廣泛的格式。
curl https://api.atlascloud.ai/v1/chat/completions \
-H "Authorization: Bearer $ATLASCLOUD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-ai/deepseek-v3.2",
"messages": [{"role": "user", "content": "Explain HTTP vs HTTPS"}],
"max_tokens": 1024,
"stream": true
}'使用 OpenAI SDK——只需改兩行:
from openai import OpenAI
client = OpenAI(
api_key=os.environ["ATLASCLOUD_API_KEY"],
base_url="https://api.atlascloud.ai/v1",
)
response = client.chat.completions.create(
model="deepseek-ai/deepseek-v3.2",
messages=[{"role": "user", "content": "Explain HTTP vs HTTPS"}],
)
print(response.choices[0].message.content)取樣參數。 各模型的支援程度不同——每個模型都會公布自己的 supported_sampling_parameters。常見可用參數:temperature(0–2)、top_p(0–1)、top_k、min_p、frequency_penalty(−2–2)、presence_penalty(−2–2)、repetition_penalty、stop、seed、logit_bias、logprobs、top_logprobs(0–20)。
結構化輸出。 在宣告支援 json_mode 或 structured_outputs 的模型上,response_format 同時接受 {"type": "json_object"} 與 json_schema 定義。
工具呼叫。 在宣告支援 tools 的模型上,tools、tool_choice 與 parallel_tool_calls 會被直接傳遞。
多模態輸入。 圖片、影片與音訊可以作為內容片段一併附上:
{
"role": "user",
"content": [
{ "type": "text", "text": "What is in this image?" },
{ "type": "image_url", "image_url": { "url": "https://example.com/photo.jpg" } },
{ "type": "video_url", "video_url": { "url": "https://example.com/clip.mp4" } },
{ "type": "input_audio", "input_audio": { "data": "<base64>", "format": "mp3" } }
]
}video_url 是 Atlas Cloud 在 OpenAI 規範之外的擴充。音訊必須以內嵌 Base64 提供——input_audio 不接受 URL。
Anthropic Messages
curl https://api.atlascloud.ai/v1/messages \
-H "x-api-key: $ATLASCLOUD_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-ai/deepseek-v3.2",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "Hello"}]
}'把 Anthropic SDK 的 base_url 設為 https://api.atlascloud.ai,即可指向 Atlas Cloud。
已支援。 system(字串或區塊陣列)、stop_sequences、帶 input_schema 的 tools、tool_choice、thinking、圖片區塊(base64 與 url 兩種來源)、document 區塊,以及 tool_result。Assistant 的 thinking 區塊會對應到推理輸出。
需要注意的差異:
| 行為 | 詳情 |
|---|---|
stop_sequences | 截斷為前 4 項 |
tool_choice: "any" | 對應為 required |
cache_control | 當目標模型透過協定轉換提供服務時會被忽略,因此提示詞快取不會生效 |
| 內建伺服器端工具 | 網頁搜尋、computer use 等由 Anthropic 託管的工具無法使用 |
POST /v1/messages/count_tokens | 未實作 |
| 多模態 | 僅支援圖片。 此協定不接受影片與音訊片段 |
串流輸出遵循 Anthropic 的事件序列:message_start、content_block_start、content_block_delta、content_block_stop、message_delta、message_stop。沒有 [DONE] 結束標記。
OpenAI Responses
curl https://api.atlascloud.ai/v1/responses \
-H "Authorization: Bearer $ATLASCLOUD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-ai/deepseek-v3.2",
"input": [{"role": "user", "content": [{"type": "input_text", "text": "Hello"}]}],
"max_output_tokens": 1024
}'已支援。 instructions、各種形態的 input、tools、tool_choice、reasoning.effort、text.format(json_object 與 json_schema 皆可)、text.verbosity、temperature、top_p、stream、parallel_tool_calls。
會被靜默忽略——接受但不報錯,也不產生任何效果:previous_response_id、store、include、background、conversation、prompt、truncation、max_tool_calls、top_logprobs 與 reasoning.summary。metadata 會原樣回傳,但不會轉送給模型。
由於 previous_response_id 與 store 不生效,伺服器端不會保存對話狀態。請在每次請求時送出完整對話。
多模態。 支援圖片與音訊,此協定不支援影片。圖片使用 {"type": "input_image", "image_url": "<url string>"}——請注意這裡的值是純字串,不是物件。
串流輸出會送出標準的 Responses 事件集合,並以 response.completed、response.incomplete 或 response.failed 結束。沒有 [DONE] 結束標記。
Google Gemini
# Non-streaming
curl "https://api.atlascloud.ai/v1beta/models/MODEL_ID:generateContent" \
-H "x-goog-api-key: $ATLASCLOUD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{"role": "user", "parts": [{"text": "Hello"}]}],
"generationConfig": {"maxOutputTokens": 1024, "temperature": 0.7}
}'
# Streaming — the alt=sse parameter is required
curl "https://api.atlascloud.ai/v1beta/models/MODEL_ID:streamGenerateContent?alt=sse" \
-H "x-goog-api-key: $ATLASCLOUD_API_KEY" \
-H "Content-Type: application/json" \
-d '{"contents": [{"role": "user", "parts": [{"text": "Hello"}]}]}'串流請求必須帶上 ?alt=sse。少了它,請求會返回 404。
已支援。 帶 user 與 model 角色的 contents[]、systemInstruction、generationConfig 以及 tools。
多模態。 圖片、影片與音訊——可透過 inline_data 內嵌,也可透過 file_data.file_uri 以參照方式提供。
只有原生支援此協定的模型才提供這個格式。模型識別碼中含有 nano、banana 或 omni 的模型在這裡會被拒絕;請改用 Chat Completions 或媒體生成端點。
OpenAI Images
供 OpenAI 相容用戶端使用的同步圖片生成:
curl https://api.atlascloud.ai/v1/images/generations \
-H "Authorization: Bearer $ATLASCLOUD_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "MODEL_ID", "prompt": "a cat", "n": 1, "size": "1024x1024"}'/v1/images/edits 接受 multipart/form-data。只有少數模型宣告支援此協定。
這條路徑與主要的圖片流程不同。大多數圖片模型——以及所有影片、音訊與 3D 模型——都使用預測中說明的非同步端點。選擇前請先查看模型的 supported_apis。
閘道行為
閘道在轉送過程中會對部分內容做正規化處理。這些行為不在上游規範內,除錯回應時很容易讓人措手不及:
| 行為 | 適用範圍 | 詳情 |
|---|---|---|
| 強制開啟用量統計 | 串流請求 | stream_options.include_usage 會被設為 true,因此最後一定會收到一個 usage 區塊 |
| 預設系統提示詞 | Chat Completions、Messages、Responses | 若您沒有送出系統提示詞,會自動插入 "You are a helpful assistant." |
改寫 max_completion_tokens | Chat Completions | 轉換為 max_tokens |
| 正規化推理旗標 | Chat Completions | enable_thinking、thinking.type 與 reasoning_effort: "none" 會被統一處理 |
| Keep-alive 註解 | 串流 | 閒置的串流會送出以 : 開頭的 SSE 註解行。用戶端必須忽略它們 |
| 請求主體大小限制 | 所有端點 | 50 MB。超過會返回 413——請改用 URL 或先上傳檔案 |
不提供的能力
以下端點在 Atlas Cloud 上並不存在,無論使用哪個模型,請求都不會成功:
/v1/embeddings/v1/rerank/v1/audio/speech與/v1/audio/transcriptions——音訊請走音訊端點/v1/messages/count_tokens
Ollama、Cohere、Bedrock 等供應商的原生協定並未對外開放。平台上有來自眾多廠商的模型,但一律透過上述六種格式存取。
限流與錯誤
限流會依帳戶與模型分別計算。超出限制時,API 會返回 429。
LLM 端點不會返回 X-RateLimit-* 標頭,這些端點的 429 回應也不會帶 Retry-After。請在用戶端實作指數退避,而不要依賴回應標頭。
每個回應都會帶有 X-Request-ID 標頭。聯繫技術支援時請一併提供。
相關內容
Last updated on