Introducción
ER:LC Russia AI API admite los métodos de Chat Completions, consulta de modelos y síntesis de voz documentados en esta sección. Para el chat, utilizachat.completions.create en un SDK de OpenAI con base_url / baseURL igual a https://api.erlcrussia.com/v1. Las extensiones de ER:LC Russia se describen en cada método; no se presupone compatibilidad con las demás API de OpenAI.
OpenAI SDK
Las solicitudes de chat utilizan el formato Chat Completions; las respuestas en streaming utilizan
chat.completion.chunk. Consulta los campos admitidos en la referencia del método.Razonamiento
Admite análisis paso a paso y razonamiento profundo para modelos con traducción de pensamiento en
reasoning_content.Contexto de conversación
session_id es una extensión de ER:LC Russia para continuar una conversación.Imágenes y archivos
Adjuntar capturas de pantalla, registros y documentos del juego en el formato estándar
image_url y file.Autenticación
Para realizar solicitudes, pase su token de acceso en el encabezadoAuthorization:
erlcrussia-api-ai-key y erlcrussia-api-key. Envía la clave solo en las cabeceras.
Errores
Los errores usan el formato de OpenAI, así que los SDK muestran el mensaje real.code es un código de texto de OpenAI (invalid_api_key, model_not_found, insufficient_quota, rate_limit_exceeded) o null. El código numérico de ER:LC Rusia de la tabla de códigos de error llega en erlc_code.
Compatibilidad con OpenAI
/v1/chat/completions,/v1/models,/v1/audio/speechy/v1/audio/transcriptionsfuncionan con el SDK de OpenAI./v1/realtimesigue el protocolo OpenAI Realtime: texto y voz de entrada, voz de salida, con turnos manuales. Consulta el modo de voz.temperature,top_p,max_tokens,max_completion_tokens,stop,nyresponse_formatse aceptan pero no se aplican.usageforma parte de la respuesta normal. En un flujo solo llega constream_options: {"include_usage": true}, como un fragmento aparte conchoicesvacío antes dedata: [DONE].usagetambién incluyecost_credits, los créditos de IA cobrados.- Los errores usan los tipos de OpenAI
invalid_request_error,requests,insufficient_quotayserver_error. Cuando se agotan los créditos de IA llega un 429 con tipoinsufficient_quota, como en OpenAI. - Cada respuesta tiene su propio
idcon la formachatcmpl-…, como en OpenAI. El identificador de la conversación va aparte ensession_id. - Una solicitud sin
messageso con un arreglo vacío recibe 400 conparam: "messages"y el códigomissing_required_parameteroempty_array. - Cada respuesta incluye
x-request-id,openai-processing-ms,x-ratelimit-limit-requests,x-ratelimit-remaining-requestsyx-ratelimit-reset-requests. - Si la generación falla a mitad del flujo, llega un evento
{"error": {...}}en formato OpenAI seguido dedata: [DONE].
Modelos disponibles
Para Hubert, el surzhik propietario está desactivado de forma predeterminada: responde en el idioma del último mensaje del usuario. Pase
"surzhyk": true en el cuerpo de la solicitud a /v1/chat/completions para habilitar la marca.
Roles de mensajes
La matrizmessages admite roles de diálogo estándar:
system: instrucciones adicionales o contexto para su proyecto (por ejemplo, la función de un bot de Discord o tareas de servicio), superpuestas a las reglas básicas del modelo;user- mensaje del usuario;assistantes la respuesta anterior del modelo para guardar el contexto de la conversación.
Opciones de reflexión
El control de la cadena de razonamiento depende del modelo elegido:- Para Emmy (
emmy-1): modo sin pensar no compatible: el modelo siempre analiza el problema antes de responder. La profundidad del análisis se configura mediante el parámetroeffort(string) o el encabezadoX-Reasoning-Effort: low- una breve revisión de hechos y reglas;medium(predeterminado) - análisis detallado equilibrado;high- análisis completo paso a paso;extra/max: el nivel máximo de análisis con doble verificación de hipótesis.- Para Nya (
niya-1): Los reflejos están desactivados de forma predeterminada para una velocidad máxima. Habilitado por el parámetrothinking: true(o encabezadovariant: "on"/X-Reasoning: on). - Para Hubert (
hubert-1): no se utiliza cadena de pensamiento.
Ejemplos de integración
- Python
- TypeScript
- JavaScript
- cURL
- OpenCode
- Kilo Code
Modo de transmisión
Al transmitir"stream": true, el servidor devuelve el flujo de eventos text/event-stream. Cada evento contiene la estructura estándar chat.completion.chunk: