All 6 data centres operational

Paid in crypto · No identity check · Root access in under 5 minutes

Sizing guide · 9 min read

Choosing a card for image and video models.

An image model has no conversation to remember, so it is sized by an entirely different rule than a language model — and the cheapest card that holds it is almost never the card you want to be renting.

The short answer

At full precision
SDXL 1.0 8.0 GB · Stable Diffusion 3.5 Large 18.4 GB · FLUX.1 dev 27.6 GB · Wan 2.1 video 14B 32.2 GB — runtime margin included
The awkward line
Every 24 GB card in the catalogue is just short of FLUX.1 dev at BF16. FP8 halves it and clears the bar on all of them
Cheapest that holds it
NVIDIA L4 at $125 a month, FLUX.1 dev in FP8
What a second card buys
Twice the images per hour, and not one second off a single image

What each model needs

Start with the difference that decides everything else. A language model carries a key/value cache that grows with every token of context, which is why the same 70B model can ask for 40 GB or 140 GB depending on how much conversation you keep. A diffusion model has no cache at all. It reads a prompt, denoises a latent for a fixed number of steps, and forgets. The weights are therefore very nearly the whole memory question, and the answer does not move when your prompts get longer.

Memory required by each image and video model, by precision
Model Parameters BF16 / FP16 FP8 4-bit (AWQ, GPTQ)
SDXL 1.0Still images 3.5 B 8.0 GB 4.0 GB 2.0 GB
Stable Diffusion 3.5 LargeStill images 8 B 18.4 GB 9.2 GB 4.6 GB
FLUX.1 devStill images 12 B 27.6 GB 13.8 GB 6.9 GB
Wan 2.1 video 14BVideo, generated as a block of frames 14 B 32.2 GB 16.1 GB 8.0 GB

Weights plus a 15% runtime margin for activations, the CUDA context and allocator fragmentation — the same margin the configurator applies, so you can check these against it. There is no context column because there is nothing to put in it.

Two lines in that table are worth stopping on, because they are exactly where a purchase goes wrong.

FLUX.1 dev at BF16 wants 27.6 GB. That is past every 24 GB card we rent, and not by enough to feel fair. It is the single most common surprise in image work: the model that "runs on a 4090 everywhere on the internet" is running quantised, and nobody says so.

Wan 2.1 video 14B at BF16 wants 32.2 GB. It misses a 32 GB card by a fraction of a gigabyte. Our margin is deliberately conservative and you can usually claw that back by keeping the text encoder off the card — but you should not have to plan a purchase around a rounding error, so the honest answer is that video wants 40 GB or more.

What each card holds

Every single-card machine we rent, and the best precision each one holds for the two demanding models. The bandwidth column is there for the next chapter; read it after you have read that one.

Single-card nodes, and which precision each holds
Node Card memory Bandwidth FLUX.1 dev Wan 2.1 video 14B Per month
NVIDIA L4Ada Lovelace · PCIe 5.0 24 GB 300 GB/s2.4 GB/s per $ FP8 FP8 $125/mo
NVIDIA RTX 4090Ada Lovelace · PCIe 5.0 24 GB 1,008 GB/s5.2 GB/s per $ FP8 FP8 $193/mo
NVIDIA RTX A6000Ampere · PCIe 5.0 48 GB 768 GB/s2.7 GB/s per $ BF16 / FP16 BF16 / FP16 $286/mo
NVIDIA RTX 5090Blackwell · PCIe 5.0 32 GB 1,792 GB/s5.3 GB/s per $ BF16 / FP16 FP8 $335/mo
NVIDIA A100 PCIeAmpere · PCIe 5.0 40 GB 1,555 GB/s4.0 GB/s per $ BF16 / FP16 BF16 / FP16 $392/mo
NVIDIA L40SAda Lovelace · PCIe 5.0 48 GB 864 GB/s1.2 GB/s per $ BF16 / FP16 BF16 / FP16 $714/mo
NVIDIA A100 PCIeAmpere · PCIe 5.0 80 GB 1,935 GB/s1.8 GB/s per $ BF16 / FP16 BF16 / FP16 $1,091/mo
NVIDIA H100 PCIeHopper · PCIe 5.0 80 GB 2,000 GB/s1.4 GB/s per $ BF16 / FP16 BF16 / FP16 $1,469/mo

Green is the reference weights, amber is quantised. Quantising a diffusion model is not the free lunch it is for a language model: the same prompt and seed give a visibly different image, usually a slightly softer one. It is a good trade at FP8 and a judgement call at 4 bits.

Read from the bottom of the price column and the picture is blunt. NVIDIA L4, at $125 a month, is the cheapest machine we rent that holds FLUX.1 dev at all — in FP8. The cheapest that holds it at full BF16 is NVIDIA RTX A6000, at $286. Video at full precision starts on that same card.

The column everyone reads wrong

Here is the part that separates image work from everything else on this site, and it is the reason the cheapest card in that table is a trap.

When a language model generates a token, it reads every active weight out of memory once, does a small amount of arithmetic with each one, and writes a single token. It does that again for the next token, and the next. The card spends its life waiting for the memory bus, which is why our throughput estimates for language models are essentially bandwidth divided by weights read, and why the bandwidth column is the one that matters on a serving guide.

A diffusion step does not look like that. The same weights are applied to a latent tensor twenty to fifty times over, and each pass does a great deal of arithmetic per byte fetched. The weights stay resident; the work is convolutions and attention over a small tensor. That flips the constraint: an image model is bound by tensor throughput, not by the memory bus. Three things follow, and all three cost money if you get them wrong.

"It fits" is not "it is fast"

The entry card in the table above holds FLUX.1 dev in FP8 for $125 a month, and it is a low-power part built to serve small models densely, not to push pixels. Memory is the first filter, never the last one.

A second card does not halve the wait

ComfyUI and the diffusers pipelines do not split one denoising loop across GPUs the way vLLM splits a transformer. Two cards run two workers: twice the images per hour, the same seconds per image. NVLink buys you nothing here.

The data-centre card is not automatically the answer

For language serving, an HBM card wins on the number that decides the job. For image work you are buying tensor throughput and memory, and the cards designed for graphics give you more of both per dollar than their position in our price list suggests.

Bandwidth per dollar is a proxy — a rough one — for the class of card you are looking at, and in our catalogue it ranks NVIDIA RTX 5090 and NVIDIA RTX 4090 first and second by a wide margin. That is not a coincidence and it is not a bargain we are talking you into: they are the parts designed for exactly this kind of arithmetic, and they are near the bottom of our price list because the market prices them against gaming, not against training clusters.

Why there is no images-per-minute column. We publish a tokens-per-second estimate for language models because the formula behind it is defensible and we show it to you. For diffusion there is no equivalent we would stand behind: seconds per image move by a factor of five with the sampler, the step count, the resolution and whether you compiled the model, before the card is even involved. A number we invented for this table would be the most quotable thing on the page and the least true. Rent for a month, measure your own pipeline, and the answer is worth more than any benchmark.

Resolution, batch and video

The weights are fixed. What moves is the working set, and it moves with pixels rather than with parameters. The latent itself is negligible — it is the activations passing through the network at that resolution that fill the card.

Where the memory actually goes
latent_elements = (H / 8) * (W / 8) * C * batch
# C = 4 latent channels on SDXL, 16 on SD 3.5 and FLUX.

# 1024x1024, batch 1, SDXL:
128 * 128 * 4 * 1     = 65,536 elements   = 128 KB in FP16

# 2048x2048, batch 4, SDXL:
256 * 256 * 4 * 4     = 1,048,576         = 2 MB in FP16

# The latent is never the problem. The activations that pass through the
# network at that resolution are, and they scale by the SAME factor:
# doubling the edge quadruples the pixel count, and roughly quadruples
# the working set. Batch multiplies it linearly on top.

Three practical consequences, in the order you will meet them:

  1. The peak is usually the VAE decode, not the sampling loop. Decoding expands the latent back to full resolution in one pass, and that single moment is what triggers the out-of-memory error at the very end of a job that had been running fine for a minute. Tiled decoding fixes it and costs a little time.
  2. Batching is how you use a big card. If the model leaves you 20 GB spare, four images at once is a far better use of it than one image with headroom — the weights are read once for the whole batch, which is the one place a diffusion pipeline does behave like a bandwidth-bound job.
  3. Video adds a dimension, not a percentage. Wan 2.1 video 14B generates a block of frames together, so frames multiply the same working set that height and width already multiply. It is why a 14-billion-parameter video model asks for a much larger card than a 12-billion-parameter image model, and why the weight table above understates it more than any other row.
A working rule. Take the number from the first table, then leave roughly a third of the card free on top of it for a one-megapixel image at a time. If you intend to batch, go up a memory tier rather than trimming the batch — on a monthly term the tier costs you a fixed number of dollars, while a batch of one costs you throughput every hour of every day.

Getting ComfyUI up

ComfyUI is one of the images we can have written to the machine before it is delivered, which makes this section optional. If you would rather build it yourself, it is a container and a tunnel.

On a freshly delivered machine
$ ssh root@203.0.113.42
$ nvidia-smi --query-gpu=name,memory.total --format=csv

# Checkpoints, LoRAs, ControlNets and VAEs on the fast local NVMe.
# This directory is the reason you are renting by the month.
$ mkdir -p /scratch/comfy/models
$ df -h /scratch
The server, bound to loopback
$ docker run -d --name comfy --restart unless-stopped \
    --gpus all --ipc=host \
    -v /scratch/comfy:/data \
    -p 127.0.0.1:8188:8188 \
    your-comfyui-image --listen 0.0.0.0 --port 8188

# From YOUR machine, not the server: a tunnel, then a local browser tab.
$ ssh -N -L 8188:127.0.0.1:8188 root@203.0.113.42
# http://127.0.0.1:8188
Note the 127.0.0.1: in front of the port. ComfyUI has no login, no password and no concept of a user. Published on a public address it is a graphical interface to your GPU, your model library and the filesystem underneath, offered to anyone who scans the port — and they are scanned within minutes. Bind it to loopback and reach it over SSH. The documentation covers the firewall and the first hour in more detail.

What a month buys

The reason image work suits a monthly machine is not the price of the GPU. It is the library. A serious ComfyUI install is a few hundred gigabytes of checkpoints, LoRAs, ControlNets, upscalers and VAEs that you have curated and do not want to fetch again.

The disk is in the price, on every single-card machine. 2 × 2 TB NVMe and 1 Gbit/s, unmetered in both directions — the same on the $125 node as on the $1,469 one. Nothing there is billed per gigabyte, nothing keeps billing when the card is idle, and nothing is charged again the day you pull the library back down after a reinstall.

That is the column to compare, and it is the one hourly platforms leave out of the headline. There the disk is a separate line item, priced per gigabyte per month, and it keeps billing while the instance is stopped — or you delete it, and re-download several hundred gigabytes the next time you sit down to work.

Which is the same trap the hourly break-even describes, in the shape it takes for image work. Per-second billing looks safe because you can stop the instance, and nobody stops it, because stopping it means losing the library. The honest question is not "how many hours will I generate" but "how many hours will this machine need to exist" — and for anyone with a curated model directory the answer is all of them. Payment is one transfer in crypto, there is no setup fee, and we did not ask who you are: the prompts, the LoRAs you trained and the client work you have not shipped yet stay on a machine only you have root on.

When not to rent a card

We would rather you did not rent one of these and regret it, so here are the cases where the answer is no.

You generate a few dozen images a week. A hosted endpoint will cost you a few dollars a month and no afternoons. Come back when the queue, the resolution limits or the content rules start deciding your work for you.

You want the newest closed model. The best-known image services do not release weights. No machine on this page runs them, and no amount of memory changes that.

You want one image faster and are looking at multi-GPU nodes. Buy a faster single card instead. Extra cards give you parallel workers, and parallel workers are worth a great deal — but not to the person watching a single progress bar.

You have not settled on a model yet. Rent by the hour somewhere until you know whether you are running SDXL 1.0 at 1024 px or Wan 2.1 video 14B at five seconds a clip. Those two answers are $161 a month apart, and there is no reason to guess.

Everywhere else — a library you have built, a pipeline you keep changing, batch jobs that run overnight, or work that simply should not leave your own disk — a dedicated card by the month is the cheaper and the calmer arrangement. The configurator will tell you, for every node in the catalogue, whether the model you have in mind fits on one card before you pay anything.

Check that your model fits before you pay.

The configurator reports the memory a model needs and whether it lands on a single card, for every machine in the catalogue.

Sign in

Console, invoices and out-of-band access.

No account yet?

There is no separate sign-up. Your account is created while you place your first order — you choose the email and the password on the payment step, and the console is open by the time the machine is.

Configure a server

Language