API 参考
OpenAI 兼容 API
所有接口与 OpenAI 官方 /v1/* 协议 完全兼容,只需把 base_url 指向我们即可。
通用约定
| Base URL | https://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 | 含义 |
|---|---|---|
| 400 | invalid_request_error | 请求体无效(缺字段、JSON 格式错等) |
| 401 | invalid_api_key | API Key 缺失、格式错或已删除 |
| 402 | insufficient_quota | 账户余额不足,请充值 |
| 403 | invalid_api_key | Key 已禁用 / IP 不在白名单 / 模型不在白名单 |
| 404 | model_not_found | 模型不存在或已下架 |
| 429 | rate_limit_exceeded | 超出速率限制(短时间高并发) |
| 500 | api_error | 平台内部错误,建议稍后重试 |
| 502 | upstream_error | 上游模型供应商返回错误,已自动 failover |
| 503 | upstream_error | 该模型当前没有可用上游渠道 |
Chat Completions
POST
/v1/chat/completions多轮对话生成。传入 messages 历史,模型返回 assistant 消息。 支持 GPT、Claude、Gemini、DeepSeek、通义、Kimi 等所有 chat 类模型。
请求参数
| 字段 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| model | string | 必填 | 模型 name,如 gpt-4o-mini、claude-3-5-sonnet |
| messages | array | 必填 | 对话历史。每条 {role: system|user|assistant|tool, content: string} |
| stream | boolean | 可选 | 默认 false。true 时返回 text/event-stream 流 |
| temperature | number | 可选 | 采样温度 0~2,默认 1。值越大输出越随机 |
| top_p | number | 可选 | 核采样 0~1。与 temperature 二选一 |
| max_tokens | number | 可选 | 生成的最大 token 数 |
| stop | string|array | 可选 | 遇到该字符串时停止生成 |
| presence_penalty | number | 可选 | -2.0~2.0,鼓励引入新话题 |
| frequency_penalty | number | 可选 | -2.0~2.0,避免重复用词 |
| tools | array | 可选 | Function Calling 工具定义(OpenAI 标准格式) |
| tool_choice | string|object | 可选 | "auto"/"none" 或指定特定工具 |
| user | string | 可选 | 终端用户标识,平台会记录在日志中 |
请求示例
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 协议。底层会自动适配同步与异步任务模式 (部分上游需要任务轮询,平台已透明处理,调用方代码无差异)。
请求参数
| 字段 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| model | string | 必填 | 图像模型 name,如 gpt-image-1、dall-e-3 |
| prompt | string | 必填 | 描述图片内容的自然语言。建议 < 1000 字符 |
| n | number | 可选 | 生成张数,默认 1,最大 4 |
| size | string | 可选 | 256x256 / 512x512 / 1024x1024 / 1024x1792 / 1792x1024 |
| quality | string | 可选 | standard 或 hd(仅部分模型支持 hd) |
| style | string | 可选 | vivid 或 natural(仅 dall-e-3 支持) |
| response_format | string | 可选 | 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 / 聚类等场景。
请求参数
| 字段 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| model | string | 必填 | 嵌入模型 name,如 text-embedding-3-small |
| input | string|array | 必填 | 单条文本或文本数组(数组每条独立向量化) |
| encoding_format | string | 可选 | float(默认)或 base64 |
| dimensions | number | 可选 | 降维到指定维度(仅部分模型支持) |
请求示例
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 字段示例 |
|---|---|
| OpenAI | gpt-5, gpt-4o, gpt-4o-mini, o3 |
| Anthropic | claude-opus-4-1, claude-sonnet-4, claude-3-5-sonnet |
| gemini-2.5-pro, gemini-2.5-flash, gemini-2.0-flash | |
| DeepSeek | deepseek-r1, deepseek-v3, deepseek-chat |
| 阿里通义 | qwen3-max, qwen3-coder |
| Moonshot Kimi | kimi-k2 |
| 智谱 GLM | glm-4.6 |
| 豆包 | doubao-1.5-pro |
| xAI | grok-4 |
| 图像 | gpt-image-1, dall-e-3 |
完整的最新模型清单可通过
GET /v1/models 接口拉取, 或在 模型市场 页面查看含价格的完整列表。