One idea for the "enter a URL" path. If you save the image URL for a longer time period, you could give the viewer the option to re-run that URL and perhaps save it to that location for another hour.
Or show a message like what Flask's logo does when you right-click it the first time [0]. e.g. "Note: Direct linking will not work. This image will disappear from our servers in an hour." (Possibly with "Click here to post to Twitter instead," which can help "persist" an image while spreading the site a bit further in the process.)
You might want to make it more obvious that pictures aren't linkable by doing something like returning the image from a POST (might make for bad UI) or returning the image as a data url.
I cheated a little bit by creating an AI that allowed me to do it faster in a semi-automatic fashion. However, the first batch to train this "labeling"-network was generated manually, which took forever.