Johannes Kaindl4 downloadsGenerate images locally inside Obsidian — SD-Turbo via WebGPU, no external software, no cloud.
Generate images locally inside Obsidian — no cloud, no external app, no API key. Choose between two models: SD-Turbo (fast, runs in-process on your own GPU via WebGPU/onnxruntime-web) or FLUX.2 klein 4B (higher quality, multiple aspect ratios, via a local mflux child process — see Requirements).
There is no img2img, no LoRA/ControlNet, and no negative prompt/CFG scale — both models are guidance-distilled and don't support them meaningfully.
The interface is available in English and German, switching automatically to match Obsidian's own language setting — no separate language option to set.
SD-Turbo (always available):
isDesktopOnly: true — this plugin does not run
on Obsidian Mobile).shader-f16 support. This generally works on macOS and
Windows with a reasonably modern GPU; on Linux it depends on your graphics
driver. If your system doesn't qualify, the plugin's status area tells you
so instead of generating.FLUX.2 klein 4B (optional — only if you want the second model):
uv tool install mflux) — the plugin detects and runs it, but never
installs or downloads it for you.mflux and download the
FLUX.2 weights in the same section if you want the second model.)You can re-download or delete a model's files at any time from the same settings page.
Settings → Local Image Generator is grouped into collapsible sections:
mflux install, choose where FLUX
weights are stored, and download them.This section is here so you know exactly what the plugin does over the network and what it writes to disk — nothing beyond what's listed here happens.
Network — only on explicit user action ("Download" in settings). The plugin fetches five files, once, from Hugging Face:
| URL | Approx. size |
|---|---|
https://huggingface.co/schmuell/sd-turbo-ort-web/resolve/main/text_encoder/model.onnx |
~681 MB |
https://huggingface.co/schmuell/sd-turbo-ort-web/resolve/main/unet/model.onnx |
~1.73 GB |
https://huggingface.co/schmuell/sd-turbo-ort-web/resolve/main/vae_decoder/model.onnx |
~99 MB |
https://huggingface.co/stabilityai/sd-turbo/resolve/main/tokenizer/vocab.json |
~1.1 MB |
https://huggingface.co/stabilityai/sd-turbo/resolve/main/tokenizer/merges.txt |
~0.5 MB |
Total download: ~2.5 GB. This download only happens when you click Download in settings — the plugin makes no network requests at startup, during editing, or at any other time. Files that are already present are skipped, and each file's integrity is checked against its expected size. After the download, image generation itself is fully offline: your prompts never leave your machine, and no image data is ever sent anywhere.
Storage. Downloaded model files are written to the browser's Cache API inside Obsidian's Electron profile — not into your vault, and not synced by Obsidian Sync or any vault sync tool. You can delete the cached model files at any time via Settings → Local Image Generator → Delete model. Generated images, by contrast, are saved as normal attachments inside your vault, exactly like any image you'd add yourself.
The WebAssembly runtime (onnxruntime-web) is bundled inline with the plugin; no plugin code is loaded from the network at runtime.
uv tool install mflux). The plugin never downloads or executes code on
its own — it only detects and runs the tool you installed, as a local child process.black-forest-labs/FLUX.2-klein-4B) are downloaded from
Hugging Face only after you explicitly start the download in the settings. They are
stored in the Hugging Face cache (`LICENSE).This plugin only distributes code; all model weights are downloaded directly from Hugging Face by the user, on demand.
Two models are supported today (SD-Turbo and FLUX.2 klein 4B, both
text-to-image only). Planned next: image editing with reference images from
your vault for FLUX.2 (mflux-generate-flux2-edit already supports this
upstream), and a small provider API so other community plugins can request
locally-generated images without duplicating this infrastructure. Additional
backends (e.g. ComfyUI/DrawThings) remain out of scope — this plugin only
runs models locally, either in-process or via a local CLI tool you install
yourself.
AGPL-3.0-or-later — see LICENSE. Model weights have their own license terms (see Model & licenses above).