Référence de l'API — Manuel des endpoints de la passerelle
Documentation des endpoints · codes d'erreur · exemples de requêtes
L’API Lurus est entièrement compatible avec le format de l’API OpenAI : vous pouvez utiliser n’importe quel SDK ou outil prenant en charge OpenAI pour l’appeler directement.
Pourquoi utiliser l’API Lurus
Compatible OpenAI
Tous les chemins et la sémantique des endpoints sont alignés sur OpenAI ; remplacez simplement base_url sans modifier votre SDK
Codes d'erreur complets
Chaque erreur comporte un code + un message + une action recommandée, facilitant le traitement automatisé
Authentification multiple
Bearer Token / PAT / JWT, du script au SSO d'entreprise
Routage et nouvelles tentatives
Routage automatique vers le canal amont selon le nom du modèle, bascule automatique en cas d'échec
Intégration en trois étapes
Pointez l’URL de base vers
https://hub.lurus.cn/v1.Incluez
Authorization: Bearer sk-your-api-keydans les en-têtes de requête (obtenir une clé API).Lancez une requête avec n’importe quel SDK OpenAI, sans modifier votre code métier. Voir Prise en charge des SDK ci-dessous.
URL de base
https://hub.lurus.cn/v1Méthode d’authentification
Toutes les requêtes API doivent inclure la clé API dans l’en-tête :
Authorization: Bearer sk-your-api-keyL’authentification ne se limite pas à la clé API
Endpoints disponibles
Obtenir la liste des modèles
/v1/models获取模型列表/v1beta/modelsGemini 格式获取OpenAI格式(Chat)
/v1/chat/completions创建聊天对话OpenAI格式(Responses)
/v1/responses创建响应 (OpenAI Responses API)/v1/responses/compact压缩对话 (OpenAI Responses API)图片生成
/v1/images/generations生成图像(qwen-image)/v1/images/edits编辑图像(qwen-image-edit)视频生成
/v1/videos创建视频 /v1/videos/{task_id}获取视频任务状态 /v1/videos/{task_id}/content获取视频内容/kling/v1/videos/text2videoKling 文生视频/kling/v1/videos/text2video/{task_id}获取 Kling 文生视频任务状态/kling/v1/videos/image2videoKling 图生视频/kling/v1/videos/image2video/{task_id}获取 Kling 图生视频任务状态/jimeng/即梦视频生成/v1/video/generations创建视频生成任务/v1/video/generations/{task_id}获取视频生成任务状态Claude格式(Messages)
/v1/messagesClaude 聊天Gemini格式
/v1beta/models/{model}:generateContentGemini 图片(Nano Banana)/v1/engines/{model}/embeddingsGemini 嵌入(Embeddings)OpenAI格式(Embeddings)
/v1/embeddings创建文本嵌入文本补全(Completions)
/v1/completions创建文本补全OpenAI音频(Audio)
/v1/audio/transcriptions音频转录/v1/audio/translations音频翻译/v1/audio/speech文本转语音重排序(Rerank)
/v1/rerank文档重排序Moderations
/v1/moderations内容审核Realtime
/v1/realtime实时 WebSocket 连接Format des requêtes
Toutes les requêtes utilisent le format JSON :
POST /v1/chat/completions HTTP/1.1
Host: hub.lurus.cn
Content-Type: application/json
Authorization: Bearer sk-your-api-key
{
"model": "deepseek-chat",
"messages": [
{"role": "user", "content": "Hello!"}
]
}Format des réponses
Le type de chaque champ et son caractère obligatoire sont détaillés dans la Référence des structures de données / Schema (synchronisée automatiquement depuis la spécification OpenAPI, cohérente avec l’implémentation de la passerelle).
Réponse réussie
{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"created": 1677858242,
"model": "deepseek-chat",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Hello! How can I help you today?"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 10,
"completion_tokens": 12,
"total_tokens": 22
}
}Réponse d’erreur
{
"error": {
"code": "invalid_api_key",
"message": "Invalid API key provided",
"type": "authentication_error"
}
}Limites de débit
| Type de limite | Valeur par défaut | Description |
|---|---|---|
| RPM (requêtes/minute) | 60 | Nombre maximum de requêtes par minute |
| TPM (Token/minute) | 100,000 | Nombre maximum de Token par minute |
| Requêtes concurrentes | 10 | Nombre maximum de requêtes simultanées |
Le dépassement des limites renvoie une erreur 429 Too Many Requests ; pour la gestion, voir Gestion des erreurs.
Prise en charge des SDK
Python (SDK OpenAI officiel)
pip install openaifrom openai import OpenAI
client = OpenAI(
base_url="https://hub.lurus.cn/v1",
api_key="sk-your-api-key"
)Node.js
npm install openaiimport OpenAI from 'openai';
const client = new OpenAI({
baseURL: 'https://hub.lurus.cn/v1',
apiKey: 'sk-your-api-key'
});Go
import "github.com/sashabaranov/go-openai"
config := openai.DefaultConfig("sk-your-api-key")
config.BaseURL = "https://hub.lurus.cn/v1"
client := openai.NewClientWithConfig(config)cURL
curl https://hub.lurus.cn/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-your-api-key" \
-d '{"model": "deepseek-chat", "messages": [{"role": "user", "content": "Hi"}]}'Fonctionnalités spéciales
Capacités étendues de la passerelle
Réponse en streaming
Définissez stream: true pour activer les Server-Sent Events et recevoir le résultat token par token
Routage de modèles
Routage automatique vers le canal amont correspondant selon le nom du modèle, sans vous soucier de la configuration sous-jacente
Nouvelle tentative automatique
Bascule automatique vers un canal de secours en cas d'échec de la requête (si plusieurs sont configurés)
Réponse en streaming
Définissez stream: true pour activer la réponse en streaming via Server-Sent Events :
{
"model": "deepseek-chat",
"messages": [...],
"stream": true
}Pour le format complet des données de streaming et le traitement token par token, voir Chat Completions — Réponse en streaming.
Routage de modèles
Routage automatique vers le canal amont correspondant selon le nom du modèle, sans vous soucier de la configuration sous-jacente.
Nouvelle tentative automatique
Bascule automatique vers un canal de secours en cas d’échec de la requête (si plusieurs sont configurés).