API 文档
OpenAI 兼容接口 · base_url:https://api.aklipun.cn/v1
快速开始
任何 OpenAI 兼容客户端只需替换两个参数:
base_url = "https://api.aklipun.cn/v1" api_key = "ak-xxxxxxxxxxxxxxxx"
鉴权方式
所有接口使用标准 Bearer Token 鉴权,密钥在控制台生成,可随时停用或新建。
Authorization: Bearer ak-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
请妥善保管密钥,泄露后请立即在控制台停用并新建。
对话补全 POST /v1/chat/completions
OpenAI Chat Completions 完全兼容,支持 messages、temperature、max_tokens、stream 等标准参数。
请求示例
curl https://api.aklipun.cn/v1/chat/completions \
-H "Authorization: Bearer ak-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "aklipun-chat-demo",
"messages": [
{"role": "system", "content": "你是一个有帮助的助手"},
{"role": "user", "content": "你好"}
],
"temperature": 0.7,
"stream": false
}'
响应示例
{
"id": "chatcmpl-xxxx",
"object": "chat.completion",
"choices": [
{
"index": 0,
"message": {"role": "assistant", "content": "你好!有什么可以帮你?"},
"finish_reason": "stop"
}
],
"usage": {"prompt_tokens": 12, "completion_tokens": 9, "total_tokens": 21}
}
Python(官方 SDK)
from openai import OpenAI
client = OpenAI(
base_url="https://api.aklipun.cn/v1",
api_key="ak-你的密钥",
)
resp = client.chat.completions.create(
model="aklipun-chat-demo",
messages=[{"role": "user", "content": "你好"}],
)
print(resp.choices[0].message.content)
维吾尔语语音识别 POST /v1/audio/transcriptions
Whisper 兼容接口:multipart 上传音频文件,返回识别文本。支持 wav / mp3 / m4a / flac,单文件 ≤ 30MB。
请求示例
curl https://api.aklipun.cn/v1/audio/transcriptions \ -H "Authorization: Bearer ak-你的密钥" \ -F model="aklipun-uyghur-asr" \ -F file="@uyghur_voice.wav"
响应示例
{
"text": "ياخشىمۇسىز، مەن ئاكلپۇن كىرگۈزگۈچ ئىشلىتىۋاتىمەن",
"duration": 6.8
}
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
file | file | 是 | 音频文件,≤ 30MB |
model | string | 是 | 如 aklipun-uyghur-asr |
language | string | 否 | 语言提示,默认自动识别 |
按秒计费的模型以返回的
duration(秒)计费;计费时长与识别结果一同返回,透明可查。模型列表 GET /v1/models
curl https://api.aklipun.cn/v1/models -H "Authorization: Bearer ak-你的密钥"
{
"object": "list",
"data": [
{"id": "aklipun-uyghur-asr", "object": "model", "owned_by": "aklipun", "kind": "asr"},
{"id": "aklipun-chat-demo", "object": "model", "owned_by": "aklipun", "kind": "chat"}
]
}
流式输出(SSE)
请求时设置 "stream": true 即可获得与 OpenAI 一致的 Server-Sent Events 分块响应。平台自动注入 stream_options.include_usage,流结束后按实际 token 计费。
resp = client.chat.completions.create(
model="aklipun-chat-demo",
messages=[...],
stream=True, # 打开流式
)
for chunk in resp:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="")
错误码
| HTTP | type | 含义 |
|---|---|---|
| 401 | invalid_api_key | 密钥不存在、已停用或格式错误 |
| 402 | insufficient_quota | 余额不足以支付本次调用 |
| 403 | user_suspended | 账号被禁用 |
| 404 | model_not_found | 模型不存在或未开放 |
| 429 | rate_limit_exceeded | 超过每分钟调用频率限制 |
| 502 | upstream_error | 上游服务返回错误(不扣费) |
错误响应统一为 OpenAI 格式:
{"error": {"message": "余额不足", "type": "insufficient_quota", "code": 402}}
限流与计费
- 默认每密钥 60 次 / 分钟,超出返回 429(可在后台按站调整)
- 计费模式见各模型:按次 / 按千 token / 按音频秒数
- 上游失败(502/504)与超时不扣费
- 全部调用可在 控制台 → 调用日志 查看耗时、状态与扣费明细