Commit Graph

48 Commits

Author SHA1 Message Date
b6ab524b79 fix: replace SaveAudio with PreviewAudio in MusicGen workflows
SaveAudio was erroring on 'waveform' key - the AUDIO output from
Musicgen_ node has a different internal structure than what SaveAudio
expects. PreviewAudio is more compatible with Sound Lab's AUDIO format.

Files are still saved to ComfyUI output directory, just through
PreviewAudio instead of SaveAudio.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 11:14:17 +01:00
c787b40311 fix: rebuild all MusicGen workflows with correct nodes and links
Fixed medium, small, and melody workflows:
- Replaced non-existent nodes with Musicgen_ from Sound Lab
- Added missing links arrays to connect nodes properly
- Updated all metadata and performance specs

Note: Melody workflow simplified to text-only as Sound Lab doesn't
currently support melody conditioning via audio input.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 11:09:33 +01:00
85b1831876 fix: rebuild MusicGen workflow with correct node types and links
Changed from non-existent nodes to actual Sound Lab nodes:
- Replaced MusicGenLoader/MusicGenTextEncode/MusicGenSampler with Musicgen_
- Replaced custom SaveAudio with standard SaveAudio node
- Added missing links array to connect nodes
- All parameters: prompt, duration, guidance_scale, seed, device

Node is called "Musicgen_" (with underscore) from comfyui-sound-lab.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 11:06:42 +01:00
5c1e9d092b fix: rebuild SD3.5 workflow with TripleCLIPLoader
SD3.5 checkpoint doesn't contain CLIP encoders. Now using:
- CheckpointLoaderSimple for MODEL and VAE
- TripleCLIPLoader for CLIP-L, CLIP-G, and T5-XXL
- Standard CLIPTextEncode for prompts

This fixes the "clip input is invalid: None" error.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 10:56:09 +01:00
91ed1aa9e3 fix: correct model paths in SD3.5 and SDXL Refiner workflows
Changed from diffusers paths to actual .safetensors filenames:
- sd3.5: diffusers/stable-diffusion-3.5-large -> sd3.5_large.safetensors
- sdxl-base: diffusers/stable-diffusion-xl-base-1.0 -> sd_xl_base_1.0.safetensors
- sdxl-refiner: diffusers/stable-diffusion-xl-refiner-1.0 -> sd_xl_refiner_1.0.safetensors

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 10:51:55 +01:00
ac74730ee2 fix: rebuild FLUX Schnell workflow with correct node types
Replaced CheckpointLoaderSimple with UNETLoader + DualCLIPLoader.
Replaced CLIPTextEncode with CLIPTextEncodeFlux.
Added proper VAELoader with ae.safetensors.
Added ConditioningZeroOut for empty negative conditioning.
Removed old negative prompt input (FLUX doesn't use it).

Changes match FLUX Dev workflow structure.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 10:48:13 +01:00
7dd6739f5e fix: add FLUX VAE autoencoder for proper image decoding
Added FLUX VAE (ae.safetensors) to model configuration and updated
workflow to use it instead of non-existent pixel_space VAE.

This fixes the SaveImage data type error (1, 1, 16), |u1.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 10:43:11 +01:00
3eced21d2a fix: add link 8 to CLIPTextEncodeFlux output links array
Node 3 (CLIPTextEncodeFlux) output feeds both KSampler (link 3) and
ConditioningZeroOut (link 8), so the output links array must include
both links.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 10:39:17 +01:00
30cc2513cb fix: add ConditioningZeroOut for FLUX workflow negative input
FLUX models require negative conditioning even though they don't use it.
Added ConditioningZeroOut node to create empty negative conditioning from
positive output, satisfying KSampler's required negative input.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 10:35:22 +01:00
a2455ae9ee fix: rebuild FLUX Dev workflow with correct node types
- Replace CheckpointLoaderSimple with UNETLoader
- Replace CLIPTextEncode with DualCLIPLoader + CLIPTextEncodeFlux
- Add VAELoader with pixel_space
- Remove negative prompt (FLUX uses guidance differently)
- Set CFG to 1.0, guidance in text encoder (3.5)
- Add all node connections in links array

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 10:30:47 +01:00
8b4f141d82 fix: rebuild SVD-XT workflow with correct node types
- Replace DiffusersLoader with ImageOnlyCheckpointLoader
- Replace SVDSampler with SVD_img2vid_Conditioning + KSampler
- Add VideoLinearCFGGuidance for temporal consistency
- Add all node connections in links array
- Configure VHS_VideoCombine with correct parameters (25 frames)
- Increase steps to 30 for better quality with longer video

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 10:15:43 +01:00
d7bae9cde5 fix: correct VHS_VideoCombine parameters for SVD workflow
Remove format-specific parameters from widgets_values array.
Only base parameters should be in widgets_values:
- frame_rate, loop_count, filename_prefix, format, pingpong, save_output

Format-specific params (pix_fmt, crf) are added dynamically by ComfyUI.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 10:11:52 +01:00
764cb5d2d7 fix: rebuild SVD workflow with correct node types
- Replace DiffusersLoader with ImageOnlyCheckpointLoader
- Replace SVDSampler with SVD_img2vid_Conditioning + KSampler
- Add VideoLinearCFGGuidance for temporal consistency
- Add all node connections in links array
- Configure VHS_VideoCombine with H.264 parameters

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 10:10:38 +01:00
22afe18957 fix: change input image to 720x480 for CogVideoX-5b-I2V
- CogVideoX-5b-I2V requires specific resolution (720x480)
- Cannot generate videos at different resolutions
- Update placeholder image to match model requirements
2025-11-23 09:51:12 +01:00
385b36b062 feat: enable CPU offload for CogVideoX model to reduce VRAM usage
- Add enable_sequential_cpu_offload=true to DownloadAndLoadCogVideoModel
- Reduces VRAM from ~20GB to ~12GB at cost of slower inference
- Widget values: [model, precision, quantization, cpu_offload] = ['THUDM/CogVideoX-5b-I2V', 'bf16', 'disabled', true]
- Necessary for 24GB GPU with other services running
2025-11-23 09:47:02 +01:00
404eb6ad0e feat: add placeholder input image for CogVideoX I2V workflow
- Create 1024x1024 white placeholder with 'Input Frame' text
- Allows workflow validation without external image upload
- Will be replaced by API input in production use
2025-11-23 09:43:38 +01:00
47824ab987 fix: completely rebuild CogVideoX I2V workflow with correct configurations
Major fixes:
- Replace DualCLIPLoader with CLIPLoader using t5xxl_fp16.safetensors
- Fix CogVideoSampler parameter order: [num_frames, steps, cfg, seed, control, scheduler, denoise]
- Fix CogVideoImageEncode input: 'image' -> 'start_image'
- Remove CogVideoXVAELoader, use VAE directly from DownloadAndLoadCogVideoModel
- Add CogVideoTextEncode strength and force_offload parameters
- Simplify to 8 nodes (removed node 10)
- All nodes properly connected with correct link IDs

Version: 1.2.0
Tested against: ComfyUI-CogVideoXWrapper example workflows
2025-11-23 09:41:01 +01:00
5cd9237d82 fix: add h264-mp4 format parameters to VHS_VideoCombine
- Add required format-specific parameters: pix_fmt, crf, save_metadata, trim_to_audio
- Values: [8, 0, 'cogvideox_output', 'video/h264-mp4', 'yuv420p', 19, true, false]
- Fixes red node error in ComfyUI UI
2025-11-23 09:09:35 +01:00
6fab6386d7 feat: complete CogVideoX I2V workflow with proper node connections
- Add all necessary nodes: DualCLIPLoader, CogVideoImageEncode, CogVideoXVAELoader
- Add negative prompt support (node 8)
- Properly connect all nodes with links array (11 connections)
- Workflow now fully functional for image-to-video generation

Node flow:
1. LoadImage -> CogVideoImageEncode
2. DownloadAndLoadCogVideoModel -> CogVideoSampler (model)
3. DownloadAndLoadCogVideoModel -> CogVideoImageEncode (vae)
4. DualCLIPLoader -> CogVideoTextEncode (positive & negative)
5. CogVideoTextEncode (pos/neg) -> CogVideoSampler
6. CogVideoImageEncode -> CogVideoSampler (image conditioning)
7. CogVideoSampler -> CogVideoDecode
8. CogVideoXVAELoader -> CogVideoDecode
9. CogVideoDecode -> VHS_VideoCombine

Version: 1.1.0
2025-11-23 09:07:36 +01:00
a9c26861a4 fix: correct CogVideoX node types for I2V workflow
- Change CogVideoXSampler -> CogVideoSampler
- Change DiffusersLoader -> DownloadAndLoadCogVideoModel
- Change CLIPTextEncode -> CogVideoTextEncode
- Change VAEDecode -> CogVideoDecode
- Update model path to THUDM/CogVideoX-5b-I2V
- Fix sampler parameters: [seed, scheduler, num_frames, steps, cfg]
- Add CogVideoDecode tiling parameters

Note: Workflow still needs proper node connections (links array is empty)
2025-11-23 09:04:05 +01:00
862bbe2740 fix: use VIT-G preset instead of PLUS for SDXL compatibility
- Change IPAdapterUnifiedLoader preset from 'PLUS (high strength)' to 'VIT-G (medium strength)'
- PLUS preset expects ViT-H (1024 dim) but loads ViT-bigG (1280 dim) causing shape mismatch
- VIT-G preset works correctly with SDXL models
- Fixes: size mismatch error in Resampler proj_in.weight
2025-11-23 08:59:34 +01:00
2bfc189c70 fix: correct IPAdapter widget parameter order
- IPAdapter node expects 4 parameters: weight, start_at, end_at, weight_type
- Previous had 6 parameters with wrong order causing validation errors
- Now correctly ordered: [0.75, 0.0, 1.0, 'style transfer']
- Fixes: 'end_at' receiving 'style transfer' and weight_type receiving 0
2025-11-23 08:57:27 +01:00
c1014cbbde fix: correct SDXL checkpoint name and IPAdapter weight_type in style workflow
- Change checkpoint from 'diffusers/stable-diffusion-xl-base-1.0' to 'sd_xl_base_1.0.safetensors'
- Change IPAdapter weight_type from 'original' to 'style transfer' (valid option)
- Fixes validation errors: invalid checkpoint name and invalid weight_type
2025-11-23 08:54:22 +01:00
4b4c23d16e fix: use venv Python directly instead of source activation
- Change from 'source venv/bin/activate' to direct venv/bin/python execution
- Use exec to replace shell process with Python process
- Fixes issue where supervisor doesn't properly activate venv
- Ensures all extension dependencies are available
2025-11-23 08:38:14 +01:00
e1faca5d26 Add missing ComfyUI extension dependencies to requirements
- GitPython: for ComfyUI-Manager git operations
- opencv-python-headless: for image processing in extensions
- insightface: for face detection/recognition
- onnxruntime: for InsightFace models
- pyyaml: for config file parsing
- imageio-ffmpeg: for VideoHelperSuite

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 07:25:40 +01:00
4dd608a67d feat: add virtual environment support for ComfyUI
Changes:
- Create venv for ComfyUI in setup/comfyui-base script
- Install extension dependencies: GitPython, opencv-python-headless,
  diffusers, insightface, onnxruntime
- Update start.sh to activate venv before running
- Add musicgen model directory

This fixes import errors for custom nodes:
- ComfyUI-Manager (needs GitPython)
- ComfyUI-Impact-Pack (needs opencv)
- ComfyUI-VideoHelperSuite (needs opencv)
- ComfyUI-CogVideoXWrapper (needs diffusers)
- ComfyUI-Inspire-Pack (needs insightface, onnxruntime)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 06:57:51 +01:00
904a70df76 fix: use CLIP-ViT-bigG for IP-Adapter face workflow
Change CLIP vision model from ViT-H to ViT-bigG to match the
VIT-G preset in IPAdapterUnifiedLoader. This fixes dimension
mismatch error (1280 vs 768).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 06:48:05 +01:00
68485e00b9 Fix composition workflow to use CLIP-ViT-bigG for VIT-G preset 2025-11-23 02:28:52 +01:00
e4f46187f1 fix: use CLIP-ViT-H for both workflows (CLIP-ViT-bigG header too large) 2025-11-23 01:27:02 +01:00
d93fb95f8d fix: use pytorch_model.bin for CLIP Vision due to safetensors header size limit 2025-11-23 01:23:50 +01:00
b5e1f0ce2a fix: use safetensors extension for CLIP Vision models
CLIPVisionLoader validates against a list of .safetensors files only.
Changed CLIP Vision model extensions from .bin back to .safetensors
in both the model configuration and workflow files.

Note: The actual files are PyTorch .bin format, but ComfyUI's
CLIPVisionLoader expects .safetensors naming convention. The symlinks
will point to the .bin files but use .safetensors extensions.

Changes:
- comfyui_models.yaml: Changed dest extensions to .safetensors
- Workflows: Changed clip_name to .safetensors extension

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 01:13:06 +01:00
b21fc9cde6 fix: add CLIPVision input to IPAdapterAdvanced nodes
IPAdapterAdvanced requires a direct CLIPVision input, unlike the basic
IPAdapter node. Added CLIPVisionLoader nodes to both workflows:

Face workflow:
- Added CLIPVisionLoader (node 12) loading CLIP-ViT-bigG-14
- Connected to IPAdapterAdvanced (node 4) via link 20

Composition workflow:
- Added CLIPVisionLoader (node 15) loading CLIP-ViT-bigG-14
- Connected to both IPAdapterAdvanced nodes (6 and 7) via links 25 and 26

This provides the required CLIP Vision model for image understanding
in the IP-Adapter processing pipeline.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 01:11:07 +01:00
996d4a2616 fix: correct IPAdapterAdvanced widget parameter order
Fixed parameter order for IPAdapterAdvanced nodes:
1. weight (float) - 0.85/0.6/0.5
2. weight_type (string) - "ease in-out"
3. combine_embeds (string) - "average"
4. start_at (float) - 0.0
5. end_at (float) - 1.0
6. embeds_scaling (string) - "V only"

Previous order had combine_embeds and embeds_scaling values swapped,
causing validation errors.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 01:07:09 +01:00
0a648caf04 fix: use IPAdapterAdvanced for composition workflow
Changed both IPAdapter nodes to IPAdapterAdvanced for better control
and consistency with the face workflow. IPAdapterAdvanced provides
additional parameters for fine-tuning the adapter behavior.

Updated widget values for both nodes:
- weight: 0.6/0.5 (composition influence strength)
- noise: 0.0
- weight_type: "ease in-out"
- combine_embeds: 1.0
- start_at: 0.0
- end_at: 1.0

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 01:05:34 +01:00
603c56edf6 fix: use IPAdapterAdvanced instead of IPAdapterFaceID
Changed node type from IPAdapterFaceID to IPAdapterAdvanced to work
with VIT-G preset. IPAdapterFaceID requires specialized face detection
models, while IPAdapterAdvanced works with the standard IP-Adapter
models loaded by IPAdapterUnifiedLoader.

Updated widget values to match IPAdapterAdvanced parameters:
- weight: 0.85 (face similarity strength)
- noise: 0.0
- weight_type: "ease in-out"
- combine_embeds: 1.0
- start_at: 0.0
- end_at: 1.0

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 01:03:48 +01:00
aa311f7b48 fix: use VIT-G preset for SDXL IP-Adapter workflows
Changed from PLUS/PLUS FACE presets to VIT-G preset because:
- VIT-G preset is specifically designed for SDXL models
- It correctly maps to the ViT-bigG CLIP Vision model
- PLUS presets default to SD1.5 CLIP Vision models

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 00:52:51 +01:00
2791f5012d fix: correct preset name for IP-Adapter face workflow
Changed from "FACE" to "PLUS FACE (portraits)" to match the exact
preset name expected by IPAdapterUnifiedLoader.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 00:48:40 +01:00
7637deceeb feat: restore IP-Adapter PLUS and FACE presets in workflows
Restored original IP-Adapter presets now that models are available:
- ipadapter-composition-i2i-production-v1.json: Changed both loaders to "PLUS (high strength)"
- ipadapter-face-i2i-production-v1.json: Changed loader to "FACE"

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 00:39:18 +01:00
613a44a7fa Change IPAdapter preset to STANDARD
Changed from PLUS/FACE presets to STANDARD preset which works with
the basic ip-adapter_sdxl.safetensors model currently installed.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 00:31:59 +01:00
3817b2ce22 Remove CLIP inputs from IPAdapterUnifiedLoader nodes
IPAdapterUnifiedLoader only accepts model input, not clip.
Removed CLIP connections from both workflows.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 00:29:54 +01:00
2716c83532 Remove link 9 from links array
Removed the stale link 9 entry from the links array.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 00:28:17 +01:00
c782c93f4d Remove invalid link 9 from composition workflow
Node 5 (IPAdapterUnifiedLoader) MODEL output should not connect to Node 7.
The chain is: Node 6 IPAdapter output -> Node 7 IPAdapter input[0].

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 00:27:06 +01:00
8616b0e231 Fix workflow validation errors
- Changed checkpoint name from 'diffusers/stable-diffusion-xl-base-1.0' to 'sd_xl_base_1.0.safetensors'
- Fixed IPAdapter end_at parameter from string "original" to float 1.0

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 00:25:37 +01:00
44d113f846 Add proper inputs/outputs to IP-Adapter workflow nodes
Fixed node structure for both workflows by adding:
- Input connections for each node that receives data
- Output connections with link references
- Proper link arrays matching the node connections

This ensures workflows load correctly in ComfyUI with complete graph connectivity.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 00:24:04 +01:00
74844842cf Fix missing node links in IP-Adapter workflows
Added proper node connections (links array) for both workflows:
- ipadapter-composition-i2i-production-v1.json: 21 links connecting dual IP-Adapter chain
- ipadapter-face-i2i-production-v1.json: 15 links connecting face IP-Adapter chain

The workflows now have complete node graphs that will load and execute properly in ComfyUI.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 00:17:28 +01:00
e9abaf30f1 Add placeholder reference images for IP-Adapter workflows
Added example images for image-to-image workflows:
- composition_ref1.png: Blue placeholder for first composition reference
- composition_ref2.png: Red placeholder for second composition reference
- face_reference.png: Green placeholder for face portrait reference

These placeholders ensure workflows load without errors and provide clear
instructions to users about replacing them with actual reference images.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 00:14:09 +01:00
a9ef505d0f fix: add TQDM_DISABLE to comfyui start.sh 2025-11-22 21:17:04 +01:00
897dcb175a refactor: reorganize directory structure and remove hardcoded paths
Move comfyui and vllm out of models/ directory to top level for better
organization. Replace all hardcoded /workspace paths with relative paths
to make the configuration portable across different environments.

Changes:
- Move models/comfyui/ → comfyui/
- Move models/vllm/ → vllm/
- Remove models/ directory (empty)
- Update arty.yml: replace /workspace with environment variables
- Update supervisord.conf: use relative paths from /workspace/ai
- Update all script references to use new paths
- Maintain TQDM_DISABLE=1 to fix BrokenPipeError

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 20:49:27 +01:00