🔗 Workflow Editor

Visual node-based editor — connect processing steps into an automated image and video generation pipeline. Drag, connect, press RUN — the system handles batch processing automatically.

⚠️Workflow Editor requires Plus or Max plan to run. Basic plan can only view and edit, not execute.

6.1 Interface

Workflow screen: a node canvas chaining image and video steps
The Workflow canvas: each node is one step, wired into an automated chain. The run log sits right below the canvas.

Toolbar

ButtonFunction
💾 Save FlowSave the current workflow (every node + connection + widget value) to a .json file
📂 Open FlowLoad a saved .json — clears the current canvas first
Auto ArrangeLay out nodes so connections don't overlap
🔍 Reset ViewReset zoom + pan so all nodes fit in the visible area
🖼 GalleryToggle the image gallery panel below the canvas (default: on)
🔒 Lock ResultsOn by default. Finished nodes keep their result → next RUN skips them, downstream nodes reuse cache → saves credits when tweaking the tail of a flow
🗑 Clear AllWipe every node + connection from the canvas
🧽 CacheClear the upload cache — useful when you replaced an image but kept the same filename
STOPStop the running workflow immediately (only active during RUN)
HelpOpen the Workflow help / shortcuts panel
RUN FLOWRun the entire workflow following connections. Requires Plus / Max plan

Other Areas

AreaDescription
CanvasNode placement, drag & drop, connections. Right-click empty space → add node or create group
MinimapBottom-right overview, updates in real-time
Log PanelExecution logs (🟢 Success / 🟡 Warning / 🔴 Error) + dedicated 🗑 Clear Log button

Canvas Interactions

ActionEffect
Right-clickAdd new node or create group menu
Drag nodeMove node on canvas
Drag from socketCreate connection between nodes. Drop on empty area → opens Quick Add menu
Scroll wheelZoom in / out
Ctrl+Z / Ctrl+YUndo / Redo
Ctrl+C / Ctrl+VCopy / Paste nodes (preserves all configuration)
DeleteRemove selected node or connection

6.2 Node Types Overview

Workflow has 8 node types (canonical set in node_executor.py):

NodeInputOutputDescription
💬 PromptPromptSingle line of text. e.g., a cat sleeping on a sofa
📝 Batch Prompt LoaderPrompt (loop)Many prompts, one per line — node loops, each prompt triggers one downstream run
📎 Reference ImageImagePick an image from disk to use as reference. Supported by Nano Banana 2 / Pro
📦 Batch Image LoaderImage (loop)Pick a folder — node loops over each image
🖼 Generate ImagePrompt + Image refsImageAI image generation — Model (Nano Banana 2 / Nano Banana Pro), aspect ratio, seed, resolution (1K/2K/4K)
🎬 Video GeneratorPrompt + Image (per mode)Video2 modes: Image-to-Video (Start + End image) or Components (3 component images). Has 720p/1080p/4K upscale
🎨 Grok AIPrompt + Image (per mode)Image / Video4 Grok modes: T2I / I2I / T2V / I2V — aspect ratio, 6s/10s length, 480p/720p resolution
🎞 Extract FrameVideoImageExtract the last frame of a video → handy for chaining videos (last frame of video 1 = Start image of video 2)
💡Drag a wire from a socket and drop it on the empty canvas → the Quick Add menu only shows nodes compatible with that socket → pick one → it is created and auto-connected. (Right-clicking empty canvas opens the general add-node menu.)

6.3 Node Details

📦 Batch Image Loader

Source node — loads images from a folder to feed downstream processing nodes.

SettingDetails
FolderClick "Browse" to select image folder. Supports: PNG, JPG, JPEG, WebP, BMP
Sort Mode6 modes: A-Z, Z-A, Newest, Oldest, Random, Match Prompt
LimitAll or custom count (e.g., first 10 images only)
💡Match Prompt mode compares image filenames against prompt text. The image with the longest matching filename is paired automatically. E.g., sunset_beach.png will match a prompt containing "sunset beach".

📝 Batch Prompt Loader

Source node — provides a list of prompts for image/video generation nodes.

SettingDetails
Prompt ListType directly in the text area — one prompt per line
ModeSequential (top to bottom in order) or Random
LimitAll or custom count

🖼 Generate Image

Core processing node — receives prompt + reference images, calls AI API to generate images.

SettingDetails
Model2 models: Nano Banana 2, Nano Banana Pro
RatioLandscape, Portrait, Square, etc. (varies by model)
SeedRandom or fixed (enter number) — reproduce identical results
Resolution1K / 2K / 4K (Nano Banana Pro only)
PromptType directly or receive from connected Batch Prompt Loader node

Inputs: Socket 1 = Reference image (from Ref node), Socket 2 = Prompt (from Batch Prompt). Output: Generated image (auto-previews on node).

🎬 Generate Video

AI video generation node — 2 selectable modes (Image-to-Video / Components).

SettingDetails
ModeImage-to-Video (start + end image) or Components. Leave the start image empty = Text-to-Video. This node has no Omni Flash / voice
RatioLandscape (16:9) / Portrait (9:16)
Resolution720p / 1080p / 4K
PromptType directly or receive from connection

🎨 Generate Grok (Grok AI)

Generates images/videos with Grok — 4 modes: T2I (text→image), I2I (image→image), T2V (text→video), I2V (image→video). Config: aspect ratio (9:16, 16:9, 1:1, 2:3, 3:2), video length 6s/10s, resolution 480p/720p. Requires a connected Super Grok account.

📎 Reference Image

Pick a single image from disk → feeds the reference socket of Generate Image / Video Generator. Only works with Nano Banana 2 / Nano Banana Pro models.

🎞 Extract Frame

Pulls the last frame of a video out as an Image. Used to chain videos: last frame of video 1 → Start Image of video 2.

💬 Prompt (Single Line)

Single-line text node — instead of typing a prompt directly into a Generate node. Useful when the same prompt feeds multiple Generate nodes.

ℹ️There is no "Save Image" or "Reroute" node in Workflow. Generated images/videos are auto-saved to the app's default output folder — no separate Save node needed.

6.4 Node Groups

  • Right-click → New Group: Create a named grouping frame on the canvas
  • Drag edges to resize groups
  • Groups help organize complex workflows — cluster related nodes together
  • Nodes inside a group move together when dragging the group

6.5 Execution

When pressing RUN FLOW, the system performs:

  1. Topological sort — determines execution order based on connections. Detects and warns about cycles
  2. Iteration count — number of loops = max(images in Batch Image, prompts in Batch Prompt)
  3. Each iteration: feeds 1 image + 1 prompt (rotates if exhausted) → runs all processing nodes in order → saves results
StateIconMeaning
IdleNot yet run
Running🟡Processing
Success🟢Completed
Error🔴Failed — downstream nodes will also fail
Skipped🟣Skipped (manually flagged) — data passes through without processing
DisabledDisabled — completely excluded from execution
ℹ️Each iteration runs as a dataflow: a node runs only once all its parents finish. Independent branches run in parallel (up to ~5 threads per valid account).

6.6 Workflow Examples

Example 1: Batch image generation (basic)

Generate images from a prompt list, no reference images:

📝 Batch Prompt → 🖼 Generate Image → 💾 Save Image
  1. Add 📝 Batch Prompt Loader — enter 10 prompts, Sequential mode
  2. Add 🖼 Generate Image — select Nano Banana 2, Landscape ratio
  3. Add 💾 Save Image — set prefix "nature", choose save folder
  4. Connect: Prompt → Generate Image prompt socket → output → Save Image
  5. Press RUN FLOW → system runs 10 iterations, one prompt each

Example 2: Image generation with references (advanced)

Use reference images from a folder for style transfer:

📦 Batch Images → 📎 Ref (Std) ↘
                                 🖼 Generate Image → 💾 Save
📝 Batch Prompt ───────────────↗
  1. Add 📦 Batch Image Loader — select folder with 5 style images, sort A-Z
  2. Add 📎 Reference Image — category: Style
  3. Add 📝 Batch Prompt Loader — enter 5 matching prompts
  4. Add 🖼 Generate Image — Nano Banana 2 model, Random seed
  5. Connect: Batch Images → Ref → Generate Image ref socket. Batch Prompt → prompt socket
  6. Press RUN FLOW → 5 iterations, each pairs 1 style image + 1 prompt

Example 3: Auto-match images to prompts

Image filenames are automatically paired with prompts containing matching keywords:

📦 Batch Images (Match Prompt) → 📎 Ref ↘
                                          🖼 Generate → 💾 Save
📝 Batch Prompt ────────────────────────↗
  1. 📦 Batch Images — folder contains: cat.png, dog.png, sunset.png. Sort: Match Prompt
  2. 📝 Batch Prompt — enter: "a cute cat sleeping", "a dog running on beach", "beautiful sunset over ocean"
  3. When running: prompt "a cute cat sleeping" → auto-pairs with cat.png (filename matches)
  4. Matching strategy: compares filename (without extension) against prompt text, prioritizes longest match

6.7 Save / Load

ActionDetails
Save FlowSave entire workflow as JSON file — includes nodes, connections, positions, config, groups
Open FlowOpen saved JSON file — fully restores state
Default Workflowdefault.json auto-loads when app starts
Ctrl+S / Ctrl+OQuick save / open shortcuts
Auto ArrangeAutomatically reorganize node positions for clean layout
Auto-centerWorkflow auto-centers on canvas after loading