Модель как эндпоинт
Публичная модель поднимается по запросу и отвечает по HTTP, свой инференс-сервер не нужен.
AIR для разработчиков
Replicate — платформа запуска моделей по API с оплатой за секунды работы GPU: из России платить за эти секунды нечем.
Chat Completions API
Запрос к моделям для кода через OpenAI-совместимый API
Обложка карточки товара: керамическая кружка на бетоне, мягкий боковой свет, справа чистое место под заголовок, 3:2
Готово: кружка слева, справа пустая зона под текст, свет боковой мягкий. Отдала кадр 3:2 без надписей в макете.
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.air.fail/v1",
apiKey: process.env.AIR_API_KEY,
});
const image = await client.images.generate({
model: "flux",
prompt: "Обложка карточки товара: керамическая кружка на бетоне, мягкий боковой свет, справа чистое место под заголовок, 3:2",
});
Пять секунд: камера медленно облетает эту же кружку на столе, над кофе идет пар, текста в кадре нет
Собрала ролик на 5 секунд: круговой облет, пар держится всю сцену, склеек нет. Кадр стабильный, текст не добавляла.
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.air.fail/v1",
apiKey: process.env.AIR_API_KEY,
});
const video = await client.post("/videos/generations", {
body: { model: "wan", prompt: "Пять секунд: камера медленно облетает эту же кружку на столе, над кофе идет пар, текста в кадре нет" },
});
Фоновый трек под этот ролик: спокойный лоу-фай, 90 BPM, 15 секунд, без вокала
Трек на 15 секунд готов: лоу-фай, 90 BPM, вокала нет. Финал затухает, поэтому стык с роликом идет без обрезки.
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.air.fail/v1",
apiKey: process.env.AIR_API_KEY,
});
const track = await client.post("/audio/generations", {
body: { model: "stable-audio", prompt: "Фоновый трек под этот ролик: спокойный лоу-фай, 90 BPM, 15 секунд, без вокала" },
});
Перепиши описание товара в промпт для генерации: предметный кадр, студийный свет, место под текст справа
Собрала промпт из четырех блоков: объект, свет, композиция, соотношение сторон. Негативный список вынесла отдельно, чтобы фон не забивал текст.
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.air.fail/v1",
apiKey: process.env.AIR_API_KEY,
});
const reply = await client.chat.completions.create({
model: "claude",
messages: [{ role: "user", content: "Перепиши описание товара в промпт для генерации: предметный кадр, студийный свет, место под текст справа" }],
});
Replicate и более 80 моделей в одном сервисе
ОткрытьПлатформа продает не модель, а деплой: чужие веса уже упакованы в контейнер и подняты за вас, вызов идет обычным HTTP-запросом.
Публичная модель поднимается по запросу и отвечает по HTTP, свой инференс-сервер не нужен.
Счет идет за время работы GPU, включая холодный старт контейнера под нагрузкой.
Тысячи публичных моделей: генерация, апскейл, распознавание речи, узкие дообучения.
Собственную модель упаковывают в образ и публикуют рядом с чужими тем же способом.
Долгая генерация уходит в очередь, результат возвращается вебхуком без удержания соединения.
Тарификация идет по факту потребления, карта в аккаунте обязательна, а карты российских банков, включая «Мир», биллинг не принимает. Без успешного списания вызов модели не стартует вовсе.
Санкционные ограничения отсекают запросы и аккаунты с российскими признаками на стороне платформы, причем смотрят не только IP, но и платежный профиль.
Продовый бэкенд не гоняют через туннель, а расхождение адреса с платежным профилем — типовой повод закрыть аккаунт вместе с остатком баланса.
Серую оплату не провести через бухгалтерию, закрывающих документов по ней не бывает, а отвал платежа останавливает фичу, которая уже отдает картинки пользователям.
AIR — российский агрегатор нейросетей с OpenAI-совместимым API: один ключ из кабинета открывает весь каталог, оплата рублями.
Иллюстрации и продуктовые кадры генерируются моделями каталога прямо из бэкенда.
Короткие ролики и оживление статики тем же ключом, без отдельного аккаунта под видео.
Фоновый трек или звуковой слой под ролик собирается на том же эндпоинте.
Сборка промптов, разбор ответа и обвязка пайплайна — стандартный chat/completions.
Мост нужен сервису, который отдает сгенерированный контент пользователям каждый день, а не демо на вечер.
Медиа и текст в одном коде
Кадр, ролик, звук и промпт-модель живут в одной конфигурации клиента.
Переезд без переписывания
Меняются baseURL, ключ и id модели; ретраи и логирование остаются вашими.
Расходы в рублях
Карта российского банка, для юрлица — закрывающие документы для бухгалтерии.
Один ключ на генерацию
Один ключ на все типы генерации: картинки, видео, звук и текст без отдельного аккаунта под каждый.
Протокол OpenAI
Протокол OpenAI: клиент меняет baseURL на https://api.air.fail/v1, остальной код приложения не трогают.
Рубли и закрывающие документы
Оплата рублями картой российского банка, «Мир» включительно; юрлицо получает закрывающие документы.
Работа без VPN
Без VPN: API отвечает напрямую из офисной сети и с CI-серверов, где туннели запрещены политиками.
Минимальный вызов генерации — curl и Python. Тело запроса такое же, как у любого OpenAI-совместимого провайдера.
curl — без SDK, из любого окружения
curl https://api.air.fail/v1/images/generations \
-H "Authorization: Bearer $AIR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "flux",
"prompt": "керамическая кружка на бетоне, мягкий боковой свет, место под текст справа"
}'
openai — меняется только base_url и ключ
from openai import OpenAI
client = OpenAI(
base_url="https://api.air.fail/v1",
api_key="AIR_API_KEY",
)
image = client.images.generate(
model="flux", # id модели — из каталога в кабинете
prompt="предметный кадр: кружка на бетоне, студийный свет, фон под заголовок",
)
print(image.data[0].url)
Каталог закрывает те же классы генерации, ради которых обычно идут на платформу запуска моделей.
| Модель | Сильная сторона | Когда выбирать |
|---|---|---|
| FLUX | Фотореализм и точное следование промпту | Продуктовые кадры и иллюстрации в поток |
| Seedream | Композиция и надпись в кадре | Обложки и баннеры с текстом на картинке |
| Wan | Короткое видео из промпта, оживление статики | Ролики для карточек товара и соцсетей |
| Veo 3 | Сложная сцена и звук в ролике | Презентационные ролики, где важна динамика |
| Stable Audio | Фоновая музыка и звуковые слои | Подложка под ролик, джинглы, эффекты |
Три генерации моделей каталога — типовые продакшен-задачи, ради которых зовут public-модели по API.

Минималистичная обложка книги с крупной надписью по-русски. Модель держит кириллицу без каши в буквах.
Email или Яндекс ID; иностранный номер и зарубежная карта не нужны ни на одном шаге.
В кабинете это одна кнопка; ключ держите в переменной окружения, а не в репозитории.
В клиенте OpenAI укажите https://api.air.fail/v1 и свой ключ, остальной код не трогайте.
Сгенерируйте кадр и ролик из своего сценария, зафиксируйте id моделей в конфиге.
Регистрация бесплатна, стартовых лимитов хватает, чтобы прогнать свои промпты и оценить качество генерации. Дальше — оплата по факту использования или подписка, прайс в кабинете.
Нет. AIR — российский сервис: сайт и API открываются напрямую, в том числе из офисных сетей и с CI-серверов, где туннели запрещены политиками безопасности.
Картой российского банка, «Мир» включительно, в рублях. Посредники, виртуальные карты и чужой курс не нужны, а юрлицо получает закрывающие документы.
Нет. Через AIR API вызываются модели каталога AIR: типовые задачи генерации — картинка, видео, звук, текст. Узкие авторские дообучения остаются работой другого класса.
Да, если он состоит из вызовов моделей: промпт собирает чат-модель, кадр отдает генератор изображений, ролик — видеомодель, дорожку — аудиомодель. Все на одном ключе и балансе.
Да. Эндпоинт один на все типы контента, ключ ротируется в кабинете, а оплата в рублях не зависит от проверок зарубежного биллинга. В коде меняются baseURL, ключ и id модели.