Commit Graph

181 Commits

Author SHA1 Message Date
68d3606cab fix: use WAI-NSFW-Illustrious checkpoint instead of non-existent Pony model
Changed checkpoint from 'add-detail-xl.safetensors' (which is a LoRA) to
'waiIllustriousSDXL_v150.safetensors' which is the downloaded anime NSFW model
2025-11-23 19:13:22 +01:00
9ca62724d0 feat: add LoRA models category to CivitAI config with add-detail-xl and siesta 2025-11-23 19:04:19 +01:00
5e7c65a95c feat: add NSFW workflow linking to arty workflow manager
Updated arty.yml workflow linking script to include NSFW workflows:
- Added nsfw_ prefix for NSFW workflow category
- Links 4 NSFW workflows (LUSTIFY, Pony, RealVisXL, Ultimate Upscale)
- Updated workflow count from 20 to 25 total production workflows
- Updated documentation to list all 7 workflow categories

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 18:48:46 +01:00
1d851bb11c feat: add NSFW ComfyUI workflow suite with LoRA fusion and upscaling
Added 5 production-ready workflows to leverage downloaded CivitAI NSFW models:

**NSFW Text-to-Image Workflows (3):**
- lustify-realistic-t2i-production-v1.json - Photorealistic NSFW with LUSTIFY v7.0
  - DPM++ 2M SDE, Exponential scheduler, 30 steps, CFG 6.0
  - Optimized for women in realistic scenarios with professional photography quality
- pony-anime-t2i-production-v1.json - Anime/cartoon/furry with Pony Diffusion V6 XL
  - Euler Ancestral, Normal scheduler, 35 steps, CFG 7.5
  - Danbooru tag support, balanced safe/questionable/explicit content
- realvisxl-lightning-t2i-production-v1.json - Ultra-fast photorealistic with RealVisXL V5.0 Lightning
  - DPM++ SDE Karras, 6 steps (vs 30+), CFG 2.0
  - 4-6 step generation for rapid high-quality output

**Enhancement Workflows (2):**
- lora-fusion-t2i-production-v1.json - Multi-LoRA stacking (text-to-image directory)
  - Stack up to 3 LoRAs with adjustable weights (0.2-1.0)
  - Compatible with all SDXL checkpoints including NSFW models
  - Hierarchical strength control for style mixing and enhancement
- nsfw-ultimate-upscale-production-v1.json - Professional 2x upscaling with LUSTIFY
  - RealESRGAN_x2 + diffusion refinement via Ultimate SD Upscale
  - Tiled processing, optimized for detailed skin texture
  - Denoise 0.25 preserves original composition

**Documentation:**
- Comprehensive README.md with usage examples, API integration, model comparison
- Optimized settings for each workflow based on model recommendations
- Advanced usage guide for LoRA stacking and upscaling pipelines
- Version history tracking

**Total additions:** 1,768 lines across 6 files

These workflows complement the 27GB of CivitAI NSFW models downloaded in previous commit.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 18:46:22 +01:00
5944767d3f fix: update CivitAI model version IDs to latest versions
- RealVisXL: 904692 → 798204 (V5.0 Lightning)
- WAI-NSFW-illustrious: 1239648 → 2167369 (v15.0)
- Big Lust: 649023 → 1081768 (v1.6)

Fixes 404 errors when downloading these models.
2025-11-23 18:16:32 +01:00
e29f77c90b feat: add dedicated CivitAI NSFW model downloader
- Add models_civitai.yaml with 6 NSFW SDXL checkpoints
- Create artifact_civitai_download.sh with beautiful purple/magenta CLI
- Update .env.example with CIVITAI_API_KEY documentation
- Update CLAUDE.md with CivitAI usage instructions
- Rename comfyui_models.yaml to models_huggingface.yaml for clarity

Features:
- Dedicated config and downloader for CivitAI models
- Same elegant architecture as HuggingFace downloader
- Retry logic, rate limiting, progress bars
- Models: LUSTIFY, Pony Diffusion V6, RealVisXL, etc.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 17:58:25 +01:00
76cf5b5e31 docs: update CLAUDE.md to reflect direct vLLM architecture
- Remove all orchestrator references
- Update to dedicated vLLM server model
- Update service management commands
- Update LiteLLM integration details
- Update testing examples
2025-11-23 16:26:59 +01:00
479201d338 chore: remove orchestrator - replaced with dedicated vLLM servers 2025-11-23 16:24:43 +01:00
1ad99cdb53 refactor: replace orchestrator with dedicated vLLM servers for Qwen and Llama 2025-11-23 16:00:03 +01:00
cc0f55df38 fix: reduce max_model_len to 20000 to fit in 24GB VRAM 2025-11-23 15:43:37 +01:00
5cfd03f1ef fix: improve streaming with proper delta format and increase max_model_len to 32768 2025-11-23 15:38:18 +01:00
3f812704a2 fix: use venv python for vLLM service startup 2025-11-23 15:21:52 +01:00
fdd724298a fix: increase max_tokens limit from 4096 to 32768 for LLMX CLI support 2025-11-23 15:10:06 +01:00
a8c2ee1b90 fix: make model name and port configurable via environment variables 2025-11-23 13:45:01 +01:00
16112e50f6 fix: relax dependency version constraints for vllm compatibility 2025-11-23 13:33:46 +01:00
e0a43259d4 fix: update pydantic version constraint to match vllm requirements 2025-11-23 13:33:22 +01:00
d351ec7172 fix: update service_script path to vllm/server.py
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 13:29:51 +01:00
b94df17845 feat: add requirements.txt for vLLM models
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 13:25:03 +01:00
d67667c79f fix: add psutil to orchestrator dependencies
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 13:11:30 +01:00
61fd0e9265 fix: correct widgets_values - remove upscale_model/custom params, fix seam_fix order (width before mask_blur) 2025-11-23 12:34:28 +01:00
b9afd68ddd fix: add control_after_generate parameter at position 2 (23 total params) 2025-11-23 12:26:27 +01:00
2f53f542e7 fix: add custom_sampler and custom_sigmas null placeholders (22 total parameters) 2025-11-23 12:21:40 +01:00
14a1fcf4a7 fix: add null placeholder for upscale_model in widgets_values (20th parameter) 2025-11-23 12:20:48 +01:00
626dab6f65 fix: back to function signature order for seam_fix params 2025-11-23 12:18:42 +01:00
abbd89981e fix: use USDU_base_inputs order (seam_fix_width before mask_blur) 2025-11-23 12:15:49 +01:00
f976dc2c74 fix: correct seam_fix parameter order - mask_blur comes before width in function signature 2025-11-23 12:14:19 +01:00
75c6c77391 fix: correct widgets_values array to match actual parameter order (19 widget values for unconnected parameters) 2025-11-23 12:11:54 +01:00
6f4ac14032 fix: correct seam_fix parameter order in widgets_values (seam_fix_denoise was 1.0, should be 0.3) 2025-11-23 12:10:23 +01:00
21efd3b86d fix: remove widget parameters from inputs array - they belong in widgets_values only 2025-11-23 12:09:11 +01:00
8b8a29a47e fix: add missing type fields to sampler_name and scheduler inputs 2025-11-23 12:07:43 +01:00
d6fbda38f1 fix: correct UltimateSDUpscale input indices in workflow
The upscale_model input was at index 5 instead of index 12, causing all
widget parameters to be misaligned. Fixed by:
- Updating link target index from 5 to 12 for upscale_model
- Adding explicit entries for widget parameters in inputs array
- Maintaining correct parameter order per custom node definition

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 12:06:25 +01:00
096d565f3d chore: reorganize workflow assets and remove unused files
- Move example images to their respective workflow directories
- Remove unused COMFYUI_MODELS.md (content consolidated elsewhere)
- Remove fix_workflows.py script (no longer needed)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 12:01:38 +01:00
d12c868e65 fix: add UpscaleModelLoader and correct widget order in UltimateSDUpscale workflow
- Added UpscaleModelLoader node (node 8) for RealESRGAN model
- Connected upscale_model input to UltimateSDUpscale
- Fixed widgets_values array to match correct parameter order:
  upscale_by, seed, steps, cfg, sampler_name, scheduler, denoise,
  mode_type, tile_width, tile_height, mask_blur, tile_padding,
  seam_fix_mode, seam_fix_denoise, seam_fix_width, seam_fix_mask_blur,
  seam_fix_padding, force_uniform_tiles, tiled_decode
- Updated version to 1.1.0
2025-11-23 11:45:28 +01:00
53a7faf2a8 feat: add RealESRGAN upscale models to configuration
Added RealESRGAN x2 and x4 upscaling models:
- RealESRGAN_x2.pth - Fast 2x upscaling
- RealESRGAN_x4.pth - High quality 4x upscaling
- Both marked as essential, minimal VRAM usage (~2-4GB)
- Total size: ~120MB combined
2025-11-23 11:35:04 +01:00
c114569309 feat: add placeholder input images for workflows
Added example images for testing workflows:
- input_image.png (512x512) - for general upscaling workflows
- input_portrait.png (512x768) - for portrait/face upscaling workflows
2025-11-23 11:33:00 +01:00
0df4c63412 fix: add missing links and rebuild upscaling workflows
- simple-upscale: Added proper node connections, changed ImageScale to ImageScaleBy
- ultimate-sd-upscale: Added CLIP text encoders, removed incorrect VAEDecode and UpscaleModelLoader nodes
- face-upscale: Simplified to basic upscaling workflow (FaceDetailer requires complex bbox detector setup)

All workflows now have proper inputs, outputs, and links arrays.
2025-11-23 11:30:29 +01:00
f1788f88ca fix: replace PreviewAudio with AudioPlay in MusicGen workflows
Sound Lab's Musicgen_ node outputs AUDIO format that is only compatible with Sound Lab nodes like AudioPlay, not the built-in ComfyUI audio nodes (SaveAudio/PreviewAudio).
2025-11-23 11:20:15 +01:00
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
230175f33d fix: combine FLUX CLIP entries into single repo entry
Both CLIP-L and T5-XXL come from the same repo, so they should
be in one entry with multiple files, not two separate entries.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 10:27:47 +01:00
9eb8c26ff0 feat: add FLUX CLIP models to configuration
Add CLIP-L and T5-XXL entries with type: clip so they get
linked to /workspace/ComfyUI/models/clip/ directory for
FLUX model usage via DualCLIPLoader.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 10:25:56 +01:00
105830322a fix: change FLUX models type from diffusion_models to unet
FLUX models need to be in /workspace/ComfyUI/models/unet/ directory
for UNETLoader to find them, not in diffusion_models directory.

Changed type for:
- black-forest-labs/FLUX.1-schnell
- black-forest-labs/FLUX.1-dev

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-23 10:20:44 +01:00