Amux
文本Anthropic 格式

Messages

创建消息 — 完全兼容 Anthropic Claude Messages API,支持流式、工具调用、思考(Thinking)、提示缓存等

根据对话历史创建 Claude 模型响应。完全兼容 Anthropic 原生 Messages API,支持流式 / 非流式响应、工具调用(Tool Use)、思考输出(Extended Thinking)、提示缓存(Prompt Caching)、内置 Web Search 工具等能力。

项目
请求方法POST
请求路径/v1/messages
完整 URLhttps://api.amux.ai/v1/messages
请求格式application/json
响应格式JSON 或 SSE(stream=true 时)

本接口完全对齐 Anthropic Messages 协议,可直接使用 @anthropic-ai/sdk 或 Python 版 anthropic SDK 调用,仅需替换 baseURL 与 API Key。

请求头

Prop

Type

请求体参数

Prop

Type

透传策略:amux-api 对未在上方列出的字段会原样透传至上游 Anthropic / 兼容渠道。temperature 等未传值时由上游自行使用其默认值,amux-api 不在网关层强制填充默认值。

Message 结构

Prop

Type

ContentBlock 类型

content 数组中每个元素的 type 字段决定其结构:

Prop

Type

所有内容块均可附加 cache_control: { "type": "ephemeral" } 以启用提示缓存。

Tool 结构

Prop

Type

内置 Web Search 工具

Prop

Type

ToolChoice 结构

Prop

Type

Thinking 结构

Prop

Type

请求示例

curl https://api.amux.ai/v1/messages \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $AMUX_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -d '{
    "model": "claude-sonnet-4-5",
    "max_tokens": 1024,
    "system": "You are a helpful assistant.",
    "messages": [
      {"role": "user", "content": "你好,请用一句话介绍 Amux API。"}
    ]
  }'
import os
from anthropic import Anthropic

client = Anthropic(
    base_url="https://api.amux.ai",
    api_key=os.environ["AMUX_API_KEY"],
)

message = client.messages.create(
    model="claude-sonnet-4-5",
    max_tokens=1024,
    system="You are a helpful assistant.",
    messages=[
        {"role": "user", "content": "你好,请用一句话介绍 Amux API。"}
    ],
)

print(message.content[0].text)
import Anthropic from '@anthropic-ai/sdk';

const client = new Anthropic({
  baseURL: 'https://api.amux.ai',
  apiKey: process.env.AMUX_API_KEY,
});

const message = await client.messages.create({
  model: 'claude-sonnet-4-5',
  max_tokens: 1024,
  system: 'You are a helpful assistant.',
  messages: [
    { role: 'user', content: '你好,请用一句话介绍 Amux API。' },
  ],
});

console.log((message.content[0] as { type: 'text'; text: string }).text);
const stream = await client.messages.create({
  model: 'claude-sonnet-4-5',
  max_tokens: 1024,
  messages: [{ role: 'user', content: '写一首关于春天的诗' }],
  stream: true,
});

for await (const event of stream) {
  if (event.type === 'content_block_delta' && event.delta.type === 'text_delta') {
    process.stdout.write(event.delta.text);
  }
}

响应示例

{
  "id": "msg_01XXXXXXXXXXXXXXXXXXXXXX",
  "type": "message",
  "role": "assistant",
  "model": "claude-sonnet-4-5",
  "content": [
    {
      "type": "text",
      "text": "Amux API 是一个统一、稳定的企业级大模型接口网关。"
    }
  ],
  "stop_reason": "end_turn",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 24,
    "output_tokens": 18,
    "cache_creation_input_tokens": 0,
    "cache_read_input_tokens": 0
  }
}

响应字段

Prop

Type

Usage 字段

Prop

Type

流式响应

stream=true 时使用 SSE 格式按事件推送:

event: message_start
data: {"type":"message_start","message":{"id":"msg_xxx","type":"message","role":"assistant","model":"claude-sonnet-4-5","content":[],"stop_reason":null,"usage":{"input_tokens":24,"output_tokens":1}}}

event: content_block_start
data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""}}

event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"Amux"}}

event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":" API"}}

event: content_block_stop
data: {"type":"content_block_stop","index":0}

event: message_delta
data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null},"usage":{"output_tokens":18}}

event: message_stop
data: {"type":"message_stop"}

常见事件:

事件说明
message_start消息开始,含初始 usage(input_tokens 等)
content_block_start新内容块开始(含 index 与初始 content_block
content_block_delta内容块增量(delta.type 可为 text_delta / input_json_delta / thinking_delta / signature_delta
content_block_stop内容块结束
message_delta消息级增量(更新 stop_reason 与累计 usage
message_stop消息结束
ping保活心跳
error流式过程中的错误事件

错误响应

{
  "type": "error",
  "error": {
    "type": "invalid_request_error",
    "message": "..."
  }
}
HTTP 状态码含义
200请求成功
400请求参数错误(invalid_request_error
401API 密钥无效或缺失(authentication_error
403权限不足(permission_error
404模型不存在(not_found_error
413请求体过大(request_too_large
429触发速率限制或额度不足(rate_limit_error
500 / 502 / 529服务端异常或上游过载

On this page