Документация API
OpenAI-совместимый API на собственных серверах. Подключается к любому проекту, где уже есть интеграция с ИИ — достаточно сменить адрес и ключ.
Быстрый старт
1. Зарегистрируйте компанию на главной и дождитесь одобрения.
2. Войдите в кабинет → Студия → API-ключи → создайте ключ (показывается один раз).
3. Используйте базовый адрес и ключ:
# Базовый URL (OpenAI-совместимый) https://ai-larisa.ru/gw/v1 # Авторизация — ваш ключ Authorization: Bearer larisa-sk-...
base_url = адрес выше и api_key = ваш ключ.Авторизация
Каждый запрос — с заголовком Authorization: Bearer ВАШ_КЛЮЧ. Ключ привязан к вашей компании; доступ работает, пока компания активна и не превышен лимит тарифа.
Чат / завершения
POST /gw/v1/chat/completionscurl https://ai-larisa.ru/gw/v1/chat/completions \ -H "Authorization: Bearer larisa-sk-..." \ -H "Content-Type: application/json" \ -d '{ "model": "qwen2.5:72b", "messages": [ {"role": "system", "content": "Ты — консультант магазина."}, {"role": "user", "content": "Подбери камень для фасада"} ] }'
Ответ — стандартный OpenAI-формат с choices[0].message.content и usage (токены).
Стриминг
Добавьте "stream": true — ответ придёт по частям (SSE), как у OpenAI: строки data: {...} с choices[0].delta.content, в конце data: [DONE].
Модели
Список — GET /gw/v1/models. Выбирайте под задачу:
| Модель | Назначение |
|---|---|
hermes3:8b | Быстрая и экономная — простые диалоги, поддержка |
qwen3:30b | Баланс качества и скорости — основная для большинства задач |
qwen2.5:72b | Максимум качества — сложные консультации, аналитика |
qwen2.5-coder:32b | Код и техзадачи |
qwen2.5vl:7b | Зрение — анализ изображений, фото товаров, документов |
nomic-embed-text | Эмбеддинги для поиска по вашим данным (RAG) |
Генерация изображений
POST /gw/v1/images/generationscurl https://ai-larisa.ru/gw/v1/images/generations \ -H "Authorization: Bearer larisa-sk-..." \ -H "Content-Type: application/json" \ -d '{ "prompt": "натуральный камень в интерьере гостиной", "size": "1024x1024" }'
Ответ — OpenAI-формат: data[0].b64_json (картинка в base64 PNG). Подходит для карточек товаров, маркетинга, визуализаций.
Генерация видео
POST /gw/v1/video/generationscurl https://ai-larisa.ru/gw/v1/video/generations \ -H "Authorization: Bearer larisa-sk-..." \ -H "Content-Type: application/json" \ -d '{ "prompt": "красный автомобиль едет по горной дороге на закате", "seconds": 3, "size": "512x512" }'
Короткий видеоролик по текстовому описанию. Ответ — data[0].b64_json (видео в base64, формат mp4). Параметры: seconds 1–5, size до 768×768. Подходит для рекламы, соцсетей, анимации товаров.
Генерация музыки
POST /gw/v1/audio/musiccurl https://ai-larisa.ru/gw/v1/audio/music \ -H "Authorization: Bearer larisa-sk-..." \ -H "Content-Type: application/json" \ -d '{ "prompt": "спокойный lo-fi hip hop, мягкое пиано, лёгкие ударные", "seconds": 30 }'
Музыкальный трек по описанию стиля/жанра. Ответ — data[0].b64_json (аудио в base64, формат mp3). Параметры: prompt — стиль/жанр, seconds 5–120, опционально lyrics (текст песни — без него получится инструментал) и bpm. Для фоновой музыки, джинглов, роликов.
Синтез речи (озвучка)
POST /gw/v1/audio/speechcurl https://ai-larisa.ru/gw/v1/audio/speech \ -H "Authorization: Bearer larisa-sk-..." \ -H "Content-Type: application/json" \ -d '{ "input": "Здравствуйте! Это голос вашего ассистента.", "voice": "baya", "response_format": "mp3" }' --output speech.mp3
Озвучивает текст голосом (отличный русский). Ответ — бинарный аудиофайл (mp3/wav/opus). Голоса: baya, xenia, kseniya, aidar, eugene (а также OpenAI-имена alloy/nova/echo и т.д.). OpenAI-совместимо — работает через openai SDK (audio.speech.create). Для голосовых ботов, IVR, озвучки контента.
Python (openai SDK)
from openai import OpenAI client = OpenAI( base_url="https://ai-larisa.ru/gw/v1", api_key="larisa-sk-...", ) resp = client.chat.completions.create( model="qwen3:30b", messages=[{"role": "user", "content": "Привет!"}], ) print(resp.choices[0].message.content)
Node.js
import OpenAI from "openai"; const client = new OpenAI({ baseURL: "https://ai-larisa.ru/gw/v1", apiKey: "larisa-sk-...", }); const r = await client.chat.completions.create({ model: "qwen3:30b", messages: [{ role: "user", content: "Привет!" }], }); console.log(r.choices[0].message.content);
Лимиты и ошибки
401— неверный или отозванный ключ.403— компания ещё не одобрена администратором или приостановлена.429— исчерпан месячный лимит тарифа (сбрасывается в начале месяца; можно повысить тариф).
Расход токенов учитывается по вашей компании; текущий лимит зависит от тарифа. Вопросы и повышение тарифа — через администратора.