Введение
ER:LC Россия AI API поддерживает описанные в этом разделе методы Chat Completions, получения моделей и синтеза речи. Для чата используйтеchat.completions.create в OpenAI SDK с base_url / baseURL равным https://api.erlcrussia.com/v1. Дополнительные параметры ER:LC Россия описаны на страницах методов; поддержка остальных API OpenAI не подразумевается.
OpenAI SDK
Запросы чата используют формат Chat Completions; потоковые ответы передаются как
chat.completion.chunk. Поддерживаемые поля перечислены в описании метода.Рассуждения
Поддержка пошагового анализа и глубоких рассуждений для моделей с трансляцией мыслей в
reasoning_content.Контекст диалога
session_id — расширение ER:LC Россия для продолжения диалога.Изображения и файлы
Прикрепление игровых скриншотов, логов и документов в стандартном формате
image_url и file.Аутентификация
Для выполнения запросов передавайте ваш токен доступа в заголовкеAuthorization:
erlcrussia-api-ai-key и erlcrussia-api-key. Передавайте ключ только в заголовке запроса.
Ошибки
Ошибки приходят в формате OpenAI, поэтому SDK показывает настоящее сообщение. Вcode — строковый код OpenAI (invalid_api_key, model_not_found, insufficient_quota, rate_limit_exceeded) или null. Числовой код ER:LC Россия из таблицы кодов ошибок приходит в erlc_code.
Совместимость с OpenAI
/v1/chat/completions,/v1/models,/v1/audio/speechи/v1/audio/transcriptionsработают через OpenAI SDK./v1/realtimeработает по протоколу OpenAI Realtime: текст и голос на входе, голос на выходе, ход отмечается вручную. См. голосовой режим.- Поля
temperature,top_p,max_tokens,max_completion_tokens,stop,nиresponse_formatпринимаются, но не применяются. usageесть в обычном ответе. В потоке он приходит, только если передатьstream_options: {"include_usage": true}: отдельным чанком с пустымchoicesпередdata: [DONE]. Дополнительно вusageестьcost_credits— списанные AI-кредиты.- Ошибки используют типы OpenAI:
invalid_request_error,requests,insufficient_quota,server_error. Когда заканчиваются AI-кредиты, приходит 429 с типомinsufficient_quota, как в OpenAI. - У каждого ответа свой
idвидаchatcmpl-…, как в OpenAI. Идентификатор диалога передаётся отдельно вsession_id. - Запрос без
messagesили с пустым массивом получает 400 сparam: "messages"и кодомmissing_required_parameterилиempty_array. - В каждом ответе есть заголовки
x-request-id,openai-processing-ms,x-ratelimit-limit-requests,x-ratelimit-remaining-requestsиx-ratelimit-reset-requests. - Если генерация оборвалась, в потоке приходит событие
{"error": {...}}в формате OpenAI, а за нимdata: [DONE].
Доступные модели
Для Хуберта фирменный суржик выключен по умолчанию: он отвечает на языке последнего сообщения пользователя. Передайте
"surzhyk": true в теле запроса к /v1/chat/completions, чтобы включить фирменный стиль.
Роли сообщений
В массивеmessages поддерживаются стандартные роли диалога:
system— дополнительная инструкция или контекст вашего проекта (например, роль Discord-бота или задачи сервиса), накладываемая поверх базовых правил модели;user— сообщение от пользователя;assistant— предшествующий ответ модели для сохранения контекста беседы.
Параметры размышления
Управление цепочкой рассуждений зависит от выбранной модели:- Для Эмми (
emmy-1): режим без размышлений не поддерживается — модель всегда анализирует задачу перед ответом. Глубина анализа настраивается параметромeffort(string) или заголовкомX-Reasoning-Effort:low— краткая проверка фактов и правил;medium(по умолчанию) — сбалансированный детальный анализ;high— исчерпывающий пошаговый разбор;extra/max— предельный уровень аналитики с перепроверкой гипотез.
- Для Нии (
niya-1): по умолчанию размышления выключены для максимальной скорости. Включаются параметромthinking: true(илиvariant: "on"/ заголовкомX-Reasoning: on). - Для Хуберта (
hubert-1): цепочка размышлений не используется.
Примеры интеграции
- Python
- TypeScript
- JavaScript
- cURL
- OpenCode
- Kilo Code
Потоковый режим
При передаче"stream": true сервер возвращает поток событий text/event-stream. Каждое событие содержит стандартную структуру chat.completion.chunk: