Создание продуктов для разработчиков кардинально изменилось за последние восемь месяцев, и мое (вполне банальное) мнение заключается в том, что написание кода больше не является узким местом. Агент с радостью создаст столько кода, сколько вы попросите. Узким местом является все, что окружает код: понимание того, что именно нужно создавать и хочет ли этого кто-нибудь на самом деле. Понятия «соответствия продукта рынку» (product-market fit) и продуктовый вкус важны как никогда раньше.
Некоторые считают, что эти перемены означают, будто старые ремесла больше не имеют значения. Дизайн API — это то, о чем я слышу чаще всего: если агент умеет читать вашу документацию, то кого волнует, как выглядит API? Лично я считаю, что это в корне неверно. Агенты ценят последовательность даже больше, чем люди, потому что агент, который видел три ваших эндпоинта, сможет правильно угадать структуру четвертого. Хороший дизайн API дает агенту путь наибольшей предсказуемости, а предсказуемость — это разница между интеграцией, которая работает с первого раза, и той, которую приходится спасать человеку после сжигания тонны токенов.
Именно поэтому мы по-прежнему верим в немодную промежуточную часть выпуска продуктов: технические превью, беты и непримечательные итерации между ними. Платформа Mux Robots была запущена в режиме превью ранее в этом году и с тех пор обработала десятки миллионов минут видео. Все это время мы занимались исправлением, настройкой и переработкой всего того, с чем реальное использование на практике расходилось с нашими ожиданиями.
Отличные новости, друзья: Mux Robots теперь доступна всем (GA). API обновлен и стабилен, рабочие процессы готовы к промышленной эксплуатации, а то, что вы создаете на базе Robots, будет работать точно так же и в следующем квартале. Вы можете полагаться на этот API, и ваш агент тоже может на него полагаться. Мы также представляем два новых рабочих процесса и доработанный API v1, а еще оглядываемся на шесть месяцев улучшений, включая Robots Playground. Нам многое нужно обсудить, так что давайте начнем.
Новый рабочий процесс: Анализ структуры
Полное понимание структуры видео раньше означало запуск нескольких заданий Robots: summarize для названия и описания, generate-chapters для навигации в плеере, find-scenes для сегментации и find-key-moments для ключевых моментов. Каждый из этих рабочих процессов работает изолированно, но при этом каждый из них повторно считывает одно и то же видео, не разделяя контекст с остальными.
Функция analyze-structure выполняет это за один проход. Одно задание возвращает название, краткое содержание, теги, главы, сцены и ключевые моменты для медиаданных (или их ограниченного раздела), сформированные на основе общего пула контекста, а не четырех независимых проходов анализа. Временные метки привязываются к границам кадров, и если вы попросите об этом, задание запишет название и главы прямо обратно в медиаданные, так что ваш плеер получит название и маркеры глав без дополнительного обращения к API.
Это эволюция базовых структурных рабочих процессов, и для одного из них она является преемником: find-scenes как автономный рабочий процесс устарел с переходом на API v1. Сцены являются одним из результатов работы analyze-structure, поэтому миграция сводится в основном к переименованию: создайте задание analyze-structure для тех же медиаданных и считывайте сцены из его результатов наряду с названием, кратким содержанием, главами и ключевыми моментами, которые теперь идут в комплекте и готовы к использованию. Функция find-scenes продолжит работать в версии v0 в течение следующих шести месяцев (подробнее об этом в разделе об API v1 ниже).
Как и любой рабочий процесс, analyze-structure работает через директивы, поэтому вы можете запускать его автоматически для каждого медиаданного по мере его загрузки. Вы можете узнать больше об analyze-structure в руководстве, а сведения о ценах доступны в документации по ценам.
Новый рабочий процесс: Генерация контекстного текста
Функция generate-contextual-text создана на основе отзывов клиентов. Функция summarize отлично подходит для базовых описаний видео, но когда вам нужен более длинный контент или больше вариантов этого описания, она становится однообразной. generate-contextual-text решает эту проблему, превращая один файл в набор всех необходимых текстовых материалов: публикаций в соцсетях, записей в блогах, заметок для рассылок, расширенных резюме. Вы описываете результаты (список артефактов с указанием канала для каждого артефакта, ограничения по длине и формата), при необходимости запрашиваете несколько вариантов всего набора и управляете результатами с помощью аудитории, тональности, призыва к действию и терминов бренда:
Пример generate-contextual-text
Под капотом рабочий процесс извлекает из самого видео один редакционный бриф (его основную идею, основные тезисы, конкретные детали и тональность) и создает каждый вариант и артефакт на основе этого общего брифа.
Если вы запустите описанный выше запрос для видео об архитектуре контейнерных домов, пост в X вернется в немного кликбейтном виде, например: «Архитектура из транспортных контейнеров переживает всплеск популярности, и вот почему», и будет готов к публикации. Он пишет о теме вашего видео для запрошенного вами канала.
Очевидный вопрос: чем это отличается от вставки транскрипции в LLM? В основном — обоснованностью. Транскрипция остается авторитетным источником имен, утверждений и смысла, поэтому текст не может выдумать то, о чем говорит ваше видео. Один бриф управляет каждым артефактом, поэтому ваш пост в X и запись в блоге рассказывают одну и ту же историю. И это такое же задание Robots, как и любое другое: надежное, доставляемое через вебхуки и простое для глубокой интеграции, а не окно чата, из которого приходится копировать текст.
Если вам нужны только название, описание и теги, для этого по-прежнему используется рабочий процесс summarize. Функция generate-contextual-text предназначена для тех случаев, когда вы уже знаете, какие текстовые материалы вам нужны и как они должны читаться.
Один параметр, который не стоит упускать из виду: use_shots: true. Он передает кадры из обнаруженных в видео сцен в текст в качестве визуальных доказательств, и когда происходящее на экране имеет значение для истории, это существенно влияет на качество результата.
Вы можете узнать больше о generate-contextual-text в руководстве, а сведения о ценах доступны в документации по ценам.
API v1
Выпуск GA также приносит новую версию API Robots: v1, доступную по адресу /robots/v1. Никаких ключевых структурных изменений нет; если вы умеете создавать задания в v0, вы уже знаете v1. Что приносит v1, так это согласованность и лучшую совместимость с остальной частью Mux API: временные метки медиа везде указаны в секундах (ой!), соглашения об именовании и полях теперь совпадают в Mux Video и Robots, каждый рабочий процесс генерации дорожек одинаково обрабатывает существующие дорожки с помощью replace_existing_tracks, а устаревшие параметры эпохи превью исчезли.
Миграция проводится намеренно без спешки:
- Версия v0 продолжает работать в течение шести месяцев. Существующие задания и директивы v0 сохраняют свои исходные контракты выполнения и вебхуки в неизменном виде. Мы будем поддерживать v0 как минимум шесть месяцев и заранее предупредим вас перед любыми изменениями.
- Вебхуки имеют аддитивный характер. Задания v1 отправляют новое семейство событий robots.v1.job.<workflow>.<status> вместо существующих событий robots.job.*, которые доставляются на ваши существующие эндпоинты вебхуков. Вы можете обновить свои обработчики для приема обоих семейств и безопасно мигрировать создание заданий, когда закончите.
- Ваш агент может выполнить миграцию. Для людей-разработчиков подготовлено руководство по миграции, включая готовый промпт для вашего агента по кодированию, который проведет его через процесс обновления вашей интеграции до v1. Нам бы очень хотелось узнать, как ваш агент справится с этой задачей.
Попробуйте Robots, не написав ни строчки кода
Самый быстрый способ познакомиться с Robots — это раздел Robots Playground в панели управления Mux. Он существует не первый день, но после недавнего запуска стал лучше, чем когда-либо: выберите один из своих медиаресурсов, запустите для него любой рабочий процесс из каталога и посмотрите на полностью отрисованный результат: главы в виде списка с навигацией, ключевые моменты в виде воспроизводимых клипов, оценки модерации с доказательствами для каждого миниатюрного изображения.
Моя любимая часть: каждый рабочий процесс в Playground генерирует промпт для копирования и вставки для вашего агента по кодированию, охватывающий как вызов API, так и то, что делать с результатом («Отобразить главы в виде кликабельного списка, который перематывает Mux Player к каждой временной метке»). Попробуйте рабочий процесс в Playground, и если вам понравится результат, передайте промпт своему агенту, и он создаст интеграцию.
LinkПостоянные улучшения
Статус GA в основном складывается из небольших улучшений. Вот неполный список того, что было выпущено с весны:
- Замкнутый цикл внутри плеера. Функция summarize может записать название в медиаресурс, generate-chapters может опубликовать дорожку глав, а find-best-thumbnails может установить миниатюру медиаресурса. Robots не просто анализирует ваше видео, он может довести дело до конца.
- Управление выводом и ограничение области действия. Вы можете управлять тоном, целевой аудиторией и брендами в рабочих процессах создания текста, а также запускать любой рабочий процесс для определенного временного диапазона медиаресурса, а не для всего видео. Оплата также производится за ограниченную длительность.
- Более умная обработка дорожек. Новая опция replace_existing_tracks управляет тем, что происходит с существующими дорожками субтитров и аудио, вы можете сами называть дорожки, а сгенерированные дорожки теперь честно подписываются («Английский (Сгенерированный)», «Испанский (Автодублированный)»).
- Премиальные субтитры прошли путь от новинки до готовности к продакшену. Функция generate-premium-captions была запущена этой весной и вышла из стадии эксперимента в сентябре, получив по пути поддержку ключевых терминов и списков фраз (до 1000 записей).
- Модерация может принимать меры. Функция moderate может по желанию удалять идентификаторы воспроизведения у медиаресурсов, превышающих ваши пороговые значения, а не просто выставлять оценки.
- Ключевые моменты стали точнее. Моменты теперь могут содержать цитируемые фрагменты, а выбор с учетом смен ракурсов гарантирует, что клипы начинаются и заканчиваются на реальных монтажных склейках.
- Переводы, которые уважают ваш словарный запас. Функция translate-captions теперь принимает список терминов, которые никогда не следует переводить, поэтому названия ваших продуктов и специальный жаргон переживут перевод на другие языки.
- Директивы стали более зрелыми. Директивы теперь отправляют вебхуки на уровне запусков, поддерживают больше рабочих процессов на одну директиву и совместимы с новыми рабочими процессами.
- Robots в бесплатном тарифе. Robots включен во все тарифные планы Mux, включая Free, с предоставлением 100 000 бесплатных единиц каждый месяц.
А также множество других улучшений платформы и совместимости, появившихся за это время.
LinkВпереди еще много интересного
GA — это заявление о стабильности, а не о завершенности. Мы находимся еще в самом начале пути Robots, мы поражены тем, что клиенты создали во время предварительного просмотра, и наша дорожная карта длиннее, чем когда-либо.
Одна из областей, в которой нам особенно важен ваш отзыв — это поиск. Мы за кулисами создали мультимодальные вложения (эмбеддинги), и мы считаем, что семантический поиск по видеобиблиотекам («найди мне каждую сцену, где кто-то открывает ноутбук») — это одно из самых захватывающих направлений развития этого продукта. Если вы создаете поиск, рекомендации или что-то связанное с векторами на основе видео, мы будем рады обсудить это с вами.
Mux Robots готов к использованию в продакшене уже сегодня. В документации есть руководства по быстрому запуску для каждого рабочего процесса, Playground ждет вас в панели управления, и мы, как всегда, будем рады услышать ваши отзывы и посмотреть, что вы создадите.











