-
-
Notifications
You must be signed in to change notification settings - Fork 363
Zero to Hero ControlNet Tutorial Stable Diffusion Web UI Extension Complete Feature Guide
Full tutorial link > https://www.youtube.com/watch?v=3E5fhFQUVLo
I show how to install Automatic1111 Web UI & ControlNet extension installation from scratch in this video. Moreover I show how to make amazing QR codes and inpainting and out painting of ControlNet which are very similar to Photoshop generative fill and Midjourney zoom out. Furthermore, I explain and show what are Canny, Depth, Normal, OpenPose, MLSD, Lineart, SoftEdge, Scribble, Seg, Shuffle, Tile, Inpaint, IP2P, Reference, T2IA features of ControlNet.
Source GitHub Readme File
Our Discord server
https://bit.ly/SECoursesDiscord
Auto Install Scripts (windows)
https://www.patreon.com/posts/automatic-and-84875387
Auto Install Scripts (runpod)
https://www.patreon.com/posts/84896373
If I have been of assistance to you and you would like to show your support for my work, please consider becoming a patron on 🥰
https://www.patreon.com/SECourses
00:00:00 Introduction to most advanced zero to hero ControlNet tutorial
00:02:55 How to install Stable Diffusion Automatic1111 Web UI from scratch
00:05:05 How to see extensions of files like .bat
00:06:15 Where to find command line arguments of Automatic1111 and what are they
00:06:46 How to run Stable Diffusion and ControlNet on a weak GPU
00:07:37 Where to put downloaded Stable Diffusion model files
00:08:29 How to give different folder path as the model path - you can store models on another drive
00:09:15 How to start using Stable Diffusion via Automatic1111 Web UI
00:10:00 Command line interface freezing behaviour
00:10:13 How to improve image generation of Stable Diffusion with better VAE file
00:11:39 Default VAE vs best VAE comparison
00:11:50 How to set quick shortcuts for VAE and Clip Skip for Automatic1111 Web UI
00:12:30 How to upgrade xFormers to the latest version in Automatic1111
00:13:40 What is xFormers and other optimizers
00:14:26 How to install ControlNet extension of Automatic1111 Web UI
00:18:00 How to download ControlNet models
00:19:40 How to use custom Stable Diffusion models with Automatic1111 Web UI
00:21:24 How to update ControlNet extension to the latest version
00:22:53 Set this true, allow other scripts to control ControlNet extension
00:24:37 How to make amazing QR code images with ControlNet
00:30:59 Best settings for QR code image generation
00:31:44 What is Depth ControlNet option and how to use it
00:33:28 Depth_leres++ of ControlNet
00:34:15 Depth_zoe of ControlNet
00:34:22 Official information of Depth maps
00:34:49 ControlNet Normal map
00:35:34 Normal Midas map
00:36:05 Official information of Normal maps
00:34:49 ControlNet Canny model
00:37:42 Official information of Canny
00:37:55 ControlNet MLSD straight lines model
00:39:08 Official information of MLSD straight lines
00:39:18 ControlNet Scribble model
00:40:28 How to use your own scribble images and turn them into amazing artworks
00:40:45 When to select none in pre-processor section
00:41:20 My prompt is more important
00:41:36 ControlNet is more important
00:42:01 Official information of Scribble
00:42:11 ControlNet Softedge model
00:43:12 Official information of SoftEdge
00:43:22 ControlNet Segmentation (Seg) model
00:43:55 How to modify your prompt to properly utilize segmentation
00:44:10 Association of prompt with segments the ControlNet finds
00:44:41 How to turn your wall into a painting with ControlNet
00:45:33 Why I selected none preprocessor
00:43:06 Official information of segmentation (Seg)
00:46:16 Open pose module of ControlNet
00:46:40 How to install and use OpenPose editor
00:50:58 Official information of OpenPose
00:51:08 ControlNet Lineart model
00:51:36 Preprocessor preview bug
00:54:21 Real lineart into amazing art example
00:56:34 How to generate amazing logo images by using Lineart of ControlNet
00:58:16 Difference between just resize, crop and resize, and resize and fill
00:59:02 ControlNet Shuffle model
01:00:50 Official information of Shuffle
01:02:36 What is multi-ControlNet and how to use it
01:04:05 Instruct pix2pix of ControlNet
01:06:00 Inpainting feature of ControlNet
01:07:49 ControlNet inpainting vs Automatic1111 inpainting
01:07:59 How to get true power of inpainting of ControlNet (hint: with tiling)
01:09:00 How to upscale and add details to the images with inpainting + tiling
01:09:30 The tile color fix + sharp to obtain even better results
01:10:35 Tile color fix + sharp vs old tile resample result comparison
01:11:20 How to use generative fill feature of Photoshop in ControlNet to remove objects
01:12:58 How to outpaint (zoom out feature of midjourney 5.2) image with ControlNet
01:14:17 The logic of outpainting
01:14:40 How to continue outpainting easily
01:16:06 Tiling of ControlNet - ultimate game changer for upscaling
01:17:19 How to turn your image into a fully stylized image with tiling without training
01:20:57 Reference only feature of ControlNet
01:22:29 Official information of Reference mode
01:22:39 Style Transfer (T2IA) of ControlNet
01:26:54 How to install and use ControlNet on RunPod
-
00:00:00 Greetings everyone. In this video, I will show you how to install Stable Diffusion Automatic
-
00:00:05 1111 web UI from scratch. How to install the most amazing and most advanced extension of
-
00:00:11 Stable Diffusion community, ControlNet from scratch. How to generate amazing QR codes by
-
00:00:17 using ControlNet with a very easy workflow with using only single ControlNet. What is the Depth
-
00:00:24 feature of ControlNet and how to use it to generate images like this. What is Normal
-
00:00:29 map of ControlNet and how to utilize Normal maps to generate images like these. What is Lineart of
-
00:00:35 ControlNet and how to generate amazing pictures from Lineart images like this. What is Canny of
-
00:00:41 ControlNet and how to utilize Canny of ControlNet properly. From this image to this image. What is
-
00:00:47 Scribble of ControlNet and how to use Scribble of ControlNet. What is SoftEdge of ControlNet and
-
00:00:48 how to use SoftEdge of ControlNet. What is segmentation
-
00:00:56 of ControlNet and how utilize segmentation of ControlNet. What is OpenPose of ControlNet and
-
00:00:57 how to utilize OpenPose of ControlNet. What is Shuffling of ControlNet and how to utilize
-
00:01:07 Shuffling with Canny to generate amazing pictures like this. What is instruct pix2pix feature of
-
00:01:12 ControlNet and how can you utilize instruct pix2pix of ControlNet. How to combine tiling
-
00:01:19 and inpainting of ControlNet to improve images resolution and quality significantly like this.
-
00:01:26 How to use generative fill feature of ControlNet like in Photoshop for free. How to use outpainting
-
00:01:33 of ControlNet similar to the Midjourney or generative fill of Photoshop as you are seeing
-
00:01:38 right now. How to continue outpainting very easily. I will show you that. What is tiling of
-
00:01:44 ControlNet and how you can use it to turn yourself into an avatar image like this very easily. What
-
00:01:51 is Reference of ControlNet and how you can use Reference to generate images. What is T2IA of
-
00:01:57 ControlNet and how you can use style transfer of ControlNet to generate amazing stylized
-
00:02:03 images. How to use ControlNet on RunPod and how to download ControlNet models on RunPod. How to
-
00:02:11 update ControlNet on RunPod. I have prepared an amazing GitHub readme file for this tutorial. All
-
00:02:18 of the links and the commands that we are going to use are posted on this GitHub readme file. This
-
00:02:24 readme file will get updated if it be necessary. So this is your number one source for this
-
00:02:31 tutorial. The link for this file will be in the description of the video and also in the pinned
-
00:02:36 comments of the video. As some of you may already know, I have Stable Diffusion GitHub repository.
-
00:02:42 I am posting all of the useful stuff here. My previous tutorials, the readme files of the
-
00:02:48 other tutorials, and many other things. So if you star it, fork it and watch it. I would appreciate
-
00:02:53 that very much. So, we will begin with cloning and installing the Automatic1111 web UI. For this
-
00:03:00 tutorial, you need to have Python to be installed along with Git. If you don't know how to install
-
00:03:06 python. I have an excellent tutorial for that. Just click this. It will open you this tutorial.
-
00:03:12 Watch it and you will learn how to use python how to install python at the level that is required
-
00:03:18 to use Stable Diffusion. Installing Automatic1111 web UI is so simple. However, for your easiness,
-
00:03:24 I prepared also automatic installer: open this link. You will find some information and attached
-
00:03:32 scripts here. Download control_net_install.bat file and control_net_downloader.py file and
-
00:03:39 auto_install_SD_web_ui.bat file. If you are not my Patreon supporter,
-
00:03:43 don't worry because everything that these scripts doing are also documented here and I will show
-
00:03:50 you them. So this is optional. This will make your installation easier. I will make two installation
-
00:03:57 in my E volume. So let's make a folder name it as auto and also another folder as manual. So
-
00:04:05 in auto we will do automatic installation and in manual we will do manual installation. You will
-
00:04:09 see both of them. So let's begin with automatic installation. I copy the files downloaded, paste
-
00:04:16 them into my auto folder and I just double click the auto_install_SD_web_ui.bat file. It will ask
-
00:04:23 you. Run anyway. You can right click this script, edit, and see inside of it. It is so simple and
-
00:04:30 let's also begin our manual installation. So for manual installation we will begin with git
-
00:04:36 clone. Copy this command, open a new cmd window inside your manual folder, or wherever you want
-
00:04:43 to install. Right click and paste the command and hit enter. It will clone the repository into that
-
00:04:49 folder. Meanwhile, automatic installation is running. Then we will add xFormers. Because I
-
00:04:55 prefer using xFormers. It is really good when you are working with higher resolution images
-
00:05:00 and when you are doing training. So enter inside the cloned folder. Find webui-user.bat file. If
-
00:05:09 you are not seeing the extensions of files like me, go to view tab here and here check the file
-
00:05:15 name extensions. It will show you the file extensions. Right click, click edit. Add this
-
00:05:20 as a command line argument here, save and then just double click it. It will make a new virtual
-
00:05:27 environment and start installing Automatic1111 web UI for Stable Diffusion. Automatic 1111 web
-
00:05:33 UI is the best interface best ui for using Stable Diffusion. It has over 85,000 stars on GitHub and
-
00:05:44 this is magnificent. This is amazing. This is the best UI that I am using for Stable Diffusion. I
-
00:05:50 will show you what it is if you don't know it, but I am pretty sure most of my viewers already
-
00:05:55 knowing this. You will see it is installing every libraries like this when it is running on the cmd
-
00:06:01 window. Cmd window is our number one source of information to see what is happening when
-
00:06:07 using Stable Diffusion or when using ControlNet. Also, if you want to learn more about set command
-
00:06:13 line arguments like this, there is a link of wiki page for Automatic 1111 web UI. Click this link,
-
00:06:19 you will see all of the command line arguments here. You can read this page and see what kind
-
00:06:26 of arguments you can give. For example, you can give the folder of models so that you can use
-
00:06:31 single folder for multiple Automatic1111 web UI installations. You can set a lot of folders here.
-
00:06:38 There are also a lot of other options here. You can look all of them and see which one of them
-
00:06:43 are useful for you. For example, if you have a GPU that is not strong, you can add --lowvram. It will
-
00:06:52 optimize your Automatic1111 web UI to use lesser vram. This will help you significantly if you have
-
00:06:59 low vram having gpu. If you get out of vram memory error, you can use lowvram or medvram. First,
-
00:07:05 try medvram. If medvram fails, then use lowvram. Moreover, if you have a low ram in your computer,
-
00:07:12 you can use lowram option as well. So as I said, check all of the options here. Since we did a
-
00:07:18 fresh installation, it will download the default 1.5 pruned Stable Diffusion model file. However,
-
00:07:26 if you have model file already, you can close the screen at this point and copy paste the model. Let
-
00:07:33 me show you. By the way, this is the automatic installation. So I closed the window. I have a
-
00:07:38 lot of models inside my F drive 0 models. From here let's copy the 1.5 pruned.ckpt. This is the
-
00:07:45 base model. You can also use other models. So I copied it. Go to the auto, go to inside Stable
-
00:07:52 Diffusion web UI folder go to inside models, go to inside Stable Diffusion and paste it here. You see
-
00:07:59 this is the previous file that it was downloading. However, since we have closed the window, it was
-
00:08:05 not completed so I will delete it and for starting I just need to double click webui-user file.
-
00:08:11 However, automatic installation automatically upgrades xFormers to latest version so I will
-
00:08:18 delete this command so that it won't reinstall it again and double click it. Meanwhile, manual
-
00:08:24 installation is also downloading the model file. So let's also close it. For manual installation I
-
00:08:30 will say that use this particular folder, let's copy the path, go to our manual installation,
-
00:08:36 open Stable Diffusion web UI, right click and edit the webui-user file and here I will add the
-
00:08:45 ckpt command. The command can be found here. ckpt directory edit and then copy paste the path which
-
00:08:53 is let's copy it again zero models like this. Okay, don't forget to put quotation marks, save
-
00:09:01 it. And let's also start our manual installations. For starting it and for installing it we use
-
00:09:07 webui-user.bat file and it will start the manual installation of Stable Diffusion. Once it is
-
00:09:14 started you will see a url like this: you need to open this in your browser. So you can copy it,
-
00:09:20 paste it into your browser and you see this is our Stable Diffusion web UI interface. Now you
-
00:09:27 can use text to image to generate images. You will see the models are listed here, click refresh and
-
00:09:34 you will see the new models if you download them. For example, let's type as a cute cat
-
00:09:40 and just hit generate. There are so many other options. Hopefully I will make another tutorial
-
00:09:46 that I will cover much more information about how to use Stable Diffusion web UI, Automatic1111 web
-
00:09:52 UI. In the very bottom of the screen you see the user python version, Torch version, xFormers,
-
00:09:59 Gradio version. By the way it was frozen because when you click the command line interface it may
-
00:10:06 get frozen. So just click the command line interface and hit enter to unfreeze it and
-
00:10:11 we got the result. But this is not good and we can improve this with better VAE file. So I have also
-
00:10:19 shown how to download VAE file in here. We will do that. So open this link and this will download
-
00:10:26 the best VAE file. The manual installation is also loaded. Let's also open it. You will notice that
-
00:10:32 this is running on the one increased port. So this is the automatic installation. This is the manual
-
00:10:39 installation and in manual installation I have so many different models as you are seeing right
-
00:10:45 now because we did set its model folder to another folder and it sees all of the models there. Okay,
-
00:10:53 VAE file is downloaded, copy it, you need to put VAE file inside, Stable Diffusion, inside
-
00:10:59 models inside VAE folder, copy paste it there. Let's also do the same for manual installation
-
00:11:05 as well and VAE is put. So this was the cat image we got with the default VAE. So let's also check
-
00:11:12 it out with the best VAE. So I copied the seed and I don't change anything else and it should
-
00:11:17 produce the same image. Okay, let's open the image in a new tab, then go to the settings in here,
-
00:11:23 go to the Stable Diffusion in here, refresh it and you will see default VAE selection. Let's
-
00:11:30 select it and apply and go to text image tab and generate again and let's compare the result. Okay,
-
00:11:37 this is the default way of the model and this is the improved VAE. Improved VAE
-
00:11:42 is definitely better and it will definitely improve your overall image quality. Moreover,
-
00:11:48 you may have noticed it in some tutorials. There are some quick shortcuts in the above part of the
-
00:11:55 screen. Go to the settings, in here click the user interface tab, in here wou will see info,
-
00:12:02 quick list settings. Click here and it will allow you to add quick selections to your web
-
00:12:07 UI interface. So from here I will select VAE, you see SD VAE and then you can also select clip skip
-
00:12:17 which is used in some of the models and then all you need to do is apply settings and reload ui and
-
00:12:24 ui is reloaded. Now I see quick VAE selection and I see quick click skipping. You see. So as a next
-
00:12:31 step I will upgrade also xFormers of the manual installation. Let's close both of them. First you
-
00:12:37 need to activate the virtual environment of Stable Diffusion because whatever you do is installed
-
00:12:44 inside the virtual environment in python with Stable Diffusion. As I said, watch this tutorial
-
00:12:50 if you don't know about virtual environments and python. So copy this. Enter inside your
-
00:12:56 installation folder. It will be inside manual Stable Diffusion. Open a new cmd here. Now this
-
00:13:03 cmd windows in this folder. It is very important where your cmd window is open. Copy, right click,
-
00:13:10 paste, hit enter. I have given incorrect version why? Because I wanted to list all of the versions
-
00:13:17 available to install and currently this is the latest version. So hit enter and then type like
-
00:13:23 this pip Install xFormers==0.0.21.dev553 and it will install the latest xFormers version. This is
-
00:13:37 how I find the latest version and install it. You may wonder what is xFormers why we are installing?
-
00:13:43 xFormers is an optimization library that increases the speed of the generation significantly. There
-
00:13:49 are also other optimization techniques. I added the link here. Open it and you can read the
-
00:13:55 available Stable Diffusion web UI optimizations here. You can use other optimization techniques
-
00:14:01 as well. So all of the optimizations are written here. These are the command line arguments.
-
00:14:06 I prefer to use xFormers over opt sdp attention because it supports I think higher resolution and
-
00:14:13 also it is better for training with DreamBooth or LoRA. Okay, we have installed our Stable
-
00:14:19 Diffusion web UI. We have installed the best VAE. Now it is time to install the famous ControlNet.
-
00:14:26 A lot of ControlNet information is found in this link. I put it here. This is the official
-
00:14:31 repository of the ControlNet. You can learn much more about ControlNet in here. So let's begin
-
00:14:37 with installation. There are two ways that you can install. I will show both of them. For automatic
-
00:14:43 installation I have a script that I have prepared which I have shown in the beginning of the video.
-
00:14:48 Just double click control net install. It will clone it. If it already exists it will update it,
-
00:14:54 then it will download automatically the missing model files. After this operation is completed,
-
00:15:00 all you need to do is restart your web UI with webUI-user file. Let's continue with manual
-
00:15:07 installation. So there are two ways of manual installation. First one is manually cloning the
-
00:15:13 repository. To do that copy this link git clone enter inside Stable Diffusion web ui folder. Enter
-
00:15:20 inside extensions. Open a new cmd here. Copy paste it. It will clone the ControlNet into the correct
-
00:15:27 folder. Then start your web ui and it will install the necessary dependencies. The second way is like
-
00:15:34 this: let me show you. To show you, first I will delete the cloned extension. Start your web UI
-
00:15:40 as usual. Sometimes this automatic installation is not working. Therefore, learning how to install an
-
00:15:47 extension manually is the best approach. Okay, web UI started. Let's open it. Go to the extensions
-
00:15:53 here. Click available and click load from and in here search for ControlNet. You will see
-
00:16:01 ControlNet with the name of SD web UI ControlNet. When you click the name of the extension in the
-
00:16:09 left panel, it will open the repository that it is going to install and this is the correct SD
-
00:16:14 web UI ControlNet repository. Click, install, and look at the messages in the cmd window of Stable
-
00:16:22 Diffusion web UI. Meanwhile, it is installing. It also prevented us to click anything else. It
-
00:16:28 says processing. If this screen is frozen, click the screen of the cmd and hit enter. I see that
-
00:16:35 it has already cloned the repository. However, still, we are waiting. Maybe it is bugged again
-
00:16:41 because it shouldn't take this long and it should install the dependencies after restart. But let's
-
00:16:48 wait a little bit more. Okay, it looks like the installation procedure has been changed with this
-
00:16:53 way, so it tried to install the dependencies of the extension as well. However, we have OS error
-
00:17:00 access denied. Because the virtual environment was active. The Stable Diffusion web UI was already
-
00:17:07 working. So I closed this window and I will restart the web UI. Then this time it should
-
00:17:12 install all of the requirements properly. You see it says that it is installing requirements
-
00:17:17 and this is the commit hash of my currently used web ui. And meanwhile, the automatic installer is
-
00:17:24 downloading all of the ControlNet models. You need to download these models. I will show in a moment
-
00:17:31 web UI started. Let's open it. And now you will see ControlNet in the text image in bottom here
-
00:17:39 under seed. This is the ControlNet extension. In image the image you will see ControlNet extension
-
00:17:45 as well. Pretty much wherever it is supported you will see the ControlNet extension like this.
-
00:17:51 However, now we are missing the ControlNet models because we haven't downloaded any of them yet.
-
00:17:57 So you won't see any models here. However, you will see the preprocessors. So how are we going
-
00:18:03 to download the models manually. You see there is a link I have put here. This is the latest
-
00:18:08 control net version 1.1. Click it. You will see the model files here. The model files are the
-
00:18:14 ones that are over 1 gigabytes. To download them click this download icon. Let me zoom in more.
-
00:18:21 You can download only the models that you need. However, for demonstration, let's begin with
-
00:18:27 downloading Canny for example. Click this. It will start downloading. If you open your downloads,
-
00:18:33 you will see the downloaded file like this. Okay, the download has been completed. Cut the file,
-
00:18:39 move into your installation, inside extensions. This is important. This is where we put the
-
00:18:45 ControlNet models. Inside sd-webui-ControlNet, inside models. This is where you need to put
-
00:18:53 your models. You see all of the yaml files are here. Yaml files are configuration files. They
-
00:18:59 are automatically downloaded with the extension. However, you have to manually download the pth
-
00:19:04 model files which are over 1 gigabyte. Then, when I refresh here, I should see the model. Yes,
-
00:19:11 now I can see the model and now I can use Canny with this one. With this approach, you need to
-
00:19:18 download all of the models that you want to use and put them inside to that particular folder.
-
00:19:24 Alternatively, you can use my auto downloader script. It will download all of the models for
-
00:19:30 you automatically into the correct folder before starting, showing you how to utilize all of the
-
00:19:37 different models of ControlNet. Let me also show you how to use custom models with Stable Diffusion
-
00:19:45 Automatic1111 web UI. You can download the models from Hugging Face or from CivitAI. I prefer
-
00:19:52 Hugging Face because in Hugging Face we can find full precision models. For example, DreamShaper.
-
00:19:59 This is one of the most famous models. By the way. If you want to see famous models on Hugging Face,
-
00:20:04 click the Stable Diffusion. It will list you Stable Diffusion models sorted by most downloads.
-
00:20:11 You can also sort them by recently updated or from most likes. So from here you can see the
-
00:20:17 most downloaded models and you can look each one of them. So in DreamShaper when you click files
-
00:20:23 and versions, you will see all of the model files uploaded by the developer of this model. You will
-
00:20:30 see different options such as pruned. I prefer full models. Baked VAE means that this model
-
00:20:37 has its VAE baked. Therefore, you can either use its own VAE or the VAE file we downloaded.
-
00:20:45 Let's download this model. When you click this icon, it will start downloading. The model file
-
00:20:50 has been downloaded. Whether you download it from Hugging Face or from CivitAI, you need
-
00:20:57 to put the model inside models directory, Stable Diffusion web UI models, Stable Diffusion and put
-
00:21:04 the models here. You see since the previous model downloading has been terminated by us manually,
-
00:21:10 it is not fully downloaded so I will delete it. If your model download didn't complete, you will
-
00:21:16 get an error while trying to use it. The automatic downloader is still downloading the files because
-
00:21:22 there are 14 different models. Let's say you want to also update the ControlNet extension to
-
00:21:30 the latest version. So for updating an extension to the latest version, there are two approaches.
-
00:21:36 The first one is manual updating which will work every time. Go inside your extensions folder,
-
00:21:44 enter inside the extension, open a new cmd when you are inside the extension folder type git pull.
-
00:21:51 This is manual updating. This will work always. And the second way is let's open our web UI.
-
00:21:58 Go to extensions tab in the web UI. Click check for updates. It will check for updates and if it
-
00:22:06 is not latest version, click apply and restart ui. It will update the extension to the latest. Then
-
00:22:14 you can restart the web ui by closing cmd and reopening it. Automatic installation is fully
-
00:22:20 completed, all models downloaded. I will continue with automatic installation because I have shown
-
00:22:25 everything with the manual installation by now. Start the web UI with web user file. I just double
-
00:22:31 click this bat file. I always use this file to install and start my Automatic1111 web UI. Okay,
-
00:22:38 the web ui has started. I know from this local url. It automatically loads the VAE file we
-
00:22:45 did set. Applying the optimization xFormers, everything is loaded. Let's open the url. There
-
00:22:52 is one crucial thing that you need to do before start using the ControlNet. Go to settings. In
-
00:23:00 here you will see ControlNet settings, click it and in here you should select this option. Allow
-
00:23:07 other scripts to control this extension. This is really important because in many of the scripts
-
00:23:14 that you may likely to use in future it will require this option to be selected. There are
-
00:23:19 also other options here you can use, for example, passing ControlNet parameters with send to image
-
00:23:26 to image. You can also check this and there is one more thing. Model cache size. You can cache
-
00:23:33 multiple models in your vram. However, use this if you have sufficient amount of vram. Otherwise,
-
00:23:41 don't use this because you may get out of vram memory error. I have RTX3090, therefore I will
-
00:23:47 use it. You can also allow max models amount that you can use at the same time. By default it is 3
-
00:23:54 and it is pretty sufficient. Apply it. After apply we need to restart so I will close and restart. I
-
00:24:02 also have updated the readme file and added this section as well. You see I will update this file
-
00:24:08 as it is necessary. Even after this video you can make a comment to this video. I will update this
-
00:24:14 file if it is being necessary. You can also open issue or discussion in my GitHub repository. Okay,
-
00:24:21 web has been restarted now we will begin. In left up you will see the available models. Whatever the
-
00:24:27 model you select here, it will be used in all of the ControlNet actions that you are using
-
00:24:33 and the VAE file you selected here will be used. I will begin with showing you how to generate QR
-
00:24:39 codes with ControlNet like you are seeing right now. This one is working. First use this link to
-
00:24:46 generate your QR code. Open it, select the action whatever you want to generate your QR code for. I
-
00:24:53 will generate for our channel. I am not using any shorting. Make error correction level high block
-
00:25:00 in pixel size. Now this is important. Depending on your target resolution, make this bigger or
-
00:25:06 smaller. I will make this as 30. When I generate code the generated image is like this. When I open
-
00:25:13 it in a new tab it shows me 1050 pixels by 1050 pixels. Save it as I save it as downloaded folder.
-
00:25:22 Select your model, type your query. I will use a simple query like this: portrait photo of naruto
-
00:25:30 anime hero. Now there are so many different ways to generate working QR code. Some of them are very
-
00:25:36 complex and hard to use. However, I will show you an easy one that won't use a lot of vram memory.
-
00:25:43 Select DPM++ 2M SDE Karras make the sampling steps like 50. Set your target resolution that you want.
-
00:25:51 I will select it as 768. Open your control net, load your downloaded QR code like you are seeing
-
00:26:00 right now. Enable pixel perfect. We will use inpaint model and from inpaint select inpaint
-
00:26:07 global harmonious. This is the preprocessor and as a model it will select inpaint so you
-
00:26:13 must have downloaded this model to work. Then the very important parameters that you can set
-
00:26:19 is the control weight. As you increase control weight, you will get lesser of your image and
-
00:26:26 you will get more of an image like QR code. Starting control step: as you start later,
-
00:26:32 you will get a better image with lesser like QR code. And if you start earlier you will get more
-
00:26:39 like a QR code. Ending: you want this to be as much as possibly lower. So starting control step
-
00:26:47 will be as much as possibly higher, ending control step will be as much as possibly lower. However,
-
00:26:53 this totally depends on whatever the image and the model you are using so therefore you have to try
-
00:27:00 different values. If your QR code is not working, try to increase this. Try to decrease this and try
-
00:27:06 to increase this. Find a sweet spot that works for you. Then let's generate eight images and
-
00:27:13 see which one of them will work. Not every time every image you generate will work. So you have
-
00:27:18 to generate multiples and see which one of them is working. By the way, this is a pretty simple
-
00:27:23 prompt so you can use better prompts to get better images. This is just for demonstration of how to
-
00:27:31 generate QR code with ControlNet and I think this is the easiest workflow that you will find on the
-
00:27:37 internet. So the codes are being generated right now. Since I have a powerful gpu, I made the batch
-
00:27:43 size eight. However, if you don't have a powerful gpu, then make the batch size one. Moreover,
-
00:27:49 if your gpu don't have such amount of vram, make this low vram. Okay, results are generated. Now
-
00:27:57 what you need to do is click the image, open your QR code application and start looking at them. For
-
00:28:04 example. This is working very well. As you are seeing right now this one is not working. This
-
00:28:09 one is working. This one is not working. This one is working. You see, we have got a lot of working
-
00:28:15 images. Therefore, to get a better image, what we can do, we can try to reduce ending control step
-
00:28:23 and try again. And if it works then it is better because we will get a better image. Let's try. So
-
00:28:28 generating eight different images for RTX3090 is taking about one minute. For resolution 768
-
00:28:36 768. Also, I am using xFormers, Torch version 2. Okay, the images are coming. So what does
-
00:28:45 these values means? The control weight means that how much should the ControlNet affect the output.
-
00:28:52 This is the weight. This is the importance and effect of the ControlNet. Starting control step:
-
00:28:58 this means that when I said sampling steps 50, the ControlNet will start after 20 step has been
-
00:29:05 generated. An ending control step means that it will stop using ControlNet when generating
-
00:29:12 images after like 36 steps, you can multiply them with this. Okay, images are generated.
-
00:29:18 So let's see which one of them is working. I have opened my QR code. Okay, this one working. Okay,
-
00:29:25 this one is also working very well. Okay, this one is also working. Wow. Amazing. This one is
-
00:29:30 also working. Amazing and this one is also working. You see, I have tried four and four
-
00:29:35 of them and in all of them we have got a working output. So therefore I can try to reduce ending
-
00:29:41 control step one more time and repeat the process until I get a non-working image. With this way
-
00:29:48 I will have amazing QR code images. By the way, as I said, this is not a good prompt. Therefore,
-
00:29:54 I am pretty sure you will get much more amazing results than me. And now we are seeing the results
-
00:29:59 with ending control step 70%. Okay, the first one is working okay, the second one didn't work. Let's
-
00:30:06 try third. Okay, third one is working, the fourth is working and the fifth is working. You see,
-
00:30:12 we are still getting very well working images so I can even try to further reduce this down like
-
00:30:18 the 60 percent and I can try one more time. Okay, time to test with 60 percent ending. Okay, first
-
00:30:26 one is not working, the second one not working. Third one not working. Fourth one not working
-
00:30:32 fifth also failed. Sixth also failed. Seventh and eight all failed. Let's try one more time. Okay,
-
00:30:40 this time also all failed. So you see you need to increase ending control step. One more time with
-
00:30:47 60 percent and starting control step 40 percent and control weight 60 percent. It didn't work.
-
00:30:53 However, you can try. You understand the logic. Before showing you all of the ControlNet control
-
00:30:59 types. Let me show you the best settings for QR code generation. I have used sampling steps 50,
-
00:31:07 DPM++ 2M SDE Karras, resolution is 768 768 but probably you can use any resolution. CFG scale
-
00:31:16 7 probably you can use any CFG scale as well. So used only single ControlNet, enable pixel perfect,
-
00:31:24 inpaint, inpaint global harmonious, ControlNet inpaint model, control weight is 60 percent,
-
00:31:31 starting control step is 40 percent and ending control step is 65 percent and control mode is
-
00:31:39 balanced, crop and resize and this one you are seeing right now is working very well. So let's
-
00:31:45 begin with the first ControlNet option Depth. Control Net works with maps in most cases and
-
00:31:52 they have multiple maps options. So I will upload my own picture this one and let's enable it pixel
-
00:32:00 perfect and let's use Depth as an option. You see there are several preprocessors that you can
-
00:32:06 select and when you click this run preprocessor it will show you what will this image turn into
-
00:32:12 as a Depth map. When you first time you try to use ControlNet, it will download the necessary
-
00:32:18 model. Currently it is downloading Midas model to be able to preprocess with Depth midas as you are
-
00:32:27 seeing right now and on the screen you are seeing it is downloading the Depth midas model. This
-
00:32:32 will happen only one time for each new model. New preprocessor that you use. So it will use
-
00:32:39 this preprocessor to get the map of this image. Then it will use the Depth model to generate
-
00:32:45 image. So this is the preprocessor preview. Let's generate an image based on this Depth model. So I
-
00:32:53 have typed an awesome intricate portrait photo of handsome actor. This is the result we got. So you
-
00:33:00 see this result is based on this Depth map. So it used this Depth map and it generated this amazing
-
00:33:07 picture with just this simple prompt, no negative prompts, sampling steps 20 and Eular a. I can also
-
00:33:15 change resolution. Let's try with 768 and 768 and now we are going to get another picture. So this
-
00:33:22 is the result you see based on this Depth map. So you can also try other preprocessors. For example,
-
00:33:28 let's try Depth_leres++. If you want to see what kind of map image it will generate,
-
00:33:34 just click this preview icon. It will generate the preview. Since this is also first time it
-
00:33:40 is downloading 500 megabytes. It also shows where these files are downloaded. It is being downloaded
-
00:33:47 into sd web ui control that extension folder into annotator downloads leres you are seeing
-
00:33:55 right now. Okay, this is the result of Depth leres++. Let's generate an image. So you see
-
00:34:02 each Depth map will generate different maps and it will affect your results differently. So this
-
00:34:09 is another result we got with the same prompt and different Depth map. There is also Depth leres.
-
00:34:16 Each time it may use different models. Depth zoe. So it is also going to download this Depth_zoe and
-
00:34:23 it is 1.34 gigabytes. On the official ControlNet GitHub page this is the information they provide
-
00:34:32 for Depth 1.1 version. Okay here we see the result of using Depth_zoe. Let's generate an image with
-
00:34:40 Depth zoe. Each Depth map will be different and based on whatever you want to achieve you can try
-
00:34:47 them and this is another image we got. So the next one is ControlNet Normal maps. Let's select Normal
-
00:34:54 from here. So these are pre-made selections. When you click them they will automatically load the
-
00:35:00 pre-made selections. These are coming from the developer. So when I click Normal it select the
-
00:35:06 Normal_bae and Normal_bae model. Let's click the preview and see what kind of result we are going
-
00:35:12 to get. Again since this is a fresh installation, it is downloading the model file only one time and
-
00:35:18 this is the Normal map. Let's also use the same seed to see the effect difference. Let's hit
-
00:35:24 generate so with same seed with different map we will see what kind of image we are going to
-
00:35:30 get and this is the result of Normal map. Almost completely different images based on your needs,
-
00:35:37 you can try different control types. Let's look for Midas. So this is the Midas result. Let's
-
00:35:44 click, generate and see the difference. Okay, this is the Midas result. Let's also try none. Okay,
-
00:35:51 when I use none, that means that the image I uploaded is like a map like this so it won't work
-
00:35:58 properly. Let's try and this is the result we got because it used this base image as a map
-
00:36:04 which is not a map. And this is the description the developers provided for Normal maps in the
-
00:36:10 version 1.1. And the next one is Canny. I like this model a lot. This is amazing one. Let's try
-
00:36:16 it. So I click Canny and I click run preprocessor and this is the Canny preprocessor result. You see
-
00:36:24 this turned into this. In Canny there are several options that you can set Canny low threshold and
-
00:36:30 high threshold. This will determine your output and it will affect it significantly. For example,
-
00:36:36 let's try 1 and 1 and let's see the result. So this is the result of 1 and 1. Let's first try
-
00:36:42 with 1 and 1. This is the result we get when Canny threshold is 1 and 1. Let's open it in another tab
-
00:36:48 and let's make the threshold as 100 and 100 click preview. So this is the 100. Let's generate and
-
00:36:57 now we got completely different. By the way, you see, the face is very similar to my original face.
-
00:37:03 Original image because Canny threshold maps your face exactly as it is and it makes the generated
-
00:37:11 face similar to yours. So from this to this. Let's also make it like 200 and 200 and this is
-
00:37:19 the result of 200 you see 200, 100 and only 1. Let's try another preprocessor. It says invert
-
00:37:26 from white bg black line when I click preview this is the preview. Let's try with it. By the way,
-
00:37:32 also in Canny or other models you can set the control weight and have different effects. Okay
-
00:37:38 with invert we got completely unrelated thing. And this is the description of the developers
-
00:37:44 for Canny model for 1.1 version, just pause the video and read it if you wish. The link for this
-
00:37:51 page is here as I have shown in the beginning. Okay now MLSD straight lines. This is another
-
00:37:58 model. I never used this model actually so let's select MLSD. Let's click preview. Okay
-
00:38:04 this is what we get because it is trying to get I think the straight lines and in this image we
-
00:38:09 don't have much straight lines. So for testing straight lines I will use this downloaded image
-
00:38:14 which is this one. Let's click preview and now when I use a room I get some straight lines as
-
00:38:22 expected. I also need to change the prompt like a room and let's try. Whenever you change your
-
00:38:28 model it will cache it in the memory so it will take some time. Okay now you see it is working.
-
00:38:34 We got a room that is very similar in structure and shape to the input image as you are seeing
-
00:38:40 right now. So this is what MLSD is used for. There are also different options for example,
-
00:38:46 let's try threshold like this and let's see the preview. Let's make it like this and this is the
-
00:38:52 preview. As you increase the value threshold you will get different results and this is when the
-
00:38:57 both threshold is minimum. Let's try again and we get this image. It is almost same with the
-
00:39:03 same seed. It also has invert from white bg black line. Let's click preview and this is what we get
-
00:39:09 when we invert it. Completely unrelated. This is the description that developers has written for
-
00:39:15 MLSD if you want to read and Scribble. Scribble is amazing. I will show you. Scribble turns scribbles
-
00:39:23 into full images. So I loaded back my image. Let's select Scribble. Okay, it selects Scribble pidinet
-
00:39:30 let's click preview. It turned my image into a scribble as you are seeing and let's try the
-
00:39:36 result. I just typed a handsome man it is going to use this scribble. This is the result we got.
-
00:39:42 It looks pretty unrelated. It generated this image from this scribble map that is why. Actually it is
-
00:39:52 kind of matching. You see it found something like this in here and it turned that into a
-
00:39:58 face because I just typed a handsome man. So what else we can do We can select Scribble hed
-
00:40:04 as a preprocessor. It will change the map. With Scribble hed I think we got more details than
-
00:40:10 this one obviously. Let's try. This is the result we get with Scribble hed. Let's try Scribble xdog
-
00:40:17 this is the preview. I think this will be more detailed, more similar. This is the result we
-
00:40:24 got. Yeah. Let's say you have your own scribble. So what you need to do: Upload your scribble into
-
00:40:30 here. I will upload it from a downloaded photo and make the preprocessor none because this is already
-
00:40:37 like a scribble. And let's change the prompt. A mighty dragon and see what we are going to get.
-
00:40:44 So you see if your image is already preprocessed, then you select none in the preprocessor and this
-
00:40:52 is the result we got from this scribble to this. Why this result is not very good because
-
00:40:58 my uploaded image dimension is 612 by 428. Therefore, I need to change this 612 by 428
-
00:41:10 and now we will get much better results. Let's see. Okay. You see now we got a very close to
-
00:41:17 our scribble like this like you are seeing right now. You can also change my prompt is
-
00:41:23 more important. Let's try with that. My prompt is more important than the ControlNet and this
-
00:41:29 is the result we get. A mighty dragon from this scribble. It is pretty much close actually. Let's
-
00:41:36 also try with ControlNet is more important. Now it will try to match the full Scribble into this.
-
00:41:42 Actually it is not very like right now. Let's see maybe we need to. Also let's also try with
-
00:41:50 a scribble hed. Oh no. Because scribble is not as strong as lineart which I will show. But this
-
00:41:58 is how you can use scribble. Okay in Scribble the developers gave this example also this example as
-
00:42:05 you are seeing and this is the description of the Scribble given by the developers. So the SoftEdge.
-
00:42:11 This is another control. With SoftEdge it also turns your image into like a scribble but with
-
00:42:18 soft edges. So let's select SoftEdge from here. Let's click the preview with SoftEdge. So this
-
00:42:25 is the SoftEdge preview. It has soft edges. Let's return back to older resolution and hit generate.
-
00:42:32 Okay here we see the results of SoftEdge. This is the map the ControlNet generated and this is
-
00:42:39 the result. I think this is pretty cool. Pretty amazing. There are also others options that you
-
00:42:45 can try for example SoftEdge hedsafe safe. Let's also try it. Okay, this is another one as you
-
00:42:51 are seeing. Pretty cool. Let's try pidisafe and this is the result we get with pidisafe.
-
00:42:58 Okay finally we have hed. Let's try with hed. I hope I am pronouncing the keywords correctly.
-
00:43:04 These are hard to pronounce and this is the result of hed. You see it is almost like stylized image
-
00:43:10 of me. Maybe I don't know. It's up to you. This is the description that the developers have written
-
00:43:15 for SoftEdge 1.1 version and the next one is segmentation. It will turn image into segments.
-
00:43:23 Let's try it. So for segmentation I select this. Let's see how it will segment my own image. By the
-
00:43:30 way, in the first time, segmentation will download additional model files. This is the result we get
-
00:43:35 with the segmentation seg ofade 20k. Let's try the result. From this segmentation we got this result.
-
00:43:43 You see in the main subject we have a man, then we have a background where I sit a chair and in
-
00:43:51 the top we have another man. Why? Because in our prompt we only have a handsome man. So if I change
-
00:43:57 it like this sitting on a chair having a forest picture behind the wall hanging, let's try it.
-
00:44:03 Okay now you see everything pretty much changed. We have the man, we have the armchair and we have
-
00:44:10 the picture behind the wall hanging. So you see it associated the prompt with the segments that
-
00:44:17 we have. We have wall, we have picture, we have man and we have armchair. This is amazing. So try
-
00:44:23 to understand how this is working. Try to use this according to your purpose. Let's also try
-
00:44:30 other segmentations. Seg ofcoco. Each time it will download a different model unfortunately. Okay,
-
00:44:37 this preprocessor seg ofcoco generated pretty different segmentation. This was the previous one
-
00:44:44 and you see, this is the new one so it missed the painting hanging on my wall. It added a different
-
00:44:51 layer to my armchair. Let's try this one result. For this one probably I also need to modify
-
00:44:57 this prompt. Okay, you see now the back of my wall became a forest painting and this is pretty
-
00:45:06 amazing. This is wild actually. Okay, let's try seg ufake 20k. Let's click the preview.
-
00:45:14 Is also downloading another model, but this one is smaller one. But this is amazing. This is just
-
00:45:20 a thing that I have discovered. How to make your background as a painting, your wall as a painting.
-
00:45:28 So the smallest model performing the worst. As expected. Seg ufade 20k it is just pretty
-
00:45:36 useless. If you have your single image as like this, then you select none from here. As I have
-
00:45:44 shown in another example, this is the logic of how preprocessor works. If your image is already
-
00:45:50 preprocessed, then you select none from here. For example, let me save this as into downloads,
-
00:45:56 upload it, from here. Then I select none and I hit generate and it should generate same image
-
00:46:03 of this one. And yes, it generated same image of this one because I have uploaded a map instead
-
00:46:10 of a full image and this is the description that developers have written for segmentation. OpenPose
-
00:46:17 is another very powerful feature of ControlNet. It has so many options as you are seeing. So I
-
00:46:24 have uploaded one of my ai generated image. Let's select OpenPose and OpenPose full. Let's see the
-
00:46:31 result of OpenPose full and this is the result of OpenPose full. There is also edit option,
-
00:46:37 but it is requiring OpenPose editor so we can also install this. So this is the link. Let
-
00:46:43 me also show you how to install it. I copied the link, then I go to extensions, install from url,
-
00:46:49 paste it, and install. Okay, it is installed. Then I need to apply and restart ui. Okay,
-
00:46:56 I am doing that right now. It is restarted. Let's click this to get the last values, and then let's
-
00:47:03 open ControlNet. Let's open my ai generated image. Enable, pixel perfect. OpenPose, OpenPose full,
-
00:47:12 click preview it generated OpenPose. Okay, I think it requires restart of web UI. Yeah,
-
00:47:20 it was supposed to be added in the extension it is displaying here. Okay, let me restart it.
-
00:47:27 So I closed cmd and restarting the cmd from web UI to start it. When restarting web UI,
-
00:47:34 you see it displays whatever the arguments used. Whatever, the other options are loaded. Okay,
-
00:47:41 web UI restarted. Let's see if it is available now. Let's load, enable pixel perfect. OpenPose
-
00:47:48 preview okay, now I have edit option so probably we needed to restart. Okay, but it is not working.
-
00:47:56 Weird so looks like this extension is not. Oh, when I click it again edit: it appeared so from
-
00:48:04 this edit you can change the pose. So this is nose. Wherever you want nose to be positioned,
-
00:48:10 you can change it. These are the eyes positions. You can change them. This is the ear. This is the
-
00:48:16 body torso, the shoulders, the torso. So this is what it is useful for. Send pose to ControlNet.
-
00:48:25 Now this is the changed pose and let's try. By the way, this prompt won't work so let's make it like
-
00:48:32 this. Okay, let's generate another one with this post. Okay, so this is the result we are getting
-
00:48:37 with this OpenPose like this. However, this is not matching this one because of the resolution. For
-
00:48:45 this to be matching, I think I need 768 by 1024. Let's try again. Okay now it is more matching. As
-
00:48:53 you are seeing it is trying to match to this pose. So this is full pose. There are also face only.
-
00:48:59 When I click face only it will only put the face not the body position. Let me show you the result.
-
00:49:06 So it will try match the face not the body. It is still similar. Let's also try with hand but
-
00:49:14 we don't have any hand in this picture so this is another good example. Okay, I think we can try
-
00:49:19 with this one. Let's see. Okay, it shows hands as well right now let's try the pose like this. Okay,
-
00:49:27 it matched pretty much. Well. Yeah, so from this pose, this original image, we generated this image
-
00:49:35 and it is looking amazing. quality Yes, looking pretty amazing. Pretty accurate as well. So this
-
00:49:41 is how you can use OpenPose control. I can click this edit and I can edit the generated pose from
-
00:49:49 here. I can set it whatever I want. For example, let's make this like this: let's see what we will
-
00:49:55 get. So I click send pose to ControlNet. Okay, now the hands are not matching though. The hands are
-
00:50:01 gone. Okay, I think hands are shown here. So okay. Let's reset zoom and okay it says space f drag
-
00:50:09 mouse so I will click space f. Okay, currently I am hitting space and f keys so that I am able to
-
00:50:17 drag and move the picture like you are seeing. So let's also move the hands. Okay, oh, each hand is
-
00:50:25 like this. Let's reset zoom. No. Okay, okay. Space f zoom in, select all hand, move hand to here and
-
00:50:35 then select this hand and move hand to here as well. Send pose to ControlNet and generate. I
-
00:50:41 wonder what kind of result we will get from this pose. Wow. Amazing. You see the hands are now here
-
00:50:47 like this. They are not completely same, but it matched the hand to the position of the arm and
-
00:50:54 it is amazing. This is another cherry pick as you are seeing right now. This is a live action. So
-
00:50:59 this is how you can use OpenPose and this is the description that the developers has written on
-
00:51:05 their page and the next one is Lineart. Lineart is actually the amazing one for turning sketches into
-
00:51:13 full arts. So let's load again our dragon image. I set its original resolution. Mighty dragon and I
-
00:51:21 select the lineart from here. But I will make the line art preprocessor none and let's hit generate
-
00:51:29 and see what kind of result we are going to get. Okay, it didn't work interestingly. We got a very
-
00:51:35 different oh oh it is using my other preprocessor probably I need to. Okay, it looks like this is a
-
00:51:42 bug because it used the previous preprocessor. Let's click the preprocessor preview so it is
-
00:51:47 changed and try again. We just discovered a bug in the control net. Okay now you see it is keeping
-
00:51:54 the entire shape and the structure very well. This is the result we got. This can be improved a lot.
-
00:52:02 Let me add some beautifying prompts. I added some beautifying prompts but still not very good. Let's
-
00:52:08 also try high resolution fix. By the way, still, I am using the same seed. That is why I am getting
-
00:52:13 same image when I generate multiple. Okay, I will change the preprocessor lineart anime and this
-
00:52:20 will turn into let's see. Okay line art anime is downloading a preprocessor model and let's change
-
00:52:27 the high resolution fix and I will make this double size like this. This is what we got from
-
00:52:33 line art anime. Let's try like this: double size of the original resolution. Okay, we are getting
-
00:52:40 yeah, this is the result we got from line art anime. Still not very good. Let's try line art
-
00:52:46 anime denoise I wonder what kind of output this is giving. This is also downloading another model. It
-
00:52:53 is almost looking like same as the previous one. Okay, we got this result. Not very good either.
-
00:53:00 Lineart coarse, each time it is downloading new models. Okay, let's try this one. By the way,
-
00:53:06 the preview resolution is half of what we are generating right now. Also, this is a pretty
-
00:53:12 big resolution. This time I will try line art with a real image that is from twitter. Let's download
-
00:53:18 it. Let's upload it. Let's select our line art realistic and click preview: okay, this is the
-
00:53:25 realistic preview we got. By the way, we should get the resolution of this image so it is 736 to
-
00:53:32 1104 and then we need to change also the prompt. A man is against a mighty dragon. Okay, let's hit,
-
00:53:43 generate and see what kind of result we will get. It is pretty amazing, but it is not as good as the
-
00:53:50 original image of course, but it is pretty amazing when considered. We can also try several different
-
00:53:56 seeds. Let's make it batch size 8. Okay, we got the results. Let's look each one of them. This,
-
00:54:03 this, this and this one. Wow. Pretty amazing. This one. So you see you can turn your line arts,
-
00:54:11 sketches into amazing pictures, drawings before moving into next one. I want to show you an
-
00:54:19 example from a real line art. Free line art from deviantart for example. This one. Let's download
-
00:54:26 it. This is a free dragon line art so you can use this, generate image and use it as you
-
00:54:31 wish. The resolution is 866 to 684. Okay, I did set the resolution. Let's load it. Let's select
-
00:54:40 preprocessor none from here. And how would you describe this? I typed this: masterpiece amazing
-
00:54:47 colorful flying dragon creature. I wonder what kind of result we will get. Right now producing
-
00:54:53 eight of them with page size 8. Again, we got the same results as the previous one with the
-
00:54:59 new resolution because it is still using the preprocessor preview. You see when I changed
-
00:55:04 the prompt it changed the result significantly. However, it is using the previous dimension and
-
00:55:10 this preprocessor. So let's click the preprocessor here to refresh it and try again. Okay, we got the
-
00:55:16 results. So this is the used line art as a map. This is the first result. Second one, third one,
-
00:55:24 fourth, fifth, sixth one. Oh this is a pretty cool one actually, it's just missing some of the
-
00:55:30 colorings. So you see you can change your prompt and try different ones. Oh this one is also pretty
-
00:55:36 amazing. I wonder what we would get with high resolution fix: use this seed and just only one
-
00:55:43 batch size. Okay with high resolution fix: this is the output and this is looking amazing. But in the
-
00:55:50 wing of the creature we have a repeating issue. I wonder if this can be fixed. Probably hard,
-
00:55:57 maybe with lower denoising strength. This is what we got with lower the noise but this was a too
-
00:56:03 low. So let's try like this. You see when you go below certain denoising strength then you lose the
-
00:56:10 clearness, sharpness or maybe focus of the image we can say. It is not anymore like fully focused,
-
00:56:19 it is like blurry image. Okay this is another image we have. So you see developers are showing
-
00:56:25 also. Same if you have a line art like this a sketch then you select none as a preprocessor
-
00:56:31 and you generate images like this. You can use line art for making amazing logos as well. Let
-
00:56:38 me show you. So I have downloaded the ChatGPT logo here. Select lineart from here as usual.
-
00:56:47 You don't need to change anything. Enable. Pixel perfect, select resize and fill because we will
-
00:56:54 make it expanded. Select your resolution from here like 768 by 512 and type such as aerial glacier.
-
00:57:04 Like this hit generate. It is totally up to your imagination that how you prompt for example this
-
00:57:11 is the first example. Let's make it batch size 8. Okay we got some amazing results. First second,
-
00:57:19 wow. Third one amazing. Fourth oww fifth one. This is also nice. Sixth, seven and eight okay
-
00:57:27 here another one. Aerial desert. First one oh second one pretty good. Third one,
-
00:57:33 fourth one fifth one. This is looking pretty decent. So these are the other results. It is
-
00:57:40 totally up to you as I said and here we see aerial jungle. So these are the results. Wow
-
00:57:47 amazing one. This is also pretty cool. Wow. This is also good. This is also good. Some very good
-
00:57:54 results. It is important that you select resize and fill. Because this logo this scribble is 512
-
00:58:03 and 512 which is one over one aspect ratio. It is important that to select resize and fill. So this
-
00:58:11 is resize and fill result you see. This is the map it generated. Let me show the crop and resize
-
00:58:19 difference using the same seed. So this is crop and resize difference as you are seeing right now:
-
00:58:26 resize and fill, crop and resize. Let me make it just resize and this is the result of just resize.
-
00:58:33 The just resize is worst. I think resize and fill is the best and this is crop and resize so it will
-
00:58:41 affect the result that you are going to get when you are working with non-matching aspect ratio.
-
00:58:47 So this is the aspect ratio that I am generating and the aspect ratio of the logo is not matching
-
00:58:53 with this one. This can be applied pretty much anything. To make good text to make to make logos.
-
00:59:01 This is another logic of using line art. So the next option is Shuffle. This is a new feature that
-
00:59:07 comes with ControlNet 1.1. It shuffles the image. It is pretty interesting so let's see what kind of
-
00:59:16 result we will get. I will select the Shuffle from here. I will click pre. Oh, there is no
-
00:59:21 preview but I need to delete this preview. Maybe close? no. Okay, let's refresh the page to be
-
00:59:28 sure. Let's upload our shuffling image. I will use this image for shuffling. Let's select Shuffle and
-
00:59:37 I entered the original resolution of the image and how should we shuffle it? Okay,
-
00:59:42 I just typed. Amazing dragon oh I forgotten to enable. Let's enable pixel perfect and let's
-
00:59:49 Shuffle again. It is loading the model, it is setting the proper resolution. Okay, I see. So
-
00:59:57 you see when we used Shuffle it almost uses the same colors and it Shuffled them like this. So
-
01:00:04 this is the image it generated based on the colors used in this image and this is the completely
-
01:00:11 Shuffled output. Actually, this is pretty amazing. Maybe we can try to generate a lower resolution to
-
01:00:18 get a better one. Wow, I see this is pretty amazing. Not the dimension is matching so we
-
01:00:25 can try as half of the original dimension. We can keep the aspect ratio. So this is the half of the
-
01:00:31 original resolution image. So here I have reduced the dimension according to the aspect ratio of
-
01:00:38 the original image. This is the result we got and this is the shuffling. You can play with this and
-
01:00:43 if you find it useful let me know in the comments. This is pretty interesting feature. This is also
-
01:00:49 pretty new. So this is the description of the developers written. For example, they have given
-
01:00:55 this image and Shuffled it as ironman. Wow, this is pretty interesting. Let's try this. So I will
-
01:01:02 test it with this image. Let's save it as ironman png: let's refresh the page. I will turn this into
-
01:01:09 spider-man. Spider-man select the image from here. Enable pixart perfect Shuffle. By the way, Shuffle
-
01:01:16 has none other preprocessor. We have a preview. Okay, this is the shuffling preview and let's set
-
01:01:24 the resolution same and let's hit generate. With shuffling ironman into spider-man okay,
-
01:01:30 it is not very like as the developers show. Maybe I can try superman. I wonder what we will get. The
-
01:01:37 spider-man is not very like. So this is Shuffled into this superman. I don't know if it is working
-
01:01:43 or not. It doesn't look like. Yeah, maybe uncheck this and try again. Okay, without pixel perfect,
-
01:01:49 it still doesn't look like shuffling as shown here because it is supposed to turn this image
-
01:01:56 into ironman. However, in our case it doesn't look like turning this image into this one. It
-
01:02:03 is a little bit similar, but not like yeah. Maybe I can try with my own image. So let's turn myself
-
01:02:09 into superman. Okay, so it turned this image into this one. Pretty different. Maybe because of the
-
01:02:16 aspect ratio let's try it. So let's try with 768. Okay, so it tries to match the colors and turn it
-
01:02:25 into this one. This is very interesting. This is the Shuffled image and this is the other image.
-
01:02:30 Anyway, I never used shuffling in any of my daily life, but it is supposed to work like this. Okay,
-
01:02:36 multi ControlNet. Multi ControlNet is extremely important feature. So they used this image as a
-
01:02:45 base image and then they used Shuffle image as a this image. Let's also download it. Let's load
-
01:02:50 them. So the first image will be used as Canny. It is enabled. The second ControlNet will be used for
-
01:02:57 shuffling enable, pixel perfect, shuffle. So we got this one and we got canny. Let's try ironman.
-
01:03:05 I wonder what kind of result we will get. Now it will use two images together. Okay, I see it
-
01:03:12 Shuffled ironman with this skin and it generated this image. Pretty pretty decent actually. Pretty
-
01:03:21 amazing also. So this is the resolution of line art. Let's select proper resolution. So I changed
-
01:03:29 the resolution according to the dimension of the ironman image. Yeah, we got a pretty decent output
-
01:03:36 from shuffling and from Canny. Sorry I said that line arts but they used Canny. Not line art. So
-
01:03:43 let's try also with line art and see what kind of result we will get. This is Canny plus shuffling.
-
01:03:49 It is pretty amazing actually and this is line art plus shuffling I see. Wow. Interesting. I
-
01:03:58 think this is still early days of shuffling so it may get better over time. These are the
-
01:04:04 outputs they had. Now instruct pix2pix. This is another feature of ControlNet. So let's refresh
-
01:04:11 the page. I will try with my own image. So I have uploaded my image. I click enable,
-
01:04:17 select IP2P. This is instruct pix2pix. It doesn't have any preprocessor. This works with giving
-
01:04:25 natural commands. So what can we say: we can say that turn hair color into red. I wonder if it
-
01:04:33 will work? Let's hit generate so it is loading the instruct pix2pix model. Okay, it didn't work very
-
01:04:40 well. It turned entire image into red. What else can we try? Okay, make the man in picture have
-
01:04:46 longer beard but it changed the face completely. It is supposed to obey our commands and make it
-
01:04:54 on fire. For example, they have provided in their page. So I have uploaded an image of a horse and
-
01:05:01 I said make the horse wearing an armor. It is pretty much turned it into correcting but it
-
01:05:09 changed the background. The quality decreased it. So instruct pix2pix of ControlNet is not working
-
01:05:15 very well. There is actually an original instruct pix2pix and it was working better.
-
01:05:20 This is the original paper of instruct pix2pix. This was better than ControlNet instruct pix2pix
-
01:05:27 and I think it is still like that. So ControlNet instruct pix2pix is not as good as the original
-
01:05:33 instruct pix2pix paper. It is supposed to work very well. Let's try make it winter. This looks
-
01:05:40 like a another prompt. Make it winter. By the way the results will depend on our selected diffusion
-
01:05:46 model. Okay, this is what we get with dream shaper. Let's also try with the base model. Okay,
-
01:05:52 let's hit generate with the base model. Maybe it will work better. I'm not sure. Okay,
-
01:05:57 it is not working good yeah. Inpaint. This is a new feature of ControlNet. This is the description
-
01:06:04 they have written. There are several options of inpainting with control net. So they have some
-
01:06:11 guidelines linked here. I am going to use this in my upcoming full realism model. Let me show you an
-
01:06:20 example. So you see on the left I am. This middle one is trained model generated ai image and on the
-
01:06:27 right you see the output of ControlNet inpainting and tiling output. I will show this. Hopefully in
-
01:06:35 my upcoming tutorial I will show how to generate studio quality images so stay subscribed. For
-
01:06:43 testing inpainting. I generated an ai image a man yielding a mighty sword like this. Let's
-
01:06:50 send it into send to inpaint. And let's select from ControlNet and select inpaint mode. Enable,
-
01:06:58 pixel perfect and let's modify the face to improve it like this. Let's inpaint. I will also inpaint
-
01:07:07 without control net to check out the difference. Okay, it says that a1111 inpaint and ControlNet
-
01:07:13 in paint duplicated. ControlNet support enabled. Okay so this is the output we get with in paint of
-
01:07:21 ControlNet based on this mask. Actually it doesn't look good to me. inpaint global harmonious. Let's
-
01:07:28 try with it. Okay, this is what we have still not looking very well and this is the result. With the
-
01:07:35 third inpainting option inpaint only + lama. Okay let's try without enabling the ControlNet and this
-
01:07:43 time I will set only masked because this is the inpaint of the automatic1111. It is 75 percent.
-
01:07:51 Maybe we should try like 45 and let's see the result. It looks like Automatic1111 inpaint is
-
01:07:57 working better at this example. You can get the true power of inpainting of ControlNet when you
-
01:08:04 utilize it along with tiling feature. So let's open our image, send to inpaint. Select inpaint
-
01:08:12 not masked. Select resize by 2x. You can also increase this. Increase denoising strength to 1
-
01:08:19 because we will utilize tiling. Open ControlNet enable, pixel perfect, inpaint, inpaint only is
-
01:08:27 selected. Then get your controlnet unit one enable pixel perfect select tile and let's hit generate
-
01:08:34 and here we got the amazing results. You will be amazed by the results. So this is the result of
-
01:08:40 inpainting + tiling of ControlNet. Let's compare them. This is the new result we got and this is
-
01:08:48 the original image. You see it has significantly improved the face quality the hands quality. I
-
01:08:56 see some errors in the feat so we can generate multiple ones, but with this feature you can both
-
01:09:03 upscale and improve the quality significantly. This is where comes the power of ControlNet
-
01:09:10 inpainting when combined with tiling. You see from this image to this image. As some of you may have
-
01:09:17 noticed, we have lost some of the coloring when we have used inpainting plus tiling feature. The
-
01:09:25 developers also were aware of this issue and they have released a new preprocessor. The tile color
-
01:09:32 fix plus sharp. So go to your tiling ControlNet in the preprocessor section. Try tile color fix
-
01:09:40 plus sharp. Let me demonstrate you the its results. Moreover, you can change variation
-
01:09:45 and sharpness with this preprocessor and it will affect your results. The developer has shown some
-
01:09:52 comparisons. So this is the input image they used. You see it is only 480 pixels by 640 pixels and
-
01:10:00 then they have used tiling. 100 percent denoising strength, no extra upscaler, super resolution
-
01:10:07 or other things. Old man best quality. If you wonder what is T2I and I2I. This is text to image
-
01:10:15 and this is image to image. With ControlNet Tile resample, this is the result. With color fix this
-
01:10:21 is the result and with color fix plus sharpness, this is the result. Here our new result. Let me
-
01:10:27 compare. This is regular Tile resample. This is Tile resample plus sharpness correction. Let's
-
01:10:34 look at them side by side. So here right now on the left we are seeing the original raw output on
-
01:10:40 the middle Tile resample. On the right we see Tile resample plus color correction plus sharpness fix.
-
01:10:49 You see it is much more colorful. It is looking much more sharp. So you can also change the
-
01:10:55 settings here and see how they are affecting. For example, let's make some experimentation:
-
01:11:00 variation 16. So here we are seeing the variation 8 and here we are seeing the variation 16, 8, 16,
-
01:11:08 8, 16 so it changed the colors position looks like. It is up to you to test and see whichever
-
01:11:17 one you like more. I think variation 8 has more details. Now I will show you the famous
-
01:11:23 generative fill feature of ControlNet which has arrived recently to the ControlNet. I am pretty
-
01:11:29 sure you have heard the amazing generative fill of Photoshop. Now we have similar feature with Stable
-
01:11:36 Diffusion automatic1111 web UI with the extension of ControlNet. This is their new preprocessor for
-
01:11:43 outpainting and inpainting as a generative fill of Photoshop. So they have used this as an example
-
01:11:50 image. I will also use it. Let's save image as into our downloads. Let's refresh our web UI.
-
01:11:56 Load image into your ControlNet. When you are using generative fill feature of ControlNet,
-
01:12:03 you don't type any prompt. Make the cfg like 4. So let's say you want to inpaint and remove an
-
01:12:11 object. How can you do that. Mask the object that you want to remove like this. Then in the bottom
-
01:12:18 enable pixel perfect. Inpaint. Select inpaint only + lama. This is better than inpaint only
-
01:12:28 for generative fill feature of ControlNet for removing objects or outpainting image. I will
-
01:12:34 also show outpainting logic So that's it. Let's hit generate. By the way, this is not the correct
-
01:12:41 dimension of the image so it will get changed but still working very well. You see, we have masked
-
01:12:47 this area. It has removed that image completely and perfectly fine. So this is generative fill
-
01:12:53 feature of ControlNet. You can use this to remove images. Then let's also check out how to outpaint.
-
01:13:01 The original image we downloaded is 500 by 750 pixels. So we are going to change the output
-
01:13:08 resolution to the opposite. Like this, this means that it will expand the image in width and it will
-
01:13:16 crop the image in height. For outpainting the work you need to select resize and fill option
-
01:13:21 in ControlNet. This is really important. You don't need to type anything. Okay, this is the
-
01:13:27 first result we got as an outpainting. It is not fabulous, but we can do more trials and see if we
-
01:13:34 will get better. By the way, this is DreamShaper model. Whatever the model you use will make a
-
01:13:38 lot of difference. After changing resolution to 768 and 512 making the model realistic vision,
-
01:13:46 I have a very decent result. So on the left you see the original image and on the right we see the
-
01:13:54 expanded image. This is how we were able to expand outpaint this left image into the right image. By
-
01:14:04 the way, if you have noticed that the toothbrushes are gone, why? Because I have masked them,
-
01:14:13 therefore they are removed when the image were being expanded. So the logic of outpainting is
-
01:14:19 that the changing the aspect ratio of the image to expand it and also selecting resize and fill. You
-
01:14:28 don't type anything, you select your base model, you select your cfg scale and that's it. With that
-
01:14:34 way you can outpaint images in Stable Diffusion. Here another example and let's say you want to
-
01:14:40 continue outpainting. How can you do easily. Drag and drop the image here and then change the
-
01:14:48 resolution and the aspect ratio. So for example, let's make it as 1024 height and keep the width
-
01:14:58 same. So with this way you can continue doing outpainting very easily. And here we got a decent
-
01:15:06 example result when we further expanded, further outpainted the image. Because I have used very
-
01:15:15 high resolution. You should try to increase width and height with small increments. Otherwise, you
-
01:15:22 will have hard time to get decent images. So try to increase width and height in small increases.
-
01:15:30 For example, then I can drag and drop this one here and I can increase like 920. So with this
-
01:15:39 way you can continue outpainting and expand your image. When you continue outpainting your image
-
01:15:45 like this. It is being similar to the mid-journey new zoom out feature that has just arrived this
-
01:15:53 week. So you see ControlNet is getting better and better. Competing with the millions of dollars
-
01:16:00 having companies. So we should keep supporting the ControlNet developers. So the tiling: this is a
-
01:16:07 new feature of ControlNet and it is amazing. When you use tiling, it will keep the original image as
-
01:16:15 much as possible and it will also apply the other rules that you are doing. This is super useful for
-
01:16:21 upscaling images. For example, they show that they turned this image into this image with upscaling,
-
01:16:28 it keeps the original image. It keeps the shape of the original image and yet it upscales it. It
-
01:16:34 adds it a full details, new details. This tiling can be used for so many things. They have shown
-
01:16:42 an example here. For example, with tiling, they turned this very less detailed image on here you
-
01:16:50 see into a very detailed image like this. Tiling is a very powerful feature of the ControlNet.
-
01:16:57 From this image to this image you see. It adds so many details from this image to this image.
-
01:17:05 Can you see: this is the original image and this is the tiled upscaled image. It is amazing and I
-
01:17:13 also just demonstrated how to use it to you. You can use tiling with many stuff. Actually you can
-
01:17:19 use it to stylize our original image. Let me show you that. Let's refresh the page. Let's go to the
-
01:17:26 image to image. I will upload my own image. Let's add this one. Okay, I just typed a simple prompt,
-
01:17:33 a handsome man. Then I will select my image from here. Enable, pixel perfect, Tile and let's make
-
01:17:41 denoise 1 because I am using Tile and let's hit generate. So now I get a stylized image of myself
-
01:17:48 like this. It is not very like me, but let's also try to combine it with another ControlNet model
-
01:17:56 such as Canny. Let's make the Canny weight as 50 percent and try again. Okay now it is more like me
-
01:18:04 from this to this. Actually we can make the Canny weight 1 and try again. So with tiling it will
-
01:18:12 keep the original image as much as possible. Okay now you see you see without training and without
-
01:18:18 anything it almost generated a stylized image of myself. Tiling will keep the original image
-
01:18:25 and with also Canny we keep the shape and we can get like this. We can add some more details. Okay
-
01:18:31 let's try. Awesome intricate cgi rendered man. Okay, now you see I am rendered as cgi. Let's try
-
01:18:38 a picture of a man in disney a style and let's try. It is also keeping the background image,
-
01:18:46 background objects. Okay, like this. Not very good. Maybe try as pixar anime style. I wonder
-
01:18:53 what we will get. So you see, this is how you can utilize multi-ControlNet styling, multi-ControlNet
-
01:19:00 tiling. Let's try this: cgi 3d rendered portrait photo of a man. Okay, not very good. Let's try
-
01:19:06 like this. It will totally depend on your input. Let's try a simple thing: photo of a man. So it
-
01:19:12 will be in the style of the DreamShaper. So this is it. Maybe we should add some styling.
-
01:19:17 okay here. A man sitting on an armchair in gta style. Maybe we should add gta 5. Okay,
-
01:19:24 now you see from this to this, perhaps we can make it obey our prompt more. Let's say my prompt
-
01:19:32 is more important with the Canny. Wow. Nice from this to this. So you can play with these values.
-
01:19:40 Perhaps you can reduce the weights of the Canny and other things. For example, let's make this 50.
-
01:19:47 It will add more details. Let's make the control weight 75 percent and try again. But this is fully
-
01:19:53 stylized image. Oh yes, there's another stylized image. Perhaps. Let's try like this. Let's make
-
01:20:01 this like 90 percent and try again. Let's also add our eyeglasses. A man with eyeglasses. Okay,
-
01:20:11 like this. By the way none of these are cherry-picked okay looking pretty well. Yeah,
-
01:20:17 so you can turn yourself into any style. Perhaps let's make this one. Let's make this as 200 and
-
01:20:24 200 and try like this. Okay, nice, very nice. You can also reduce the tiling power. Let's make
-
01:20:32 this as 80 percent and try again. And this is the output we get. So if you reduce the tiling power,
-
01:20:39 you will get away from your original image. Let's try with 1.2 tiling power tiling weight. Okay,
-
01:20:48 it is now more like me I think. So you can play with this and see what you can get. Okay, so we
-
01:20:55 have got two options left, which is Reference only the first one. So the Reference only is similar
-
01:21:02 to in-paint based Reference. But it does not make your image disordered. So this is the description
-
01:21:08 that the developers has given for Reference only. Let's test it out. I will refresh the page. A man
-
01:21:15 sitting in arm chairs. Let's upload our Reference image here and let's select the Reference. It
-
01:21:24 selected reference only. Okay, let's try. This is the first time I am using this. Actually, I never
-
01:21:30 used it. Okay, it is not very like me. I wonder how we can improve it. Okay, so this is used in
-
01:21:37 yes, this is used in text to image. I think we need a realistic model for this to work. I wonder
-
01:21:45 what else we can use? Yes, Reference only. Let's try one. Okay, nothing like let's try zero ten.
-
01:21:54 Let's try with a realistic model like realistic vision version two. Okay, I make the prompt photo
-
01:22:01 of a man. Wow. Now we get somewhat similar thing. Let's try with style fidelity unbalanced to zero.
-
01:22:09 I wonder what we will get. Okay, this is with zero. Let's make it as five percent. Okay like
-
01:22:16 this. Let's change the prompt like this. Okay, I don't know. Let's try again. Wow. It tries to
-
01:22:22 make something similar but the results are not very good. Okay with Reference only. So far we
-
01:22:28 didn't get anything good, but you understand the logic, you can try it. So this is the description
-
01:22:34 of the developer. The last remaining model is style transfer T2IA adapter models. It is
-
01:22:42 downloaded from this url. I also have updated the GitHub readme file style transfer models T2IA. In
-
01:22:50 the readme file you will find this link. So from here you need to download the models that you want
-
01:22:56 to use. Let's try style transfer model which is this one co-adapter style transfer and also let's
-
01:23:07 try this T2IA adapter style. In the description it says add style adapter and in the other one
-
01:23:14 it doesn't say. So these two are style adapters. Okay, it says that co-adapter is not implemented
-
01:23:21 yet so it won't be useful. So the style adapter is used like this source image, input and output.
-
01:23:28 Okay, let's give it a try. So I cut the copied model, paste it into extensions, ControlNet,
-
01:23:35 models. Yes, then let's refresh our page. Okay now I will show you how you can use style adapter. Let
-
01:23:44 me refresh. Go to text to image, type your prompt. A mighty dragon like this. Select ControlNet,
-
01:23:51 upload your style image. I want to generate a dragon with this style. Enable. Select t2 from
-
01:23:59 here. The model is selected as T2IA adapter style. Select your preprocessor as style clip vision and
-
01:24:07 then select your desired width and height. For example, let's make it like this: 1024, 768 and
-
01:24:15 this is the output we got. It is similar to the style, not perfect of course. And if you wonder
-
01:24:22 what would happen without selecting style adapter, let me show you. So this is another image. Let's
-
01:24:28 try with high resolution fix. Okay we got so many repeating maybe try like this. Okay so this is the
-
01:24:35 image. Let's also make the seed same and when I disable this style transfer, style clip vision,
-
01:24:42 let's see what result we are going to get. You see we get completely different thing not even related
-
01:24:49 to this style. Let's enable again and with style transfer we get somewhat similar style. I think
-
01:24:56 it is working decent. If you prefer you can also download color transfer. It is working like this.
-
01:25:02 This is the color source, this is input and this is the output. It tries to match the colors of the
-
01:25:08 picture and in style it tries to match the style of the source. You see it didn't use any image as
-
01:25:14 a input in the color, we use an image as an input. So the other says that if you have 4 gigabyte vram
-
01:25:22 having gpu and if you enable low vram, you can go up to 768 by 832 pixels resolution when using
-
01:25:32 ControlNet. This is all for today. Please join our Discord channel. When you click this link,
-
01:25:37 you will get to this page. Join to our server. You can follow me from twitter. When you click
-
01:25:43 this link, you will see my twitter account. This is our youtube channel as you already know. If
-
01:25:49 you support me on Patreon, I would appreciate that very much. When you click this link, you will get
-
01:25:54 to this page. Your Patreon support is tremendously important for me. Currently we have over 200
-
01:26:01 supporters. I appreciate them very much. I am posting a lot of special content here. Actually,
-
01:26:07 these are content that I show in my videos, but instead of writing the code yourself, you
-
01:26:14 are able to download the code from here directly. So it will make your life easier and it will help
-
01:26:21 me to continue producing more higher quality content. It will allow me to do more research,
-
01:26:26 more work for you. Also, please, like subscribe, leave a comment. Tell me your ideas, tell me your
-
01:26:34 opinions. If you also support me by joining on Youtube, I would appreciate that very much. On
-
01:26:39 our Youtube page you will find our Patreon Discord and my linkedin link. In the description of this
-
01:26:46 video, you will find the GitHub readme file link like this and also in the pinned comment
-
01:26:52 you will find the GitHub readme file like this. If you don't have a good gpu, then you can use
-
01:26:57 this software on RunPod as well. Everything is same. Let me show you how to use this on RunPod.
-
01:27:04 To use the ControlNet on RunPod. Let's go to our RunPod. By clicking this link, you will get RunPod
-
01:27:10 page. You can either sign up if you don't have an account or login. Let's login. Okay, I have logged
-
01:27:16 in my account, community cloud. Let's select a pod like RTX3090. Look for Stable Diffusion web
-
01:27:24 automatic. This is important. This template comes with ControlNet. Continue, deploy. If you don't
-
01:27:30 know how to use RunPod, I have an excellent two tutorials. Watch both of them. You see the links
-
01:27:36 are here in the end of the readme file. So the logic is saying you just need to download the
-
01:27:42 model files. You can download them one by one or you can use my automatic script which is posted
-
01:27:48 here. So let's download our automatic downloader script first in the attached cdnRunPod.py file.
-
01:27:55 Let's connect to jupyter lab. The models will be downloaded into the same folder. Let's open the
-
01:28:01 models folder. For example let's download this model file. Right click this arrow, copy link
-
01:28:07 address. Enter inside the extensions. ControlNet, models ControlNet models, open a new terminal
-
01:28:15 inside. Here you see currently I am inside models. wget Paste the link and it will download the model
-
01:28:21 into models folder. Alternatively, you can upload my script to here, open a new terminal and copy
-
01:28:31 the name of the file. You can right click, rename, select all copy type python, the name
-
01:28:37 of the file hit enter. It will skip installation of the ControlNet. It will then update it to the
-
01:28:44 latest version with git pull. Then it will start downloading all of the model files. If one of the
-
01:28:50 model file exists then it will skip it. If not exist, it will download it. So this is how you
-
01:28:56 use ControlNet models on RunPod. Then just click connect. Click connect to 3000 port. You see
-
01:29:02 it comes with ControlNet extension. Click here. Refresh the models. As the models get downloaded,
-
01:29:08 they will appear here. You just need to click refresh. The rest is same. The usage is same
-
01:29:14 as I have shown in this video. Thank you very much for watching. Hopefully see you later.
