Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
132 commits
Select commit Hold shift + click to select a range
92f3cb0
Fix/styling layout misc (#683)
simula-r Mar 13, 2026
ff47e92
feat(site): add '✦ Get Free Credits' subline to cloud CTA buttons (#680)
christian-byrne Mar 13, 2026
02cfc4e
Update templates and fix issues (#684)
comfyui-wiki Mar 14, 2026
90013f7
fix: make '+X more' filter buttons expand to show all options (#686)
christian-byrne Mar 15, 2026
0119d28
Add creator: sferro21 (#688)
comfyui-wiki Mar 16, 2026
c4032ab
Update templates: product ad (#689)
comfyui-wiki Mar 16, 2026
115f615
Update LTX-2.3 templates & hide reve templates (#690)
comfyui-wiki Mar 16, 2026
d423500
0.9.22 (#691)
comfyui-wiki Mar 16, 2026
27bc0e6
Hide kv workflow (#693)
comfyui-wiki Mar 16, 2026
c972e1c
Fix template mode issue (#694)
comfyui-wiki Mar 16, 2026
3c25c4b
Reve templates and template thumbnails update (#696)
comfyui-wiki Mar 17, 2026
9882bfa
update-usage (#697)
comfyui-wiki Mar 17, 2026
26d0fb4
Bump version to 0.9.25 (#698)
comfyui-wiki Mar 17, 2026
49c9b92
Hide KV template for Cloud (#699)
comfyui-wiki Mar 17, 2026
b816dd4
Bump version (#700)
comfyui-wiki Mar 17, 2026
f56fa55
Add thumbnail data (#702)
comfyui-wiki Mar 17, 2026
3599633
Add thumbnails (#703)
comfyui-wiki Mar 17, 2026
e4bbe5e
feat: enhance template detail page with high-res images, video suppor…
comfyui-wiki Mar 18, 2026
2a8603b
Fixe template issues (#706)
comfyui-wiki Mar 18, 2026
6e1a5b7
Bump version to 0.9.27 (#709)
comfyui-wiki Mar 18, 2026
bf23f0d
Update template (#710)
comfyui-wiki Mar 18, 2026
7e0d37e
Bump version to 0.9.28 (#711)
comfyui-wiki Mar 18, 2026
0128113
Add output (#712)
comfyui-wiki Mar 18, 2026
2544435
feat(site): dynamic OG image generation for Twitter/social cards (#708)
dante01yoon Mar 19, 2026
e7f9567
fix(site): move OG image paths under routed prefixes (#714)
dante01yoon Mar 19, 2026
2eb719d
fix(site): move OG paths under /workflows/ and fix WebP crash (#716)
dante01yoon Mar 19, 2026
43fdbd1
New template and thumbnail update (#717)
comfyui-wiki Mar 21, 2026
94e3fb1
Bump version (#718)<<<<<<<<<<<<
comfyui-wiki Mar 22, 2026
390eb63
fix mjm 3d template issue (#719)
comfyui-wiki Mar 22, 2026
3a8cf9b
0.9.30 (#720)
comfyui-wiki Mar 22, 2026
2581a46
feat(site): add thumbnail variants to hub workflow cards (#721)
comfyui-wiki Mar 22, 2026
652ab1b
add full size output (#722)
comfyui-wiki Mar 22, 2026
1e272b5
Update templates from new-getting-started-templates (#724)
comfyui-wiki Mar 23, 2026
8206fc1
New templates (#725)
comfyui-wiki Mar 23, 2026
ada248f
Bump version (#726)
comfyui-wiki Mar 23, 2026
9b12d05
Update template to 0.9.32 (#727)
comfyui-wiki Mar 23, 2026
083db00
Bump version (#728)
comfyui-wiki Mar 23, 2026
5213dcc
0.9.34 (#729)
comfyui-wiki Mar 23, 2026
e11ba5e
Add package size check to version-check workflow (#730)
comfyui-wiki Mar 24, 2026
95673d8
feat: exclude cloud-only templates from pip package distributions (#731)
comfyui-wiki Mar 24, 2026
266363e
Bump version (#732)
comfyui-wiki Mar 24, 2026
5c59789
ci: gate deploy-site after PyPI with repository variable (#733)
comfyui-wiki Mar 24, 2026
dbb5378
feat(site): add hub API client for future migration (#685)
dante01yoon Mar 25, 2026
4e4396e
ci: fix hub API URL for production deploy (#737)
dante01yoon Mar 25, 2026
8d897bf
Fix cloud release issues (#738)
comfyui-wiki Mar 25, 2026
a76589d
0.9.37 (#739)
comfyui-wiki Mar 25, 2026
ac042a1
[CI] Add preview cron workflow for periodic rebuilds for test environ…
dante01yoon Mar 26, 2026
235688a
Hub site preview: env-aware deploys, canonical downloads, and Cloud C…
dante01yoon Mar 26, 2026
e77c217
Add new template (#744)
comfyui-wiki Mar 26, 2026
4c1ab39
0.9.38 (#745)
comfyui-wiki Mar 26, 2026
7beed5d
Fix template issues and bump version (#746)
comfyui-wiki Mar 27, 2026
472357c
Fix preview cron: read VERCEL_PREVIEW_ALIAS from secrets (#743)
dante01yoon Mar 27, 2026
88ca265
Add workflow status filtering with two deployment environments (#747)
dante01yoon Mar 28, 2026
cade588
fix(site): restore gtag arguments object to fix GA4 tracking (#751)
christian-byrne Mar 29, 2026
9734780
fix: reduce CDN cache TTL and fix hub API serialization (usage, isApp…
dante01yoon Mar 29, 2026
69cdaaf
fix: add explicit max-age=0 to prevent browser caching stale HTML (#752)
dante01yoon Mar 29, 2026
f100d62
Template update and issue fixes (#749)
comfyui-wiki Mar 31, 2026
ea60488
Bump version to 0.9.40 (#755)
comfyui-wiki Mar 31, 2026
cf19799
Update templates from fix-issue (#756)
comfyui-wiki Apr 1, 2026
7a4dd34
Bump version (#757)
comfyui-wiki Apr 1, 2026
06937a1
Fix template issues and add new templates (#759)
comfyui-wiki Apr 3, 2026
454cb94
Bump template to 0.9.43 (#761)
comfyui-wiki Apr 3, 2026
9762550
Ltx23 issue fix (#763)
comfyui-wiki Apr 5, 2026
c90c0e3
Hide templates that are not available on Cloud (#764)
comfyui-wiki Apr 5, 2026
8570ec2
Bump template to 0.9.44 (#765)
comfyui-wiki Apr 5, 2026
a296f66
fix(ci): remove secrets from if expressions in preview-cron (#748)
dante01yoon Apr 6, 2026
56f89b3
Update wan2.2 t2v workflow (#771)
comfyui-wiki Apr 8, 2026
949ec1e
New templates (#770)
comfyui-wiki Apr 8, 2026
ed86b44
Correct creator info (#772)
comfyui-wiki Apr 8, 2026
50b8618
fix(site): make tag pills horizontally scrollable (#767)
dante01yoon Apr 9, 2026
dd3d342
Template update (#776)
comfyui-wiki Apr 10, 2026
5b64a4d
Bump version to 0.9.45 (#777)
comfyui-wiki Apr 10, 2026
7b1d959
feat(site): Cloudflare video thumbnail fallback for autoplay failure …
dante01yoon Apr 11, 2026
2ed17d0
Update for cloud release (#778)
comfyui-wiki Apr 11, 2026
207cb97
0.9.46 (#779)
comfyui-wiki Apr 11, 2026
891e658
fix(ci): reduce preview cron to 45min to avoid 429 rate limits (#775)
dante01yoon Apr 11, 2026
0a305a3
Seedance2.0 template (#782)
comfyui-wiki Apr 13, 2026
6f3ecf1
Bump version to 0.9.47 (#783)
comfyui-wiki Apr 13, 2026
8ed70a6
Template Update (#780)
comfyui-wiki Apr 13, 2026
8133bd5
Update template for cloud release (#784)
comfyui-wiki Apr 13, 2026
388bcdb
Update template to 0.9.49 (#785)
comfyui-wiki Apr 13, 2026
ad27b16
Template update (#781)
comfyui-wiki Apr 14, 2026
1f41518
Bump version (#788)
comfyui-wiki Apr 14, 2026
1494848
Fix template issues (#790)
comfyui-wiki Apr 14, 2026
59723d7
Bump version to 0.9.52 (#791)
comfyui-wiki Apr 14, 2026
94d6740
Ernie Image template update (#793)
comfyui-wiki Apr 15, 2026
ea31022
Bump version to 0.9.54 (#794)
comfyui-wiki Apr 15, 2026
9b7b1f7
Fix Ernie image issue (#795)
comfyui-wiki Apr 15, 2026
5cc22a1
Make ernie visible (#796)
comfyui-wiki Apr 15, 2026
54a200d
Bump version (#797)
comfyui-wiki Apr 15, 2026
caa2d01
Fix search index duplicate ID crash and make prebuild failures fatal …
dante01yoon Apr 16, 2026
66b1574
Add label-based PyPI publishing workflow (#799)
comfyui-wiki Apr 16, 2026
ef533e4
Create skill and import blueprint (#798)
comfyui-wiki Apr 16, 2026
a279e8f
Fix: Ensure GitHub Release is created for all version changes (#800)
comfyui-wiki Apr 16, 2026
a0d3259
ci: pin vercel-action to latest CLI (#804)
dante01yoon Apr 17, 2026
3acafbf
fix preview Vercel deploy path regression (#805)
dante01yoon Apr 17, 2026
b85a800
feat: Comfy Hub reskin with new font and new theme color (#806)
Yourz Apr 17, 2026
f038b4f
Update Quiver templates (#807)
comfyui-wiki Apr 17, 2026
a27b92d
Bump version to 0.9.57 (#808)
comfyui-wiki Apr 17, 2026
e35d491
fix: remove dead /api/vitals beacon (66K wasted 404s/day) (#787)
christian-byrne Apr 18, 2026
e1690a0
Template update (#809)
comfyui-wiki Apr 20, 2026
a72c0cf
Blueprint update (#810)
comfyui-wiki Apr 20, 2026
3caf2b4
Add a spell-check action. (#248)
comfyui-wiki Apr 22, 2026
bac1278
Template update (#811)
comfyui-wiki Apr 22, 2026
3bd5564
Bump version to 0.9.59 (#813)
comfyui-wiki Apr 22, 2026
58abc50
Fix CI issue (#814)
comfyui-wiki Apr 22, 2026
759ef35
fix(site): ThumbnailDisplay breaks when variant mixes video + image (…
dante01yoon Apr 22, 2026
472ebc3
fix(site): render video previews in Comfy Hub search (FE-235) (#812)
dante01yoon Apr 23, 2026
44894ae
seedance2.0 real human templates and issue fix (#815)
comfyui-wiki Apr 23, 2026
fefe296
Update template index (#816)
comfyui-wiki Apr 23, 2026
e676f62
Bump version to 0.9.60 (#817)
comfyui-wiki Apr 23, 2026
24b771a
Bump template to 0.9.61 (#818)
comfyui-wiki Apr 23, 2026
e7b8ce4
Fix template issue (#820)
comfyui-wiki Apr 23, 2026
68628c7
perf: add sparse checkout to all CI workflows (#823)
comfyui-wiki Apr 24, 2026
83f5959
New template workflows (#825)
comfyui-wiki Apr 27, 2026
7f4b343
Bump version (#826)
comfyui-wiki Apr 27, 2026
d0347b7
0.9.64 (#827)
comfyui-wiki Apr 27, 2026
01d7404
Template Update (#829)
comfyui-wiki May 1, 2026
8f291ab
Bump version to 0.9.65 (#831)
comfyui-wiki May 1, 2026
8a1332e
Fix typo and update CI (#832)
comfyui-wiki May 1, 2026
1420017
Template update (#833)
comfyui-wiki May 1, 2026
f871f0e
Remove Moonvalley templates (#834)
comfyui-wiki May 1, 2026
a8e2077
fix(site): close /workflows/undefined/ leak from SearchPopover badge …
dante01yoon May 2, 2026
6e237fb
Fix template layout issue (#835)
comfyui-wiki May 2, 2026
bb4b6d0
Astra 2 template (#836)
comfyui-wiki May 3, 2026
3dbe1c1
Bump version to 0.9.67 (#837)
comfyui-wiki May 3, 2026
07f13cd
Bump version to 0.9.68 (#838)
comfyui-wiki May 3, 2026
b1933c0
Template update and issue fixes (#840)
comfyui-wiki May 5, 2026
2adec3e
Bump template to 0.9.69 (#841)
comfyui-wiki May 5, 2026
33a950d
Update subgraph note text to be location-agnostic
May 6, 2026
9190430
chore: update workflow_template_input_files.json (PR #1)
github-actions[bot] May 6, 2026
af5d24a
Auto-bump package versions and sync manifests for template changes
actions-user May 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 0 additions & 8 deletions .claude/settings.json

This file was deleted.

7 changes: 6 additions & 1 deletion .claude/settings.local.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,12 @@
"Bash(cd C:/Code/Comfy/workflow_templates && rm fix-usernames.mjs)",
"Bash(python3 << 'EOF'\nimport json\nimport os\nfrom pathlib import Path\n\ntemplates_dir = Path\\('/c/Code/Comfy/workflow_templates/site/src/content/templates'\\)\n\ntags = set\\(\\)\nmodels = set\\(\\)\ncreators = set\\(\\)\ntotal_templates = 0\n\nfor f in templates_dir.glob\\('*.json'\\):\n try:\n with open\\(f\\) as fp:\n data = json.load\\(fp\\)\n total_templates += 1\n if 'tags' in data and data['tags']:\n tags.update\\(data['tags']\\)\n if 'models' in data and data['models']:\n models.update\\(data['models']\\)\n if 'username' in data and data['username']:\n creators.add\\(data['username']\\)\n except:\n pass\n\nprint\\(f\"Total templates: {total_templates}\"\\)\nprint\\(f\"Unique tags: {len\\(tags\\)}\"\\)\nprint\\(f\"Unique models: {len\\(models\\)}\"\\)\nprint\\(f\"Unique creators: {len\\(creators\\)}\"\\)\nEOF)",
"Bash(cd C:/Code/Comfy/workflow_templates/site && npx astro check 2>&1 | tail -40)",
"Bash(cd C:/Code/Comfy/workflow_templates/site && timeout 20 npx astro dev --port 4322 2>&1 | tail -30)"
"Bash(cd C:/Code/Comfy/workflow_templates/site && timeout 20 npx astro dev --port 4322 2>&1 | tail -30)",
"Bash(sed -i '' 's/\"title\": \"Bira:画像の背景を削除\"/\"title\": \"Bria:画像の背景を削除\"/' /Users/linmoumou/Documents/comfy/workflow_templates/templates/index.ja.json)",
"Bash(sed -i '' 's/\"title\": \"Bira: إزالة خلفية الصورة\"/\"title\": \"Bria: إزالة خلفية الصورة\"/' /Users/linmoumou/Documents/comfy/workflow_templates/templates/index.ar.json)",
"Bash(sed -i '' \"s/\\\\\"title\\\\\": \\\\\"Bira : Supprimer l'arrière-plan de l'image\\\\\"/\\\\\"title\\\\\": \\\\\"Bria : Supprimer l'arrière-plan de l'image\\\\\"/\" /Users/linmoumou/Documents/comfy/workflow_templates/templates/index.fr.json)",
"Bash(sed -i '' 's/\"title\": \"Bira: Eliminar fondo de imagen\"/\"title\": \"Bria: Eliminar fondo de imagen\"/' /Users/linmoumou/Documents/comfy/workflow_templates/templates/index.es.json)",
"Bash(sed -i '' 's/\"title\": \"Bira: Удалить фон изображения\"/\"title\": \"Bria: Удалить фон изображения\"/' /Users/linmoumou/Documents/comfy/workflow_templates/templates/index.ru.json)"
]
}
}
151 changes: 151 additions & 0 deletions .claude/skills/importing-subgraphs/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
---
name: importing-subgraphs
description: "Imports and registers subgraph blueprints into the ComfyUI workflow_templates repository. Handles placing blueprint JSON files, adding thumbnails, running the import/sync pipeline, and validating results. Use when asked to: import a subgraph, add a blueprint, register a blueprint, add a subgraph blueprint, import a subgraph blueprint, contribute a subgraph, add a new node component, publish a blueprint, upload a subgraph, create a blueprint, onboard a subgraph, add a reusable node. Triggers on: import subgraph, add blueprint, subgraph blueprint, new blueprint, register blueprint, blueprint import."
---

# Importing Subgraph Blueprints

Subgraph blueprints are pre-built ComfyUI node components stored in `blueprints/` and shipped via the `comfyui-subgraph-blueprints` package.

## Rules

- **Never** modify scripts, build tooling, or CI configuration.
- **Always** validate after changes (Step 4).
- Blueprint filenames **must** be `snake_case` — the import script handles renaming automatically.
- Use double-quotes `"` in all JSON files.
- Blueprint JSON **must** contain a `definitions.subgraphs` array with at least one entry.

---

## Step 1 — Obtain the Blueprint JSON

Two sources:

**Option A — Import from an external directory:**
```bash
python scripts/import_blueprints.py --source /path/to/external/blueprints/
```
The script copies all `*.json` files (skipping `index*.json`) into `blueprints/`, renames them to `snake_case`, regenerates `blueprints/index.json`, and updates `blueprints_bundles.json`.

**Option B — Manual placement (single file):**
1. Export the subgraph from ComfyUI (Save → Export workflow JSON).
2. Copy the `.json` file to `blueprints/` with a `snake_case` name, e.g. `my_blueprint.json`.
3. Run the import script (no `--source` needed) to normalize and regenerate index + bundles:
```bash
python scripts/import_blueprints.py
```

### Required blueprint JSON structure

The file must contain `definitions.subgraphs[0]` with these fields:

| Field | Required |
|-------|----------|
| `name` | yes — display name shown in the node palette |
| `inputs` | yes — exposed input slots |
| `outputs` | yes — exposed output slots |
| `nodes` | yes — internal ComfyUI nodes |

---

## Step 2 — Add a Thumbnail (Optional)

Thumbnail files live in `blueprints/` and follow the naming pattern:

```
{blueprint_name}-1.webp # primary (required for thumbnail display)
{blueprint_name}-2.webp # secondary (optional, for compare/hover effects)
```

- Convert to **webp** format (lossy ~65% quality).
- The import script sets `"mediaSubtype": "webp"` in `index.json` automatically.

---

## Step 3 — Embed Model Metadata (Recommended)

For every model-loading node inside `definitions.subgraphs[0].nodes` (e.g. `UNETLoader`, `VAELoader`, `CLIPLoader`), add a `"models"` array to the node's `"properties"`:

```json
"properties": {
"Node name for S&R": "UNETLoader",
"cnr_id": "comfy-core",
"ver": "0.3.40",
"models": [
{
"name": "flux1-dev.safetensors",
"url": "https://huggingface.co/.../resolve/main/flux1-dev.safetensors?download=true",
"hash": "<sha256>",
"hash_type": "SHA256",
"directory": "diffusion_models"
}
]
}
```

The `name` field **must exactly match** the corresponding `widgets_values` entry. The import script surfaces model names automatically in `index.json` (limited to first 5).

---

## Step 4 — Sync to Packages

After `import_blueprints.py` succeeds, push assets into the package directory and regenerate the manifest:

```bash
python scripts/sync_blueprints.py
```

This writes `packages/core/src/comfyui_workflow_templates_core/blueprints_manifest.json` and copies all blueprint files into `packages/blueprints/src/comfyui_subgraph_blueprints/blueprints/`.

---

## Step 5 — Validate

```bash
python scripts/validate_blueprints.py
```

Checks:
- JSON syntax for all blueprint files
- `index.json` against `index.schema.json`
- Blueprint structure (`definitions.subgraphs` present with required fields)
- `blueprints_bundles.json` consistency with files on disk

Fix all errors before continuing. CI will fail if bundles or manifests are out of sync.

---

## Step 6 — Bump Version

Increment the `version` field in the root `pyproject.toml`. CI uses this to detect changes and publishes affected packages to PyPI.

---

## Common Requests

| User says | Agent action |
|-----------|--------------|
| "Import blueprints from this folder" | Step 1 Option A, then Steps 4–6 |
| "Add this subgraph JSON as a blueprint" | Step 1 Option B, then Steps 4–6 |
| "Add a thumbnail for blueprint X" | Step 2 only, then re-run Step 4 |
| "Embed model info into this blueprint" | Step 3 only, then re-run Steps 1, 4, 5 |
| "Validate blueprints" | Step 5 only |
| "Sync blueprints to packages" | Step 4 only |
| "Why does the index not have my blueprint?" | Check filename is snake_case, re-run `import_blueprints.py` |

---

## File Quick-Reference

| File / Dir | Purpose |
|------------|---------|
| `blueprints/` | Blueprint JSON files and thumbnail images |
| `blueprints/index.json` | Generated metadata index (do not edit manually) |
| `blueprints/index.schema.json` | JSON schema for index validation |
| `blueprints_bundles.json` | Generated list of all blueprint IDs |
| `scripts/import_blueprints.py` | Normalize filenames, generate index.json and bundles |
| `scripts/sync_blueprints.py` | Generate manifest, copy assets to package directories |
| `scripts/validate_blueprints.py` | Validate all blueprints and consistency checks |
| `pyproject.toml` | Root package version (bump before PR) |
| `packages/blueprints/` | `comfyui-subgraph-blueprints` package (generated assets) |
| `packages/core/.../blueprints_manifest.json` | Generated manifest consumed by the Python API |
16 changes: 16 additions & 0 deletions .github/.spellcheck-i18n.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
matrix:
- name: i18n JSON (English fields)
sources:
- 'scripts/i18n.json'
aspell:
lang: en
dictionary:
wordlists:
- .github/.wordlist.txt
encoding: utf-8
pipeline:
- pyspelling.filters.context:
context_visible_first: true
delimiters:
- open: '"en":\s*"'
close: '"'
21 changes: 21 additions & 0 deletions .github/.spellcheck-workflows.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
matrix:
- name: Workflow Notes
sources:
- '/tmp/workflow_notes.txt'
aspell:
lang: en
dictionary:
wordlists:
- .github/.wordlist.txt
encoding: utf-8
pipeline:
- pyspelling.filters.markdown:
markdown_extensions:
- pymdownx.superfences:
- pyspelling.filters.html:
comments: false
ignores:
- code
- pre
- a
- pyspelling.filters.url:
18 changes: 18 additions & 0 deletions .github/.spellcheck.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
matrix:
- name: Index JSON Files
sources:
- 'templates/index.json'
aspell:
lang: en
dictionary:
wordlists:
- .github/.wordlist.txt
encoding: utf-8
pipeline:
- pyspelling.filters.context:
context_visible_first: true
delimiters:
- open: '"title":\s*"'
close: '"'
- open: '"description":\s*"'
close: '"'
Loading