API 接入文档

完全兼容 OpenAI 官方协议,切换 baseURL 即可完成迁移

接入配置

将官方 SDK 的 baseURL 替换为以下地址,其余代码无需改动:

API Base URLhttps://ld.cccfgg.icu/v1
对话接口POST https://ld.cccfgg.icu/v1/chat/completions
模型列表GET https://ld.cccfgg.icu/v1/models
向量接口POST https://ld.cccfgg.icu/v1/embeddings
请先 登录 后在控制台创建 API 密钥。

身份认证

所有接口均需在 HTTP 请求头携带 Bearer Token:

Authorization: Bearer sk-你的密钥
Content-Type: application/json

请勿将密钥硬编码在客户端代码中。建议为不同应用创建不同密钥,并配置模型白名单与额度上限。

对话补全

POST https://ld.cccfgg.icu/v1/chat/completions

curl https://ld.cccfgg.icu/v1/chat/completions \
  -H "Authorization: Bearer sk-你的密钥" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o-mini",
    "messages": [
      {"role": "system", "content": "你是一个乐于助人的助手"},
      {"role": "user", "content": "用三句话介绍 PHP"}
    ],
    "temperature": 0.7,
    "max_tokens": 1024
  }'
响应示例
{
  "id": "chatcmpl-xxxxxxx",
  "object": "chat.completion",
  "created": 1720000000,
  "model": "gpt-4o-mini",
  "choices": [{
    "index": 0,
    "message": { "role": "assistant", "content": "PHP 是一种..." },
    "finish_reason": "stop"
  }],
  "usage": {
    "prompt_tokens": 24,
    "completion_tokens": 88,
    "total_tokens": 112
  }
}

流式输出(SSE)

请求体中传入 "stream": true,响应将以 Server-Sent Events 格式逐块返回:

data: {"id":"chatcmpl-xx","choices":[{"delta":{"content":"你"},"index":0}]}

data: {"id":"chatcmpl-xx","choices":[{"delta":{"content":"好"},"index":0}]}

data: [DONE]
部署在 Nginx 后需关闭代理缓冲(fastcgi_buffering off),否则流式响应会被缓存直至请求结束。

模型列表

GET https://ld.cccfgg.icu/v1/models
Authorization: Bearer sk-你的密钥

返回当前账号可调用的全部模型:

{
  "object": "list",
  "data": [
    { "id": "gpt-4o-mini", "object": "model", "owned_by": "OpenAI" },
    { "id": "claude-sonnet-4-5", "object": "model", "owned_by": "Anthropic" }
  ]
}

文本向量

curl https://ld.cccfgg.icu/v1/embeddings \
  -H "Authorization: Bearer sk-你的密钥" \
  -H "Content-Type: application/json" \
  -d '{"model":"text-embedding-3-small","input":"Hello world"}'

Python SDK

from openai import OpenAI

client = OpenAI(
    api_key="sk-你的密钥",
    base_url="https://ld.cccfgg.icu/v1"
)

response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "你好"}],
    stream=True
)

for chunk in response:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="")

Node.js SDK

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: "sk-你的密钥",
  baseURL: "https://ld.cccfgg.icu/v1"
});

const stream = await client.chat.completions.create({
  model: "gpt-4o-mini",
  messages: [{ role: "user", content: "你好" }],
  stream: true
});

for await (const part of stream) {
  process.stdout.write(part.choices[0]?.delta?.content || "");
}

cURL 快速验证

# 查看可用模型
curl https://ld.cccfgg.icu/v1/models -H "Authorization: Bearer sk-你的密钥"

# 健康检查(无需鉴权)
curl https://ld.cccfgg.icu/health

常用参数

参数类型说明
modelstring必需。要调用的模型名称
messagesarray必需。对话消息数组,含 role 与 content
streamboolean是否流式返回,默认 false
temperaturenumber采样温度,0~2,越大越随机
max_tokensinteger生成的最大 token 数
top_pnumber核采样,与 temperature 二选一调节
stopstring/array停止生成的标记词
stream_optionsobject{"include_usage": true} 可在流末尾返回用量

错误码

状态码code含义与处理建议
401invalid_api_key密钥无效或未提供,检查 Authorization 头
402insufficient_quota账号额度不足,请充值后重试
403permission_denied该密钥无此模型权限,或 IP 不在允许列表
404unknown_endpoint接口地址不存在
429rate_limit请求过于频繁,请降低频率
502upstream_error上游渠道异常,系统已尝试自动切换
503model_not_available暂无可用渠道支持该模型

所有错误均遵循 OpenAI 格式:

{"error": {"message": "错误描述", "type": "invalid_request_error", "code": "xxx"}}