Direct API и cURL¶
Быстрый старт¶
- Получите Nexus API key в Telegram-боте и храните его в менеджере секретов или переменной окружения.
- Запросите
GET /v1/models: каталог зависит от конкретного ключа. - Выберите протокол по формату вашего приложения: OpenAI, Anthropic или Gemini.
- Передавайте
x-request-id, чтобы связать безопасную диагностику с обращением в поддержку.
export NEXUS_API_KEY='YOUR_NEXUS_API_KEY'
export NEXUS_MODEL='MODEL_FROM_V1_MODELS'
curl --fail-with-body https://api.nexus-hub.ru/v1/models \
-H "Authorization: Bearer $NEXUS_API_KEY" \
-H 'x-request-id: docs-models-001'
OpenAI Responses¶
curl --fail-with-body https://api.nexus-hub.ru/v1/responses \
-H "Authorization: Bearer $NEXUS_API_KEY" \
-H 'Content-Type: application/json' \
-H 'x-request-id: docs-responses-001' \
-d '{"model":"MODEL_FROM_V1_MODELS","input":"Reply exactly OK.","max_output_tokens":16}'
Streaming:
curl -N https://api.nexus-hub.ru/v1/responses \
-H "Authorization: Bearer $NEXUS_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"model":"MODEL_FROM_V1_MODELS","input":"Reply exactly OK.","max_output_tokens":16,"stream":true}'
Anthropic Messages¶
curl --fail-with-body https://api.nexus-hub.ru/v1/messages \
-H "x-api-key: $NEXUS_API_KEY" \
-H 'anthropic-version: 2023-06-01' \
-H 'Content-Type: application/json' \
-H 'x-request-id: docs-messages-001' \
-d '{"model":"MODEL_FROM_V1_MODELS","max_tokens":16,"messages":[{"role":"user","content":"Reply exactly OK."}]}'
Для SSE добавьте "stream":true. В Messages нужен положительный
max_tokens; для подсчёта без списания используйте
POST /v1/messages/count_tokens.
Gemini-compatible¶
curl --fail-with-body 'https://api.nexus-hub.ru/v1beta/models/MODEL_FROM_V1_MODELS:generateContent' \
-H "x-goog-api-key: $NEXUS_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"contents":[{"role":"user","parts":[{"text":"Reply exactly OK."}]}],"generationConfig":{"maxOutputTokens":16}}'
Для streaming используйте streamGenerateContent; список Gemini-имён доступен
через GET /v1beta/models. Если модель указана и в path, и в body, значения
должны совпадать.
Ошибки и безопасная диагностика¶
401/invalid_key: проверьте переменную и срок действия key.model_not_foundилиmodel_not_allowed: модель отсутствует в каталоге этого key.endpoint_not_allowed: выбранный key не разрешает этот маршрут.invalid_request_error: проверьте протокол, обязательный лимит вывода и размер body.streaming_not_supported: отключите stream для этого маршрута.
В поддержку передавайте метод, маршрут, код ошибки и x-request-id. Не
передавайте key, полный prompt, request body или логи с заголовками.
Полный контракт: справочник API, маршруты и авторизация.