The ways and costs of generating graphics using Stable Diffusion
Created on July 23, 2023 by Dawid Wasowski Updated on Aug 27, 2024 https://dav.one/the-ways-and-costs-of-generating-graphics-using-stable-diffusion/
Generating images on your own computer
If you have top-tier graphics card like
Nvidia RTX4090
or you can afford to buy a top-tier graphics card, it will be the best option
for you to work on your own computer, and you can pretty much stop reading this
article right now. You will work on your own hardware and won’t be dependent on
anyone.
A poor computer can prevent you from generating graphics or it will greatly slow
down your work. The minimum requirement to start is a graphics card with at
least 6GB VRAM. You
will be able to generate graphics in low resolution. It will require a lot of
time investment to generate images - and generated images may not necessarily
satisfy you.
Let’s do some calculations.
On RTX4090, generating basic image using any Stable Diffusion 1.5 model with a
resolution of 768x768 pixels and Sampling Steps 75 takes about 5 seconds, while
on my old Nvidia GTX1660, it takes about 30 seconds. Now add the need to use a
very popular extensions like
ControlNet and
ADetailer. The time for generating
graphics will increase significantly. On RTX4090, it will take about 10-15
seconds, while on GTX1660, it can take up to 2 minutes. Keep in mind that I
didn’t mention the Upscaling,
which extremely increases generation times.
Based on the average generation time, you will generate either 300 images with
RTX4090 or 40 with GTX1660 per hour using the previously mentioned settings.
Now imagine these calculations were based on Stable Diffusion 1.5, which is an
old model. The newer popular models like
SDXL or
FLUX are much more demanding in terms of hardware
requirements.
The amount of time you’ll spend on a weak computer might be sick.
Renting Servers
The most sensible if you have a weak computer and you don’t have money to buy a
new graphics card Just Like That. You can rent servers with top tier graphics
cards. You can even rent a server with multiple graphics cards. In the case of
these services, the prices per hour are fixed, which is good. You know how much
you pay. You can deposit as much money as you want and rent a server even for a
few minutes (which will cost you few cents). In the moment of writing this
article, the price for renting a community server with single RTX4090 is about
$0.20 per hour. Prices are changing depending on the time of day and the demand
for servers. Mostly, the prices are cheaper at weekends.
Services mentioned below allow you to run
Docker images. You can select a
“Template” with a ready-to-use User Interfaces (UI) for Stable Diffusion like
Automatic1111,
ComfyUI,
InvokeAI,
Forge,
Fooocus and more.
Before choosing a Docker image, familiarize yourself with its documentation.
Personally, I recommend AI-Dock based images. They
give you ability to quick start with
Provisioning Script.
I even created a repository containing templates with awesome models,
you can find it here.
I recommend only these two services, which confirmed to me that you won’t lose
the money you’ve deposited. The first one is my personal favorite.
Best prices. Mentioned
on Reddit
many times. Clear website. You have server browser showing all (available and
unavailable) servers along with many details about them (showing their
performance, reliability, geo-locations, network speeds and much more). You have
many sorting options that will make it easier for you to choose a server that
meets your requirements. They provide API, so you can automate things if you are
a programmer.
More expensive than Vast. Mentioned
on Reddit
many times too. It’s also an easy and simple website. However, it has much less
information about servers.
Using Google Colab
Google Colab is a free service, but you
need to pay to use Web UI’s. I personally used both the free version (before the
company’s policy changed) and the paid version (before and after changes). The
image generation was relatively fast. Sometimes, the speed of generating images
in the Pro version was the same as the free version, which concerned me. It’s
good that it consumes fewer credits (deposited funds) when you are not using
GPU. You can take a
break, ride to grocery store. But when you work it might consume your credits
rapidly! You don’t know what costs to expect. That’s the very reason why I
stopped using Google Colab. The second reason was that after a month, credits
are blocked, and in order to use them, You need to reactivate Colab Pro. If this
is not done, all credits will be lost after 90 days (seriously, Google?).
I think that Google Colab is a good place for training models, but not for
generating graphics. If you wan’t to pay for a service, I recommend
renting a server.
Recently,
I’ve found a repository
that allows you to use InvokeAI on Free Tier. I assume that with
tunneling, it’s possible to use
other UIs. However, I don’t intend to check it, as generating images on Colab is
currently several times slower than on a single RTX4090. For me, it’s not worth
it.
Dedicated Websites
Dedicated Websites (online generators) are the best place for people who have
never generated anything before and want to see “what this AI-generated art is
all about?”. You’ll most likely need to register, and you’ll receive virtual
currency that you can use to generate a certain number of images. You don’t
really require any technical knowledge or installing anything on your computer.
You just write a prompt and wait for the image to be generated. Good websites
will let you tweak the settings and choose a cool model. I will not promote any
of them. You can search for them
by yourself.
However, they come with limitations.
- You won’t be able to use most of the models and add-ons created by the
community.
- You won’t have access to advanced configurations, all samplers and cool
extensions.
- Certain prompts might be prohibited, so you won’t be able to generate images
you like.
- Most likely, you won’t be able to compete with professional artists.
The biggest cost here is not money or time - it’s sacrificing freedom and
capabilities for convenience.
Finish
Time is money, and money is time. Sometimes you have to sacrifice something
else.
My intention was to show you that there are several possibilities for graphic
generation. This article should help you decide where you will generate your
future masterpieces.