OpenAI Compatible
使用 Chat Completions、Responses 和图片接口调用 AIGoCode
使用支持第三方调用的 OpenAI / Codex 分组 API Key,连接 OpenAI SDK 或发送 HTTP 请求。
请求地址与认证
OpenAI SDK 的 baseURL 填写 https://api.aigocode.app/v1。
| 接口 | 完整请求地址 |
|---|---|
| Chat Completions | POST https://api.aigocode.app/v1/chat/completions |
| Responses | POST https://api.aigocode.app/v1/responses |
| 图片生成 | POST https://api.aigocode.app/v1/images/generations |
请求头使用 Authorization: Bearer YOUR_API_KEY。
先按 认证方式 设置环境变量 AIGOCODE_API_KEY。下方 curl 命令适用于 macOS / Linux;Windows Cmd、PowerShell 和 Python 示例见 第一次请求。
Node.js 的文本示例使用 OpenAI SDK,先在项目目录执行 npm install openai。将代码保存为对应的 .mjs 文件,再运行 node 文件名.mjs。
Chat Completions
使用 messages 发送对话,回复位于 choices[0].message.content。
curl "https://api.aigocode.app/v1/chat/completions" \
-H "Authorization: Bearer $AIGOCODE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-6-astra",
"messages": [
{
"role": "user",
"content": "请只回复:Hello from AIGoCode!"
}
]
}'import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.AIGOCODE_API_KEY,
baseURL: "https://api.aigocode.app/v1",
});
const response = await client.chat.completions.create({
"model": "gpt-6-astra",
"messages": [
{
"role": "user",
"content": "请只回复:Hello from AIGoCode!"
}
]
});
console.log(JSON.stringify(response, null, 2));成功响应
以下为上述请求的实际返回,ID、时间和用量使用占位符。
{
"id": "resp_xxx",
"object": "chat.completion",
"created": xxxxxx,
"model": "gpt-6-astra",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Hello from AIGoCode!"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": xx,
"completion_tokens": xx,
"total_tokens": xx
},
"service_tier": "default"
}Responses
使用 input 发送内容,回复位于 output 中的 output_text 项。支持 Responses 的客户端可使用此接口。
curl "https://api.aigocode.app/v1/responses" \
-H "Authorization: Bearer $AIGOCODE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-6-astra",
"input": "请只回复:Hello from AIGoCode!"
}'import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.AIGOCODE_API_KEY,
baseURL: "https://api.aigocode.app/v1",
});
const response = await client.responses.create({
"model": "gpt-6-astra",
"input": "请只回复:Hello from AIGoCode!"
});
console.log(JSON.stringify(response, null, 2));成功响应
以下为上述请求的实际返回,ID、时间和用量使用占位符。
{
"id": "resp_xxx",
"object": "response",
"created_at": xxxxxx,
"model": "gpt-6-astra",
"status": "completed",
"output": [
{
"type": "message",
"id": "item_xxx",
"role": "assistant",
"content": [
{
"type": "output_text",
"text": "Hello from AIGoCode!"
}
],
"status": "completed"
}
],
"usage": {
"input_tokens": xx,
"output_tokens": xx,
"total_tokens": xx
},
"service_tier": "default"
}图片生成
下面使用 gpt-image-2.5-flare 生成一张 PNG。当前 GPT 图片模型使用 output_format: "png",返回图片的 b64_json,无需设置 response_format。
curl 会输出 JSON;Node.js 示例使用内置 fetch,将图片保存为 aigocode-image.png,并打印其余响应信息。
curl "https://api.aigocode.app/v1/images/generations" \
-H "Authorization: Bearer $AIGOCODE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2.5-flare",
"prompt": "白色背景上的一个蓝色圆形,极简图标。",
"size": "1024x1024",
"n": 1,
"quality": "low",
"output_format": "png"
}'import { writeFile } from "node:fs/promises";
const response = await fetch("https://api.aigocode.app/v1/images/generations", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.AIGOCODE_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"model": "gpt-image-2.5-flare",
"prompt": "白色背景上的一个蓝色圆形,极简图标。",
"size": "1024x1024",
"n": 1,
"quality": "low",
"output_format": "png"
}),
});
if (!response.ok) {
throw new Error(await response.text());
}
const result = await response.json();
const imageBase64 = result.data?.[0]?.b64_json;
if (!imageBase64) {
throw new Error("No image returned");
}
await writeFile("aigocode-image.png", Buffer.from(imageBase64, "base64"));
console.log(JSON.stringify({
...result,
data: result.data.map(({ b64_json, ...item }) => ({
...item,
b64_json: "已保存至 aigocode-image.png",
})),
}, null, 2));成功响应
以下为上述请求的实际返回,ID、时间和用量使用占位符。
{
"created": xxxxxx,
"background": "opaque",
"data": [
{
"b64_json": "BASE64_IMAGE_DATA",
"generation_id": "xxx",
"model": "gpt-image-2.5-flare",
"size": "1254x1254"
}
],
"output_format": "png",
"quality": "low",
"size": "1254x1254",
"usage": {
"input_tokens": xx,
"input_tokens_details": {
"image_tokens": xx,
"text_tokens": xx
},
"output_tokens": xx,
"output_tokens_details": {
"image_tokens": xx,
"text_tokens": xx
},
"total_tokens": xx
}
}BASE64_IMAGE_DATA 代表实际返回的完整图片数据。本次请求指定 1024x1024,实际返回 1254x1254;当前服务可能调整输出尺寸,请以响应和图片实际尺寸为准。