Good question. I figured that many people who come to the site will just press generate right away without realizing you can choose tags. When 0 tags are selected, you get weird results. So I wanted to make a good default selection. But maybe a better option is to force users to select some tags first, and start empty?
FWIW, I think your initial idea is the better one. Like you said, people will just want to hit Generate to see what happens. Modals in the way will just annoy. Maybe just randomizing the start tags, for variety in the stream?
I think the term “perfect” is a bit abstract/subjective as a qualitative assessment. Perhaps make it a bit more descriptive in an objective way what kind of type of body it is?