What do I need to learn to make a proper NLG model?

I want to make a model and train it on a specific niche so that it can generate any text based on a source entity, meaning I want to pass a keyword as an input and it has to generate a perfect long article with every information related to that topic. What do I need to learn to achieve something like this?

I know the basics of Machine learning and deep learning and I have a basic knowledge on how these predictions work. I have looked around the internet for a while but haven’t found something that specifically answers this question since I feel like it is a pretty interesting and complex topic. I have a lot of time on my hand so time is not an issue.