This paper presents an unsupervised Bayesian algorithm for hyperspectral image unmixing accounting for endmember variability. Each image pixel is modeled by a linear combination of random endmembers to take into account endmember variability in the image. The coefficients of this linear combination (referred to as abundances) allow the proportions of each material (endmembers) to be quantified in the image pixel. An additive noise is also considered in the proposed model generalizing the normal compositional model. The proposed Bayesian algorithm exploits spatial correlations between adjacent pixels of the image and provides spectral information by achieving a spectral unmixing. It estimates both the mean and the covariance matrix of each endmember in the image. A spatial classification is also obtained based on the estimated abundances. Simulations conducted with synthetic and real data show the potential of the proposed model and the unmixing performance for the analysis of hyperspectral images.