Документация
OpenAI-совместимый API. Если у вас уже есть код на официальном SDK OpenAI — поменяйте base_url и ключ.
Быстрый старт
- 1. Зарегистрируйтесь
- 2. Пополните баланс и создайте API-ключ в кабинете.
- 3. Подставьте ключ в сниппет ниже и выполните запрос.
curl https://apimira.com/v1/chat/completions \
-H "Authorization: Bearer ya-ВАШ_КЛЮЧ" \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-5.4-mini",
"messages": [
{
"role": "user",
"content": "Привет!"
}
]
}'base_url — это адрес выше с суффиксом /v1. Модель задаётся параметром model.
Model ID берётся из каталога целиком, вместе с префиксом до «/»: например openai/gpt-5.4-mini или anthropic/claude-sonnet-4.6.
Подключение программ
Любая программа с OpenAI-совместимым API подключается тремя значениями:
| Base URL / Endpoint | https://apimira.com/v1 |
|---|---|
| API-ключ | ya-ВАШ_КЛЮЧ |
| Model ID | openai/gpt-5.4-mini |
Если поле называется просто «Base URL» — путь /chat/completions программа добавит сама, дописывать его не нужно. И следите, чтобы в адресе не получилось /v1/v1.
Быстрая проверка ключа без программы — выполните запрос из блока «Быстрый старт» выше.
Чего шлюз пока не умеет
Вызов функций (tools, tool_choice, functions), строгий JSON-режим (response_format) и картинки на вход пока не поддерживаются. На такой запрос шлюз отвечает ошибкой unsupported_parameter — параметр не игнорируется молча, чтобы вы не платили за ответ, полученный не по тем правилам. Обычная переписка и потоковая выдача работают на всех моделях каталога. Поддержка вызова функций в работе.
Редакторы кода: Cursor, Cline, Roo Code, Kilo Code
В настройках провайдера выберите «OpenAI Compatible» и заполните три поля выше. Обратите внимание: агентные режимы, где расширение само читает и правит файлы, опираются на вызов функций и пока не работают — доступна обычная переписка с моделью. Штатный агент Cursor не принимает произвольный адрес: установите внутрь Cursor расширение Cline или Roo Code и настройте его. Если список моделей не подгрузился, впишите Model ID вручную.
SillyTavern
API Connections → Chat Completion → Source: Custom (OpenAI-compatible). В Custom Endpoint укажите Base URL, ниже — ключ и Model ID. Если чат работает, а проверка статуса нет — включите Bypass API status check.
n8n
Создайте OpenAI-креденшл, в поле Base URL укажите наш адрес с /v1 и вставьте ключ. В AI-узле выберите модель по полному Model ID. Узел AI Agent опирается на вызов функций и пока не заработает — подойдут узлы обычной генерации, например Basic LLM Chain.
Janitor AI
В настройках прокси укажите Proxy URL (Base URL с /v1), API Key и Model. Путь /chat/completions Janitor добавляет сам. Сначала сохраните конфигурацию прокси, затем настройки персонажа.
OpenCode
Откройте ~/.config/opencode/opencode.json, добавьте провайдера конфигом ниже, запустите opencode и выберите модель командой /models.
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"yourapi": {
"npm": "@ai-sdk/openai-compatible",
"name": "yourapi",
"options": {
"baseURL": "https://apimira.com/v1",
"apiKey": "ya-ВАШ_КЛЮЧ"
},
"models": {
"openai/gpt-5.4-mini": { "name": "GPT-5.4 Mini" },
"anthropic/claude-sonnet-4.6": { "name": "Claude Sonnet 4.6" }
}
}
}
}Claude Code и Anthropic SDK
Требуют нативный эндпоинт Anthropic (/v1/messages) — пока не поддерживается, в разработке. Сами модели Anthropic доступны по OpenAI-совместимому пути выше, в режиме обычной переписки.
Чат — генерация ответа
POST /v1/chat/completions
Генерация ответа модели. Поддерживает stream=true (SSE). Формат запроса и ответа — как у OpenAI.
Стриминг: передайте "stream": true. Чанки приходят в формате data: {...} и завершаются data: [DONE].
Поддерживаются: текстовый chat, генерация изображений и озвучка (TTS). В chat параметры tools, response_format и vision пока вернут 400.
Генерация изображений
POST /v1/images/generations
POST /v1/images/generations — синхронно, тело и ответ совместимы с OpenAI Images. Списывается фиксированная цена за изображение, умноженная на количество (n).
curl https://apimira.com/v1/images/generations \
-H "Authorization: Bearer ya-ВАШ_КЛЮЧ" \
-H "Content-Type: application/json" \
-d '{
"model": "image/gpt-image-2",
"prompt": "a red cat wearing glasses",
"n": 1
}'Модель должна быть типа «изображение» (см. GET /v1/models). Ответ — массив data с полем b64_json (base64 картинки) или url.
Озвучка (TTS)
POST /v1/audio/speech
POST /v1/audio/speech — синхронно превращает текст в речь. Ответ — бинарные аудио-байты (по умолчанию mp3). Списывается фиксированная цена за запрос.
curl https://apimira.com/v1/audio/speech \
-H "Authorization: Bearer ya-ВАШ_КЛЮЧ" \
-H "Content-Type: application/json" \
-d '{
"model": "audio/elevenlabs-tts",
"input": "Привет! Это синтез речи.",
"voice": "alloy"
}' \
--output speech.mp3Модель должна быть типа «аудио» (см. GET /v1/models). Параметры: input (текст), voice (голос), response_format (формат файла).
Эндпоинты
POST /v1/chat/completions
Генерация ответа модели. Поддерживает stream=true (SSE). Формат запроса и ответа — как у OpenAI.
GET /v1/models
Список доступных моделей в формате OpenAI. Отключённые модели не возвращаются.
POST /v1/images/generations
Синхронная генерация изображений (OpenAI Images-совместимо).
POST /v1/audio/speech
Синтез речи из текста (TTS) — ответ аудиофайлом.
Коды ошибок
| HTTP | code | Когда возникает |
|---|---|---|
| 401 | invalid_api_key | Ключ неверен, отозван или не передан. |
| 402 | insufficient_balance | Баланс закончился — пополните в кабинете. |
| 404 | model_not_found | Модель не существует или отключена. См. GET /v1/models. |
| 400 | invalid_request | Некорректное тело запроса или неподдерживаемый параметр. |
| 5xx | upstream_error | Ошибка провайдера модели. Списания за такой запрос нет. |
Частые вопросы
Как сменить модель?
Измените значение параметра model. Остальной код не трогаете — запрос уйдёт к нужному провайдеру.
Работает ли официальный OpenAI SDK?
Да. Укажите base_url на наш адрес с /v1 и наш ключ — остальной код остаётся прежним.
Как считается стоимость?
По токенам входа и выхода, по цене модели на момент запроса. Стоимость видна в статистике кабинета.