Gemini API Gateway

OpenAI-совместимый API поверх Google Gemini. Работает с любым клиентом, который умеет ходить в OpenAI: достаточно подменить base_url.

Подключение

base_url: https://api.architect-yug.ru/v1
api_key:  ваш ключ, выданный владельцем сервиса

Продолжение диалога

Сервис может держать диалог на своей стороне. Чтобы запросы попадали в одну беседу, передавайте заголовок X-Session-Id: любая-строка (либо поле user в теле). Без него сессия определяется по первому сообщению диалога. В ответе возвращаются X-Session-Id и X-Conversation-Id.

Эндпоинты

МетодПутьНазначение
POST/v1/chat/completionsчат, стриминг, картинки на вход, function calling
POST/v1/completionsустаревший текстовый формат
POST/v1/embeddingsвекторные представления
POST/v1/images/generationsгенерация изображений
GET/v1/modelsсписок моделей
GET/healthпроверка живости (без ключа)

Пример: текст

curl https://api.architect-yug.ru/v1/chat/completions \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"gemini-2.5-flash","messages":[{"role":"user","content":"Привет!"}]}'

Пример: картинка на вход

{
  "model": "gemini-2.5-flash",
  "messages": [{
    "role": "user",
    "content": [
      {"type": "text", "text": "Что на фото?"},
      {"type": "image_url", "image_url": {"url": "data:image/jpeg;base64,..."}}
    ]
  }]
}

Поддерживаются и data:-URI, и обычные http(s)-ссылки на изображение.

Python (openai SDK)

from openai import OpenAI

client = OpenAI(api_key="ВАШ_КЛЮЧ", base_url="https://api.architect-yug.ru/v1")
r = client.chat.completions.create(
    model="gemini-2.5-flash",
    messages=[{"role": "user", "content": "Привет"}],
)
print(r.choices[0].message.content)