Перейти до основного вмісту

Створення відео й аудіо

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 секунд вкладається в ліміт.

Облік і приватність

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

Постачальник отримує промпт і повертає вміст; діють його ціни, правила зберігання та політика щодо вмісту.

Пов’язані документи