Tạo video và audio
Libre WebUI 0.18.0 mở rộng generation: plugin khai báo video/audio; image, video, speech và sound đi vào gallery riêng mỗi user. Mọi user đã authenticate có thể dùng; read, content và delete bị scope chặt theo account.
Block capability
"capabilities": {
"image": { "endpoint": "...", "model_map": ["..."], "config": { ... } },
"tts": { "endpoint": "...", "model_map": ["..."], "config": { ... } },
"audio": { "endpoint": "...", "model_map": ["..."], "config": { ... } },
"video": { "endpoint": "...", "model_map": ["..."], "config": { ... } }
}
Mỗi block có endpoint, fallback model_map, models_endpoint tùy chọn và config. TTL discovery ở biến môi trường. Provider video có thể khai báo cancel_endpoint/cancel_method. tts tạo speech từ text; audio tạo sound từ prompt. OpenRouter (plugins/openrouter.json) là plugin built-in có video/audio.
Tạo media
Mở Imagine (/gallery) cho panel image, video và audio. Speech/sound synchronous; cancel dừng browser/request và không save result. ComfyUI cancel exact prompt ID qua /api/jobs/:promptId/cancel; Libre không interrupt không giới hạn.
TTS có thể clone voice. Reference audio và transcript được validate rồi gửi provider; chỉ speech kết quả vào gallery. Sau consent riêng, named voice profile có thể lưu encrypted. Profile gắn model/plugin/route và bị loại khỏi export chung vì là biometric. Backup database và ENCRYPTION_KEY.
Lifecycle video
POST /api/media/video/generate trả 202 với state pending, in_progress, completed/failed. Provider job ID lưu ngay. GET /api/media/video/jobs hiện tối đa 100 active handle của user. Durable job media.video.resume.v1 tiếp tục polling/download khi UI đóng.
Dừng chờ chỉ dừng stream hiện tại; Hủy job chỉ hiện nếu khai báo cancellation theo ID. Server download video tối đa 200 MB, không redirect. Record completed/failed dọn sau 30 ngày; terminal event media-ready/media-failed gửi qua inbox/webhook.
Edit và inpaint
Nếu model hỗ trợ edit, Edit image hiện. Vùng mask được vẽ lại, mask rỗng edit toàn image và hỗ trợ reference image. Field multipart OpenAI: edit_endpoint, supports_mask, max_reference_images, edit_mime_types, max_edit_image_bytes. MIME/signature và limit 10 MiB/image được validate; mask phải PNG. Provenance lưu source, số reference và mask use.
Gallery hợp nhất
Filter Tất cả, Image, Video, Audio; playback, lightbox, download, delete. GALLERY_RETENTION_DAYS bật cleanup theo lịch.
- Media lưu encrypted trong database tại
DATA_DIR; backup cùngENCRYPTION_KEY. - API dùng content URL, không inline data.
- Áp dụng allowed MIME, limit 200 MB,
X-Content-Type-Options: nosniffvàContent-Security-Policy.
Rate limit
| Operation | Limit |
|---|---|
| Tạo video/speech/sound | 10/phút |
| Polling video | 60/phút |
| List/content/delete | 120/phút |
Accounting và privacy
Analytics lưu plugin, model, state, duration và unit; prompt/content không log. Provider xử lý prompt/content; pricing, retention và content policy của provider áp dụng.