What algorithm to use
You can use Deep convolution GAN network of Deep learning. It would be a generative model.

you can get detailed help from :

https://medium.com/@keisukeumezawa/dcgan-generate-the-images-with-deep-convolutinal-gan-55edf947c34b