Перейти к содержанию

Сервера HydraAI API

Для обеспечения максимальной производительности, стабильности и совместимости с различными инструментами, HydraAI API доступен через несколько конечных точек (endpoints). Этот раздел поможет вам выбрать правильный URL для ваших задач и корректно сформировать базовый URL (Base URL) для интеграции.

Актуальность информации и статус серверов

Информация на этой странице всегда поддерживается в актуальном состоянии. Мы незамедлительно обновляем ее при добавлении новых конечных точек или изменении существующих.

Вы всегда можете проверить текущую работоспособность API серверов, а также узнать о плановых работах или сбоях на нашей странице статуса: status.hydraai.ru


Адреса серверов (Base URL)

В зависимости от вашего местоположения и используемых инструментов, выберите одну из следующих конечных точек.

Основной сервер (Европа)

Рекомендуется для большинства пользователей для достижения наилучшей производительности и минимальных задержек.

Базовый URL:

https://api.hydraai.ru/v1

Резервный сервер (Россия)

Если у вас проблемы с основным сервером или он недоступен, используйте данный резервный сервер.

Базовый URL:

https://api-ru.hydraai.ru/v1

Специальный сервер для ZennoPoster (Европа)

Эта конечная точка обеспечивает прямое подключение к серверу, минуя балансировщик нагрузки. Используйте ее, если вы работаете с ZennoPoster или другим ПО, которое испытывает проблемы со стабильностью при обращении к основным серверам.

Базовый URL:

https://api-nl.hydraai.ru/v1

Технические детали для пользователей ZennoPoster

Некоторые версии или конфигурации программы ZennoPoster могут некорректно обрабатывать HTTP-запросы, направленные через стандартные балансировщики нагрузки. Это может приводить к ошибкам сети, таймаутам или нестабильной работе.

Для решения этой проблемы мы предоставляем конечную точку https://api-nl.hydraai.ru/v1, которая обеспечивает прямое подключение к одному из наших серверов, минуя балансировщик. Это гарантирует стабильную работу ваших скриптов и шаблонов. Если вы используете ZennoPoster и сталкиваетесь с ошибками, переключитесь на этот URL.


Как правильно сформировать Базовый URL (Base URL)

После выбора конечной точки вам необходимо указать ее в качестве базового URL в вашем коде или приложении. Однако разные библиотеки и HTTP-клиенты требуют указывать этот URL в разном формате.

Почему важен формат Base URL?

Различные HTTP-клиенты и библиотеки (например, requests в Python, axios в JavaScript или встроенные клиенты в разных фреймворках) по-разному обрабатывают соединение базового URL и пути к конкретному методу (например, /v1/chat/completions).

  • Некоторые клиенты ожидают URL без слеша (/) на конце, так как они добавляют его автоматически.
  • Другие требуют наличия слеша, чтобы корректно соединить части URL.
  • Указание неверного формата может привести к ошибкам 404 (Not Found), так как итоговый URL получится некорректным (например, https://api.hydraai.ru//v1/chat/completions с двойным слешем).

Всегда сверяйтесь с документацией используемой вами библиотеки.

Ниже приведены наиболее распространенные форматы на примере конечной точки https://api.hydraai.ru. Эти же правила применяются ко всем остальным URL.

Вариант 1: URL до версии API (Рекомендуемый)

Этот формат является наиболее универсальным и поддерживается большинством современных библиотек.

https://api.hydraai.ru/v1

При использовании этого формата вы будете обращаться к методам, указывая только их относительный путь, например: /chat/completions.

Вариант 2: URL до версии API с закрывающим слешем

Некоторые библиотеки требуют, чтобы базовый URL заканчивался на /.

https://api.hydraai.ru/v1/

В этом случае обращение к методу будет таким: chat/completions.

Вариант 3: Полный URL до метода (для простых скриптов)

Этот вариант подходит для случаев, когда вы не используете клиент с понятием "базового URL", а просто отправляете запросы на полный, "захардкоженный" адрес. Например, в простых скриптах или при использовании cURL.

https://api.hydraai.ru/v1/chat/completions


Практические примеры

Python (библиотека requests)

Библиотека requests хорошо работает с форматом URL, который не заканчивается на слеш.

import requests

# Выбираем конечную точку и формируем базовый URL (Вариант 1)
base_url = "https://api.hydraai.ru/v1" 

# Путь к конкретному методу API
path = "/chat/completions"

# Формируем полный URL
full_url = f"{base_url}{path}" 
# full_url будет "https://api.hydraai.ru/v1/chat/completions"

headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
}
data = {
    "model": "hydra-gpt",
    "messages": [{"role": "user", "content": "Привет! Как дела?"}]
}

response = requests.post(full_url, headers=headers, json=data)
print(response.json())

cURL (командная строка)

При использовании cURL вы обычно указываете полный URL до конкретного метода (Вариант 3).

# Пример для основного сервера
curl -X POST https://api.hydraai.ru/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
        "model": "hydra-gpt",
        "messages": [{"role": "user", "content": "Привет! Как дела?"}]
      }'

# Пример для сервера ZennoPoster
curl -X POST https://api-nl.hydraai.ru/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
        "model": "hydra-gpt",
        "messages": [{"role": "user", "content": "Привет! Как дела?"}]
      }'