Custom Workflows
Add your own AI workflows to FlashBoards

FlashBoards supports custom workflows for both local ComfyUI and RunningHub cloud execution. Drop workflow files into a designated folder and they appear automatically in the Models modal with a cyan "Custom" badge.

Requires FlashBoards 1.2.0 or later. Custom local ComfyUI execution is currently in beta.

Overview

Custom workflows let you extend FlashBoards with your own AI pipelines. The system uses a file-based approach — place workflow files in a specific folder and FlashBoards automatically detects and registers them.

Local Workflows

Pure ComfyUI JSON files that run on your local ComfyUI instance

Cloud Workflows

RunningHub configs that execute published workflows in the cloud

Hybrid Mode

Pair both file types to enable cloud + local execution for the same workflow

Custom workflows appear with a cyan "Custom" badge in the Models modal. Local-only workflows show in the Models tab, while cloud workflows appear in the Workflows tab.

File Structure

All custom workflow files go in the customWorkflows folder inside your FlashBoards data directory.

Folder Location

The custom workflows folder is located at:

refsLibrary/customWorkflows/

Open this folder directly from FlashBoards Settings → AI Generation → "Open Custom Workflows Folder".

refsLibrary/
├── custom-workflows-meta.json
└── customWorkflows/
├── my-workflow.json
├── face-swap.runninghub.json
├── hybrid-example.json
└── hybrid-example.runninghub.json

File Types

  • .json — Pure ComfyUI workflow (API or LiteGraph format) for local execution
  • .runninghub.json — RunningHub cloud workflow configuration
  • custom-workflows-meta.json — Optional metadata file for custom names and descriptions

Local ComfyUI Workflows

Export any ComfyUI workflow and drop it into the custom workflows folder. FlashBoards automatically detects inputs (prompts, images, videos) and makes them available in the AI panel.

Adding a Local Workflow

  1. 1. Export your workflow from ComfyUI using "Save (API Format)" or the regular Save button
  2. 2. Copy the .json file to refsLibrary/customWorkflows/
  3. 3. Restart FlashBoards or reopen the Models modal
  4. 4. Find your workflow in the Models tab with a cyan "Custom" badge

The workflow file stays 100% ComfyUI-compatible. You can re-import it into ComfyUI without modification.

Supported Formats
  • LiteGraph format (standard Save)
  • API format (Save API Format)
Auto-Detected Inputs
  • CLIPTextEncode → text/prompt
  • LoadImage → image input
  • LoadImageMask → mask input
  • LoadVideo / VHS_LoadVideo → video
  • LoadAudio / VHS_LoadAudio → audio

Requirements

  • ComfyUI must be running locally and connected to FlashBoards
  • All custom nodes used in the workflow must be installed in your ComfyUI
  • Only standard input types are supported (image, video, audio, text, mask)

RunningHub Cloud Workflows

Register any published RunningHub workflow by creating a configuration file. You'll need the workflow's webappId and slot definitions.

Configuration File Structure

Create a .runninghub.json file with these required fields:

  • id — Unique identifier for FlashBoards
  • name — Display name in the UI
  • webappId — RunningHub workflow ID
  • outputType — "image" or "video"
  • slots — Input slot definitions
{
  "id": "my-face-swap",
  "name": "My Face Swap",
  "webappId": "1938327236527456258",
  "description": "Custom face swap workflow",
  "outputType": "video",
  "instanceType": "plus",
  "estimatedDurationSeconds": 120,
  "slots": [
    {
      "nodeId": "123",
      "fieldName": "image",
      "type": "image",
      "label": "Face",
      "aiInputIndex": 1,
      "required": true
    },
    {
      "nodeId": "456",
      "fieldName": "video",
      "type": "video",
      "label": "Target Video",
      "aiInputIndex": 2,
      "required": true
    }
  ]
}
Finding the webappId

The webappId is the numeric ID in RunningHub workflow URLs. For example, in runninghub.ai/ai-detail/1938327236527456258, the webappId is 1938327236527456258.

Slot Configuration

Each slot defines an input that FlashBoards exposes in the AI panel:

  • nodeId — The node ID in the RunningHub workflow
  • fieldName — The input field name on that node
  • type — "image", "video", "audio", "text", or "positions"
  • label — Display name in the checklist
  • aiInputIndex — Order in the input list (1-based)
  • required — Whether this input is mandatory

Optional Fields

  • description — Brief description shown in the workflow card
  • instanceType — RunningHub GPU tier ("basic", "plus", "pro")
  • estimatedDurationSeconds — Estimated job duration for progress display

RunningHub can only execute published workflows by webappId. You cannot upload arbitrary ComfyUI JSON to the cloud — the workflow must already exist on RunningHub.

Hybrid Mode

Enable both cloud and local execution for the same workflow by creating two files with matching base names. FlashBoards auto-detects the pair and shows both generate buttons.

How Hybrid Mode Works

  • Create both files with the same base name (e.g., face-swap.json and face-swap.runninghub.json)
  • FlashBoards detects the pair automatically
  • The workflow shows two generate buttons: local (monitor icon) and cloud
  • Choose execution mode based on speed, cost, or availability

Hybrid mode is useful when you want the flexibility to run locally during development or on cloud for production-quality results.

customWorkflows/
├── face-swap.json
    ↑ ComfyUI workflow for local
└── face-swap.runninghub.json
    ↑ RunningHub config for cloud

Workflow Metadata

Add custom names and descriptions to local workflows using the optional metadata file. This keeps your ComfyUI workflows pure while providing friendly display names in FlashBoards.

Metadata File

Create custom-workflows-meta.json in therefsLibrary folder (parent of customWorkflows).

Keys match workflow filenames without the .json extension. Workflows without metadata entries use the filename as the display name.

{
  "flux-schnell": {
    "name": "Flux Schnell Text to Image",
    "description": "Ultra-fast 4-step generation",
    "outputType": "image",
    "tags": ["flux", "fast"]
  },
  "face-restore": {
    "name": "Face Restoration",
    "description": "Restore and enhance faces",
    "outputType": "image"
  }
}

Available Metadata Fields

  • name — Display name in the Models modal
  • description — Brief description shown below the name
  • outputType — "image" or "video" (affects capability badges)
  • tags — Array of tags for filtering (optional)

Tips & Troubleshooting

Best Practices
  • Use descriptive filenames — they become default display names
  • Test local workflows in ComfyUI first before adding to FlashBoards
  • Keep backup copies of your workflow files outside the customWorkflows folder
  • Use the metadata file to add friendly names without modifying workflow JSON
  • For RunningHub workflows, double-check slot nodeIds and fieldNames match the workflow

Common Issues

  • Workflow not appearing? Restart FlashBoards or reopen the Models modal
  • Invalid JSON will be skipped — check the console for error messages
  • ID collisions with built-in workflows are rejected — use unique IDs
  • Missing custom nodes in ComfyUI will cause local execution to fail
  • RunningHub workflows require a valid API token and published webappId

Validation

FlashBoards validates each workflow file on load:

  • Required fields are checked (id, name, webappId for cloud workflows)
  • ID uniqueness is enforced against the built-in registry
  • Invalid files are skipped with a console warning — other workflows still load
  • Slot types are validated for local workflow eligibility
Next Steps

Return to the AI workflows guide to learn about the generation queue and input checklist, or check the ComfyUI setup guide to configure local workflow execution.