# comfy-org/workflow_templates architecture

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

- Interactive diagram: https://gitdiagram.com/comfy-org/workflow_templates
- Repository: https://github.com/comfy-org/workflow_templates

## Overview

This repository distributes official ComfyUI workflow templates and reusable subgraph blueprints, and provides a separate site for browsing and discovering workflows. A user discovers workflows through the hub’s search and filtering experience, then can follow a workflow detail link; the Python packages provide the template and blueprint distribution side. The README also describes media-specific template packages, JSON support, and the site’s internationalized, SEO-oriented content. Source excerpts are limited, so the graph omits uncertain internal wiring and does not imply that the site’s catalog is directly loaded from a particular package.

Main entry points: [`packages/meta/src/comfyui_workflow_templates/__init__.py`](https://github.com/comfy-org/workflow_templates/blob/main/packages/meta/src/comfyui_workflow_templates/__init__.py) (Meta package), [`site/src/components/hub/HubBrowse.vue`](https://github.com/comfy-org/workflow_templates/blob/main/site/src/components/hub/HubBrowse.vue) (Workflow hub), [`packages/core/src/comfyui_workflow_templates_core/loader.py`](https://github.com/comfy-org/workflow_templates/blob/main/packages/core/src/comfyui_workflow_templates_core/loader.py) (Manifest and loader), [`site/src/lib/catalog.ts`](https://github.com/comfy-org/workflow_templates/blob/main/site/src/lib/catalog.ts) (Catalog access)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_content["Workflow content"]
  node_templates["Workflow templates"]
  node_blueprints["Subgraph blueprints<br/>[__init__.py]"]
end

subgraph group_packages["Python distribution"]
  node_core["Manifest and loader<br/>[loader.py]"]
  node_meta["Meta package<br/>[__init__.py]"]
  node_jsonpkg["JSON package<br/>[__init__.py]"]
  node_mediaapi["API workflows<br/>[__init__.py]"]
  node_mediavideo["Video workflows<br/>[__init__.py]"]
  node_mediaimage["Image workflows<br/>[__init__.py]"]
  node_mediaother["Other workflows<br/>[__init__.py]"]
  node_assets["Media assets<br/>[__init__.py]"]
  node_assets2["Media assets 2<br/>[__init__.py]"]
end

subgraph group_discovery["Site discovery"]
  node_hub["Workflow hub<br/>[HubBrowse.vue]"]
  node_store["Hub state and filters<br/>[useHubStore.ts]"]
  node_search["Workflow search<br/>[search.ts]"]
end

subgraph group_sitecontent["Site content"]
  node_catalog["Catalog access<br/>[catalog.ts]"]
  node_index["Search index"]
  node_details["Workflow detail"]
  node_usecases["Use-case pages<br/>[use-cases.ts]"]
  node_i18n["Localization<br/>[index.ts]"]
end

node_user(("ComfyUI user"))
node_siteuser(("Site visitor"))
node_hubapi{{"Workflow hub API"}}

node_user -->|"loads templates"| node_core
node_templates -->|"provides content"| node_core
node_blueprints -->|"palette components"| node_user
node_meta -->|"depends on"| node_core
node_meta -->|"depends on"| node_jsonpkg
node_meta -->|"depends on"| node_mediaapi
node_meta -->|"depends on"| node_mediavideo
node_meta -->|"depends on"| node_mediaimage
node_meta -->|"depends on"| node_mediaother
node_meta -->|"depends on"| node_assets
node_meta -->|"depends on"| node_assets2
node_siteuser -->|"browses"| node_hub
node_hub -->|"reads and updates"| node_store
node_hub -->|"loads catalog"| node_catalog
node_hub -->|"searches"| node_search
node_search -->|"loads index"| node_index
node_hub -->|"opens workflow"| node_details
node_hubapi -.->|"supplies workflow data"| node_catalog
node_usecases -->|"selects workflows"| node_catalog
node_i18n -->|"localizes interface"| node_hub

click node_templates "https://github.com/comfy-org/workflow_templates/tree/main/packages"
click node_blueprints "https://github.com/comfy-org/workflow_templates/blob/main/packages/blueprints/src/comfyui_subgraph_blueprints/__init__.py"
click node_core "https://github.com/comfy-org/workflow_templates/blob/main/packages/core/src/comfyui_workflow_templates_core/loader.py"
click node_meta "https://github.com/comfy-org/workflow_templates/blob/main/packages/meta/src/comfyui_workflow_templates/__init__.py"
click node_jsonpkg "https://github.com/comfy-org/workflow_templates/blob/main/packages/json/src/comfyui_workflow_templates_json/__init__.py"
click node_mediaapi "https://github.com/comfy-org/workflow_templates/blob/main/packages/media_api/src/comfyui_workflow_templates_media_api/__init__.py"
click node_mediavideo "https://github.com/comfy-org/workflow_templates/blob/main/packages/media_video/src/comfyui_workflow_templates_media_video/__init__.py"
click node_mediaimage "https://github.com/comfy-org/workflow_templates/blob/main/packages/media_image/src/comfyui_workflow_templates_media_image/__init__.py"
click node_mediaother "https://github.com/comfy-org/workflow_templates/blob/main/packages/media_other/src/comfyui_workflow_templates_media_other/__init__.py"
click node_assets "https://github.com/comfy-org/workflow_templates/blob/main/packages/media_assets_01/src/comfyui_workflow_templates_media_assets_01/__init__.py"
click node_assets2 "https://github.com/comfy-org/workflow_templates/blob/main/packages/media_assets_02/src/comfyui_workflow_templates_media_assets_02/__init__.py"
click node_hub "https://github.com/comfy-org/workflow_templates/blob/main/site/src/components/hub/HubBrowse.vue"
click node_store "https://github.com/comfy-org/workflow_templates/blob/main/site/src/composables/useHubStore.ts"
click node_search "https://github.com/comfy-org/workflow_templates/blob/main/site/src/lib/search.ts"
click node_catalog "https://github.com/comfy-org/workflow_templates/blob/main/site/src/lib/catalog.ts"
click node_details "https://github.com/comfy-org/workflow_templates/blob/main/site/src/components/template-detail/ApiPayloadPanel.vue"
click node_usecases "https://github.com/comfy-org/workflow_templates/blob/main/site/src/lib/workflow-pages/use-cases.ts"
click node_i18n "https://github.com/comfy-org/workflow_templates/blob/main/site/src/i18n/index.ts"

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_templates,node_blueprints,node_user toneBlue
class node_core,node_meta,node_jsonpkg,node_mediaapi,node_mediavideo,node_mediaimage,node_mediaother,node_assets,node_assets2 toneAmber
class node_hub,node_store,node_search,node_hubapi toneMint
class node_catalog,node_index,node_details,node_usecases,node_i18n toneRose
class node_siteuser toneIndigo
```

## Components

### Workflow content

- [Workflow templates](https://github.com/comfy-org/workflow_templates/tree/main/packages): `packages`
- [Subgraph blueprints](https://github.com/comfy-org/workflow_templates/blob/main/packages/blueprints/src/comfyui_subgraph_blueprints/__init__.py): `packages/blueprints/src/comfyui_subgraph_blueprints/__init__.py`

### Python distribution

- [Manifest and loader](https://github.com/comfy-org/workflow_templates/blob/main/packages/core/src/comfyui_workflow_templates_core/loader.py): `packages/core/src/comfyui_workflow_templates_core/loader.py`
- [Meta package](https://github.com/comfy-org/workflow_templates/blob/main/packages/meta/src/comfyui_workflow_templates/__init__.py): `packages/meta/src/comfyui_workflow_templates/__init__.py`
- [JSON package](https://github.com/comfy-org/workflow_templates/blob/main/packages/json/src/comfyui_workflow_templates_json/__init__.py): `packages/json/src/comfyui_workflow_templates_json/__init__.py`
- [API workflows](https://github.com/comfy-org/workflow_templates/blob/main/packages/media_api/src/comfyui_workflow_templates_media_api/__init__.py): `packages/media_api/src/comfyui_workflow_templates_media_api/__init__.py`
- [Video workflows](https://github.com/comfy-org/workflow_templates/blob/main/packages/media_video/src/comfyui_workflow_templates_media_video/__init__.py): `packages/media_video/src/comfyui_workflow_templates_media_video/__init__.py`
- [Image workflows](https://github.com/comfy-org/workflow_templates/blob/main/packages/media_image/src/comfyui_workflow_templates_media_image/__init__.py): `packages/media_image/src/comfyui_workflow_templates_media_image/__init__.py`
- [Other workflows](https://github.com/comfy-org/workflow_templates/blob/main/packages/media_other/src/comfyui_workflow_templates_media_other/__init__.py): `packages/media_other/src/comfyui_workflow_templates_media_other/__init__.py`
- [Media assets](https://github.com/comfy-org/workflow_templates/blob/main/packages/media_assets_01/src/comfyui_workflow_templates_media_assets_01/__init__.py): `packages/media_assets_01/src/comfyui_workflow_templates_media_assets_01/__init__.py`
- [Media assets 2](https://github.com/comfy-org/workflow_templates/blob/main/packages/media_assets_02/src/comfyui_workflow_templates_media_assets_02/__init__.py): `packages/media_assets_02/src/comfyui_workflow_templates_media_assets_02/__init__.py`

### Site discovery

- [Workflow hub](https://github.com/comfy-org/workflow_templates/blob/main/site/src/components/hub/HubBrowse.vue): `site/src/components/hub/HubBrowse.vue`
- [Hub state and filters](https://github.com/comfy-org/workflow_templates/blob/main/site/src/composables/useHubStore.ts): `site/src/composables/useHubStore.ts`
- [Workflow search](https://github.com/comfy-org/workflow_templates/blob/main/site/src/lib/search.ts): `site/src/lib/search.ts`

### Site content

- [Catalog access](https://github.com/comfy-org/workflow_templates/blob/main/site/src/lib/catalog.ts): `site/src/lib/catalog.ts`
- **Search index**
- [Workflow detail](https://github.com/comfy-org/workflow_templates/blob/main/site/src/components/template-detail/ApiPayloadPanel.vue): `site/src/components/template-detail/ApiPayloadPanel.vue`
- [Use-case pages](https://github.com/comfy-org/workflow_templates/blob/main/site/src/lib/workflow-pages/use-cases.ts): `site/src/lib/workflow-pages/use-cases.ts`
- [Localization](https://github.com/comfy-org/workflow_templates/blob/main/site/src/i18n/index.ts): `site/src/i18n/index.ts`

### Other components

- **ComfyUI user**
- **Site visitor**
- **Workflow hub API**

## Connections

- ComfyUI user → Manifest and loader: loads templates
- Workflow templates → Manifest and loader: provides content
- Subgraph blueprints → ComfyUI user: palette components
- Meta package → Manifest and loader: depends on
- Meta package → JSON package: depends on
- Meta package → API workflows: depends on
- Meta package → Video workflows: depends on
- Meta package → Image workflows: depends on
- Meta package → Other workflows: depends on
- Meta package → Media assets: depends on
- Meta package → Media assets 2: depends on
- Site visitor → Workflow hub: browses
- Workflow hub → Hub state and filters: reads and updates
- Workflow hub → Catalog access: loads catalog
- Workflow hub → Workflow search: searches
- Workflow search → Search index: loads index
- Workflow hub → Workflow detail: opens workflow
- Workflow hub API → Catalog access: supplies workflow data
- Use-case pages → Catalog access: selects workflows
- Localization → Workflow hub: localizes interface
