Assuming stable diffusion is ten gigabytes, that's 2 bytes per image. 2 bytes would be too small for a short textual description of the image, let alone a scaled copy of the image.
One do not need 2 bytes per images if one million of images are blank, even if they are uniquely of different sizes. The amount of bytes to represent one million blank images in code is very few. One only need to store the unique aspects of the images, and if one compresses the images then the range of uniqueness drops based on the quality required.
Very unique images will naturally have larger footprint, based on the quality that one want to retain.