OpenAI API 接入文档与 Claude API 中转教程
面向开发者的统一 API 接入说明,覆盖 OpenAI 兼容调用、Claude Code、Codex、图片生成、模型参数和错误排查。
Agent 接入要点
KaiyunCode 提供 OpenAI 兼容 API、Anthropic Messages 兼容 API、图片生成、视频生成和客户端工具接入能力。AI Agent 只需要读取本页即可获得基础地址、鉴权方式、常用端点、示例请求和排错方向。
OpenAI 兼容 SDK、Codex CLI 和大多数代理工具使用 https://kaiyuncode.com/v1 作为 Base URL。Anthropic SDK 和 Claude Code 使用站点根地址 https://kaiyuncode.com 作为 Base URL。
- OpenAI 兼容 Base URL:https://kaiyuncode.com/v1
- Anthropic / Claude Code Base URL:https://kaiyuncode.com
- 鉴权方式:Authorization: Bearer APIKEY
- API Key:登录 KaiyunCode 后在密钥管理页创建,并替换示例里的 APIKEY 或“在这里替换成你的_API_KEY”。
- 模型名称:以 KaiyunCode 模型价格页和后台实际开放模型名为准。
常用端点
文本、Claude、图片、视频接口可以从下列端点开始接入。同步接口会直接返回结果,异步接口会返回 task_id 或 id,然后通过查询端点轮询。
- POST /v1/chat/completions:OpenAI Chat Completions,适合旧项目、多轮对话和 Gemini 图片生成兼容调用。
- POST /v1/responses:OpenAI Responses,适合新式 OpenAI SDK、Codex CLI 和工具调用链路。
- POST /v1/messages:Anthropic Messages,适合 Claude 模型与 Claude Code 兼容链路。
- POST /v1/images/async/generations:异步文生图任务提交。
- POST /v1/images/async/edits:异步图生图任务提交,使用 multipart/form-data 上传图片。
- GET /v1/images/async/{taskId}:查询异步图片任务。
- POST /v1/videos:提交视频生成或视频续写任务。
- GET /v1/videos/{taskId}:查询视频任务状态和结果 URL。
Chat Completions 示例
旧版 OpenAI 兼容项目通常只需要替换 baseURL 和 API Key。messages 中放入用户输入,model 使用平台模型列表里的实际可用名称。
curl https://kaiyuncode.com/v1/chat/completions \
-H "Authorization: Bearer APIKEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.4-mini-plus",
"messages": [
{ "role": "user", "content": "你好,请帮我解析项目" }
]
}'
Responses 示例
Responses API 适合新项目和 Codex 等新式 OpenAI 客户端。OpenAI SDK 中 apiKey 填 KaiyunCode API Key,baseURL 填 https://kaiyuncode.com/v1。
import OpenAI from "openai"
const client = new OpenAI({
apiKey: "APIKEY",
baseURL: "https://kaiyuncode.com/v1"
})
const response = await client.responses.create({
model: "gpt-5.4-mini-plus",
input: "你好,给我一个简短的产品卖点"
})
console.log(response.output_text)
Anthropic Messages 示例
Claude 模型按 Anthropic Messages 结构传参。Anthropic SDK 的 base_url 通常填站点根地址,不额外追加 /v1。
from anthropic import Anthropic
client = Anthropic(
api_key="APIKEY",
base_url="https://kaiyuncode.com"
)
message = client.messages.create(
model="claude-opus-4-7",
max_tokens=1024,
messages=[
{"role": "user", "content": "你好,给我一个简短的产品卖点"}
],
)
print(message.content[0].text)
Gemini 图片生成示例
Gemini 图片生成或改图走 /v1/chat/completions。文本和参考图放入 messages[0].content,尺寸与比例放在 extra_body.google.image_config。
curl https://kaiyuncode.com/v1/chat/completions \
-H "Authorization: Bearer APIKEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-3.1-flash-image",
"temperature": 0.8,
"extra_body": {
"google": {
"image_config": {
"image_size": "1K",
"aspect_ratio": "1:1"
}
}
},
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "生成一张电商香薰蜡烛主图,暖色棚拍光,背景干净,产品居中。"
}
]
}
]
}'
GPT Image 2 异步图片示例
GPT Image 2 文生图和图生图都是异步任务。提交成功后读取 task_id,再用 /v1/images/async/{taskId} 查询结果。
curl https://kaiyuncode.com/v1/images/async/generations \
-H "Authorization: Bearer APIKEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"prompt": "生成一张电商运动水杯主图,白底,真实摄影质感,主体居中,柔和阴影。",
"size": "1024x1024",
"quality": "high",
"background": "opaque",
"output_format": "png",
"n": 1
}'
curl https://kaiyuncode.com/v1/images/async/TASK_ID \
-H "Authorization: Bearer APIKEY"
视频生成示例
视频任务使用 /v1/videos 提交,返回 id 或 task_id 后轮询 /v1/videos/{taskId}。完成后读取 video_url、media_url、result_url、metadata.url 或 results[0].url。
curl https://kaiyuncode.com/v1/videos \
-H "Authorization: Bearer APIKEY" \
-H "Content-Type: application/json" \
-d '{
"model": "sora-v3-fast",
"prompt": "一只橘猫在窗台上慵懒地舔毛,慢镜头,电影质感",
"duration": 5,
"aspect_ratio": "16:9"
}'
curl https://kaiyuncode.com/v1/videos/TASK_ID \
-H "Authorization: Bearer APIKEY"
常见排错
- 401 或 Unauthorized:检查 API Key 是否复制完整、是否放在 Authorization: Bearer 后面,Claude Code 还要确认 ANTHROPIC_AUTH_TOKEN 已写入。
- 模型不存在或不可用:把 model 改成 KaiyunCode 模型价格页和后台已开放的模型名称。
- Anthropic SDK 调用失败:确认 base_url 是 https://kaiyuncode.com,而不是 https://kaiyuncode.com/v1。
- OpenAI SDK 调用失败:确认 baseURL 是 https://kaiyuncode.com/v1,并升级到支持目标接口的 SDK 版本。
- 异步任务一直未完成:降低轮询频率到 3-5 秒,最终只在 completed/succeeded/success 状态读取结果 URL。
- 临时媒体 URL 过期:生成成功后尽快下载或转存到自己的对象存储。