RouterAPI Docs

Multimodal test cases

Документация RouterAPI помогает быстро понять, как работать с публичным API, кабинетом, RouterAPI Gateway и мультимодальными сценариями.

Публичная документация

Назначение

Эта страница содержит практические примеры запросов для проверки, что RouterAPI Gateway корректно проксирует мультимодальные payloads.

Тест: текст

curl https://routerapi.ru/api/v1/chat/completions \
  -H "Authorization: Bearer $YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-4o",
    "messages": [
      { "role": "user", "content": "Сделай краткое резюме в 2-3 предложения." }
    ]
  }'

Ожидаем:

  • 200;
  • choices[0].message.content не пустой;
  • usage присутствует, если upstream его отдаёт.

Тест: image input (паттерн)

curl https://routerapi.ru/api/v1/chat/completions \
  -H "Authorization: Bearer $YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "google/gemini-2.5-flash-image",
    "messages": [
      {
        "role": "user",
        "content": [
          { "type": "text", "text": "Что изображено на картинке?" },
          { "type": "image_url", "image_url": { "url": "data:image/png;base64,BASE64_IMAGE_HERE" } }
        ]
      }
    ]
  }'

Ожидаем:

  • запрос принят gateway;
  • ответ возвращён в формате upstream без поломки payload.

Тест: image output (если модель умеет)

curl https://routerapi.ru/api/v1/chat/completions \
  -H "Authorization: Bearer $YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "google/gemini-2.5-flash-image",
    "messages": [
      { "role": "user", "content": "Сгенерируй закат над горами." }
    ],
    "modalities": ["image", "text"]
  }'

Ожидаем:

  • ответ может содержать images или другой model-specific формат изображений;
  • модель действительно поддерживает image output;
  • gateway не вырезает и не “нормализует” payload.

Тест: аудио (паттерн)

Используйте audio-capable модель и совместимый payload через chat/completions (если модель принимает аудио в таком формате).

Ожидаем:

  • gateway сохраняет форму payload;
  • формат аудио не портится;
  • ответ передаётся как вернул upstream.

Тест: видео (паттерн)

Используйте video-capable модель и payload через chat/completions.

Ожидаем:

  • запрос уходит в upstream без нежелательной трансформации;
  • ответ соответствует upstream;
  • при неподдерживаемой модели ошибка должна быть явной и повторяемой.

Тест: PDF / file (паттерн)

Используйте document-capable модель и payload через chat/completions.

Ожидаем:

  • данные файла/PDF проходят через proxy без повреждения;
  • ответ возвращается ровно в том виде, как его отдаёт upstream;
  • в документации сценарий помечен как model-dependent.

Негативные кейсы

  • missing API key -> 401;
  • no balance -> 402;
  • malformed JSON -> 400;
  • upstream rate limit -> 429 or upstream-equivalent error.

Нужен следующий раздел?

Откройте обзор, dashboard, мультимодальность или технические сценарии API.