API 参考

OpenAI 兼容 API

所有接口与 OpenAI 官方 /v1/* 协议 完全兼容,只需把 base_url 指向我们即可。

通用约定

Base URLhttps://api.juhepintai.com/v1
鉴权头Authorization: Bearer sk-jp-xxxxxxxxxxxxxxxxxxxxxxxx
请求体application/json; charset=utf-8
时区UTC(响应里所有时间戳为秒级 Unix 时间)
字符集UTF-8
HTTP/2支持,自动协商
所有接口都需要在 Authorization 头携带 Bearer sk-jp-xxx 鉴权。其余 HTTP 头与 OpenAI 一致: 无需特殊配置。

错误处理

所有错误响应使用与 OpenAI 一致的结构:HTTP 状态码 + JSON body{ error: { message, type, code } }

json
{
  "error": {
    "message": "API Key 不存在或已被删除",
    "type": "invalid_api_key",
    "code": null
  }
}

常见状态码

状态码type含义
400invalid_request_error请求体无效(缺字段、JSON 格式错等)
401invalid_api_keyAPI Key 缺失、格式错或已删除
402insufficient_quota账户余额不足,请充值
403invalid_api_keyKey 已禁用 / IP 不在白名单 / 模型不在白名单
404model_not_found模型不存在或已下架
429rate_limit_exceeded超出速率限制(短时间高并发)
500api_error平台内部错误,建议稍后重试
502upstream_error上游模型供应商返回错误,已自动 failover
503upstream_error该模型当前没有可用上游渠道

Chat Completions

POST
/v1/chat/completions

多轮对话生成。传入 messages 历史,模型返回 assistant 消息。 支持 GPT、Claude、Gemini、DeepSeek、通义、Kimi 等所有 chat 类模型。

请求参数

字段类型是否必填说明
modelstring
必填
模型 name,如 gpt-4o-mini、claude-3-5-sonnet
messagesarray
必填
对话历史。每条 {role: system|user|assistant|tool, content: string}
streamboolean可选默认 false。true 时返回 text/event-stream 流
temperaturenumber可选采样温度 0~2,默认 1。值越大输出越随机
top_pnumber可选核采样 0~1。与 temperature 二选一
max_tokensnumber可选生成的最大 token 数
stopstring|array可选遇到该字符串时停止生成
presence_penaltynumber可选-2.0~2.0,鼓励引入新话题
frequency_penaltynumber可选-2.0~2.0,避免重复用词
toolsarray可选Function Calling 工具定义(OpenAI 标准格式)
tool_choicestring|object可选"auto"/"none" 或指定特定工具
userstring可选终端用户标识,平台会记录在日志中

请求示例

bash
curl https://api.juhepintai.com/v1/chat/completions \
  -H "Authorization: Bearer sk-jp-xxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o-mini",
    "messages": [
      {"role": "system", "content": "你是一个简洁的助手。"},
      {"role": "user", "content": "用一句话介绍北京"}
    ],
    "temperature": 0.7,
    "max_tokens": 200,
    "stream": false
  }'

响应示例(非流式)

json
{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1700000000,
  "model": "gpt-4o-mini",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "北京是中国的首都,拥有 3000 多年历史的政治文化中心。"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 25,
    "completion_tokens": 22,
    "total_tokens": 47
  }
}

响应示例(流式 SSE)

响应 Content-Type: text/event-stream。每条事件以 data: 开头,最后一条为 [DONE]

text
data: {"id":"chatcmpl-abc","object":"chat.completion.chunk","created":1700000000,"model":"gpt-4o-mini","choices":[{"index":0,"delta":{"role":"assistant"},"finish_reason":null}]}

data: {"id":"chatcmpl-abc","choices":[{"index":0,"delta":{"content":"北京"},"finish_reason":null}]}

data: {"id":"chatcmpl-abc","choices":[{"index":0,"delta":{"content":"是"},"finish_reason":null}]}

...

data: {"id":"chatcmpl-abc","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}

data: [DONE]

计费说明

  • 按 token 计费:total = (prompt_tokens / 1M) × 输入价 + (completion_tokens / 1M) × 输出价
  • 调用失败(HTTP 4xx/5xx 或上游错误)不扣费,仍记录日志
  • 流式调用按完整流读完后的 usage 字段计费(OpenAI 流末尾会回传 usage)
  • 每个模型的精确价格见 定价页

Images Generations

POST
/v1/images/generations

文生图。完全兼容 OpenAI DALL·E 协议。底层会自动适配同步与异步任务模式 (部分上游需要任务轮询,平台已透明处理,调用方代码无差异)。

请求参数

字段类型是否必填说明
modelstring
必填
图像模型 name,如 gpt-image-1、dall-e-3
promptstring
必填
描述图片内容的自然语言。建议 < 1000 字符
nnumber可选生成张数,默认 1,最大 4
sizestring可选256x256 / 512x512 / 1024x1024 / 1024x1792 / 1792x1024
qualitystring可选standard 或 hd(仅部分模型支持 hd)
stylestring可选vivid 或 natural(仅 dall-e-3 支持)
response_formatstring可选url 或 b64_json,默认 url

请求示例

bash
curl https://api.juhepintai.com/v1/images/generations \
  -H "Authorization: Bearer sk-jp-xxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-1",
    "prompt": "一只穿着宇航服的橘猫,站在月球表面,背景是地球,写实风格",
    "n": 1,
    "size": "1024x1024"
  }'

响应示例

json
{
  "created": 1700000000,
  "data": [
    {
      "url": "https://cdn.juhepintai.com/img/abc.png",
      "b64_json": null
    }
  ],
  "model": "gpt-image-1"
}
异步图像任务(如部分代理上游)平台会自动轮询直到完成,单次请求最长可能耗时 60-90 秒。 请把 HTTP 客户端的超时时间设为 120 秒以上,以避免客户端先于服务端超时。

计费说明

  • 按张计费:total = n × 模型单价
  • 只对 实际生成的图 扣费。如果上游返回了 0 张图(任务失败),不扣费
  • 响应里 data.length 即扣费数量

Embeddings

POST
/v1/embeddings

文本向量化。返回归一化的浮点向量(一般 1024-3072 维),用于语义检索 / RAG / 聚类等场景。

请求参数

字段类型是否必填说明
modelstring
必填
嵌入模型 name,如 text-embedding-3-small
inputstring|array
必填
单条文本或文本数组(数组每条独立向量化)
encoding_formatstring可选float(默认)或 base64
dimensionsnumber可选降维到指定维度(仅部分模型支持)

请求示例

bash
curl https://api.juhepintai.com/v1/embeddings \
  -H "Authorization: Bearer sk-jp-xxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "text-embedding-3-small",
    "input": "小鸡聚合AI 是一个 OpenAI 协议兼容的模型聚合平台"
  }'

响应示例

json
{
  "object": "list",
  "data": [
    {
      "object": "embedding",
      "embedding": [-0.012, 0.034, ..., 0.078],
      "index": 0
    }
  ],
  "model": "text-embedding-3-small",
  "usage": {
    "prompt_tokens": 18,
    "total_tokens": 18
  }
}

列出可用模型

GET
/v1/models

返回当前账号可调用的所有模型。如果该 API Key 配置了模型白名单,只会返回白名单内的模型。 响应格式与 OpenAI 完全一致。

响应示例

json
{
  "object": "list",
  "data": [
    {
      "id": "gpt-4o-mini",
      "object": "model",
      "created": 1700000000,
      "owned_by": "openai"
    },
    {
      "id": "claude-3-5-sonnet",
      "object": "model",
      "created": 1700000000,
      "owned_by": "anthropic"
    },
    {
      "id": "gemini-2.5-pro",
      "object": "model",
      "created": 1700000000,
      "owned_by": "google"
    }
  ]
}

用 OpenAI 协议调用 Claude / Gemini / 国产模型

平台已自动完成跨厂商协议转换 —— 你只需把 model 改成对应模型名, 其余请求结构完全不变。

厂商model 字段示例
OpenAIgpt-5, gpt-4o, gpt-4o-mini, o3
Anthropicclaude-opus-4-1, claude-sonnet-4, claude-3-5-sonnet
Googlegemini-2.5-pro, gemini-2.5-flash, gemini-2.0-flash
DeepSeekdeepseek-r1, deepseek-v3, deepseek-chat
阿里通义qwen3-max, qwen3-coder
Moonshot Kimikimi-k2
智谱 GLMglm-4.6
豆包doubao-1.5-pro
xAIgrok-4
图像gpt-image-1, dall-e-3
完整的最新模型清单可通过 GET /v1/models 接口拉取, 或在 模型市场 页面查看含价格的完整列表。