Messages API(Anthropic 兼容)

Messages API(Anthropic 兼容)

兼容 Anthropic Messages API,适用于 Anthropic 官方 SDK 或 Claude Code 类工具。


端点

POST /v1/messages

端点:https://aiservice.jellytoken.com/v1/messages

Anthropic SDK 的 base_url 填根域名:https://aiservice.jellytoken.com。SDK 会自行拼接 /v1/messages


请求头

Header说明
AuthorizationBearer uas_xxxx-api-key: uas_xxx
Content-Typeapplication/json
anthropic-version可选;GET /v1/models 时影响列表形态

请求体

{
  "model": "qwen3.6-plus",
  "max_tokens": 1024,
  "messages": [
    {
      "role": "user",
      "content": "Hello"
    }
  ],
  "system": "你是一个简洁的助手",
  "stream": false,
  "temperature": 0.7
}

主要参数

参数必填说明
model模型 ID(Anthropic 兼容请求字段名)
max_tokens最大输出 token
messages对话消息(不含 system,system 单独字段)
system系统提示
streamSSE 流式
temperature / top_p / top_k采样参数
stop_sequences停止序列
thinking{"type":"enabled","budget_tokens":1024} 启用思维链

多模态 content

{
  "role": "user",
  "content": [
    {"type": "text", "text": "描述图片"},
    {"type": "image", "source": {"type": "url", "url": "https://example.com/a.jpg"}}
  ]
}

支持 text / image / video 块;audio / document 当前返回 400


同步响应

{
  "id": "msg_550e8400-e29b-41d4-a716-446655440000",
  "type": "message",
  "role": "assistant",
  "model": "qwen3.6-plus",
  "content": [
    {"type": "thinking", "thinking": "...", "signature": ""},
    {"type": "text", "text": "Hello! How can I help you?"}
  ],
  "stop_reason": "end_turn",
  "usage": {
    "input_tokens": 10,
    "output_tokens": 15
  }
}

流式响应(SSE)

stream: true 时典型事件:

  • message_start
  • content_block_start
  • content_block_deltadelta.text 或 thinking)
  • content_block_stop
  • message_delta
  • message_stop
  • [DONE]

模型列表

curl -s https://aiservice.jellytoken.com/v1/models \
  -H "Authorization: Bearer uas_xxx" \
  -H "anthropic-version: 2023-06-01"

anthropic-version 时返回 Anthropic 分页形态;否则为 OpenAI 形态。


Python 示例(anthropic SDK)

pip install anthropic
import anthropic
import os

client = anthropic.Anthropic(
    api_key=os.environ["API_KEY"],
    base_url=os.environ.get("ANTHROPIC_BASE_URL", "https://aiservice.jellytoken.com"),
)

message = client.messages.create(
    model="qwen3.6-plus",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello"}],
)
print(message.content[0].text)

相关文档