API 文档

阅读 Piccc AI API 文档,了解 API Key 鉴权、异步图片生成任务、任务进度查询、结果获取、积分扣费和自动化接入流程。

管理 API Key

文本生成

使用 Chat Completions 生成文本

调用 OpenAI 风格的 Chat Completions 接口,并处理普通响应和 SSE 流。

接口地址:

POST /v1/chat/completions

这个接口适合使用 OpenAI Chat Completions 请求格式的应用。服务只处理鉴权、模型路由和积分扣费;请求交给上游后,响应状态码、响应头、JSON 和 SSE 数据都原样返回。

发送普通请求

先通过 GET /v1/models 获取模型名称,再替换下面的 YOUR_MODEL_NAME

curl https://api.picccai.cn/v1/chat/completions \
  -H "Authorization: Bearer $PICCC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "YOUR_MODEL_NAME",
    "messages": [
      {"role": "system", "content": "回答要简洁,使用中文。"},
      {"role": "user", "content": "给咖啡店写三条雨天促销标题。"}
    ],
    "stream": false
  }'

除了 model 会映射为后台配置的上游模型标识,其他请求字段会直接传给上游。temperaturemax_tokenstools 等字段是否可用,以所选模型的上游能力为准。

接收流式响应

设置 stream: true,服务会返回上游的 SSE 数据流:

curl -N https://api.picccai.cn/v1/chat/completions \
  -H "Authorization: Bearer $PICCC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "YOUR_MODEL_NAME",
    "messages": [
      {"role": "user", "content": "写一段 100 字以内的产品介绍。"}
    ],
    "stream": true
  }'

Node.js 可以直接读取响应流:

const response = await fetch('https://api.picccai.cn/v1/chat/completions', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.PICCC_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    model: process.env.PICCC_CHAT_MODEL,
    messages: [{ role: 'user', content: '写三条商品标题。' }],
    stream: true,
  }),
})

if (!response.ok || !response.body) {
  throw new Error(`Request failed: ${response.status} ${await response.text()}`)
}

const decoder = new TextDecoder()
for await (const chunk of response.body) {
  process.stdout.write(decoder.decode(chunk, { stream: true }))
}

响应格式

开放 API 不会把不同厂商的响应改成统一结构。大多数 Chat Completions 上游会返回 choicesusage,但客户端不应假设所有模型字段完全相同。

上游返回错误时,错误状态码和响应正文也会原样返回。排查时同时记录 HTTP 状态码、响应正文和 X-Request-Id

积分结算

文本请求至少扣除模型配置的最低积分,再按上游返回的输入 token、缓存输入 token 和输出 token 结算。上游请求失败时,预扣积分会退回。