The other common approach here (for non-generative images) is to store the Sha3 hash of an image and then simply require that someone, somewhere has the actual data. You could also pass the image as a LOG message which is significantly cheaper (3 gas per byte, versus 20,000 gas per 32-bytes to store data) which means if you can read older chain blocks, you can ensure you have the underlying data.
Isn't this an interesting example where you could do fun things by writing the image data into a cheap blockchain where the cost isn't high (making it immutable) but then associating it with the SHA or encrypted private key on the blockchain where the item is sold?<p>The art goes on the dogecoin, the purchase happens on ethereum.