sd2R: Stable Diffusion Image Generation

Provides Stable Diffusion image generation in R using the 'ggmlR' tensor library. Supports text-to-image and image-to-image generation with multiple model versions (SD 1.x, SD 2.x, 'SDXL', Flux). Implements the full inference pipeline including CLIP text encoding, 'UNet' noise removal, and 'VAE' encoding/decoding. Unified sd_generate() entry point with automatic strategy selection (direct, tiled sampling, high-resolution fix) based on output resolution and available 'VRAM'. High-resolution generation (2K, 4K+) via tiled 'VAE' decoding, tiled diffusion sampling ('MultiDiffusion'), and classic two-pass refinement (text-to-image, then upscale with image-to-image). Multi-GPU parallel generation via sd_generate_multi_gpu(). Multi-GPU model parallelism via 'device_layout' in sd_ctx(): distribute diffusion, text encoders, and 'VAE' across separate 'Vulkan' devices. Built-in profiling (sd_profile_start(), sd_profile_summary()) for per-stage timing of text encoding, sampling, and 'VAE' decode. Supports CPU and 'Vulkan' GPU. No 'Python' or external API dependencies required. Cross-platform: Linux, macOS, Windows.

Version: 0.1.7
Depends: R (≥ 4.1.0)
Imports: Rcpp (≥ 1.0.0), ggmlR (≥ 0.5.0)
LinkingTo: Rcpp, ggmlR
Suggests: testthat (≥ 3.0.0), callr, png, plumber, base64enc, jsonlite
Published: 2026-03-30
DOI: 10.32614/CRAN.package.sd2R (may not be active yet)
Author: Yuri Baramykov [aut, cre], Georgi Gerganov [ctb, cph] (Author of the GGML library), leejet [ctb, cph] (Author of stable-diffusion.cpp), stduhpf [ctb] (Core contributor to stable-diffusion.cpp), Green-Sky [ctb] (Contributor to stable-diffusion.cpp), wbruna [ctb] (Contributor to stable-diffusion.cpp), akleine [ctb] (Contributor to stable-diffusion.cpp), Martin Raiber [cph] (Copyright holder in miniz.h), Rich Geldreich [cph] (Author of miniz.h), RAD Game Tools [cph] (Copyright holder in miniz.h), Valve Software [cph] (Copyright holder in miniz.h), Alex Evans [cph] (PNG writing code in miniz.h), Sean Barrett [cph] (Author of stb_image.h), Jorge L Rodriguez [cph] (Author of stb_image_resize.h), Niels Lohmann [cph] (Author of json.hpp (nlohmann/json)), Susumu Yata [cph] (Author of darts.h (darts-clone)), Kuba Podgorski [cph] (Author of zip.h/zip.c (kuba--/zip)), Meta Platforms Inc. [cph] (rng_mt19937.hpp (ported from PyTorch)), Google Inc. [cph] (Sentencepiece tokenizer code in t5.hpp)
Maintainer: Yuri Baramykov <lbsbmsu at mail.ru>
BugReports: https://github.com/Zabis13/sd2R/issues
License: MIT + file LICENSE
URL: https://github.com/Zabis13/sd2R
NeedsCompilation: yes
SystemRequirements: GNU make, curl or wget (for downloading vocabulary files during installation)
Materials: README, NEWS
CRAN checks: sd2R results [issues need fixing before 2026-04-13]

Documentation:

Reference manual: sd2R.html , sd2R.pdf

Downloads:

Package source: sd2R_0.1.7.tar.gz
Windows binaries: r-devel: not available, r-release: not available, r-oldrel: not available
macOS binaries: r-release (arm64): sd2R_0.1.7.tgz, r-oldrel (arm64): not available, r-release (x86_64): sd2R_0.1.7.tgz, r-oldrel (x86_64): sd2R_0.1.7.tgz

Linking:

Please use the canonical form https://CRAN.R-project.org/package=sd2R to link to this page.