How to recreate this 3D plot?

data = RandomSample[ResourceData["MNIST", "TestData"], 1000];
pts = DimensionReduce[data[[All, 1]], 3, Method -> "TSNE"];
imgs = data[[All, 1]]; classes = data[[All, 2]]; pr = MinMax /@ Transpose[pts];
mm = MinMax[(1/EuclideanDistance[{pr[[1, 2]], pr[[2, 1]], pr[[3, 2]]}, #]) & /@ pts];
vp = {1.3`, -2.4`, 2.`}; vp = {0, -2, 2};
ir[pt : {x_, y_, z_}, img_, class_] := {Opacity[1], 
   Glow[ColorData["Rainbow"][(class + 1)/10.]], 
   Texture[ImageMultiply[img, ColorData["Rainbow"][(class + 1)/10.]]], EdgeForm[{Thin}], 
   Tooltip[GeometricTransformation[
     GeometricTransformation[GeometricTransformation[
       Polygon[{{-1, -1, 0}, {1, -1, 0}, {1, 1, 0}, {-1, 1, 0}}, 
        VertexTextureCoordinates -> {{0,
           0}, {1, 0}, {1, 1}, {0, 1}}], 
       TranslationTransform[{x, y, z}]], 
      RotationTransform[45 \[Degree], {1, 0, 1}]], 
     ScalingTransform[{1, 1, 1}]], pt]};
g = Graphics3D[MapThread[ir, {pts, imgs, classes}],
  ImageSize -> 400, Axes -> True, AxesLabel -> {"x", "y", "z"}]

enter image description here