Skip to content

Latest commit

 

History

History
126 lines (89 loc) · 4.99 KB

File metadata and controls

126 lines (89 loc) · 4.99 KB

ComfyUI-PuLID-Flux-Chroma

🎨 The first PuLID implementation with full Chroma model support for ComfyUI!

Face-consistent character generation using PuLID (Pure and Lightning ID) with both FLUX and Chroma models in ComfyUI.

🌟 Key Features

  • Full Chroma Compatibility: First working implementation of PuLID with Chroma guidance
  • Dual Model Support: Works seamlessly with both standard FLUX and Chroma models
  • Automatic Model Detection: Intelligently switches between FLUX and Chroma implementations
  • Face Identity Preservation: Maintains consistent character faces across generations
  • AMD GPU Optimized: Tested and optimized for AMD RX 6900 XT (16GB VRAM)

🚀 What's New

Chroma Model Support

This fork introduces groundbreaking Chroma model compatibility, allowing you to use PuLID's powerful face identity preservation with Chroma's enhanced detail and artistic capabilities.

Tested with: chroma-unlocked-v35-detail-calibrated_float8_e4m3fn_scaled_stochastic.safetensors

Technical Improvements

  • Resolved dtype compatibility issues between BFloat16/Half precision
  • Implemented Chroma's custom modulation system
  • Fixed missing time_in attribute in Chroma models
  • Comprehensive dtype conversion throughout the pipeline

See CHANGELOG.md for detailed technical achievements.

📦 Installation

  1. Navigate to your ComfyUI custom nodes directory:

    cd ComfyUI/custom_nodes
  2. Clone this repository:

    git clone https://github.com/[your-username]/ComfyUI-PuLID-Flux-Chroma.git
  3. Install requirements:

    cd ComfyUI-PuLID-Flux-Chroma
    pip install -r requirements.txt
  4. Download the PuLID model:

    • Download pulid_flux_v0.9.1.safetensors (1.06GB)
    • Place it in ComfyUI/models/pulid/

🎮 Usage

Basic Workflow

  1. Load your Chroma or FLUX model as usual
  2. Add the "Apply PuLID Flux" node
  3. Connect your reference face image(s)
  4. The node automatically detects and adapts to your model type

Example Workflows

  • examples/chroma_pulid_basic.json - Basic Chroma + PuLID workflow with clear documentation
  • examples/chroma_pulid_fashion_showcase.json - Fashion showcase demonstrating face consistency across multiple outfits
  • examples/flux_pulid_multi.json - Multi-face FLUX workflow (legacy FLUX support)

🎭 Fashion Showcase Demo

The fashion showcase workflow demonstrates PuLID's remarkable ability to maintain facial identity across completely different scenarios. This three-stage workflow creates:

  1. Reference Portrait: A neutral, professional headshot generated with Chroma
  2. Swimsuit Scene: The same face in an elegant swimsuit on a fashion catwalk
  3. Evening Dress Scene: The same face in a haute couture gown on a fashion catwalk
Reference Portrait Swimsuit Scene Evening Dress Scene
Reference Swimsuit Evening Dress
Base face generated with Chroma Same identity in swimsuit Same identity in evening wear

Notice how PuLID preserves the facial features, bone structure, and overall identity while allowing complete freedom in styling, outfit, and pose. This demonstrates the power of combining Chroma's artistic capabilities with PuLID's identity preservation.

Optimal Settings for Chroma

  • Resolution: 768x768
  • Steps: 26 (Chroma's optimal)
  • PuLID weight: 0.9-1.0
  • Sampler: Euler Simple or Euler Beta

🔧 Advanced Features

All original PuLID-Flux-Enhanced features are preserved:

Fusion Methods

  • mean (official) - Balanced fusion of multiple faces
  • concat - Concatenate embeddings
  • max/max_token - Emphasize dominant features
  • train_weight - Novel fast embedding self-training

Additional Options

  • RGB/Gray image toggle
  • Prior image support for guided training
  • Multi-image input with various fusion strategies

💡 Tips for Best Results

  1. Image Quality: Use high-quality reference images with clear faces
  2. Image Size: 1512x1512 reference images work well (avoid 4K+ images)
  3. PuLID Weight: 0.9-1.0 for v0.9.1 model
  4. Precision: fp16 recommended, fp8 acceptable, avoid gguf/nf4

🙏 Credits

This project builds upon the excellent work of:

  • Original PuLID-Flux implementation by @balazik
  • PuLID-Flux-Enhanced by @sipie800
  • PuLID paper authors and researchers

Special thanks to the Chroma community for inspiration and testing.

📝 License

This project inherits the original MIT License. See LICENSE for details.

🤝 Contributing

Contributions are welcome! Please feel free to submit issues or pull requests.

⚠️ Note

This is an experimental implementation. While it works reliably with tested models, results may vary with different Chroma variants or custom FLUX fine-tunes.