🔗 Biên Tập Quy Trình (Workflow)

Trình soạn thảo trực quan dạng node — kết nối các bước xử lý thành luồng tự động hóa tạo ảnh và video. Kéo thả, nối dây, nhấn RUN — hệ thống tự chạy hàng loạt.

⚠️Workflow Editor yêu cầu gói Plus hoặc Max để chạy. Gói Basic chỉ có thể xem và chỉnh sửa, không chạy được.

6.1 Giao Diện

Màn hình Workflow: canvas node nối các bước tạo ảnh và video
Canvas Workflow: mỗi node là một bước, nối lại thành chuỗi chạy tự động. Nhật ký chạy nằm ngay dưới canvas.

Thanh Công Cụ (Toolbar)

NútChức năng
💾 Save FlowLưu workflow hiện tại (mọi node + connection + giá trị widget) ra file .json
📂 Open FlowMở file .json đã lưu — canvas hiện tại bị xoá trước khi nạp
Auto ArrangeTự sắp xếp lại các node để dây nối không chồng nhau
🔍 Reset ViewReset zoom + pan để toàn bộ node nằm gọn trong vùng nhìn
🖼 GalleryBật/tắt panel ảnh ở dưới canvas (mặc định: bật)
🔒 Lock ResultsMặc định bật. Node đã chạy giữ kết quả → lần RUN sau skip node đó, downstream dùng cache → tiết kiệm credit khi tinh chỉnh phần đuôi
🗑 Clear AllXoá toàn bộ node + connection trên canvas
🧽 CacheXoá cache upload — dùng khi thay nội dung ảnh nhưng giữ tên cũ
STOPDừng ngay workflow đang chạy (chỉ active khi RUN)
HelpMở bảng trợ giúp / phím tắt của Workflow
RUN FLOWChạy toàn bộ workflow theo connection. Yêu cầu gói Plus/Max

Khu Vực Khác

VùngMô tả
CanvasKhu vực đặt node, kéo thả, kết nối. Chuột phải vùng trống → thêm node mới hoặc tạo nhóm
MinimapBản đồ thu nhỏ ở góc dưới phải — cập nhật theo thời gian thực
Log PanelNhật ký thực thi (🟢 Success / 🟡 Warning / 🔴 Error) + nút 🗑 Clear Log riêng

Thao Tác Vùng Vẽ

Thao tácHành động
Chuột phảiMenu thêm node mới hoặc tạo nhóm
Kéo thả nodeDi chuyển node trên canvas
Kéo từ socketTạo kết nối giữa các node. Thả vào vùng trống → mở menu Quick Add
Cuộn chuộtPhóng to / thu nhỏ canvas
Ctrl+Z / Ctrl+YHoàn tác / Làm lại
Ctrl+C / Ctrl+VSao chép / Dán node (giữ nguyên toàn bộ cấu hình)
DeleteXóa node hoặc kết nối đã chọn

6.2 Tổng Quan Các Loại Node

Workflow có 8 loại node (gốc trong node_executor.py):

NodeĐầu vàoĐầu raMô tả
💬 PromptPrompt1 dòng text. VD: a cat sleeping on a sofa
📝 Batch Prompt LoaderPrompt (loop)Nhiều prompt mỗi dòng 1 cái — node loop, mỗi prompt chạy 1 lần các node downstream
📎 Reference ImageImageChọn 1 ảnh từ disk làm reference. Hỗ trợ Nano Banana 2 / Pro
📦 Batch Image LoaderImage (loop)Chọn 1 thư mục ảnh — node loop qua từng ảnh
🖼 Generate ImagePrompt + Image refsImageTạo ảnh AI — chọn Model (Nano Banana 2 / Nano Banana Pro), tỷ lệ, seed, resolution (1K/2K/4K)
🎬 Video GeneratorPrompt + Image (theo mode)Video2 mode: Image-to-Video (Start + End image) hoặc Components (3 ảnh thành phần). Có upscale 720p/1080p/4K
🎨 Grok AIPrompt + Image (tùy mode)Image / Video4 chế độ Grok: T2I / I2I / T2V / I2V — tỷ lệ, thời lượng 6s/10s, độ phân giải 480p/720p
🎞 Extract FrameVideoImageLấy frame cuối của video → tiện cho chuỗi video (frame cuối video 1 = Start image video 2)
💡Kéo dây từ socket rồi thả vào vùng trống canvas → menu Quick Add chỉ hiện node tương thích với socket đó → chọn 1 cái → node mới được tạo và auto-connect. (Chuột phải vùng trống mở menu thêm node thường.)

6.3 Chi Tiết Từng Node

📦 Tải Ảnh Hàng Loạt (Batch Image Loader)

Node nguồn — tải ảnh từ thư mục để cấp cho các node xử lý phía sau.

Cấu hìnhChi tiết
Thư mụcNhấn "Browse" chọn thư mục ảnh. Hỗ trợ: PNG, JPG, JPEG, WebP, BMP
Sắp xếp6 chế độ: A-Z, Z-A, Mới nhất, Cũ nhất, Ngẫu nhiên, Khớp Prompt
Giới hạnTất cả hoặc số lượng tùy chỉnh (VD: chỉ lấy 10 ảnh đầu)
💡Chế độ Khớp Prompt (Match by Prompt): so tên file ảnh với nội dung prompt. Ảnh có tên trùng khớp nhất sẽ được ghép tự động. VD: ảnh sunset_beach.png sẽ ghép với prompt chứa "sunset beach".

📝 Tải Prompt Hàng Loạt (Batch Prompt Loader)

Node nguồn — cung cấp danh sách prompt cho các node tạo ảnh/video.

Cấu hìnhChi tiết
Danh sách PromptNhập trực tiếp trong ô text — mỗi dòng 1 prompt
Chế độTuần tự (lần lượt từ trên xuống) hoặc Ngẫu nhiên
Giới hạnTất cả hoặc số lượng tùy chỉnh

🖼 Tạo Ảnh (Generate Image)

Node xử lý chính — nhận prompt + ảnh tham chiếu, gọi API tạo ảnh AI.

Cấu hìnhChi tiết
Model2 model: Nano Banana 2, Nano Banana Pro
Tỷ lệNgang, Dọc, Vuông, v.v. (tùy model)
SeedNgẫu nhiên hoặc cố định (nhập số) — tái tạo cùng kết quả
Độ phân giải1K / 2K / 4K (chỉ cho model Nano Banana Pro)
PromptNhập trực tiếp hoặc nhận từ node Batch Prompt Loader qua kết nối

Đầu vào: Socket 1 = Ảnh tham chiếu (từ node Ref), Socket 2 = Prompt (từ node Batch Prompt). Đầu ra: Ảnh đã tạo (tự động hiển thị preview trên node).

🎬 Tạo Video (Generate Video)

Node tạo video AI — 2 chế độ chọn được (Image-to-Video / Components).

Cấu hìnhChi tiết
Chế độImage-to-Video (ảnh đầu + ảnh cuối) hoặc Components. Để trống ảnh đầu = Text-to-Video. Node này không có Omni Flash / giọng đọc
Tỷ lệNgang (16:9) / Dọc (9:16)
Độ phân giải720p / 1080p / 4K
PromptNhập trực tiếp hoặc nhận từ kết nối

🎨 Tạo Grok (Grok AI)

Node tạo ảnh/video bằng Grok — 4 chế độ: T2I (text→ảnh), I2I (ảnh→ảnh), T2V (text→video), I2V (ảnh→video). Cấu hình: tỷ lệ (9:16, 16:9, 1:1, 2:3, 3:2), thời lượng video 6s/10s, độ phân giải 480p/720p. Yêu cầu tài khoản Super Grok kết nối qua extension.

📎 Reference Image

Nhận 1 ảnh từ disk → cấp cho socket reference của node Generate Image / Video Generator. Chỉ hoạt động với model Nano Banana 2 / Nano Banana Pro.

🎞 Extract Frame

Lấy frame cuối của video → trả về dạng Image. Dùng để nối chuỗi video: frame cuối của video 1 → Start Image của video 2.

💬 Prompt (Single Line)

Node text 1 dòng — thay vì gõ trực tiếp prompt vào node Generate. Tách ra để dùng cùng 1 prompt cho nhiều node generate khác nhau.

ℹ️Workflow không có node "Save Image" hay "Reroute". Ảnh/video kết quả tự lưu vào thư mục output mặc định của app — không cần node Save riêng.

6.4 Nhóm Node (Groups)

  • Chuột phải → Tạo nhóm mới: Tạo khung nhóm trên canvas với tên tùy chỉnh
  • Kéo mép để thay đổi kích thước nhóm
  • Nhóm giúp tổ chức workflow phức tạp — gom các node liên quan lại
  • Node bên trong nhóm di chuyển cùng khi kéo nhóm

6.5 Thực Thi

Khi nhấn RUN FLOW, hệ thống thực hiện:

  1. Sắp xếp topo (topological sort) — xác định thứ tự chạy dựa trên kết nối. Phát hiện và cảnh báo nếu có vòng lặp (cycle)
  2. Đếm lặp — số vòng lặp = max(số ảnh trong Batch Image, số prompt trong Batch Prompt)
  3. Mỗi vòng lặp: cấp 1 ảnh + 1 prompt (xoay vòng nếu hết) → chạy toàn bộ node xử lý theo thứ tự → lưu kết quả
Trạng tháiBiểu tượngÝ nghĩa
IdleChưa chạy
Running🟡Đang xử lý
Success🟢Hoàn thành
Error🔴Lỗi — node con phía sau cũng sẽ bị lỗi theo
Skipped🟣Bỏ qua (đánh dấu thủ công) — dữ liệu truyền qua không xử lý
DisabledVô hiệu hóa — hoàn toàn không tham gia thực thi
ℹ️Mỗi vòng lặp chạy theo luồng dữ liệu: node con chỉ chạy khi mọi node cha đã xong. Các nhánh độc lập chạy song song (tối đa ~5 luồng cho mỗi tài khoản hợp lệ).

6.6 Ví Dụ Luồng Workflow

Ví dụ 1: Tạo ảnh hàng loạt (cơ bản)

Tạo ảnh từ danh sách prompt, không dùng ảnh tham chiếu:

📝 Batch Prompt → 🖼 Tạo Ảnh → 💾 Lưu Ảnh
  1. Thêm node 📝 Tải Prompt Hàng Loạt — nhập 10 prompt, chế độ Tuần tự
  2. Thêm node 🖼 Tạo Ảnh — chọn model Nano Banana 2, tỷ lệ Ngang
  3. Thêm node 💾 Lưu Ảnh — đặt tiền tố "nature", chọn thư mục lưu
  4. Nối: Prompt → socket Prompt của Tạo Ảnh → Ảnh đầu ra → Lưu Ảnh
  5. Nhấn RUN FLOW → hệ thống chạy 10 vòng, mỗi vòng 1 prompt

Ví dụ 2: Tạo ảnh với tham chiếu (nâng cao)

Sử dụng ảnh tham chiếu từ thư mục để style transfer:

📦 Batch Ảnh → 📎 Ref (Std) ↘
                              🖼 Tạo Ảnh → 💾 Lưu
📝 Batch Prompt ────────────↗
  1. Thêm 📦 Tải Ảnh Hàng Loạt — chọn thư mục chứa 5 ảnh style, sắp xếp A-Z
  2. Thêm 📎 Ảnh Tham Chiếu — danh mục: Style
  3. Thêm 📝 Tải Prompt Hàng Loạt — nhập 5 prompt mô tả
  4. Thêm 🖼 Tạo Ảnh — model Nano Banana 2, seed Ngẫu nhiên
  5. Nối: Batch Ảnh → Ref → socket Ref của Tạo Ảnh. Batch Prompt → socket Prompt
  6. Nhấn RUN FLOW → 5 vòng, mỗi vòng ghép 1 ảnh style + 1 prompt

Ví dụ 3: Khớp ảnh theo prompt tự động

Tên file ảnh tự động ghép với prompt chứa từ khóa trùng:

📦 Batch Ảnh (Khớp Prompt) → 📎 Ref ↘
                                      🖼 Tạo Ảnh → 💾 Lưu
📝 Batch Prompt ────────────────────↗
  1. 📦 Batch Ảnh — chọn thư mục chứa: cat.png, dog.png, sunset.png. Sắp xếp: Khớp Prompt
  2. 📝 Batch Prompt — nhập: "a cute cat sleeping", "a dog running on beach", "beautiful sunset over ocean"
  3. Khi chạy: prompt "a cute cat sleeping" → tự động ghép với cat.png (tên file khớp)
  4. Chiến lược khớp: so tên file (bỏ đuôi) với nội dung prompt, ưu tiên chuỗi khớp dài nhất

6.7 Lưu / Mở Luồng

Thao tácChi tiết
Save FlowLưu toàn bộ workflow thành file JSON — bao gồm node, kết nối, vị trí, cấu hình, nhóm
Open FlowMở file JSON đã lưu — khôi phục đầy đủ trạng thái
Luồng mặc địnhFile default.json tự động tải khi mở ứng dụng
Ctrl+S / Ctrl+OPhím tắt lưu / mở nhanh
Auto ArrangeSắp xếp lại vị trí node tự động cho gọn gàng
Tự động căn giữaWorkflow được căn giữa canvas sau khi mở file