LLM API 协议
Atlas Cloud 同时支持 OpenAI Chat Completions、Completions、Responses、Images,以及 Anthropic Messages 和 Google Gemini。一个密钥、一个 Base URL、六种协议格式。
Atlas Cloud 在同一个 Base URL 上、用同一个 API Key 接受六种不同的请求格式。把现有 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 Key 支持四种请求头写法,因此为其他厂商设计的 SDK 无需修改即可完成鉴权:
-H "Authorization: Bearer $ATLASCLOUD_API_KEY"推荐写法,所有协议都适用。
Atlas Cloud API Key 以 apikey- 开头。参见 API Key。
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