QR Code Mastery: Elevating Business Opportunities with Innovative Designs

Vladimir Garnele
6 min readJun 27, 2023

--

I have been living in China for over 10 years, and QR codes have always played a central role in developing new business opportunities. They are used for various purposes such as making payments, scanning to enter events, or activating digital experiences.

When I discovered the power of Stable Diffusion and how it enables the creation of fantastic QR codes, I was eager to try it out and harness this tool. In a previous article (link), I explained step-by-step how to design a QR code. In this article, I will take it further by incorporating a brand logo into it.

It is certain that brands will leverage this technology to create amazing QR codes.

Here is a step-by-step guide:

If you do not have Stable Diffusion or ControlNet, please refer to this link and follow the steps.

Using Photoshop:

  1. Open Photoshop and create a new file with dimensions of 768x768 pixels.
  2. Create guides with the desired spacing: a. Use green for the QR code. b. Use orange for the logo. c. Use brown to help you center the elements.

3. Place the QR code in the center and generate a JPG. Don’t forget to use a QR code generator with level H error correction.

4. Place the black logo in the center and generate a JPG.

Please note that the size of the logo and QR code depends on you, this is only a suggestion

Stable diffusion

Before starting, I recommend that you download the following model for ControlNet if you don’t have them already:

Model: control_v11f1e_sd15_tile and control_v11p_sd15_lineart download at that link. For the model download control_v11f1e_sd15_brightness at the link.

For more info about the setup of the model, Visit this website: link for ControlNet download and setup.

Step 1

For the Stable Diffusion Checkpoint, you can use any AI model, but I recommend revAnimated model from Hugging Face.

Step 2:

Select the “img2img” tab.

Step 3

Input your positive and negative prompts. You can use the following as a starting prompt:

Positive Prompt: beautiful scenery, (((Coffee bean))) (((green))), best quality, most detailed, best aesthetics, highest contrast, highest resolution, best details, 8K wallpapers, <lora:epi_noiseoffset2:1>

Negative Prompt: NSFW,(ng_deepnegative_v1_75t:1.5), (easynegative:1.5),(worst quality:2), (low quality:2),(normal quality:2), low-res, low resolution, bad anatomy, bad hands, extra fingers, missing finger, missing fingers, bad feet, extra feet,((monochrome)),((grayscale)), watermark, number,

To add more contrast to your prompt, you can use the Lora model, which you can find at this link: Lora Model Guide.

Step 4

Upload your QR code image.

Select the following parameters:

  • Sampling method: DPM++ 2M Karras
  • Sampling step: 20
  • Size: 512x512
  • GFG Scale: 7
  • Denoising strength: 0.72

Step 5:

You need to have four tabs in ControlNets to achieve a high-quality QR code.

Step 1: Click on the Settings tab

Step 2: Change the number of Multi ControlNet: Max models amount

Step 3: Apply settings

Parameters for each ControlNet unit:

ControlNets Unit 0

Upload in the unit the same QR code.

  • Enable
  • Preprocessor: tile_resample
  • Model: control_v11f1e_sd15_brightness (download from ControlNet Model)
  • Control weight: 0.65
  • Starting control step: 0.3
  • Ending control step: 0.7
  • Pixel perfect: true
  • Control mode: balanced
  • Resize mode: just resize

ControlNets Unit 1

Upload in the unit the same QR code.

  • Enable
  • Preprocessor: inpaint_global_harmonious
  • Model: control_v11f1e_sd15_tile (download from ControlNet Model)
  • Control weight: 0.45
  • Starting control step: 0.5
  • Ending control step: 0.93
  • Pixel perfect: true
  • Control mode: balanced
  • Resize mode: just resize

ControlNets Unit 2

Upload the logo that you generated in Photoshop.

  • Enable
  • Preprocessor: lineart_standard (from white bg & black line)
  • Model: control_v11p_sd15_lineart (download from ControlNet Model)
  • Control weight: 1
  • Starting control step: 0.21
  • Ending control step: 1
  • Pixel perfect: False
  • Control mode: balanced
  • Resize mode: just resize

ControlNets Unit 3

Upload the logo that you generate in Photoshop.

  • Enable
  • Preprocessor: lineart_realistic
  • Model: control_v11p_sd15_lineart (download from ControlNet Model)
  • Control weight: 1.3
  • Starting control step: 0
  • Ending control step: 1
  • Pixel perfect: False
  • Control mode: balanced
  • Resize mode: just resize

I would love to see what you end up creating and am happy to help out if you run into any problems so don’t hesitate to contact me, and I hope you have as much fun experimenting with creating QR codes as I have!

Other examples.

Mac Donald

Prompt positive:

beautiful scenery, (((burger))), (((Gold))) best quality, most detailed, best aesthetics, highest contrast, highest resolution, best details, 8K wallpapers, <lora:epi_noiseoffset 0:1>

Prompt negative:

NSFW,(ng_deepnegative_v1_75t:1.5), (easynegative:1.5),(worst quality:2), (low quality:2),(normal quality:2), low-res, low resolution, bad anatomy, bad hands, extra fingers, missing finger, missing fingers, bad feet, extra feet,((monochrome)),((grayscale)), watermark, number,

Select the following parameters:

  • Sampling method: DPM++ 2M karmas
  • Sampling step: 20
  • Size: 512x512
  • FG Scale: 7
  • Denoising strength: 0.72

Parameters for each ControlNet unit:

ControlNets Unit 0

  • Preprocessor: tile_resample
  • Model: control_v11f1e_sd15_brightness
  • Control weight: 0.65
  • Starting control step: 0.3
  • Ending control step: 0.7
  • Pixel perfect: true
  • Control mode: balanced
  • Resize mode: just resize

ControlNets Unit 1

  • Preprocessor: inpaint_global_harmonious
  • Model: control_v11f1e_sd15_tile
  • Control weight: 0.35
  • Starting control step: 0.5
  • Ending control step: 0.93
  • Pixel perfect: true
  • Control mode: balanced
  • Resize mode: just resize

ControlNets Unit 2

  • Preprocessor: lineart_standard (from white bg & black line)
  • Model: control_v11p_sd15_lineart
  • Control weight: 0.9
  • Starting control step: 0.18
  • Ending control step: 1
  • Pixel perfect: False
  • Control mode: balanced
  • Resize mode: just resize

ControlNets Unit 3

  • Preprocessor: lineart_realistic
  • Model: control_v11p_sd15_lineart
  • Control weight: 1.15
  • Starting control step: 0
  • Ending control step: 1
  • Pixel perfect: False
  • Control mode: balanced
  • Resize mode: just resize

NIKE

Prompt positive:

beautiful scenery, (((basketball))), ((Ink explosion)) (((Gold))) best quality, most detailed, best aesthetics, highest contrast, highest resolution, best details, 8K wallpapers, <lora:epi_noiseoffset 0:1>

Prompt negative:

NSFW,(ng_deepnegative_v1_75t:1.5), (easynegative:1.5),(worst quality:2), (low quality:2),(normal quality:2), low-res, low resolution, bad anatomy, bad hands, extra fingers, missing finger, missing fingers, bad feet, extra feet,((monochrome)),((grayscale)), watermark, number,

Select the following parameters:

  • Sampling method: DPM++ 2M karmas
  • Sampling step: 20
  • Size: 512x512
  • FG Scale: 7
  • Denoising strength: 0.72

Parameters for each ControlNet unit:

ControlNets Unit 0

  • Preprocessor: tile_resample
  • Model: control_v11f1e_sd15_brightness
  • Control weight: 0.65
  • Starting control step: 0.3
  • Ending control step: 0.7
  • Pixel perfect: true
  • Control mode: balanced
  • Resize mode: just resize

ControlNets Unit 1

  • Preprocessor: inpaint_global_harmonious
  • Model: control_v11f1e_sd15_tile
  • Control weight: 0.35
  • Starting control step: 0.1
  • Ending control step: 0.93
  • Pixel perfect: true
  • Control mode: balanced
  • Resize mode: just resize

ControlNets Unit 2

  • Preprocessor: lineart_standard (from white bg & black line)
  • Model: control_v11p_sd15_lineart
  • Control weight: 0.9
  • Starting control step: 0.23
  • Ending control step: 1
  • Pixel perfect: False
  • Control mode: balanced
  • Resize mode: just resize

ControlNets Unit 3

  • Preprocessor: lineart_realistic
  • Model: control_v11p_sd15_lineart
  • Control weight: 1.15
  • Starting control step: 0
  • Ending control step: 1
  • Pixel perfect: False
  • Control mode: balanced
  • Resize mode: just resize

— — — — — -

Enjoy experimenting with these steps, and please let me know if you have any questions or need further assistance.

Follow me on LinkedIn or on Twitter

--

--