March 16, 2025|6 min reading
How to Use Flux Schnell Locally on an M3 Max MacBook Pro

Don't Miss This Free AI!
Unlock hidden features and discover how to revolutionize your experience with AI.
Only for those who want to stay ahead.
Flux Schnell is a high-performance, open-source text-to-image AI model that allows you to generate stunning images from text prompts. Running Flux Schnell locally on an M3 Max MacBook Pro can leverage up to 40GB of RAM for efficient processing. This guide provides a step-by-step tutorial to set up and run Flux Schnell on your Mac.
Requirements to Run Flux Schnell on Mac Locally
Before proceeding, ensure your system meets the following prerequisites:
- MacBook Pro with M3 Max chip
- macOS (latest version recommended)
- At least 40GB of available RAM
- Anaconda or Miniconda installed
- Internet connection for downloading dependencies
Step-by-Step Tutorial to Run Flux Schnell on Mac Locally
Step 1: Set Up the Environment
First, create a new Conda environment and activate it:
conda create -n flux python=3.11 conda activate flux
Step 2: Install Dependencies
Next, install the required packages:
pip install torch==2.3.1 pip install git+https://github.com/huggingface/diffusers.git pip install transformers==4.43.3 sentencepiece==0.2.0 accelerate==0.33.0 protobuf==5.27.3
Step 3: Prepare the Python Script
Create a new Python file named flux_schnell.py and add the following code:
import torch from diffusers import FluxPipeline import diffusers # Modify the rope function to handle MPS device _flux_rope = diffusers.models.transformers.transformer_flux.rope def new_flux_rope(pos: torch.Tensor, dim: int, theta: int) -> torch.Tensor: assert dim % 2 == 0, "The dimension must be even." if pos.device.type == "mps": return _flux_rope(pos.to("cpu"), dim, theta).to(device=pos.device) else: return _flux_rope(pos, dim, theta) diffusers.models.transformers.transformer_flux.rope = new_flux_rope # Load the Flux Schnell model pipe = FluxPipeline.from_pretrained( "black-forest-labs/FLUX.1-schnell", revision='refs/pr/1', torch_dtype=torch.bfloat16 ).to("mps") # Define the prompt prompt = "A cat holding a sign that says hello world" # Generate the image out = pipe( prompt=prompt, guidance_scale=0., height=1024, width=1024, num_inference_steps=4, max_sequence_length=256, ).images[0] # Save the generated image out.save("flux_image.png")
Step 4: Run the Script
Execute the Python script:
python flux_schnell.py
This will generate an image based on the text prompt and save it as flux_image.png in the same directory.
Understanding the Code
Importing Dependencies
The script imports essential modules for tensor operations and the Flux Schnell pipeline.
Modifying the Rope Function
This ensures compatibility with the MPS (Metal Performance Shaders) device in Apple Silicon chips by handling tensor movements efficiently.
Loading the Model
The script loads the Flux Schnell model from Hugging Face, sets the data type for efficiency, and moves it to the MPS device.
Generating the Image
The model generates an image based on the given prompt with specified parameters such as:
- guidance_scale: 0 for unconditional generation.
- height and width: Image size set to 1024x1024 pixels.
- num_inference_steps: Number of denoising steps (set to 4 for speed).
Saving the Image
The output image is saved locally as a PNG file.
Optimizing Performance
To make the most of your M3 Max MacBook Pro, consider these tips:
- Close unnecessary applications to free up RAM.
- Adjust image dimensions for faster or higher-quality generation.
- Experiment with num_inference_steps to balance speed and image quality.
- Use bfloat16 precision to optimize memory usage.
- Batch process images for efficiency.
Troubleshooting
If you face issues:
- Update dependencies to the latest versions.
- Check MPS compatibility and ensure your setup matches Mac hardware.
- Monitor system resources using Activity Monitor.
- Clear PyTorch cache with:
torch.cuda.empty_cache()
- Restart your system or kernel if issues persist.
Conclusion
By following this guide, you can successfully run Flux Schnell locally on your M3 Max MacBook Pro, generating high-quality images in around 30 seconds. Experiment with different parameters to optimize performance and achieve the best results for your needs.
SEO FAQ
1. What is Flux Schnell?
Flux Schnell is a fast, open-source text-to-image AI model designed for efficient image generation with minimal computational resources.
2. Can I run Flux Schnell on a MacBook with an M1 or M2 chip?
Yes, but performance may be slower compared to the M3 Max due to hardware limitations.
3. How much RAM is required to run Flux Schnell efficiently?
At least 40GB of available RAM is recommended for optimal performance.
4. Can I modify the prompt for different image outputs?
Yes, you can customize the prompt to generate various images based on text descriptions.
5. What if my system runs out of memory while generating images?
Try reducing image dimensions or increasing swap memory to avoid crashes.
6. Is there an online version of Flux Schnell?
Yes, you can access a cloud-based version of Flux Schnell on Merlio’s platform for hassle-free usage.
By implementing this guide, you can harness the power of AI image generation on your MacBook Pro seamlessly. Happy creating!
Explore more
Top 10 AI Search Engines: Find the Best AI Search Platform
Our guide helps Merlio readers compare features, pros, and cons to find the perfect AI search platform for their needs
Top 10 Komo.ai Alternatives for Enhanced AI Search in 2025
Dissatisfied with Komo.ai? Explore the 10 best AI-powered search engine alternatives in 2025, including HIX.AI, Bing, Pe...
Top 10 Arc Search Alternatives to Enhance Your Online Experience | Merlio
Discover the 10 best AI-powered search engine alternatives, including features, pros, and cons. Find your perfect search...