开发者指南 · Claude Messages

保留 Anthropic 风格请求格式,接入一个统一网关。

使用文档中的 Messages 接口、正确的鉴权头,并在选择模型前获取实时模型 ID,再将现有 Claude 接入迁移到 Primordial AI。

Anthropic 风格消息x-api-key 鉴权实时模型发现

快速答案

POST https://www.primoraihub.com/v1/messages 发送 x-api-key: YOUR_API_KEYanthropic-version: 2023-06-01,模型 ID 从 GET /v1/models 获取,并提供 max_tokensmessages

接口与请求头

Messages 接口https://www.primoraihub.com/v1/messages
鉴权x-api-key: YOUR_API_KEY
版本头anthropic-version: 2023-06-01
模型发现GET https://www.primoraihub.com/v1/models
最小请求体model + max_tokens + messages

这个接口不要把 x-api-key 换成 OpenAI 风格的 Bearer;OpenAI 兼容格式请查看独立的 OpenAI SDK 指南

使用 cURL 测试

curl https://www.primoraihub.com/v1/models \
  -H "x-api-key: $PRIMORDIAL_API_KEY"

curl https://www.primoraihub.com/v1/messages \
  -H "x-api-key: $PRIMORDIAL_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "从_v1_models_返回的_MODEL_ID",
    "max_tokens": 512,
    "messages": [{"role": "user", "content": "你好"}]
  }'

使用 Python requests

import os
import requests

base = "https://www.primoraihub.com/v1"
headers = {
    "x-api-key": os.environ["PRIMORDIAL_API_KEY"],
    "anthropic-version": "2023-06-01",
    "content-type": "application/json",
}

models = requests.get(f"{base}/models", headers=headers, timeout=30).json()
model_id = models["data"][0]["id"]

response = requests.post(
    f"{base}/messages",
    headers=headers,
    json={
        "model": model_id,
        "max_tokens": 512,
        "messages": [{"role": "user", "content": "你好"}],
    },
    timeout=60,
)
response.raise_for_status()
print(response.json())

上线前兼容性检查

  • 获取实时模型列表,并确认选中的 ID 对当前账户可用。
  • 根据当前文档分别确认流式输出、工具调用、视觉、系统提示词和 content blocks,不要默认与上游完全一致。
  • API Key 只放服务端,并从日志、截图和公开仓库中脱敏。
  • 记录状态码、请求 ID、延迟和 token 用量,但不要记录密钥。

当前中文 API 文档是请求格式的规范来源,实时模型接口是模型 ID 的规范来源。

常见错误

  • 401/403:检查 API Key,并在 Messages 接口使用 x-api-key
  • 模型不存在:调用 GET /v1/models,不要继续使用复制来的模型名。
  • 400 请求体错误:确认 modelmax_tokensmessages 以及当前模型要求的内容格式。
  • 功能不一致:单独测试流式和工具调用;请求外壳兼容不等于每个上游功能完全相同。

常见问题

Anthropic 风格客户端应该调用哪个接口?

使用 POST https://www.primoraihub.com/v1/messages,并提供 x-api-keyanthropic-version、实时模型 ID、max_tokensmessages

如何选择 Claude 模型 ID?

调用 GET /v1/models,从实时接口返回的列表中选择 ID。

Claude 模型也可以使用 OpenAI 兼容接口吗?

当前 Primordial AI 文档同时列出 /v1/messages/v1/chat/completions;上线前请以当前模型和请求文档确认支持范围。