mirror of
https://github.com/Comfy-Org/comfyci-runpod-worker.git
synced 2026-11-04 23:47:32 +00:00
[PR #8] [MERGED] Add four workflow templates to the GPU regression corpus #8
Labels
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Comfy-Org/comfyci-runpod-worker#8
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/Comfy-Org/comfyci-runpod-worker/pull/8
Author: @christian-byrne
Created: 10/18/2026
Status: ✅ Merged
Merged: 10/18/2026
Merged by: @marawan206
Base:
main← Head:feat/template-corpus-import📝 Commits (2)
0f964c7Add four workflow templates to the GPU regression corpus93fb917Honour subgraph instance mode, and key model directories by loader📊 Changes
11 files changed (+2451 additions, -34 deletions)
View changed files
📝
README.md(+61 -26)📝
manifest/workflows.json(+145 -6)➕
manifest/workflows/mage_flow_t2i_int8_api.json(+105 -0)➕
manifest/workflows/pixeldit_t2i_api.json(+115 -0)➕
manifest/workflows/qwen_image_2_1_t2i_api.json(+118 -0)➕
manifest/workflows/qwen_image_2_1_turbo_t2i_api.json(+152 -0)➕
scripts/import_template.py(+306 -0)➕
scripts/template_api_export.py(+595 -0)➕
scripts/tests/test_import_template.py(+222 -0)📝
scripts/tests/test_manifest_lint.py(+12 -2)➕
scripts/tests/test_template_api_export.py(+620 -0)📄 Description
Why
From #eng-general on the stable-release bar: "A template stops working then that is considered a ship blocker", and "We may also need to add recent templates to [the GPU tests] as the corpus has not been supplemented in many months."
Today the corpus runs SDXL, FLUX.1-dev and three staged entries. The templates users actually open are mostly uncovered, so a template breaking is caught by a person noticing during the pre-stable soak, not by CI.
What this adds
Four open-source text-to-image templates — the most-used ones this corpus can run deterministically and that no entry covers yet:
qwen_image_2_1_t2iimage_qwen_image_2_1_t2iqwen_image_2_1_editqwen_image_2_1_turbo_t2iimage_qwen_image_2_1_turbo_t2image_flow_t2i_int8image_mage_flow_t2i_int8int8_convrotpathpixeldit_t2iimage_pixeldit_t2i≈28.5 GB of new weights, all from Comfy-Org Hugging Face repos with published sha256s.
All four land
"enabled": false, per the README's process — goldens next, then a follow-up flips them on.Why there is tooling in here
Templates ship as UI graphs (subgraphs, promoted widgets, switches); a run submits the flat API format. Adding one meant hand-editing exported JSON, which is the reason the corpus went stale.
scripts/import_template.pydoes that conversion offline from an/object_infodump — flattens subgraphs, applies the instance's promoted widget values, mapswidgets_valuesonto named inputs, resolves a constant switch to the branch it selects (so the unused branch's models never have to be synced), drops preview nodes, normalises the output to aSaveImagePNG named after the workflow id, and fillsmodelsfrom the download links in the template's own note.It refuses rather than guess. A node whose widget layout lives on the instance raises, instead of emitting a prompt with every value shifted by one — which the server would accept.
Verification
Two independent checks, because a mis-mapped widget produces a valid prompt that quietly renders the wrong image:
benchmarks/directory holds API exports that ComfyUI's Export (API) produced. Of the ten this importer can convert, it reproduces eight byte for byte (including 23- and 31-node graphs); the other two differ only in widget values that were edited after the export was taken — identical node sets, identical link topology./prompton a local ComfyUI with its models present. All four validate clean, which is what proves no node, input name, widget value or link was lost in conversion.scripts/tests/test_template_api_export.pyandtest_import_template.pypin each conversion rule individually (37 new tests).python -m pytest scripts/tests -q: 198 passed.One lint change
BUILTIN_FILESin the manifest lint gained"pixel_space".nodes.VAELoaderappends it to its combo unconditionally for pixel-space models, and there is no file behind it, so the volume has nothing to sync. The hook was already there for exactly this case.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.