software design for a text to image generation application