Перейти к основному содержимому

Создание видео и аудио

Libre WebUI 0.18.0 расширяет генерацию: плагины объявляют видео и аудио, а изображения, видео, речь и звук попадают в отдельную галерею каждого пользователя.

Доступно всем аутентифицированным; чтение, содержимое и удаление строго по аккаунту.

Блоки возможностей

Определение содержит отдельные блоки:

"capabilities": {
"image": { "endpoint": "...", "model_map": ["..."], "config": { ... } },
"tts": { "endpoint": "...", "model_map": ["..."], "config": { ... } },
"audio": { "endpoint": "...", "model_map": ["..."], "config": { ... } },
"video": { "endpoint": "...", "model_map": ["..."], "config": { ... } }
}

Каждый блок содержит endpoint, резервный список model_map, необязательный models_endpoint для обнаружения моделей и объект config: размеры и пропорции изображений, голоса и форматы речи, разрешения и длительность видео. Провайдер видео может объявить cancel_endpoint и cancel_method для идентификатора промпта; Libre не предполагает поддержку отмены по обычной конечной точке генерации.

Две звуковые возможности:

  • tts — текст читается голосом.
  • audio — звук генерируется из промпта.

OpenRouter (plugins/openrouter.json) сейчас единственный встроенный плагин с блоками video и audio. При наличии models_endpoint список обновляется в обычном цикле обнаружения (TTL описан в переменных окружения); model_map остаётся резервным списком.

Создание медиа

Откройте Imagine (/gallery). Есть Создать для изображений и панели Видео, Аудио.

Речь/звук синхронны: запрос, сохранение, готовый элемент. Отмена прерывает браузер и исходящий запрос; результат не сохраняется. Изображения так же.

Для принятого ComfyUI Libre отправляет операцию отмены задания и удаление из очереди по ID промпта, ждёт до трёх секунд. Libre никогда не вызывает неограниченную операцию прерывания, способную остановить чужой процесс. Текущие версии имеют /api/jobs/:promptId/cancel. Старые удаляют точную ожидающую позицию, но безопасно не остановят активную; обновите.

TTS может клонировать голос. Панель показывает эталонную аудиозапись и при необходимости точную транскрипцию. Libre проверяет тип и размер по ограничениям манифеста, держит в памяти и отправляет выбранному провайдеру. В галерею только речь.

Клон можно сохранить как именованный профиль голоса для той же модели и плагина после отдельного согласия на хранение. Исходная запись и транскрипт шифруются в профиле пользователя; созданная речь не становится эталоном. Выбирать и удалять профили можно в Настройки → Текст в речь. Провайдер получает сохранённую запись при каждой партии синтеза. Профиль привязан к утверждённому маршруту; после изменения определения плагина или конечной точки создайте его заново. Используйте только записи людей, согласившихся на клонирование и хранение.

Профили исключены из общего экспорта как биометрия. Для аварийного восстановления копируйте базу и ENCRYPTION_KEY, иначе создавайте из согласованных записей.

Жизненный цикл видео

Асинхронно: POST /api/media/video/generate возвращает 202, состояния pending, in_progress, completed/failed.

  • Отправка отделяется от браузера после проверки. ID задания провайдера сохраняется сразу даже при закрытии.
  • GET /api/media/video/jobs показывает только сохранённые дескрипторы пользователя; до 100 активных. Можно открыть после перехода, обновления страницы или разрыва соединения.
  • Долговечное задание media.video.resume.v1 опрашивает провайдера и скачивает результат при закрытом интерфейсе. В solo обработчик работает во встроенном рабочем процессе, а в team — во внешнем. Аренды, ограниченные повторы, повторная проверка исполнителя и условное завершение позволяют другому рабочему процессу продолжить после сбоя без дублирования строки галереи или ссылки на двоичный объект. Существующие конечные точки возобновления и GET остаются границами совместимости и состояния; интерфейс может продолжать опрос для отображения.
  • Закрытие панели или Перестать ждать прерывает только текущую передачу состояния или загрузку. Отменить задание появляется лишь при явно объявленной конечной точке отмены по ID задания. После подтверждения локальный дескриптор удаляется.
  • Серверная часть скачивает видео (предел 200 MB, перенаправления не выполняются) и сохраняет.
  • Запись хранит плагин, модель, параметры, состояние и зашифрованный промпт. Записи завершённых и неудачных заданий старше 30 дней удаляются при удобном случае; ожидающие дескрипторы не истекают при этой очистке.
  • Конечные состояния создают media-ready или media-failed, ссылаются на галерею, устраняют дубли для задания и доставляются через ящик и вебхуки.

Редактирование и дорисовывание

При настроенной модели, поддерживающей редактирование, появляется Редактировать изображение. Маска: закрашенное перерисовывается, пустая маска редактирует всё; можно прикреплять эталонные изображения. Контракт OpenAI multipart: edit_endpoint, необязательные supports_mask, max_reference_images, edit_mime_types, max_edit_image_bytes (во встроенном манифесте OpenAI объявлены все параметры).

До отправки любых байтов проверяются заявленный MIME, сигнатура PNG/JPEG/WebP и лимит 10 MiB на изображение; маска должна быть PNG из-за альфа-канала. Результат сохраняет сведения о происхождении: исходный элемент, число эталонных изображений и использование маски. Учёт выполняется так же, как для генерации.

Единая галерея

Все типы расположены вместе по времени создания, с фильтрами Все, Изображения, Видео и Аудио. Видео и звук воспроизводятся на месте, изображения открываются в лайтбоксе, каждый элемент можно скачать или удалить. GALLERY_RETENTION_DAYS включает плановую очистку через тот же долговечный цикл удаления; без настройки содержимое хранится до удаления владельцем.

Хранение:

  • Мультимедиа хранятся зашифрованными в базе под DATA_DIR, а не отдельными файлами. Создавайте копию вместе с ENCRYPTION_KEY.
  • Ответы API не встраивают данные, а используют URL содержимого.
  • Содержимое должно соответствовать списку разрешённых MIME и сохранённому типу, ограничено 200 MB и отдаётся с X-Content-Type-Options: nosniff и Content-Security-Policy, помещающей ответ в песочницу.

Прежние конечные точки изображений и панель генерации продолжают работать и записывают в ту же галерею.

Ограничения скорости

ОперацияОграничение
Генерация видео/речи/звука10 запросов в минуту
Опрос видео60 запросов в минуту
Список, содержимое, удаление120 запросов в минуту

Опрос интерфейса каждые 30 секунд укладывается в лимит.

Учёт и конфиденциальность

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

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

Связанная документация