Adding Control: Conditional Diffusion ModelsPreparing the DataCreating a Class-Conditioned ModelTraining the ModelSamplingImproving Efficiency: Latent DiffusionStable Diffusion: Components in DepthThe Text EncoderThe Variational AutoEncoderThe UNetStable Diffusion XLFLUX, SD3, and VideoClassifier-Free GuidancePutting It All Together: Annotated Sampling LoopOpen Data, Open ModelsChallenges and the Sunset of LAION-5BAlternativesFair and Commercial UseProject Time: Build an Interactive ML Demo with GradioSummaryExercisesChallengeReferences