API 文档

OpenAI 兼容接口 · base_url:https://api.aklipun.cn/v1

快速开始

1 注册账号,获得新人额度
2 进入 控制台 → API 密钥 创建 ak- 密钥
3 将 base_url 指向本平台,开始调用

任何 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
}
参数类型必填说明
filefile是音频文件,≤ 30MB
modelstring是如 aklipun-uyghur-asr
languagestring否语言提示,默认自动识别
按秒计费的模型以返回的 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="")

错误码

HTTPtype含义
401invalid_api_key密钥不存在、已停用或格式错误
402insufficient_quota余额不足以支付本次调用
403user_suspended账号被禁用
404model_not_found模型不存在或未开放
429rate_limit_exceeded超过每分钟调用频率限制
502upstream_error上游服务返回错误(不扣费)

错误响应统一为 OpenAI 格式:

{"error": {"message": "余额不足", "type": "insufficient_quota", "code": 402}}

限流与计费

  • 默认每密钥 60 次 / 分钟,超出返回 429(可在后台按站调整)
  • 计费模式见各模型:按次 / 按千 token / 按音频秒数
  • 上游失败(502/504)与超时不扣费
  • 全部调用可在 控制台 → 调用日志 查看耗时、状态与扣费明细