<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Блог LIDERS MEDIA</title>
    <link>https://liders.media/blog</link>
    <description>AI-видеопродакшн, агентные интеграции (MCP) и российская инфраструктура.</description>
    <language>ru</language>
    <atom:link href="https://liders.media/rss.xml" rel="self" type="application/rss+xml" />
    <lastBuildDate>Sat, 01 Aug 2026 00:00:00 GMT</lastBuildDate>
    <item>
      <title>Переезд SaaS на российскую инфраструктуру: честный чеклист без иллюзий</title>
      <link>https://liders.media/blog/ru-infrastructure-migration</link>
      <guid isPermaLink="true">https://liders.media/blog/ru-infrastructure-migration</guid>
      <pubDate>Sat, 01 Aug 2026 00:00:00 GMT</pubDate>
      <category>Инфраструктура</category>
      <description>Что реально нужно, чтобы сервис открывался из России без VPN: домен и DNS, VPS, перенос базы и хранилища, деплой одной командой, платежи, 152-ФЗ и план отката.</description>
      <content:encoded><![CDATA[Шаг 0. Решить, что именно переезжает

Полный переезд нужен редко. Чаще достаточно гибридной схемы: фронтенд и база — в России, а тяжёлые генеративные модели остаются у зарубежных провайдеров и вызываются через серверный прокси. Пользователь при этом не упирается ни в VPN, ни в блокировки, потому что весь его трафик идёт на российский домен.

Шаг 1. Домен, DNS и почта

Домен в зоне .ru или .рф у российского регистратора, с продлением на 2–3 года вперёд. DNS у провайдера с российскими анкастами; заранее снизить TTL до 300 секунд за сутки до переключения. Отдельное зеркало (например, ru.поддомен) — чтобы переключать трафик постепенно, а не одномоментно. Почтовые записи SPF, DKIM и DMARC переносятся вместе с доменом, иначе транзакционные письма уедут в спам.

Шаг 2. Сервер и базовая обвязка

Для проекта нашего размера хватает VPS на 4 vCPU / 8 ГБ RAM / 80 ГБ SSD. На нём: nginx как терминатор TLS иобратный прокси, автоматические сертификаты, systemd-юниты для приложения, ежедневные бэкапы на отдельное объектное хранилище и firewall, где наружу открыты только 80 и 443, а SSH — по ключу и с нестандартного порта.

Шаг 3. База данных и файлы

База переносится дампом с проверкой контрольных сумм по количеству строк в ключевых таблицах. Критично не забыть про то, что живёт вне схемы: политики доступа на уровне строк, функции, триггеры, роли и права. Файловое хранилище (у нас это приватный бакет с видео) синхронизируется отдельно, а подписанные ссылки после переезда нужно перевыпустить — старые указывают на прежний хост.

Репетиция обязательна. Мы прогоняем миграцию на копии данных и замеряем время: если полный цикл занимает больше окна обслуживания, план надо менять до, а не во время переезда.

Шаг 4. Деплой одной командой

Ручной деплой на новом сервере — гарантированный источник расхождений. Мы держим сценарий, который делает pull, установку зависимостей, сборку и перезапуск сервисов, и запускаем его из CI по пушу в основную ветку через SSH. Откат — тем же сценарием на предыдущий тег.

Шаг 5. Платежи и юридический контур

Приём оплаты через российские эквайринги (ЮKassa, CloudPayments), привязанные к ИП или ООО. Публичная оферта, политика конфиденциальности, согласие на обработку персональных данных и политика cookies — опубликованы и доступны из подвала. Уведомление в реестр операторов персональных данных и хранение ПД граждан РФ на серверах в России (152-ФЗ). Чеки по 54-ФЗ — через онлайн-кассу эквайринга.

Шаг 6. Наблюдаемость и план отката

До переключения трафика должны работать: healthcheck ключевых интеграций, журнал ошибок, метрики времени ответа и алерт в мессенджер. План отката пишется заранее одним абзацем: вернуть DNS на прежний хост, восстановить последний бэкап, уведомить пользователей. Если план отката не помещается в абзац — он не сработает в три часа ночи.

Сколько это стоит

Инфраструктурная часть для сервиса нашего масштаба укладывается в несколько тысяч рублей в месяц: VPS, объектное хранилище под бэкапы и видео, домен и сертификаты. Основная статья расходов остаётся прежней — вычисления генеративных моделей. Именно поэтому у нас включены квоты, кэш результатов на 7 дней и короткая длительность по умолчанию: они удерживают бюджет предсказуемым независимо от того, где стоит сервер.]]></content:encoded>
    </item>
    <item>
      <title>MCP на практике: как мы открыли свою платформу для AI-агентов и не открыли данные всем подряд</title>
      <link>https://liders.media/blog/mcp-agent-integration</link>
      <guid isPermaLink="true">https://liders.media/blog/mcp-agent-integration</guid>
      <pubDate>Thu, 30 Jul 2026 00:00:00 GMT</pubDate>
      <category>Инженерия</category>
      <description>Как устроен MCP-сервер LIDERS MEDIA: OAuth 2.1, инструменты для генераций и заявок, лимиты частоты и объёма, аудит вызовов и разбор типичных ошибок интеграции.</description>
      <content:encoded><![CDATA[Зачем это продукту

Классический сценарий: маркетолог сидит в чате с ассистентом и говорит «посмотри, какие ролики сгенерировались за неделю, и запусти ещё один по мотивам самого удачного промпта». Без MCP это ручная работа с интерфейсом. С MCP ассистент вызывает наши инструменты и делает всё сам — но действует строго от лица конкретного пользователя.

Семь инструментов, которые мы отдали наружу

whoami — проверка подключения и текущих прав. list_generations — список генераций с фильтрами по статусу и провайдеру. get_generation — детали конкретного ролика, включая причины сбоя. create_generation — запуск новой генерации. list_leads — заявки с сайта (только для админа). create_lead — создание заявки. update_lead — смена статуса и заметки по заявке.

Границу «что отдавать» мы провели просто: наружу уходит только то, что пользователь и так видит в своём интерфейсе. MCP не должен становиться обходным путём вокруг продуктовых ограничений.

Аутентификация: OAuth 2.1, а не «вставьте токен»

Соблазн велик: попросить пользователя скопировать сессионный токен и вставить в клиент. Так делать нельзя — токен утечёт в историю чата, в логи клиента и в буфер обмена. Правильный путь — полноценный OAuth 2.1 с динамической регистрацией клиента: клиент сам регистрируется, пользователь видит экран согласия, где написано, какое приложение и к каким данным получает доступ, и жмёт «Разрешить».

Наш сервер выступает только как resource server: он проверяет подпись токена, издателя и аудиторию, а дальше передаёт токен в базу — и вся защита на уровне строк (RLS) применяется так, как будто запрос пришёл из браузера этого же пользователя. Никакого сервисного ключа в инструментах: один такой ключ за неавторизованным эндпоинтом означает, что база открыта всему интернету.

Лимиты: скучно, но обязательно

Агент — это цикл. Ошибка в цикле превращается в тысячу вызовов за минуту. Мы поставили три уровня ограничений по частоте — 20 запросов в минуту, 200 в час, 1000 в сутки на пользователя — и отдельный лимит на объём входных данных: 8 КБ на вызов. Последнее отсекает попытки протолкнуть в инструмент гигантский текст и заодно защищает от primitive-инъекций через раздутый ввод.

Лимиты считаются в базе, а не в памяти функции. Edge-функции масштабируются горизонтально, и счётчик в памяти инстанса не считает ничего полезного.

Аудит: кто, что и когда вызывал

Каждый вызов пишется в журнал: пользователь, идентификатор OAuth-клиента, имя инструмента, статус, длительность, размер входа и укороченное превью аргументов. Полезная нагрузка целиком не сохраняется — журнал не должен становиться вторым хранилищем персональных данных. Пользователь видит свои записи, админ — все, с фильтрами и статистикой.

Пять ошибок, на которых мы споткнулись

Издатель токена указан через прокси-домен — сервер не сходится с discovery-документом и отвергает валидные токены. Экран согласия не сохраняет исходный адрес возврата: после логина пользователя выбрасывает на главную, и подключение молча срывается. SECURITY DEFINER-функции без явной проверки идентичности вызывающего — прямая дорога к чтению чужих строк. Долгие задачи внутри синхронного инструмента: клиент отваливается по таймауту, хотя работа успешно выполняется. Описания инструментов написаны для разработчика, а не для модели — агент выбирает не тот инструмент.

Как подключиться

Интерактивная документация с полными схемами входа и выхода, примерами вызовов под конкретного клиента и описанием лимитов живёт на отдельной странице платформы. Подключение занимает пару минут: добавляете адрес сервера в своём клиенте, проходите OAuth и получаете список инструментов.]]></content:encoded>
    </item>
    <item>
      <title>AI-видеопродакшн в 2026 году: как устроен реальный пайплайн рекламного ролика</title>
      <link>https://liders.media/blog/ai-video-production-2026</link>
      <guid isPermaLink="true">https://liders.media/blog/ai-video-production-2026</guid>
      <pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate>
      <category>Продакшн</category>
      <description>Разбираем по шагам, как в 2026 году делается рекламный AI-ролик: бриф, сценарий, промпты, генерация в Seedance 2.5 и Higgsfield, склейка, озвучка и сдача мастера.</description>
      <content:encoded><![CDATA[1. Бриф решает больше, чем модель

Самая частая причина плохого AI-ролика — не слабая модель, а размытая задача. Мы начинаем с 30-минутного онлайн-созвона в Zoom и вытаскиваем четыре вещи: продукт и его единственное ключевое обещание, площадку размещения (маркетплейс, Директ, таргет, ТВ-врезка), формат и хронометраж, а также референсы — три ролика, которые нравятся, и один, который категорически не нравится.

Отрицательный референс экономит недели. Он задаёт границы стиля точнее, чем десять положительных: «вот так — не надо» переводится в промпт-ограничения напрямую.

2. Сценарий пишется под длину генерации, а не наоборот

Современные видеомодели устойчиво держат 5–10 секунд на один проход. Всё, что длиннее, собирается из фрагментов. Поэтому сценарий сразу пишется блоками по 5 и 10 секунд, где каждый блок — самостоятельная сцена с одной идеей и одним движением камеры.

0–5 с — хук: крупный план продукта или неожиданное действие, удерживающее внимание в ленте. 5–15 с — раскрытие: контекст использования, эмоция, среда. 15–25 с — доказательство: деталь, текстура, результат. 25–30 с — финал: логотип, оффер, призыв к действию.

Такая структура даёт ещё один бонус: если одна сцена сгенерировалась неудачно, перегенерируется только она, а не весь ролик. Это прямая экономия бюджета на токенах.

3. Промпт — это техзадание, а не пожелание

Рабочий промпт для видеомодели описывает пять слоёв: субъект, действие, камера, свет, стилистика. «Красивый ролик про кофе» не работает. Работает: «крупный план чёрной керамической чашки на бетонной столешнице, пар медленно поднимается, камера медленно наезжает (slow dolly-in), боковой мягкий свет из окна слева, тёплая цветокоррекция, кинематографично, 35 мм, неглубокая глубина резкости».

Правило, которое мы выработали за сотни генераций: одно движение камеры на сцену. Две команды движения в одном промпте почти всегда дают «плывущую» геометрию.

4. Выбор модели под задачу

Универсальной модели не существует. Мы держим несколько провайдеров и переключаемся между ними автоматически, если один недоступен или отдал брак.

Seedance 2.5 — быстрый и дешёвый рабочий конь для предметных и продуктовых сцен, отличная физика движения. Higgsfield — сильные операторские пресеты и управляемая камера, наш основной выбор для рекламных сцен. Sora 2 — сложные многообъектные сцены и связная логика происходящего. Veo 3 — липсинк и сцены со звуком, когда нужен говорящий персонаж.

В нашей студии это оформлено как цепочка фоллбека: указывается желаемый провайдер, а платформа при отказе пробует следующий по списку и записывает в историю, кто в итоге отработал и почему предыдущий не смог.

5. Склейка, звук и мастер

Фрагменты собираются в один таймлайн, между сценами ставятся короткие переходы (чаще всего простой cut — он выглядит дороже, чем любой эффект). Дальше добавляются озвучка, музыка, титры и логотип в финале. На выходе клиент получает мастер в 16:9 и вертикальные перемонтажи 9:16 и 1:1 под площадки.

6. Сколько это занимает и стоит

Первые превью — в течение суток после брифа. Готовый ролик со звуком и монтажом — от 3 до 7 рабочих дней. Рекламный ролик 15–30 секунд начинается от 60 000 ₽, пакет креативов для маркетплейсов и таргета — от 120 000 ₽. Сравните с классическим продакшном: съёмочный день, площадка, свет, актёры и постпродакшн редко укладываются в такие сроки и суммы.

Что дальше

Мы открываем ту же студию для самостоятельной работы: регистрация, подтверждение доступа, генерация роликов 5/10/30 секунд с историей, лимитами и скачиванием. Если нужен ролик «под ключ» — напишите нам, обсудим задачу за 30 минут.]]></content:encoded>
    </item>
  </channel>
</rss>