Run the latest diffusion models directly on your mobile device.
Local Diffusion is a Flutter application that brings Diffusion models to Android, powered by the amazing stable-diffusion.cpp
-
📱 Truly Local Inference: Generate images entirely on your Android device.
-
🚀 Broad Model Compatibility:
-
Supports a wide range of architectures: SD1.x, SD2.x, SDXL, SD3/SD3.5, Flux/Flux-schnell, SD-Turbo, SDXL-Turbo, and more.
-
Load models directly from popular sources like Hugging Face and Civitai.
-
Works with common model formats: .safetensors and .ckpt.
-
? On-the-Fly Quantization: Automatically quantize full-precision models during loading to save memory and potentially increase speed. Supported formats: q8_0, q6_k, q5_0, q5_1, q5_1k, q4_0, q4_1, q4_k, q3_k, q2_k.
-
🏎? Performance Optimizations:
-
Flash Attention: Reduces memory usage during inference
-
TAESD: Significantly speeds up the image decoding process.
-
VAE Tiling: Reduces memory consumption during the VAE decoding stage, crucial for larger images on memory-constrained devices.
-
🎨 Advanced Generation Capabilities:
-
ControlNet: Guide image generation with precise control (includes Scribble-to-Image).
-
PhotoMaker: Generate custom portraits from reference images.
-
Img2Img: Generate images based on an initial input image.
-
Inpainting/Outpainting: Modify specific parts of an image or expand its canvas.
-
LoRA Support: Apply Low-Rank Adaptations to customize model outputs.
-
Negative Prompts: Specify what you don't want to see in the image.
-
Token Weighting: Emphasize or de-emphasize specific parts of your prompt.
-
Multiple Sampling Methods: Euler A, Euler, Heun, DPM2, DPM++ 2M, DPM++ 2M v2, DPM++ 2S a, LCM, TCD, DDIM
-
💻 GPU Acceleration (Experimental):
-
Vulkan: Currently performs ~2x slower than CPU. Performance improvements are planned.
-
OpenCL: Only supports Adreno 7xx GPUs for now. Optimized for Q4_0 quantization; also supports Q8_0 and FP16. Operations or devices outside these specifics may fall back to CPU execution.