Документация

API modelka

OpenAI-совместимый API к моделям для текста и аудио. Если у вас есть код под OpenAI — поменяйте base_url и ключ, остальное не трогайте.

Базовый URL и авторизация

base https://api.modelka.pro/v1

Все запросы — с заголовком Authorization: Bearer <ваш ключ mk-…>. Ключ выпускается в личном кабинете. Ключ храните в секрете; на сервере — только его хеш.

Быстрый старт (OpenAI SDK)

python
from openai import OpenAI
client = OpenAI(base_url="https://api.modelka.pro/v1", api_key="mk-…")
resp = client.chat.completions.create(
    model="modelka/large",
    messages=[{"role": "user", "content": "Привет"}],
)
print(resp.choices[0].message.content)

Модели

МодельЧто это
modelka/largeФлагманская текстовая модель
modelka/liteБыстрая и дешёвая текстовая модель
modelka/asrРаспознавание речи (аудио → текст)

Помимо алиасов можно указать любую доступную вашему ключу модель — коротким именем (например yandexgpt-lite) или полным URI. Список: GET /v1/models.

Генерация текста

POST /v1/chat/completions

Формат тела и ответа — как в OpenAI Chat Completions. Поддерживается стриминг: "stream": true (Server-Sent Events).

curl
curl https://api.modelka.pro/v1/chat/completions \
  -H "Authorization: Bearer mk-…" \
  -H "Content-Type: application/json" \
  -d '{"model":"modelka/large","messages":[{"role":"user","content":"Привет"}]}'

Распознавание речи

POST /v1/audio/transcriptions

Multipart-форма с полями file и model=modelka/asr. Принимает длинные записи (mp3, m4a, wav, ogg и др.). Ответ — в формате OpenAI verbose_json: поле text и массив segments с таймстемпами (start, end в секундах).

curl
curl https://api.modelka.pro/v1/audio/transcriptions \
  -H "Authorization: Bearer mk-…" \
  -F model=modelka/asr \
  -F file=@meeting.mp3

Сервисные эндпоинты

GET /v1/models

GET /v1/account/balance

Баланс: { "balance_rub": 0.0, "status": "ok" }.

Ошибки и лимиты

КодЗначение
401Ключ отсутствует, неверен или отозван
413Файл слишком большой
429Слишком много запросов — сбавьте темп
503Провайдер временно недоступен

Тело ошибки: { "error": { "message": "…" } }. Каждый ответ содержит заголовок X-Request-ID — указывайте его при обращении в поддержку.

Получить ключ