| OpenAI 格式 | https://code.linlangai.me/v1 带 /v1 |
| Anthropic 格式 | https://code.linlangai.me 不带 /v1 |
| 认证方式 | 请求头 Authorization: Bearer <你的密钥> 或 x-api-key: <你的密钥>(Anthropic 格式) |
| 模型 | 用途 | 调用端点 |
|---|---|---|
| gpt-5.5 | 文字对话 | /v1/chat/completions |
| claude-sonnet-4-6 | 文字对话 | /v1/messages(Anthropic 格式) /v1/chat/completions(OpenAI 格式) |
| gpt-image-2 | 图片生成 | /v1/images/generations |
GET https://code.linlangai.me/v1/models(带上你的密钥),返回你的账号可用的所有模型列表。
| 端点 | 方法 | 用途 | 协议 |
|---|---|---|---|
| /v1/chat/completions | POST | 文字对话 | OpenAI |
| /v1/messages | POST | 文字对话 | Anthropic |
| /v1/images/generations | POST | 图片生成 | OpenAI |
| /v1/models | GET | 查看可用模型 | OpenAI |
curl https://code.linlangai.me/v1/chat/completions \
-H "Authorization: Bearer <你的密钥>" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.5",
"messages": [
{"role": "user", "content": "用一句话介绍Python"}
]
}'
{
"model": "gpt-5.5",
"choices": [{
"message": {
"role": "assistant",
"content": "Python是一种简洁易学的编程语言,广泛用于Web开发、AI和数据分析。"
}
}]
}
curl https://code.linlangai.me/v1/chat/completions \
-H "Authorization: Bearer <你的密钥>" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.5",
"messages": [
{"role": "user", "content": "我叫小明"},
{"role": "assistant", "content": "你好小明!"},
{"role": "user", "content": "我叫什么名字?"}
]
}'
AI 会回答"你叫小明",因为它记住了上下文。
curl https://code.linlangai.me/v1/chat/completions \
-H "Authorization: Bearer <你的密钥>" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.5",
"stream": true,
"messages": [
{"role": "user", "content": "写一首关于春天的四行诗"}
]
}'
data: {"choices":[{"delta":{"content":"春风拂面"}}]}
data: {"choices":[{"delta":{"content":"花满枝"}}]}
data: [DONE]
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| model | string | 必填 | 模型名称,如 gpt-5.5 |
| messages | array | 必填 | 对话消息数组,每条包含 role 和 content |
| stream | boolean | 可选 | true 开启流式输出 |
| max_tokens | integer | 可选 | 回复最大长度 |
| temperature | float | 可选 | 创造性 0~2,越高越随机,默认 1 |
curl https://code.linlangai.me/v1/messages \
-H "x-api-key: <你的密钥>" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4-6",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "用三句话解释什么是机器学习"}
]
}'
{
"type": "message",
"role": "assistant",
"model": "claude-sonnet-4-6",
"content": [{
"type": "text",
"text": "机器学习是人工智能的一个分支,让计算机从数据中自动学习规律..."
}],
"stop_reason": "end_turn",
"usage": {"input_tokens": 410, "output_tokens": 120}
}
curl https://code.linlangai.me/v1/messages \
-H "x-api-key: <你的密钥>" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4-6",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "我最喜欢的语言是Rust"},
{"role": "assistant", "content": "Rust 是一门很棒的系统编程语言!"},
{"role": "user", "content": "我刚才说我喜欢什么语言?"}
]
}'
curl https://code.linlangai.me/v1/messages \
-H "x-api-key: <你的密钥>" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4-6",
"max_tokens": 256,
"stream": true,
"messages": [
{"role": "user", "content": "写一首关于秋天的四行诗"}
]
}'
event: message_start
data: {"type":"message_start","message":{"model":"claude-sonnet-4-6",...}}
event: content_block_delta
data: {"type":"content_block_delta","delta":{"text":"金风送爽"}}
event: message_stop
data: {"type":"message_stop"}
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| model | string | 必填 | 模型名称,如 claude-sonnet-4-6 |
| messages | array | 必填 | 对话消息数组 |
| max_tokens | integer | 必填 | 回复最大长度(Anthropic 格式必填) |
| stream | boolean | 可选 | true 开启流式输出 |
| temperature | float | 可选 | 创造性 0~1,默认 1 |
| system | string | 可选 | 系统提示词(放在 messages 外面) |
curl https://code.linlangai.me/v1/images/generations \
-H "Authorization: Bearer <你的密钥>" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"prompt": "一只橘猫趴在窗台上晒太阳,水彩画风格",
"n": 1,
"size": "1024x1024"
}'
{
"data": [{
"b64_json": "iVBORw0KGgo..."
}]
}
import base64
data = response["data"][0]["b64_json"]
with open("output.png", "wb") as f:
f.write(base64.b64decode(data))
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| model | string | 必填 | 固定填 gpt-image-2 |
| prompt | string | 必填 | 图片描述,越详细效果越好 |
| n | integer | 可选 | 生成数量,目前支持 1 |
| size | string | 可选 | 尺寸:1024x1024、1024x1792、1792x1024 |
from openai import OpenAI
client = OpenAI(
api_key="你的密钥",
base_url="https://code.linlangai.me/v1"
)
# 基础对话
response = client.chat.completions.create(
model="gpt-5.5",
messages=[{"role": "user", "content": "你好"}]
)
print(response.choices[0].message.content)
# 流式输出
stream = client.chat.completions.create(
model="gpt-5.5",
messages=[{"role": "user", "content": "写一首诗"}],
stream=True
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="")
from anthropic import Anthropic
client = Anthropic(
api_key="你的密钥",
base_url="https://code.linlangai.me" # 注意:不带 /v1
)
# 基础对话
message = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
messages=[{"role": "user", "content": "你好"}]
)
print(message.content[0].text)
# 流式输出
with client.messages.stream(
model="claude-sonnet-4-6",
max_tokens=256,
messages=[{"role": "user", "content": "写一首诗"}]
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
from openai import OpenAI
import base64
client = OpenAI(
api_key="你的密钥",
base_url="https://code.linlangai.me/v1"
)
response = client.images.generate(
model="gpt-image-2",
prompt="赛博朋克风格的城市夜景",
n=1,
size="1024x1024"
)
image_data = base64.b64decode(response.data[0].b64_json)
with open("output.png", "wb") as f:
f.write(image_data)
print("图片已保存为 output.png")
import OpenAI from "openai";
const client = new OpenAI({
apiKey: "你的密钥",
baseURL: "https://code.linlangai.me/v1",
});
const response = await client.chat.completions.create({
model: "gpt-5.5",
messages: [{ role: "user", content: "你好" }],
});
console.log(response.choices[0].message.content);
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
apiKey: "你的密钥",
baseURL: "https://code.linlangai.me", // 注意:不带 /v1
});
const message = await client.messages.create({
model: "claude-sonnet-4-6",
max_tokens: 1024,
messages: [{ role: "user", content: "你好" }],
});
console.log(message.content[0].text);
注册 code.linlangai.me 后,在个人设置中生成 API 密钥。兑换码用户先在网站输入兑换码获取额度,再生成密钥。
检查密钥是否正确,注意前后不要有空格。确认余额是否用完。
你的密钥对应的用户组没有开放 Anthropic 端点权限。联系管理员开通,或使用 OpenAI 格式的 /v1/chat/completions 端点调用 Claude 模型。
通常是模型不可用或账号池临时耗尽。稍后重试,或换一个模型。
文字对话一般 5~30 秒,图片生成一般 10~60 秒。建议客户端超时设置不低于 60 秒。
| OpenAI 格式 | Anthropic 格式 | |
|---|---|---|
| API 地址 | .../v1 | ...(不带 /v1) |
| 认证请求头 | Authorization: Bearer | x-api-key |
| 端点 | /v1/chat/completions | /v1/messages |
| 适用工具 | ChatBox、NextChat、Cursor 等 | Claude Code、Claude Desktop 等 |