Conversation
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.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (5)
✅ Files skipped from review due to trivial changes (5)
📝 WalkthroughWalkthroughThis 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)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches⚔️ Resolve merge conflicts
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. Comment |
There was a problem hiding this comment.
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
⛔ Files ignored due to path filters (2)
comfy_api_nodes/apis/grok.pyis excluded by!comfy_api_nodes/apis/**comfy_api_nodes/apis/wan.pyis excluded by!comfy_api_nodes/apis/**
📒 Files selected for processing (7)
comfy/model_management.pycomfy_api_nodes/nodes_grok.pycomfy_api_nodes/nodes_topaz.pycomfy_api_nodes/nodes_wan.pycomfyui_version.pypyproject.tomlrequirements.txt
| 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.", | ||
| ), |
There was a problem hiding this comment.
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.
| 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 } | ||
| ) | ||
| """, | ||
| ), |
There was a problem hiding this comment.
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).
| "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.", | ||
| ), |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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
⛔ Files ignored due to path filters (104)
ComfyUI/input/sdxl_1.0/9527_Detail_Realistic_XL_32025258.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/AAM_XL__Anime_Mix__5626297.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/Acorn_Is_Spinning_23156103.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/AlbedoBase_XL_39093382.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/Animagine_XL_V3.1_8301359.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/AnimeXL-xuebiMIX_4456416.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/Anime_Art_Diffusion_XL_1792770.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/Anime_Changeful_XL_1853097.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/Anime_Illust_Diffusion_XL_7578514.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/Art_Universe_35199180.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/ArtiWaifu_Diffusion_26736256.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/Artium_4939791.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/BAXL___Blue_Archive_Flat_Celluloid_Style_Fine-tune___碧蓝档案赛璐璐平涂画风__Kohaku_Δ___Animagine_XL_v3__9171232.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/Babes_By_Stable_Yogi_40965282.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/Better_than_words_3802012.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/BreakDomainXL_3718024.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/BriXL___A_must_in_your_toolbox_3929499.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/BrightProtoNuke_BPN__-_No_refiner_needed_4158368.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/Cinemax_Alpha___SDXL___Cinema___Filmic___NSFW_2127291.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/ColorfulXL_19837134.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/Colossus_Project_XL__SFW_NSFW__23978103.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/ControlNetXL__CNXL__27936581.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/CounterfeitXL_4647930.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/Crystal_Clear_XL_2317959.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/CyberRealistic_XL_35270713.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/Dark_Pizza_XL_Origin_大个披萨XL_原味儿_2198524.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/DevlishPhotoRealism_SDXL_21156645.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/DisneyRealCartoonMix_3929056.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/DucHaiten-AIart-SDXL_6528472.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/DucHaiten-Real3D-NSFW-XL_7348516.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/DynaVision_XL_-_All-in-one_stylized_3D_SFW_and_NSFW_output__no_refiner_needed__5462682.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/FormulaXL_-_公式XL__ComfyUI__2474492.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/Game_icon_Institute_mode_12423101.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/GhostXL_6825114.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/Halcyon_SDXL_-_Photorealism_23542875.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/Heart_of_Apple_XL____13613289.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/Hentai_Mix_XL_-_Road_to_freedom_5434319.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/ICBINP_XL_14625687.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/Jib_Mix_Realistic_XL_38559535.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/Juggernaut_XL_26700009.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/Kohaku-XL_Delta_7394558.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/Kohaku-XL_Epsilon_14374493.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/Kohaku-XL_alpha_2632924.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/Kohaku-XL_beta_3078086.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/LEOSAM_s_HelloWorld_XL_15650061.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/Moxie_Diffusion_XL_20559989.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/NightVisionXL_16068005.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/NoobAI-XL__NAI-XL__44303743.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/OmnigenXL__NSFW___SFW__3688210.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/Omnium_3844078.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/Painter_s_Checkpoint__oil_paint___oil_painting_art_style__5246942.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/PhotoPedia_XL_4411800.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/Pixel_Art_Diffusion_XL_7188038.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/Project_Unreal_Engine_5_12896798.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/ProtoVision_XL_-_High_Fidelity_3D___Photorealism___Anime___hyperrealism_-_No_Refiner_Needed_4665992.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/Raemu_XL_18123125.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/RealCartoon-XL_22187803.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/Realism_Engine_SDXL_5344273.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/Realistic_Freedom_-_SFW_and_NSFW_10548571.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/Reproduction___SDXL_3963302.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/Riot_Diffusion_XL___League_of_Legends_Splash_Art__Arcane__Valorant__Runeterra__Wild_Rift__Mobile_Legends__Artstation__Pixiv_2927158.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/RunDiffusion_XL_1841032.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/SDVN6-RealXL_1889585.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/SDVN7-NijiStyleXL_2367463.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/SDVN8-ArtXL_3387806.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/SDXL_1.0_ArienMixXL_Asian_portrait_亚洲人像_12612947.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/SDXL_HK_40265152.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/SDXL_Niji_Seven_20802036.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/SDXL_Unstable_Diffusers___YamerMIX_8063881.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/SDXL_YAMER_S_PERFECT_DESIGN___6973466.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/SDXL_Yamer_s_Anime_____Unstable_Illustrator_7561093.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/SDXL_Yamer_s_Realism__-_Realistic_Anime_3D_3795758.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/SDXL_Yamer_s_Realistic_5________5668521.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/SDXL_fixedvae_fp16_Remove_Watermark__1795012.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/SD_XL_1777436.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/Samaritan_3d_Cartoon_2117788.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/ShikiAnimeXL_1823017.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/Stable-Diffusion-XL-Anime-Final_20911680.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/Starlight_XL_星光_Animated_2937177.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/Suzanne_s_XL_Mix_35986895.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/TalmendoXL_-_SDXL_Uncensored_Full_Model_1846916.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/Tamarin_XL_4827271.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/ThinkDiffusionXL_3062343.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/WildCardX-XL-Fusion_6702952.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/WildCardX-XL_5766136.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/WildCardX-XL_ANIMATION_7398188.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/WyvernMix__1.5___XL__20143382.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/XL6_-_HEPHAISTOS__SD_1.0XL__SFW_NSFW__2441472.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/XXMix_9realisticSDXL_2528762.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/ZavyChromaXL_32530768.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/_CHEYENNE__42073184.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/_MOHAWK__5164213.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/_SDXL__RongHua___容华___国风大模型_10894281.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/__SDXL_FaeTastic___5294181.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/anima_pencil-XL_17129585.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/blue_pencil-XL_16849253.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/epiCRealism_XL_40958994.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/fuduki_mix_4673188.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/t3_43839013.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/万象熔炉___Anything_XL_12622035.jpegis excluded by!**/*.jpegComfyUI/input/sdxl_1.0/国风4_GuoFeng4_XL_3174094.jpegis excluded by!**/*.jpegcomfyui.dbis excluded by!**/*.dbinput/example.pngis excluded by!**/*.png,!**/*.pngstyles/default.csvis excluded by!**/*.csv
📒 Files selected for processing (47)
ComfyUI/input/flux.1_dComfyUI/input/flux.1_sComfyUI/input/lora_flux.1_dComfyUI/input/lora_hunyuan_videoComfyUI/input/lora_ponyComfyUI/input/lora_sd_1.5ComfyUI/input/lora_sdxl_1.0ComfyUI/input/ponyComfyUI/input/sd_1.5Launch_314.ps1My Comfy Uiconfig/gender_words_config.yamlcustom_nodes/example_node.py.examplecustom_nodes/websocket_image_save.pyextra_models_config.yamlmodels/checkpoints/put_checkpoints_heremodels/clip/put_clip_or_text_encoder_models_heremodels/clip_vision/put_clip_vision_models_heremodels/configs/anything_v3.yamlmodels/configs/v1-inference.yamlmodels/configs/v1-inference_clip_skip_2.yamlmodels/configs/v1-inference_clip_skip_2_fp16.yamlmodels/configs/v1-inference_fp16.yamlmodels/configs/v1-inpainting-inference.yamlmodels/configs/v2-inference-v.yamlmodels/configs/v2-inference-v_fp32.yamlmodels/configs/v2-inference.yamlmodels/configs/v2-inference_fp32.yamlmodels/configs/v2-inpainting-inference.yamlmodels/controlnet/put_controlnets_and_t2i_heremodels/diffusers/put_diffusers_models_heremodels/diffusion_models/put_diffusion_model_files_heremodels/embeddings/put_embeddings_or_textual_inversion_concepts_heremodels/gligen/put_gligen_models_heremodels/hypernetworks/put_hypernetworks_heremodels/latent_upscale_models/put_latent_upscale_models_heremodels/loras/put_loras_heremodels/model_patches/put_model_patches_heremodels/photomaker/put_photomaker_models_heremodels/style_models/put_t2i_style_model_heremodels/text_encoders/put_text_encoder_files_heremodels/unet/put_unet_files_heremodels/upscale_models/put_esrgan_and_other_upscale_models_heremodels/vae/put_vae_heremodels/vae_approx/put_taesd_encoder_pth_and_taesd_decoder_pth_hereoutput/_output_images_will_be_put_hereprompt.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
| .\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 |
There was a problem hiding this comment.
🧩 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.ps1Repository: 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.
API Node PR Checklist
Scope
Pricing & Billing
If Need pricing update:
QA
Comms