This guide explains how to work with Flux models, tools, and LoRAs in the Draw Things app on macOS. It provides instructions, examples, and configurations with the aim of offering sane defaults to help new users get started quickly.
Note: This guide is open to contributions. If you want to improve or extend it, feel free to submit a pull request on GitHub. PRs are welcome!
All models used in this guide can be directly downloaded within Draw Things. Please consult the respective model licenses before using them.
Here is a quick overview of the Draw Things User Interface, that helps you find the inputs and settings described in the upcoming sections:
- Model Selection
- LoRA Selection
- Control Selection
- Steps
- Restoring default settings and paste settings in JSON Format
- Prompt
- Eraser Tools for Masking
- Switch between Layers
- Start a new canvas (Image Layer)
- Revert to all Layers being empty
schnell is the fastest Flux model.
Restore default configuration and then apply the following settings
- Model:
Flux.1 [schnell] - Steps:
4
Provide a text prompt.
Click to expand configuration
{
"batchCount": 1,
"batchSize": 1,
"clipSkip": 1,
"controls": [],
"guidanceScale": 4.5,
"height": 1024,
"hiresFix": false,
"loras": [],
"maskBlur": 1.5,
"maskBlurOutset": 0,
"model": "flux_1_schnell_q8p.ckpt",
"preserveOriginalAfterInpaint": true,
"sampler": 12,
"seed": 1337,
"seedMode": 2,
"separateClipL": false,
"sharpness": 0,
"shift": 1,
"speedUpWithGuidanceEmbed": true,
"steps": 4,
"strength": 1,
"tiledDecoding": false,
"tiledDiffusion": false,
"width": 1024,
"zeroNegativePrompt": false
}| Seed | 1337 |
|---|---|
| Prompt | black forest gateau cake spelling out the words "FLUX SCHNELL", tasty, food photography, dynamic shot |
| Result | ![]() |
Open-weight non-commercial version of Flux
Restore default configuration and then apply the following settings
- Model:
Flux.1 [dev] - Steps:
28 - Text Guidance: 3.5
Provide a text prompt.
Click to expand configuration
{
"batchCount": 1,
"batchSize": 1,
"clipSkip": 1,
"controls": [],
"guidanceScale": 3.5,
"height": 1024,
"hiresFix": false,
"loras": [],
"maskBlur": 1.5,
"maskBlurOutset": 0,
"model": "flux_1_dev_q8p.ckpt",
"preserveOriginalAfterInpaint": true,
"resolutionDependentShift": true,
"sampler": 12,
"seed": 1337,
"seedMode": 2,
"separateClipL": false,
"sharpness": 0,
"shift": 3.1581929,
"speedUpWithGuidanceEmbed": true,
"steps": 28,
"strength": 1,
"tiledDecoding": false,
"tiledDiffusion": false,
"width": 1024,
"zeroNegativePrompt": false
}| Seed | 1337 |
|---|---|
| Prompt | black forest gateau cake spelling out the words "FLUX DEV", tasty, food photography, dynamic shot |
| Result | ![]() |
LoRA to accelerate generation. This LoRA can be combined with all other [dev] variants of Flux.
Restore default configuration and then apply the following settings
- Model:
Flux.1 [dev] - LoRA:
Hyper FLUX.1 [dev] 8-Step (Flux.1), Weight: 100% - Steps:
8 - Text Guidance: 3.5
Provide a text prompt.
Click to expand configuration
{
"batchCount": 1,
"batchSize": 1,
"clipSkip": 1,
"controls": [],
"guidanceScale": 3.5,
"height": 1024,
"hiresFix": false,
"loras": [
{
"file": "hyper_flux.1__dev__8_step_lora_f16.ckpt",
"weight": 1
}
],
"maskBlur": 1.5,
"maskBlurOutset": 0,
"model": "flux_1_dev_q8p.ckpt",
"preserveOriginalAfterInpaint": true,
"resolutionDependentShift": true,
"sampler": 12,
"seed": 1337,
"seedMode": 2,
"separateClipL": false,
"sharpness": 0,
"shift": 3.1581929,
"speedUpWithGuidanceEmbed": true,
"steps": 8,
"strength": 1,
"tiledDecoding": false,
"tiledDiffusion": false,
"width": 1024,
"zeroNegativePrompt": false
}| Seed | 1337 |
|---|---|
| Prompt | black forest gateau cake spelling out the words "Hyper FLUX 8-step", tasty, food photography, dynamic shot |
| Result | ![]() |
Base model for inpainting and outpainting
Restore default configuration and then apply the following settings
- Model:
Flux.1 Fill [dev] - Steps:
28 - Text Guidance: 3.5
- Mask Blur:
5 - Mask Blur Outset:
10 - Preserve Original After Inpaint:
Disable
Provide a text prompt and a masked input image on the 'Image' layer.
Click to expand configuration
{
"batchCount": 1,
"batchSize": 1,
"clipSkip": 1,
"controls": [],
"guidanceScale": 3.5,
"height": 1024,
"hiresFix": false,
"loras": [],
"maskBlur": 5,
"maskBlurOutset": 10,
"model": "flux_1_fill_dev_q8p.ckpt",
"preserveOriginalAfterInpaint": false,
"resolutionDependentShift": true,
"sampler": 12,
"seed": 1337,
"seedMode": 2,
"separateClipL": false,
"sharpness": 0,
"shift": 3.1581929,
"speedUpWithGuidanceEmbed": true,
"steps": 28,
"strength": 1,
"tiledDecoding": false,
"tiledDiffusion": false,
"width": 1024,
"zeroNegativePrompt": false
}LoRA for edge-guided image generation
Restore default configuration and then apply the following settings
- Model:
Flux.1 [dev] - Steps:
28 - LoRA:
Flux.1 Canny [dev], Weight: 80% - Text Guidance: 3.5
Provide a text prompt and a control image on the 'Image' layer. The control image must cover the whole layer.
Click to expand configuration
{
"batchCount": 1,
"batchSize": 1,
"clipSkip": 1,
"controls": [],
"guidanceScale": 3.5,
"height": 1024,
"hiresFix": false,
"loras": [
{
"file": "flux_1_canny_dev_lora_f16.ckpt",
"weight": 0.8
}
],
"maskBlur": 1.5,
"maskBlurOutset": 0,
"model": "flux_1_dev_q8p.ckpt",
"preserveOriginalAfterInpaint": true,
"resolutionDependentShift": true,
"sampler": 12,
"seed": 1337,
"seedMode": 2,
"separateClipL": false,
"sharpness": 0,
"shift": 3.1581929,
"speedUpWithGuidanceEmbed": true,
"steps": 28,
"strength": 1,
"tiledDecoding": false,
"tiledDiffusion": false,
"width": 1024,
"zeroNegativePrompt": false
}| Seed | 1337 |
|---|---|
| Image Layer |
Important: Image must cover whole layer area |
| Prompt | black forest gateau cake spelling out the words "FLUX CANNY", tasty, food photography, dynamic shot |
| Result | ![]() |
LoRA for depth-aware image generation
Restore default configuration and then apply the following settings
- Model:
Flux.1 [dev] - Steps:
28 - LoRA:
Flux.1 Depth [dev], Weight: 100% - Text Guidance: 3.5
Provide a text prompt and a control image on the 'Depth' layer.
Click to expand configuration
{
"batchCount": 1,
"batchSize": 1,
"clipSkip": 1,
"controls": [],
"guidanceScale": 3.5,
"height": 1024,
"hiresFix": false,
"loras": [
{
"file": "flux_1_depth_dev_lora_f16.ckpt",
"weight": 1
}
],
"maskBlur": 1.5,
"maskBlurOutset": 0,
"model": "flux_1_dev_q8p.ckpt",
"preserveOriginalAfterInpaint": true,
"resolutionDependentShift": true,
"sampler": 12,
"seed": 1337,
"seedMode": 2,
"separateClipL": false,
"sharpness": 0,
"shift": 3.1581929,
"speedUpWithGuidanceEmbed": true,
"steps": 28,
"strength": 1,
"tiledDecoding": false,
"tiledDiffusion": false,
"width": 1024,
"zeroNegativePrompt": false
}
| Seed | 1337 |
|---|---|
| Depth Layer |
|
| Prompt | excessive amount of caster sugar covering a cake spelling out the words "FLUX DEPTH", tasty, food photography, dynamic shot |
| Result | ![]() |
Controlnet to generate variations of existing images. Can be combined with both [schnell] and [dev].
Restore default configuration and then apply the following settings
- Model:
Flux.1 [schnell]or dev - Steps:
4or 28 for dev - Control:
Flux.1 Redux [dev]
Provide a redux image on the 'Moodboard' layer.
Click to expand configuration for [schnell]
{
"batchCount": 1,
"batchSize": 1,
"clipSkip": 1,
"controls": [
{
"controlImportance": "balanced",
"downSamplingRate": 1,
"file": "flux_1_redux_f16.ckpt",
"globalAveragePooling": false,
"guidanceEnd": 1,
"guidanceStart": 0,
"inputOverride": "",
"noPrompt": false,
"targetBlocks": [],
"weight": 1
}
],
"guidanceScale": 3.5,
"height": 1024,
"hiresFix": false,
"loras": [],
"maskBlur": 5,
"maskBlurOutset": 10,
"model": "flux_1_schnell_q8p.ckpt",
"preserveOriginalAfterInpaint": false,
"sampler": 12,
"seed": 1337,
"seedMode": 2,
"separateClipL": false,
"sharpness": 0,
"shift": 1,
"speedUpWithGuidanceEmbed": true,
"steps": 4,
"strength": 1,
"tiledDecoding": false,
"tiledDiffusion": false,
"width": 1024,
"zeroNegativePrompt": false
}
Click to expand configuration for [dev]
{
"batchCount": 1,
"batchSize": 1,
"clipSkip": 1,
"controls": [
{
"controlImportance": "balanced",
"downSamplingRate": 1,
"file": "flux_1_redux_f16.ckpt",
"globalAveragePooling": false,
"guidanceEnd": 1,
"guidanceStart": 0,
"inputOverride": "",
"noPrompt": false,
"targetBlocks": [],
"weight": 1
}
],
"guidanceScale": 3.5,
"height": 1024,
"hiresFix": false,
"loras": [],
"maskBlur": 5,
"maskBlurOutset": 10,
"model": "flux_1_dev_q8p.ckpt",
"preserveOriginalAfterInpaint": false,
"resolutionDependentShift": true,
"sampler": 12,
"seed": 1337,
"seedMode": 2,
"separateClipL": false,
"sharpness": 0,
"shift": 3.1581929,
"speedUpWithGuidanceEmbed": true,
"steps": 28,
"strength": 1,
"tiledDecoding": false,
"tiledDiffusion": false,
"width": 1024,
"zeroNegativePrompt": false
}
| Example 1: Redux with Flux [schnell] | |
|---|---|
| Seed | 1337 |
| Moodboard Layer |
100%
|
| Result | ![]() |













