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 CompletionsPOST /v1/chat/completions預設選擇,模型涵蓋面最廣
OpenAI CompletionsPOST /v1/completions舊式文字補全,支援的模型很少
OpenAI ResponsesPOST /v1/responses您已經在使用 Responses API
OpenAI ImagesPOST /v1/images/generations/v1/images/edits透過 OpenAI 用戶端進行同步圖片呼叫
Anthropic MessagesPOST /v1/messages您已經在使用 Anthropic SDK 或 Claude Code
Google GeminiPOST /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_kmin_pfrequency_penalty(−2–2)、presence_penalty(−2–2)、repetition_penaltystopseedlogit_biaslogprobstop_logprobs(0–20)。

結構化輸出。 在宣告支援 json_modestructured_outputs 的模型上,response_format 同時接受 {"type": "json_object"}json_schema 定義。

工具呼叫。 在宣告支援 tools 的模型上,toolstool_choiceparallel_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_schematoolstool_choicethinking、圖片區塊(base64url 兩種來源)、document 區塊,以及 tool_result。Assistant 的 thinking 區塊會對應到推理輸出。

需要注意的差異:

行為詳情
stop_sequences截斷為前 4 項
tool_choice: "any"對應為 required
cache_control當目標模型透過協定轉換提供服務時會被忽略,因此提示詞快取不會生效
內建伺服器端工具網頁搜尋、computer use 等由 Anthropic 託管的工具無法使用
POST /v1/messages/count_tokens未實作
多模態僅支援圖片。 此協定不接受影片與音訊片段

串流輸出遵循 Anthropic 的事件序列:message_startcontent_block_startcontent_block_deltacontent_block_stopmessage_deltamessage_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、各種形態的 inputtoolstool_choicereasoning.efforttext.formatjson_objectjson_schema 皆可)、text.verbositytemperaturetop_pstreamparallel_tool_calls

會被靜默忽略——接受但不報錯,也不產生任何效果:previous_response_idstoreincludebackgroundconversationprompttruncationmax_tool_callstop_logprobsreasoning.summarymetadata 會原樣回傳,但不會轉送給模型。

由於 previous_response_idstore 不生效,伺服器端不會保存對話狀態。請在每次請求時送出完整對話。

多模態。 支援圖片與音訊,此協定不支援影片。圖片使用 {"type": "input_image", "image_url": "<url string>"}——請注意這裡的值是純字串,不是物件。

串流輸出會送出標準的 Responses 事件集合,並以 response.completedresponse.incompleteresponse.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。

已支援。usermodel 角色的 contents[]systemInstructiongenerationConfig 以及 tools

多模態。 圖片、影片與音訊——可透過 inline_data 內嵌,也可透過 file_data.file_uri 以參照方式提供。

只有原生支援此協定的模型才提供這個格式。模型識別碼中含有 nanobananaomni 的模型在這裡會被拒絕;請改用 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_tokensChat Completions轉換為 max_tokens
正規化推理旗標Chat Completionsenable_thinkingthinking.typereasoning_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

On this page