Seismic facies characterization plays a key role in hydrocarbon exploration and development. The existing unsupervised methods are mostly waveform-based and involve multiple steps. We have developed a method to leverage unsupervised contrastive learning to automatically analyze seismic facies. To obtain a stable result, we use 3D seismic cubes instead of seismic traces or their variants as inputs of networks to improve lateral consistency. In addition, we treat seismic attributes as geologic constraints and feed them into the network along with the seismic cubes. These different seismic and multiattribute cubes from the same position are regarded as positive pairs and the cubes from a different position are treated as negative pairs. A contrastive learning framework is used to maximize the similarities of positive pairs and minimize the similarities of negative pairs. In this way, we can enforce the samples with similar features to get close while pushing the samples with different features to be separated in the space where we make the seismic facies clustering. This contrastive learning framework is a one-stage, end-to-end, and unsupervised fashion without any manual labels. We have determined the effectiveness of this method by using it to a turbidite channel system in the Canterbury Basin, offshore New Zealand. The obtained facies map is continuous, resulting in a stable and reliable classification.