切换主题
HTTP API 与 SDK
吉格api提供 Anthropic Messages 路由和 OpenAI 兼容路由。端点存在不代表每个模型都支持所有参数,请以模型广场和实际调用为准。
Base URL
| 协议 | Base URL |
|---|---|
| OpenAI 兼容接口 | https://chickener.cc.cd/v1 |
| Anthropic Messages | https://chickener.cc.cd |
OpenAI SDK 会在 Base URL 后追加接口路径,因此 Base URL 需要包含 /v1。Anthropic SDK 会请求 /v1/messages,其 Base URL 不要手动追加 /v1。
认证
OpenAI 兼容接口使用 Bearer Token:
http
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json1
2
2
Anthropic Messages 可以使用:
http
x-api-key: YOUR_API_KEY
anthropic-version: 2023-06-01
Content-Type: application/json1
2
3
2
3
使用 Claude Code 时,ANTHROPIC_AUTH_TOKEN 会发送 Bearer Token;ANTHROPIC_API_KEY 会使用 x-api-key。两者不要同时配置。
支持的端点
| 方法 | 端点 | 说明 |
|---|---|---|
GET | /v1/models | 获取当前密钥可见的模型列表 |
POST | /v1/chat/completions | OpenAI Chat Completions 兼容接口 |
POST | /v1/responses | OpenAI Responses 兼容接口 |
POST | /v1/messages | Anthropic Messages 兼容接口 |
POST | /v1/embeddings | OpenAI Embeddings 兼容接口 |
模型能力
Responses、Embeddings、工具调用、图片输入和流式 usage 等能力取决于模型及上游渠道。路由可访问不等于所有模型都支持该端点。
请求示例
curl
Chat Completions:
bash
curl https://chickener.cc.cd/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "YOUR_MODEL_ID",
"messages": [
{"role": "user", "content": "你好,请用一句话介绍自己。"}
],
"stream": false
}'1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
Anthropic Messages:
bash
curl https://chickener.cc.cd/v1/messages \
-H "x-api-key: YOUR_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "YOUR_MODEL_ID",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "你好,请用一句话介绍自己。"}
]
}'1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
Python(OpenAI SDK)
安装:
bash
pip install openai1
python
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["OPENAI_API_KEY"],
base_url="https://chickener.cc.cd/v1",
)
chat = client.chat.completions.create(
model="YOUR_MODEL_ID",
messages=[{"role": "user", "content": "你好"}],
)
print(chat.choices[0].message.content)
response = client.responses.create(
model="YOUR_MODEL_ID",
input="用一句话介绍你自己。",
)
print(response.output_text)
# 这里必须替换为实际支持 Embeddings 的模型。
embedding = client.embeddings.create(
model="YOUR_SMALL_MODEL_ID",
input="需要向量化的文本",
)
print(embedding.data[0].embedding)1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Node.js(OpenAI SDK)
安装:
bash
npm install openai1
ts
import OpenAI from 'openai'
const client = new OpenAI({
apiKey: process.env.OPENAI_API_KEY,
baseURL: 'https://chickener.cc.cd/v1',
})
const chat = await client.chat.completions.create({
model: 'YOUR_MODEL_ID',
messages: [{ role: 'user', content: '你好' }],
})
console.log(chat.choices[0].message.content)
const response = await client.responses.create({
model: 'YOUR_MODEL_ID',
input: '用一句话介绍你自己。',
})
console.log(response.output_text)
// 这里必须替换为实际支持 Embeddings 的模型。
const embedding = await client.embeddings.create({
model: 'YOUR_SMALL_MODEL_ID',
input: '需要向量化的文本',
})
console.log(embedding.data[0].embedding)1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Anthropic SDK
Python:
bash
pip install anthropic1
python
import os
from anthropic import Anthropic
client = Anthropic(
api_key=os.environ["ANTHROPIC_API_KEY"],
base_url="https://chickener.cc.cd",
)
message = client.messages.create(
model="YOUR_MODEL_ID",
max_tokens=1024,
messages=[{"role": "user", "content": "你好,请简单介绍自己。"}],
)
print("".join(
block.text for block in message.content if block.type == "text"
))1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Node.js / TypeScript:
bash
npm install @anthropic-ai/sdk1
ts
import Anthropic from '@anthropic-ai/sdk'
const client = new Anthropic({
apiKey: process.env.ANTHROPIC_API_KEY,
baseURL: 'https://chickener.cc.cd',
})
const message = await client.messages.create({
model: 'YOUR_MODEL_ID',
max_tokens: 1024,
messages: [{ role: 'user', content: '你好,请简单介绍自己。' }],
})
console.log(
message.content
.filter((block) => block.type === 'text')
.map((block) => block.text)
.join(''),
)1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
长流式请求
将请求中的 stream 设置为 true,并确保客户端按事件流逐段消费数据。curl 调试时可以使用 -N 关闭输出缓冲:
bash
curl -N https://chickener.cc.cd/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "YOUR_MODEL_ID",
"messages": [{"role": "user", "content": "请分段回答。"}],
"stream": true
}'1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
客户端、反向代理和部署平台都可能有自己的读取超时或缓冲策略。不要照搬固定超时秒数;应根据实际任务时长设置足够的读取超时,并持续消费流事件。
错误语义
下面是常见排查方向,实际响应体和状态码以接口返回为准。
| HTTP 状态码 | 常见原因 |
|---|---|
400 | JSON、字段类型、模型 ID 或参数不符合接口要求 |
401 | 缺少密钥、密钥无效、Header 格式错误或密钥被禁用 |
402 | 账户或密钥额度不足,或当前计费条件不满足 |
404 | Base URL、端点路径错误,或客户端重复追加 /v1 |
429 | 请求频率或并发超过当前限制 |
5xx | 网关或上游暂时异常 |
排查时记录请求时间、端点、模型 ID、HTTP 状态码、错误文本和 request id。不要在工单或聊天中发送完整 API Key。
