Referencia de la API — Manual de endpoints del gateway
Documentación de endpoints · códigos de error · ejemplos de solicitudes
La API de Lurus es totalmente compatible con el formato de la API de OpenAI, por lo que puedes usar cualquier SDK o herramienta compatible con OpenAI para invocarla directamente.
Por qué usar la API de Lurus
Compatible con OpenAI
Todas las rutas y la semántica de los endpoints están alineadas con OpenAI; reemplaza el base_url sin modificar el SDK
Códigos de error completos
Cada error incluye code + message + acción sugerida, lo que facilita el manejo automatizado
Múltiples autenticaciones
Bearer Token / PAT / JWT, cobertura completa desde scripts hasta SSO empresarial
Enrutamiento de modelos y reintentos
Enruta automáticamente al canal upstream según el nombre del modelo y cambia al canal de respaldo en caso de fallo
Integración en tres pasos
Apunta la base URL a
https://hub.lurus.cn/v1.Incluye
Authorization: Bearer sk-your-api-keyen la cabecera de la solicitud (obtener API Key).Realiza la solicitud con cualquier SDK de OpenAI, sin necesidad de modificar el código de tu negocio. Consulta Compatibilidad con SDK más abajo.
Base URL
https://hub.lurus.cn/v1Métodos de autenticación
Todas las solicitudes a la API deben incluir la API Key en la cabecera (Header):
Authorization: Bearer sk-your-api-keyLa autenticación no se limita a la API Key
Endpoints disponibles
Obtener la lista de modelos
/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 连接Formato de la solicitud
Todas las solicitudes usan el formato 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!"}
]
}Formato de la respuesta
El tipo de cada campo y si es obligatorio se detallan en Referencia de estructuras de datos / Schema (sincronizada automáticamente desde la especificación OpenAPI, consistente con la implementación del gateway).
Respuesta exitosa
{
"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
}
}Respuesta de error
{
"error": {
"code": "invalid_api_key",
"message": "Invalid API key provided",
"type": "authentication_error"
}
}Límites de tasa
| Tipo de límite | Valor predeterminado | Descripción |
|---|---|---|
| RPM (solicitudes/minuto) | 60 | Número máximo de solicitudes por minuto |
| TPM (Token/minuto) | 100,000 | Número máximo de Token por minuto |
| Solicitudes concurrentes | 10 | Máximo de solicitudes en curso simultáneamente |
Al superar el límite se devuelve el error 429 Too Many Requests; consulta cómo gestionarlo en Manejo de errores.
Compatibilidad con SDK
Python (SDK oficial de OpenAI)
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"}]}'Funciones especiales
Capacidades mejoradas del gateway
Respuesta en streaming
Establece stream: true para habilitar Server-Sent Events y recibir Token a Token
Enrutamiento de modelos
Enruta automáticamente al canal upstream correspondiente según el nombre del modelo, sin preocuparte por la configuración subyacente
Reintento automático
Cambia automáticamente a un canal de respaldo cuando una solicitud falla (si se han configurado varios)
Respuesta en streaming
Establece stream: true para habilitar la respuesta en streaming mediante Server-Sent Events:
{
"model": "deepseek-chat",
"messages": [...],
"stream": true
}El formato completo de los datos en streaming y el procesamiento Token a Token se detallan en Chat Completions — Respuesta en streaming.
Enrutamiento de modelos
Enruta automáticamente al canal upstream correspondiente según el nombre del modelo, sin preocuparte por la configuración subyacente.
Reintento automático
Cambia automáticamente a un canal de respaldo cuando una solicitud falla (si se han configurado varios).