I'm doing the same thing actually. I had to find tools because I was getting black images too.
This one worked for me:
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.figure import Figure
from matplotlib.backends.backend_agg import FigureCanvas
from PIL import Image
import tensorflow as tf
keras_imager = tf.keras.preprocessing.image
Couple of Things straight up:
Inject some noise in the process. When the gan or autoencoder learns that there is some noise it will start to generalise better
Use weaker architectures. (Analogy to weak learners, you cant build random forest wit hstrong trees). Basically allowing for your Architecture to be weak enough to be able to generalise and not learn ...