# thefrizzy1/the_frizzy1-workflows architecture

> Architecture diagram of the GitHub repository thefrizzy1/the_frizzy1-workflows, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-11). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/thefrizzy1/the_frizzy1-workflows
- Repository: https://github.com/thefrizzy1/the_frizzy1-workflows

## Overview

The repository is a catalog of low-VRAM ComfyUI workflows, plus a Python setup tool that helps users locate ComfyUI, check workflow requirements, fetch models, install custom nodes, and launch ComfyUI. The main user path is choosing a workflow, opening its ComfyUI graph, supplying inputs, and running it to produce media. Workflow categories and setup behavior are supported by the README and sampled source; most workflow internals were not sampled, so their execution details are not expanded here.

Main entry points: [`workflows`](https://github.com/thefrizzy1/the_frizzy1-workflows/tree/main/workflows) (ComfyUI graph), [`scripts/frizzy.py`](https://github.com/thefrizzy1/the_frizzy1-workflows/blob/main/scripts/frizzy.py) (Setup commands), [`workflows/wan2.2`](https://github.com/thefrizzy1/the_frizzy1-workflows/tree/main/workflows/wan2.2) (Video workflows), [`workflows/flux`](https://github.com/thefrizzy1/the_frizzy1-workflows/tree/main/workflows/flux) (Image workflows)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_catalog["Workflow Catalog"]
  node_video["Video workflows<br/>[wan2.2]"]
  node_image["Image workflows"]
  node_audio["Audio workflows"]
  node_three_d["3D workflows"]
  node_story["Story workflow"]
  node_swaps["Character swaps"]
  node_workflow_graph["ComfyUI graph"]
end

subgraph group_setup["Setup Tool"]
  node_setup_cli["Setup commands<br/>[frizzy.py]"]
  node_workflow_manifest["Model manifests"]
  node_model_check["Model scan<br/>[frizzy.py]"]
  node_node_install["Node installer<br/>[frizzy.py]"]
  node_launcher["ComfyUI launcher<br/>[frizzy.py]"]
end

subgraph group_authoring["Workflow Authoring"]
  node_scail_builder["SCAIL graph builder"]
  node_h3_builder["H3 graph builder<br/>[build_h3_swap.py]"]
end

node_user(("Workflow user"))
node_comfy["ComfyUI"]
node_result["Generated media"]
node_model_files["Model files"]
node_custom_nodes["Custom nodes"]

node_user -->|"chooses workflow"| node_video
node_user -->|"chooses workflow"| node_image
node_user -->|"chooses workflow"| node_audio
node_user -->|"chooses workflow"| node_three_d
node_user -->|"chooses workflow"| node_story
node_user -->|"chooses workflow"| node_swaps
node_video -->|"provides graphs"| node_workflow_graph
node_image -->|"provides graphs"| node_workflow_graph
node_audio -->|"provides graphs"| node_workflow_graph
node_three_d -->|"provides graphs"| node_workflow_graph
node_story -->|"provides graphs"| node_workflow_graph
node_swaps -->|"provides graphs"| node_workflow_graph
node_user -->|"opens and runs"| node_workflow_graph
node_workflow_graph -->|"runs in"| node_comfy
node_comfy -.->|"generates"| node_result
node_user -->|"runs setup"| node_setup_cli
node_setup_cli -->|"reads manifests"| node_workflow_manifest
node_setup_cli -->|"checks requirements"| node_model_check
node_model_check -->|"locates files"| node_model_files
node_setup_cli -->|"installs nodes"| node_node_install
node_node_install -->|"clones nodes"| node_custom_nodes
node_setup_cli -->|"can launch"| node_launcher
node_launcher -->|"starts process"| node_comfy
node_scail_builder -->|"builds graph"| node_workflow_graph
node_h3_builder -->|"builds graph"| node_workflow_graph

click node_video "https://github.com/thefrizzy1/the_frizzy1-workflows/tree/main/workflows/wan2.2"
click node_image "https://github.com/thefrizzy1/the_frizzy1-workflows/tree/main/workflows/flux"
click node_audio "https://github.com/thefrizzy1/the_frizzy1-workflows/tree/main/workflows/audio"
click node_three_d "https://github.com/thefrizzy1/the_frizzy1-workflows/tree/main/workflows/3d"
click node_story "https://github.com/thefrizzy1/the_frizzy1-workflows/tree/main/workflows/story"
click node_swaps "https://github.com/thefrizzy1/the_frizzy1-workflows/tree/main/workflows/scail"
click node_workflow_graph "https://github.com/thefrizzy1/the_frizzy1-workflows/tree/main/workflows"
click node_setup_cli "https://github.com/thefrizzy1/the_frizzy1-workflows/blob/main/scripts/frizzy.py"
click node_workflow_manifest "https://github.com/thefrizzy1/the_frizzy1-workflows/tree/main/workflows"
click node_model_check "https://github.com/thefrizzy1/the_frizzy1-workflows/blob/main/scripts/frizzy.py"
click node_node_install "https://github.com/thefrizzy1/the_frizzy1-workflows/blob/main/scripts/frizzy.py"
click node_launcher "https://github.com/thefrizzy1/the_frizzy1-workflows/blob/main/scripts/frizzy.py"
click node_scail_builder "https://github.com/thefrizzy1/the_frizzy1-workflows/blob/main/workflows/scail/scail2-character-swap-12gb/source/build_scail_swap.py"
click node_h3_builder "https://github.com/thefrizzy1/the_frizzy1-workflows/blob/main/workflows/minimax/h3-singularity-swap-12gb/source/build_h3_swap.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_video,node_image,node_audio,node_three_d,node_story,node_swaps,node_workflow_graph,node_user,node_comfy toneBlue
class node_setup_cli,node_workflow_manifest,node_model_check,node_node_install,node_launcher toneAmber
class node_scail_builder,node_h3_builder toneMint
class node_result,node_model_files,node_custom_nodes toneIndigo
```

## Components

### Workflow Catalog

- [Video workflows](https://github.com/thefrizzy1/the_frizzy1-workflows/tree/main/workflows/wan2.2): `workflows/wan2.2`
- [Image workflows](https://github.com/thefrizzy1/the_frizzy1-workflows/tree/main/workflows/flux): `workflows/flux`
- [Audio workflows](https://github.com/thefrizzy1/the_frizzy1-workflows/tree/main/workflows/audio): `workflows/audio`
- [3D workflows](https://github.com/thefrizzy1/the_frizzy1-workflows/tree/main/workflows/3d): `workflows/3d`
- [Story workflow](https://github.com/thefrizzy1/the_frizzy1-workflows/tree/main/workflows/story): `workflows/story`
- [Character swaps](https://github.com/thefrizzy1/the_frizzy1-workflows/tree/main/workflows/scail): `workflows/scail`
- [ComfyUI graph](https://github.com/thefrizzy1/the_frizzy1-workflows/tree/main/workflows): `workflows`

### Setup Tool

- [Setup commands](https://github.com/thefrizzy1/the_frizzy1-workflows/blob/main/scripts/frizzy.py): `scripts/frizzy.py`
- [Model manifests](https://github.com/thefrizzy1/the_frizzy1-workflows/tree/main/workflows): `workflows`
- [Model scan](https://github.com/thefrizzy1/the_frizzy1-workflows/blob/main/scripts/frizzy.py): `scripts/frizzy.py`
- [Node installer](https://github.com/thefrizzy1/the_frizzy1-workflows/blob/main/scripts/frizzy.py): `scripts/frizzy.py`
- [ComfyUI launcher](https://github.com/thefrizzy1/the_frizzy1-workflows/blob/main/scripts/frizzy.py): `scripts/frizzy.py`

### Workflow Authoring

- [SCAIL graph builder](https://github.com/thefrizzy1/the_frizzy1-workflows/blob/main/workflows/scail/scail2-character-swap-12gb/source/build_scail_swap.py): `workflows/scail/scail2-character-swap-12gb/source/build_scail_swap.py`
- [H3 graph builder](https://github.com/thefrizzy1/the_frizzy1-workflows/blob/main/workflows/minimax/h3-singularity-swap-12gb/source/build_h3_swap.py): `workflows/minimax/h3-singularity-swap-12gb/source/build_h3_swap.py`

### Other components

- **Workflow user**
- **ComfyUI**
- **Generated media**
- **Model files**
- **Custom nodes**

## Connections

- Workflow user → Video workflows: chooses workflow (evidence: `README.md`)
- Workflow user → Image workflows: chooses workflow (evidence: `README.md`)
- Workflow user → Audio workflows: chooses workflow (evidence: `README.md`)
- Workflow user → 3D workflows: chooses workflow (evidence: `README.md`)
- Workflow user → Story workflow: chooses workflow (evidence: `README.md`)
- Workflow user → Character swaps: chooses workflow (evidence: `README.md`)
- Video workflows → ComfyUI graph: provides graphs (evidence: `README.md`)
- Image workflows → ComfyUI graph: provides graphs (evidence: `README.md`)
- Audio workflows → ComfyUI graph: provides graphs (evidence: `README.md`)
- 3D workflows → ComfyUI graph: provides graphs (evidence: `README.md`)
- Story workflow → ComfyUI graph: provides graphs (evidence: `README.md`)
- Character swaps → ComfyUI graph: provides graphs (evidence: `README.md`)
- Workflow user → ComfyUI graph: opens and runs (evidence: `README.md`)
- ComfyUI graph → ComfyUI: runs in (evidence: `README.md`)
- ComfyUI → Generated media: generates
- Workflow user → Setup commands: runs setup (evidence: `scripts/frizzy.py`)
- Setup commands → Model manifests: reads manifests (evidence: `scripts/frizzy.py`)
- Setup commands → Model scan: checks requirements (evidence: `scripts/frizzy.py`)
- Model scan → Model files: locates files (evidence: `scripts/frizzy.py`)
- Setup commands → Node installer: installs nodes (evidence: `scripts/frizzy.py`)
- Node installer → Custom nodes: clones nodes (evidence: `scripts/frizzy.py`)
- Setup commands → ComfyUI launcher: can launch (evidence: `scripts/frizzy.py`)
- ComfyUI launcher → ComfyUI: starts process (evidence: `scripts/frizzy.py`)
- SCAIL graph builder → ComfyUI graph: builds graph (evidence: `workflows/scail/scail2-character-swap-12gb/source/build_scail_swap.py`)
- H3 graph builder → ComfyUI graph: builds graph (evidence: `workflows/minimax/h3-singularity-swap-12gb/source/build_h3_swap.py`)
