Skip to content

Gemini-compatible API ​

Gemini-compatible route принимает Google-style generateContent requests и внутри переводит их в rout.my routing.

text
POST https://api.rout.my/compatible/v1beta/models/{model}:generateContent
POST https://api.rout.my/compatible/v1beta/models/{model}:streamGenerateContent

Также доступен alias /gemini/... для клиентов, которые ожидают этот prefix.

Авторизация ​

Принимаются оба формата:

http
Authorization: Bearer sk_your_key_here

или:

text
?key=sk_your_key_here

Generate content ​

bash
curl "https://api.rout.my/compatible/v1beta/models/provider%2Fmodel-id:generateContent?key=$ROUTMY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {
        "role": "user",
        "parts": [
          { "text": "Write a short greeting." }
        ]
      }
    ]
  }'

Если клиент не умеет передавать slash в path model name, используйте короткий alias только если он настроен. Для OpenAI-compatible endpoints самым надежным остается точный model ID из /v1/models.

Image output ​

Для Gemini-style image generation добавьте IMAGE в responseModalities:

json
{
  "contents": [
    {
      "role": "user",
      "parts": [
        { "text": "Create a square icon of a blue glass cube." }
      ]
    }
  ],
  "generationConfig": {
    "responseModalities": ["IMAGE", "TEXT"],
    "imageConfig": {
      "aspectRatio": "1:1",
      "imageSize": "1K"
    }
  }
}

Передавайте промпт и описание стиля в contents[].parts[].text, а общие инструкции — в systemInstruction.parts[].text. Отдельные поля prompt и style на верхнем уровне не входят в формат Gemini. Соотношение сторон и разрешение задаются в generationConfig.imageConfig, как в примере выше.

Поддерживаются camelCase и snake_case: в том числе system_instruction, generation_config, response_modalities, image_config, aspect_ratio, image_size, inline_data и mime_type. Лучше использовать один вариант написания; если переданы оба, заполненные поля camelCase имеют приоритет.

Референсы можно передавать через inlineData: {"mimeType": "image/png", "data": "<base64>"} или fileData: {"mimeType": "image/png", "fileUri": "https://example.com/reference.png"}. Варианты file_data / file_uri тоже поддерживаются. Провайдер должен иметь доступ к изображению по ссылке. Для моделей, направленных через Images API, референсы переключают запрос на редактирование, а текст всех инструкций и сообщений соединяется в промпт.

Сгенерированные изображения возвращаются как Gemini-style inlineData parts, когда они доступны.

Streaming ​

text
POST /compatible/v1beta/models/{model}:streamGenerateContent

Streaming responses отправляются как Server-Sent Events в Gemini-compatible shape.

Models list ​

Gemini-compatible clients также могут вызвать:

text
GET https://api.rout.my/compatible/v1/models

или:

text
GET https://api.rout.my/compatible/models

API documentation for rout.my.