Base URL
当前独立模型 API 合同的 Base URL 为 https://api.ovoai.loux.cc/v1;新品牌 API hostname 尚待确认,不能从 Web 域名自行推断。本地预览不会向该地址发请求,正式使用前仍以发布公告和服务状态为准。
认证
在控制台创建命名 API Key。完整明文只在创建后展示一次;请把它保存在本地密钥管理器中,并通过 Authorization: Bearer 发送。不要把 Key 写入源码、截图、日志或聊天记录。
查询模型
curl https://api.ovoai.loux.cc/v1/models \
-H "Authorization: Bearer $OVOAI_API_KEY"第一次请求
curl https://api.ovoai.loux.cc/v1/chat/completions \
-H "Authorization: Bearer $OVOAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"<MODEL_ID>","messages":[{"role":"user","content":"Hello"}],"stream":false}'请求体使用 OpenAI Chat Completions 结构。可用模型和价格以模型页当前连接的权威数据源为准,文档不会维护或写死第二份清单。
JSON 响应
{
"id": "chatcmpl_example",
"object": "chat.completion",
"choices": [{ "message": { "role": "assistant", "content": "<TEXT>" } }]
}SSE 流式响应
将 stream 设为 true,并逐行读取 text/event-stream:
curl https://api.ovoai.loux.cc/v1/chat/completions \
-H "Authorization: Bearer $OVOAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"<MODEL_ID>","messages":[{"role":"user","content":"Hello"}],"stream":true}'data: {"choices":[{"delta":{"content":"Hello"}}]}
data: [DONE]错误处理
错误响应保持 JSON,并通过 HTTP 状态码区分认证、请求和服务问题:
{
"error": {
"code": "invalid_request",
"message": "Request could not be accepted"
}
}不要重试 401 或 403;对 429 和暂时性的 5xx 使用有上限的指数退避,并避免记录 Authorization 头。