Ruby port of mlx-examples/stable_diffusion with a lightweight synthetic-first pipeline.
stable_diffusion/config.rb: model config objects.stable_diffusion/tokenizer.rb: tokenizer utility.stable_diffusion/clip.rb: CLIP-like text encoder.stable_diffusion/unet.rb: diffusion denoiser model.stable_diffusion/vae.rb: latent autoencoder.stable_diffusion/sampler.rb: Euler and Euler-ancestral samplers.stable_diffusion/model_io.rb: model loading builders.stable_diffusion/__init__.rb:StableDiffusionandStableDiffusionXLpipelines.txt2image.rb: prompt-to-image CLI (writes PPM output).image2image.rb: image-to-image CLI (reads/writes PPM).test.rb: synthetic pipeline tests.
Text-to-image:
ruby stable_diffusion/txt2image.rb --model sdxl --n-images 2 --steps 2 "A red cube on a table"Image-to-image:
ruby stable_diffusion/image2image.rb input.ppm "A lit fireplace"ruby stable_diffusion/test.rb