视频与音频生成
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:图像尺寸和宽高比、语音的声音和格式、
视频分辨率、宽高比和时长。视频提供商还可声明按提示词 ID 的 cancel_endpoint 和
cancel_method;Libre 不会从普通生成端点推断取消支持。
两种音频能力都会以音频进入图库:
tts是语音:用所选声音朗读文本。audio是声音:模型根据提示词生成音频内容。
OpenRouter(plugins/openrouter.json)目前是唯一声明 video 和 audio 的内置插件。
有 models_endpoint 时,模型列表按正常发现周期刷新(参见
环境变量);model_map 仍是后备。
生成媒体
打开 Imagine(/gallery)。标题栏在图像生成已启用时提供生成,并有
视频和音频面板。
语音和声音生成是同步的:请求运行、结果保存到图库、响应返回成品。取消会中止 浏览器请求和 Libre 的出站提供商请求;取消的结果不会保存。图像生成采用相同的 断开取消契约。
对已接受的 ComfyUI 工作流,Libre 同时发送按提示词 ID 的任务取消和队列删除,
并最多等待三秒再释放请求。绝不调用可能停止其他用户工作流的无范围中断。当前
ComfyUI 提供 /api/jobs/:promptId/cancel。旧版仍能移除准确待处理项,但无法安全
停止已运行工作流;请升级以获得完整取消契约。
TTS 插件也可声明声音克隆。对应模型的音频面板显示参考音频上传,以及提供商要求时 的精确转写字段。Libre WebUI 验证清单中的类型和大小,在内存中保存上传,只转发给 所选提供商。只有生成语音进入图库。
克隆可保存为同一插件和模型的命名可复用声音,需单独确认存储同意。Libre WebUI 在用户拥有的声音配置中加密原始参考和转写,不用生成语音作参考。可在设置 → 文字转语音中选择或永久删除。提供商每次生成都会再次收到参考。配置绑定到已批准 路由;定义或端点变化时需重新创建以同意新目的地。只使用已同意克隆和存储的录音。
声音配置明确不包含在一般数据导出中,因为含生物特征源材料。灾难恢复需一起备份
加密数据库和 ENCRYPTION_KEY;否则从原始同意录音重建。
视频任务生命周期
视频生成是异步的。提交 POST /api/media/video/generate 返回 202 和任务记录,
依次经历 pending、in_progress,最后为 completed 或 failed。
- 验证后提交与浏览器响应分离。提供商接受后 Libre 立即保存任务 ID,即使面板或 网络在响应期间关闭。
GET /api/media/video/jobs只列出当前用户保存的句柄;面板打开时请求最多 100 个 活跃句柄。因此导航、刷新或断线后仍可重开待处理任务。- 持久任务
media.video.resume.v1即使面板关闭也会轮询并下载结果。单机模式使用 内置 worker,团队模式使用外部 worker。租约、有限重试、操作者复验和条件完成可让 其他 worker 在进程死亡后接管,而不重复图库行或 blob 引用。现有恢复/GET端点 仍是兼容与状态边界。 - 关闭面板或选择停止等待只中止当前状态/下载传输。只有插件明确声明按任务 ID 取消端点时才显示取消任务。提供商确认取消后,Libre 删除本地句柄。
- 完成后,后端下载视频(上限 200 MB,不跟随 HTTP 重定向)并保存。
- 记录保存插件、模型、选项、状态和提示词(静态加密)。超过 30 天的完成/失败记录 会机会性清理;待处理句柄不会因此过期。
- 终态会通知:完成发布 media-ready,提供商失败发布 media-failed;都链接 图库、按任务去重,并通过收件箱和订阅 webhook 交付。
图像编辑与修补
配置可编辑模型后,图库图像获得编辑图像操作。编辑器直接绘制蒙版:涂抹区域
由模型重绘,未触碰画布则编辑整张图;模型支持多输入时可附加参考图用于合成。
编辑使用兼容 OpenAI 的 multipart 契约:插件在图像能力中声明 edit_endpoint,
并可声明 supports_mask、max_reference_images、edit_mime_types 和
max_edit_image_bytes(内置 OpenAI 清单全部声明)。
任何字节出站前都会验证:声明 MIME、检测魔数(PNG、JPEG、WebP)及每图 10 MiB 上限。蒙版必须为 PNG,因为只有 PNG 携带标记重绘区域的 alpha 通道。结果保存来源 元数据:源图库项、参考图数量、是否使用蒙版。编辑用量与生成相同计量。
统一图库
图库按创建时间混合展示所有媒体,并提供全部、图像、视频、音频筛选。
视频和音频内联播放,图像在灯箱打开,所有项均可下载或删除。管理员可用
GALLERY_RETENTION_DAYS 启用自动保留清理;调度器通过与手动删除相同的持久流程
删除窗口外媒体。未设置(默认)时保留到所有者删除。
存储和提供方式明确保守:
- 媒体加密存储在应用数据库(
DATA_DIR下),不是磁盘散文件。数据库与ENCRYPTION_KEY一起备份。 - API 响应绝不内嵌媒体负载;条目引用单项内容 URL。
- 提供内容必须符合按类型 MIME 白名单和存储类型,上限 200 MB,并带
X-Content-Type-Options: nosniff和用于隔离的Content-Security-Policy。
旧图像端点和图像生成面板继续正常工作,并写入同一图库。
速率限制
媒体 API 按客户端限速:
| 操作 | 限制 |
|---|---|
| 生成(视频、语音、声音) | 每分钟 10 个请求 |
| 视频任务轮询 | 每分钟 60 个请求 |
| 图库列表、内容和删除 | 每分钟 120 个请求 |
界面每 30 秒轮询远低于预算。
计量与隐私
媒体生成调用像其他出站提供商调用一样记入管理员用量分析:插件、 模型、状态、时长和单位数。提示词和生成内容绝不写入用量记录。媒体本身和视频任务提示词 只存在于用户自己的加密行中。
与聊天一样,所配提供商收到提示词并返回内容;其价格、保留和内容政策适用。