AIGoCode Docs

OpenAI Compatible

使用 Chat Completions、Responses 和图片接口调用 AIGoCode

使用支持第三方调用的 OpenAI / Codex 分组 API Key,连接 OpenAI SDK 或发送 HTTP 请求。

请求地址与认证

OpenAI SDK 的 baseURL 填写 https://api.aigocode.app/v1

接口完整请求地址
Chat CompletionsPOST https://api.aigocode.app/v1/chat/completions
ResponsesPOST 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

macOS / Linux
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!"
    }
  ]
}'
chat.mjs
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、时间和用量使用占位符。

response.json
{
  "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 的客户端可使用此接口。

macOS / Linux
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!"
}'
responses.mjs
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、时间和用量使用占位符。

response.json
{
  "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,并打印其余响应信息。

macOS / Linux
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"
}'
image.mjs
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、时间和用量使用占位符。

response.json
{
  "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;当前服务可能调整输出尺寸,请以响应和图片实际尺寸为准。

更多模型见 模型名称列表。请求失败时查看 错误码

On this page