Skip to content

ComfyUi v0.18.5#13365

Closed
JawlessEel wants to merge 15 commits intoComfy-Org:masterfrom
JawlessEel:My_Comfy_ui
Closed

ComfyUi v0.18.5#13365
JawlessEel wants to merge 15 commits intoComfy-Org:masterfrom
JawlessEel:My_Comfy_ui

Conversation

@JawlessEel
Copy link
Copy Markdown

@JawlessEel JawlessEel commented Apr 11, 2026

API Node PR Checklist

Scope

  • Is API Node Change

Pricing & Billing

  • Need pricing update
  • No pricing update

If Need pricing update:

  • Metronome rate cards updated
  • Auto‑billing tests updated and passing

QA

  • QA done
  • QA not required

Comms

  • Informed Kosinkadink

comfyanonymous and others added 12 commits March 24, 2026 17:38
Signed-off-by: bigcat88 <bigcat88@icloud.com>
* mm: Lower windows pin threshold

Some workflows have more extranous use of shared GPU memory than is
accounted for in the 5% pin headroom. Lower this for safety.

* mm: Remove pin count clearing threshold.

TOTAL_PINNED_MEMORY is shared between the legacy and aimdo pinning
systems, however this catch-all assumes only the legacy system exists.
Remove the catch-all as the PINNED_MEMORY buffer is coherent already.
Signed-off-by: bigcat88 <bigcat88@icloud.com>
Add multiple ComfyUI input assets and configuration files: create symlinks for model preset folders (flux, lora variants, pony, sd_1.5, etc.) pointing to local custom_nodes path; import dozens of SDXL reference JPEGs into ComfyUI/input/sdxl_1.0; add Launch_314.ps1, config/gender_words_config.yaml, extra_models_config.yaml, and styles/default.csv. Also remove various example/placeholder files and empty model placeholder directories to tidy the repo.
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 11, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 2aae791d-dd03-405b-8042-8fbfef2a2668

📥 Commits

Reviewing files that changed from the base of the PR and between 7661afa and 3fcffad.

📒 Files selected for processing (5)
  • AGENTS.md
  • PROMPT_BUG_FIX.md
  • PROMPT_INSPECTION.md
  • PROMPT_NODE_REPAIR.md
  • PROMPT_PACKAGE_INSTALL.md
✅ Files skipped from review due to trivial changes (5)
  • PROMPT_INSPECTION.md
  • PROMPT_NODE_REPAIR.md
  • PROMPT_BUG_FIX.md
  • AGENTS.md
  • PROMPT_PACKAGE_INSTALL.md

📝 Walkthrough

Walkthrough

This PR bumps the project to 0.18.5, updates a dependency pin, and adjusts pinned-host-memory budgeting and unpin bookkeeping. It adds new video-related API nodes for Grok and Wan 2.7, a Topaz upscaler mapping, several config and prompt/docs files, multiple ComfyUI input-path files, and a PowerShell launch script. It removes example and websocket custom nodes and deletes numerous model YAML configuration files.

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title 'ComfyUi v0.18.5' directly reflects the version bump in the PR, which is a core change visible in comfyui_version.py and pyproject.toml.
Description check ✅ Passed The description includes an API Node PR Checklist template related to the changeset, though all items remain unchecked; it is relevant to the PR's scope.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
⚔️ Resolve merge conflicts
  • Resolve merge conflict in branch My_Comfy_ui

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@comfy_api_nodes/nodes_wan.py`:
- Around line 874-880: The tooltip on the IO.Audio.Input("audio", optional=True,
tooltip=...) node is out of sync with the actual execution validation (tooltip
says 3s-30s while runtime accepts 1.5s-60s); update the tooltip text to
advertise the correct duration range (1.5s-60s) for both occurrences (the
IO.Audio.Input call shown and the other instance around lines 938-942) so the
user-facing help matches the execution path and prevents sending unsupported
clips to the API.
- Around line 913-924: The price badge expr for the Wan 2.7 nodes uses $lookup
against lowercase keys ("720p","1080p") but the new schemas emit "720P"/"1080P",
so $lookup fails; update each IO.PriceBadge.expr (the price_badge block for the
affected nodes) to normalize the resolution before lookup (e.g., map/transform
$res to lowercase or replace uppercase variants) so the $lookup($ppsTable, $res)
finds the correct key; apply the same normalization change to the other Wan 2.7
price_badge expressions referenced (the blocks around the other price_badge
exprs).
- Around line 1182-1190: The node accepts a "duration" total output length but
never validates it against the source clip length, so update the execute() logic
to reject (or clamp) duration values shorter than first_clip.get_duration():
before calling the API, retrieve input_duration = first_clip.get_duration() and
if duration < input_duration raise a clear error (or set duration =
input_duration) and log/propagate that validation error; apply the same
validation to the other execute() block referenced (the block around lines
1268-1303) so both places check duration against first_clip.get_duration() and
avoid sending impossible continuation requests.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 8173bceb-9112-4ad5-be58-d89f0d03a12d

📥 Commits

Reviewing files that changed from the base of the PR and between a2840e7 and 7782171.

⛔ Files ignored due to path filters (2)
  • comfy_api_nodes/apis/grok.py is excluded by !comfy_api_nodes/apis/**
  • comfy_api_nodes/apis/wan.py is excluded by !comfy_api_nodes/apis/**
📒 Files selected for processing (7)
  • comfy/model_management.py
  • comfy_api_nodes/nodes_grok.py
  • comfy_api_nodes/nodes_topaz.py
  • comfy_api_nodes/nodes_wan.py
  • comfyui_version.py
  • pyproject.toml
  • requirements.txt

Comment on lines +874 to +880
IO.Audio.Input(
"audio",
optional=True,
tooltip="Audio for driving video generation (e.g., lip sync, beat-matched motion). "
"Duration: 3s-30s. If not provided, the model automatically generates matching "
"background music or sound effects.",
),
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Keep the advertised audio limits in sync with validation.

This node says audio must be 3s-30s, but the new execution path accepts 1.5s-60s. That mismatch will confuse users and can push unsupported clips to the API.

Also applies to: 938-942

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@comfy_api_nodes/nodes_wan.py` around lines 874 - 880, The tooltip on the
IO.Audio.Input("audio", optional=True, tooltip=...) node is out of sync with the
actual execution validation (tooltip says 3s-30s while runtime accepts
1.5s-60s); update the tooltip text to advertise the correct duration range
(1.5s-60s) for both occurrences (the IO.Audio.Input call shown and the other
instance around lines 938-942) so the user-facing help matches the execution
path and prevents sending unsupported clips to the API.

Comment on lines +913 to +924
price_badge=IO.PriceBadge(
depends_on=IO.PriceBadgeDepends(widgets=["model", "model.resolution", "model.duration"]),
expr="""
(
$res := $lookup(widgets, "model.resolution");
$dur := $lookup(widgets, "model.duration");
$ppsTable := { "720p": 0.1, "1080p": 0.15 };
$pps := $lookup($ppsTable, $res);
{ "type": "usd", "usd": $pps * $dur }
)
""",
),
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Normalize the Wan 2.7 resolution keys in the price badges.

All five new Wan 2.7 schemas emit "720P" / "1080P", but the badge lookup tables use lowercase keys. That makes $lookup miss, so these nodes render an empty or incorrect price for paid API calls.

Suggested fix
- $ppsTable := { "720p": 0.1, "1080p": 0.15 };
+ $ppsTable := { "720P": 0.1, "1080P": 0.15 };

Apply the same normalization in each new Wan 2.7 price_badge expression.

Also applies to: 1071-1082, 1237-1253, 1409-1420, 1566-1582

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@comfy_api_nodes/nodes_wan.py` around lines 913 - 924, The price badge expr
for the Wan 2.7 nodes uses $lookup against lowercase keys ("720p","1080p") but
the new schemas emit "720P"/"1080P", so $lookup fails; update each
IO.PriceBadge.expr (the price_badge block for the affected nodes) to normalize
the resolution before lookup (e.g., map/transform $res to lowercase or replace
uppercase variants) so the $lookup($ppsTable, $res) finds the correct key; apply
the same normalization change to the other Wan 2.7 price_badge expressions
referenced (the blocks around the other price_badge exprs).

Comment on lines +1182 to +1190
"duration",
default=5,
min=2,
max=15,
step=1,
display_mode=IO.NumberDisplay.number,
tooltip="Total output duration in seconds. The model generates continuation "
"to fill the remaining time after the input clip.",
),
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Reject continuation targets shorter than the input clip.

duration is documented as the total output length, but execute() never checks it against first_clip.get_duration(). A longer source clip with a shorter target duration creates an impossible continuation request and punts the failure to the API.

Suggested fix
     validate_video_duration(first_clip, min_duration=2, max_duration=10)
+    first_clip_duration = first_clip.get_duration()
+    if model["duration"] <= first_clip_duration:
+        raise ValueError(
+            f"Output duration ({model['duration']}s) must be longer than the input clip "
+            f"({first_clip_duration:.1f}s)."
+        )
     media = [

Also applies to: 1268-1303

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@comfy_api_nodes/nodes_wan.py` around lines 1182 - 1190, The node accepts a
"duration" total output length but never validates it against the source clip
length, so update the execute() logic to reject (or clamp) duration values
shorter than first_clip.get_duration(): before calling the API, retrieve
input_duration = first_clip.get_duration() and if duration < input_duration
raise a clear error (or set duration = input_duration) and log/propagate that
validation error; apply the same validation to the other execute() block
referenced (the block around lines 1268-1303) so both places check duration
against first_clip.get_duration() and avoid sending impossible continuation
requests.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@Launch_314.ps1`:
- Around line 6-11: The script assumes the current working directory is the repo
root; make it path-independent and fail-fast by resolving the script directory
($PSScriptRoot) and using that to locate the virtualenv activation script
(.\venv\Scripts\Activate.ps1) and the Python entrypoint (main.py), verify those
files exist before attempting to activate or run, and exit with a clear error if
they don't; update references in the script to use the resolved venv and python
paths (e.g., the Activate.ps1 target and the python executable path) rather than
relying on the current working directory so activation and execution always use
the intended venv and script even when launched from elsewhere.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 47213cd2-be30-4e70-8af3-462f3c48702a

📥 Commits

Reviewing files that changed from the base of the PR and between 7782171 and 7661afa.

⛔ Files ignored due to path filters (104)
  • ComfyUI/input/sdxl_1.0/9527_Detail_Realistic_XL_32025258.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/AAM_XL__Anime_Mix__5626297.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/Acorn_Is_Spinning_23156103.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/AlbedoBase_XL_39093382.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/Animagine_XL_V3.1_8301359.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/AnimeXL-xuebiMIX_4456416.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/Anime_Art_Diffusion_XL_1792770.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/Anime_Changeful_XL_1853097.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/Anime_Illust_Diffusion_XL_7578514.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/Art_Universe_35199180.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/ArtiWaifu_Diffusion_26736256.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/Artium_4939791.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/BAXL___Blue_Archive_Flat_Celluloid_Style_Fine-tune___碧蓝档案赛璐璐平涂画风__Kohaku_Δ___Animagine_XL_v3__9171232.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/Babes_By_Stable_Yogi_40965282.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/Better_than_words_3802012.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/BreakDomainXL_3718024.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/BriXL___A_must_in_your_toolbox_3929499.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/BrightProtoNuke_BPN__-_No_refiner_needed_4158368.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/Cinemax_Alpha___SDXL___Cinema___Filmic___NSFW_2127291.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/ColorfulXL_19837134.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/Colossus_Project_XL__SFW_NSFW__23978103.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/ControlNetXL__CNXL__27936581.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/CounterfeitXL_4647930.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/Crystal_Clear_XL_2317959.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/CyberRealistic_XL_35270713.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/Dark_Pizza_XL_Origin_大个披萨XL_原味儿_2198524.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/DevlishPhotoRealism_SDXL_21156645.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/DisneyRealCartoonMix_3929056.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/DucHaiten-AIart-SDXL_6528472.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/DucHaiten-Real3D-NSFW-XL_7348516.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/DynaVision_XL_-_All-in-one_stylized_3D_SFW_and_NSFW_output__no_refiner_needed__5462682.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/FormulaXL_-_公式XL__ComfyUI__2474492.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/Game_icon_Institute_mode_12423101.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/GhostXL_6825114.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/Halcyon_SDXL_-_Photorealism_23542875.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/Heart_of_Apple_XL____13613289.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/Hentai_Mix_XL_-_Road_to_freedom_5434319.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/ICBINP_XL_14625687.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/Jib_Mix_Realistic_XL_38559535.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/Juggernaut_XL_26700009.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/Kohaku-XL_Delta_7394558.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/Kohaku-XL_Epsilon_14374493.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/Kohaku-XL_alpha_2632924.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/Kohaku-XL_beta_3078086.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/LEOSAM_s_HelloWorld_XL_15650061.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/Moxie_Diffusion_XL_20559989.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/NightVisionXL_16068005.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/NoobAI-XL__NAI-XL__44303743.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/OmnigenXL__NSFW___SFW__3688210.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/Omnium_3844078.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/Painter_s_Checkpoint__oil_paint___oil_painting_art_style__5246942.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/PhotoPedia_XL_4411800.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/Pixel_Art_Diffusion_XL_7188038.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/Project_Unreal_Engine_5_12896798.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/ProtoVision_XL_-_High_Fidelity_3D___Photorealism___Anime___hyperrealism_-_No_Refiner_Needed_4665992.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/Raemu_XL_18123125.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/RealCartoon-XL_22187803.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/Realism_Engine_SDXL_5344273.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/Realistic_Freedom_-_SFW_and_NSFW_10548571.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/Reproduction___SDXL_3963302.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/Riot_Diffusion_XL___League_of_Legends_Splash_Art__Arcane__Valorant__Runeterra__Wild_Rift__Mobile_Legends__Artstation__Pixiv_2927158.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/RunDiffusion_XL_1841032.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/SDVN6-RealXL_1889585.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/SDVN7-NijiStyleXL_2367463.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/SDVN8-ArtXL_3387806.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/SDXL_1.0_ArienMixXL_Asian_portrait_亚洲人像_12612947.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/SDXL_HK_40265152.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/SDXL_Niji_Seven_20802036.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/SDXL_Unstable_Diffusers___YamerMIX_8063881.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/SDXL_YAMER_S_PERFECT_DESIGN___6973466.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/SDXL_Yamer_s_Anime_____Unstable_Illustrator_7561093.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/SDXL_Yamer_s_Realism__-_Realistic_Anime_3D_3795758.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/SDXL_Yamer_s_Realistic_5________5668521.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/SDXL_fixedvae_fp16_Remove_Watermark__1795012.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/SD_XL_1777436.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/Samaritan_3d_Cartoon_2117788.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/ShikiAnimeXL_1823017.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/Stable-Diffusion-XL-Anime-Final_20911680.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/Starlight_XL_星光_Animated_2937177.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/Suzanne_s_XL_Mix_35986895.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/TalmendoXL_-_SDXL_Uncensored_Full_Model_1846916.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/Tamarin_XL_4827271.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/ThinkDiffusionXL_3062343.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/WildCardX-XL-Fusion_6702952.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/WildCardX-XL_5766136.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/WildCardX-XL_ANIMATION_7398188.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/WyvernMix__1.5___XL__20143382.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/XL6_-_HEPHAISTOS__SD_1.0XL__SFW_NSFW__2441472.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/XXMix_9realisticSDXL_2528762.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/ZavyChromaXL_32530768.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/_CHEYENNE__42073184.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/_MOHAWK__5164213.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/_SDXL__RongHua___容华___国风大模型_10894281.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/__SDXL_FaeTastic___5294181.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/anima_pencil-XL_17129585.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/blue_pencil-XL_16849253.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/epiCRealism_XL_40958994.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/fuduki_mix_4673188.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/t3_43839013.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/万象熔炉___Anything_XL_12622035.jpeg is excluded by !**/*.jpeg
  • ComfyUI/input/sdxl_1.0/国风4_GuoFeng4_XL_3174094.jpeg is excluded by !**/*.jpeg
  • comfyui.db is excluded by !**/*.db
  • input/example.png is excluded by !**/*.png, !**/*.png
  • styles/default.csv is excluded by !**/*.csv
📒 Files selected for processing (47)
  • ComfyUI/input/flux.1_d
  • ComfyUI/input/flux.1_s
  • ComfyUI/input/lora_flux.1_d
  • ComfyUI/input/lora_hunyuan_video
  • ComfyUI/input/lora_pony
  • ComfyUI/input/lora_sd_1.5
  • ComfyUI/input/lora_sdxl_1.0
  • ComfyUI/input/pony
  • ComfyUI/input/sd_1.5
  • Launch_314.ps1
  • My Comfy Ui
  • config/gender_words_config.yaml
  • custom_nodes/example_node.py.example
  • custom_nodes/websocket_image_save.py
  • extra_models_config.yaml
  • models/checkpoints/put_checkpoints_here
  • models/clip/put_clip_or_text_encoder_models_here
  • models/clip_vision/put_clip_vision_models_here
  • models/configs/anything_v3.yaml
  • models/configs/v1-inference.yaml
  • models/configs/v1-inference_clip_skip_2.yaml
  • models/configs/v1-inference_clip_skip_2_fp16.yaml
  • models/configs/v1-inference_fp16.yaml
  • models/configs/v1-inpainting-inference.yaml
  • models/configs/v2-inference-v.yaml
  • models/configs/v2-inference-v_fp32.yaml
  • models/configs/v2-inference.yaml
  • models/configs/v2-inference_fp32.yaml
  • models/configs/v2-inpainting-inference.yaml
  • models/controlnet/put_controlnets_and_t2i_here
  • models/diffusers/put_diffusers_models_here
  • models/diffusion_models/put_diffusion_model_files_here
  • models/embeddings/put_embeddings_or_textual_inversion_concepts_here
  • models/gligen/put_gligen_models_here
  • models/hypernetworks/put_hypernetworks_here
  • models/latent_upscale_models/put_latent_upscale_models_here
  • models/loras/put_loras_here
  • models/model_patches/put_model_patches_here
  • models/photomaker/put_photomaker_models_here
  • models/style_models/put_t2i_style_model_here
  • models/text_encoders/put_text_encoder_files_here
  • models/unet/put_unet_files_here
  • models/upscale_models/put_esrgan_and_other_upscale_models_here
  • models/vae/put_vae_here
  • models/vae_approx/put_taesd_encoder_pth_and_taesd_decoder_pth_here
  • output/_output_images_will_be_put_here
  • prompt.json
💤 Files with no reviewable changes (13)
  • models/configs/v1-inference.yaml
  • models/configs/anything_v3.yaml
  • models/configs/v1-inference_clip_skip_2.yaml
  • models/configs/v1-inference_clip_skip_2_fp16.yaml
  • models/configs/v1-inpainting-inference.yaml
  • models/configs/v2-inference_fp32.yaml
  • models/configs/v2-inpainting-inference.yaml
  • custom_nodes/websocket_image_save.py
  • models/configs/v1-inference_fp16.yaml
  • models/configs/v2-inference.yaml
  • models/configs/v2-inference-v.yaml
  • custom_nodes/example_node.py.example
  • models/configs/v2-inference-v_fp32.yaml
✅ Files skipped from review due to trivial changes (13)
  • ComfyUI/input/lora_pony
  • ComfyUI/input/lora_flux.1_d
  • ComfyUI/input/sd_1.5
  • ComfyUI/input/pony
  • ComfyUI/input/lora_sd_1.5
  • ComfyUI/input/lora_sdxl_1.0
  • ComfyUI/input/flux.1_d
  • My Comfy Ui
  • ComfyUI/input/flux.1_s
  • extra_models_config.yaml
  • config/gender_words_config.yaml
  • prompt.json
  • ComfyUI/input/lora_hunyuan_video

Comment thread Launch_314.ps1
Comment on lines +6 to +11
.\venv\Scripts\Activate.ps1

# GPU 1 is your 5070 Ti.
# --highvram: Keeps the model weights in your 16GB VRAM for max speed.
# --use-pytorch-cross-attention: This is the native, stable path for Python 3.14.
python main.py --highvram --preview-method auto --use-pytorch-cross-attention No newline at end of file
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Verify this launcher currently relies on relative paths and not $PSScriptRoot.
rg -n --iglob 'Launch_314.ps1' '\$PSScriptRoot|\\\.\\venv\\Scripts\\Activate\.ps1|python\s+main\.py'

Repository: Comfy-Org/ComfyUI

Length of output: 156


🏁 Script executed:

fd -t f 'Launch_314.ps1' && cat -n Launch_314.ps1

Repository: Comfy-Org/ComfyUI

Length of output: 597


Make startup path-independent and fail-fast before launching Python.

At Line 6 and Line 11, the script assumes the current working directory is the repo root. If launched from another directory, venv activation and main.py resolution can fail (or run with the wrong Python).

Suggested hardening
+Set-StrictMode -Version Latest
+$ErrorActionPreference = 'Stop'
+
 Write-Host "Initializing Blackwell Stack (Python 3.14.4 + CUDA 13.2)" -ForegroundColor Green
@@
-# Activate the 3.14 venv
-.\venv\Scripts\Activate.ps1
+$scriptRoot = $PSScriptRoot
+$venvPython = Join-Path $scriptRoot 'venv\Scripts\python.exe'
+$mainPy = Join-Path $scriptRoot 'main.py'
+
+if (-not (Test-Path $venvPython)) {
+    throw "Virtual environment Python not found at $venvPython"
+}
@@
-python main.py --highvram --preview-method auto --use-pytorch-cross-attention
+& $venvPython $mainPy --highvram --preview-method auto --use-pytorch-cross-attention
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Launch_314.ps1` around lines 6 - 11, The script assumes the current working
directory is the repo root; make it path-independent and fail-fast by resolving
the script directory ($PSScriptRoot) and using that to locate the virtualenv
activation script (.\venv\Scripts\Activate.ps1) and the Python entrypoint
(main.py), verify those files exist before attempting to activate or run, and
exit with a clear error if they don't; update references in the script to use
the resolved venv and python paths (e.g., the Activate.ps1 target and the python
executable path) rather than relying on the current working directory so
activation and execution always use the intended venv and script even when
launched from elsewhere.

Introduce repository guidance and reusable prompt templates. Adds AGENTS.md with repo-local environment, command, file-safety, git, validation, and ComfyUI-specific rules. Adds PROMPT_BUG_FIX.md, PROMPT_INSPECTION.md, PROMPT_NODE_REPAIR.md, and PROMPT_PACKAGE_INSTALL.md providing focused workflows for bug fixes, repository inspection, custom node repair, and package installation audits that enforce using the repo venv, PowerShell commands, minimal safe changes, and explicit validation/reporting.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants