Mục đích
Lấp đầy “asset gap” khi user không có raw footage thật. Skill sinh ảnh AI từ prompt (text-to-image), kèm tùy chọn truyền 1+ ảnh tham chiếu để cố định nhân vật xuyên suốt video — modelfal-ai/nano-banana (Gemini 2.5 Flash Image) ưu tiên giữ identity của nhân vật trong reference khi sinh ảnh mới.
Ảnh sinh ra được lưu vào jobs/<id>/input/raw_assets/images/ai_generated/ → watcher asset-index tự pickup → pipeline tiếp tục như asset thật.
Khi nào được invoke
- Pipeline có job mà
raw_assets/rỗng / thiếu cảnh, user không định quay thêm. - Cần lock 1 nhân vật xuyên suốt video.
- User cung cấp prompt cụ thể từng scene và muốn render trước khi viết creative plan đầy đủ.
- Sau khi
$video-creative-plannerđánh dấu một sốscene_intents[].asset_requirementschứaai_generated/ai_image.
Cách sử dụng
CầnFAL_API_KEY trong .env ở repo-root (sign up tại fal.ai). Sau đó:
Chi phí ước tính:
nano-banana ~0.05/ảnh. Skill cảnh báo nếu sinh > 20 ảnh/lần.Model hỗ trợ
| Model | Use case | Reference image |
|---|---|---|
fal-ai/nano-banana (mặc định) | Character lock, edit ảnh có sẵn | ✅ multi-reference |
fal-ai/flux/dev | General text-to-image, vertical 9:16 | ❌ |
fal-ai/flux-pro | Chất lượng cao | ❌ |
fal-ai/flux-pulid | Face consistency từ 1 ảnh portrait | ✅ 1 reference |
--model fal-ai/flux/dev hoặc set model trong image_prompts.toml.