lossless-group13 downloadsGenerate AI images, search stock images, and upload to ImageKit CDN.

A powerful Obsidian plugin that brings AI image generation, stock-image search, and CDN upload directly into your Obsidian workflow. Generate visuals from a per-file image_prompt, search stock photos, and rewrite local image references to a CDN — all from inside your notes.
style_id.style_type, rendering_speed, magic_prompt) plus optional Layerize-Text post-processing that strips incidental text from generated images.{prompt} token for slot insertion when the per-file content needs to land mid-sentence.image_prompt (and Ideogram-only overrides image_negative_prompt, image_style_type, image_seed) from each note's frontmatter; auto-creates the image_prompt key on modal open so the convention is visible to first-time users; writes generated image paths back under per-size keys (banner_image, portrait_image, square_image).Generate Images for Current File (Recraft) — generate from an image_prompt in the file's frontmatter, with style / substyle settings and per-size selection.

Generate Images (Ideogram) — generate via Ideogram v3 with brand-template prompt wrapping, per-call style/speed/magic-prompt overrides, a live Resolved Prompt Preview, and optional Layerize-Text post-processing.
Convert Local Images to Remote Images — upload local image references in the active note to ImageKit and rewrite the links.

Batch Convert Directory Images to Remote — same as above but scans every file in the active note's directory.
Search Magnific Images — search Magnific's stock-image API and insert results into your notes.


0.1.1 — 2026-05-03
{prompt}-slot-insertion modes.image_prompt frontmatter key on modal open.0.1.0 — 2026-05-03
any usage, replaced innerHTML with Obsidian DOM API, routed all console.* calls through a persistent FileLogger, replaced the hand-rolled YAML parser with Obsidian's metadataCache + processFrontMatter APIs.0.0.9 — 2025-09-14
Clone the repository:
git clone https://github.com/lossless-group/image-gin-plugin.git
cd image-gin-plugin
Install dependencies:
pnpm install
Build the plugin:
pnpm build
For development with hot-reloading:
pnpm dev
Each integration is independently toggleable. Enable only the ones you need.
Open the command palette (Cmd/Ctrl+P) and search for any of:
image_prompt field in the active note's frontmatter, using the style configured in settings.Image Gin reads from and writes to a small set of keys in your note's frontmatter:
| Key | Read by | Written by | Effect |
|---|---|---|---|
image_prompt |
Recraft + Ideogram | Recraft + Ideogram (when "Write to frontmatter" is on) | Subject-matter prompt; auto-created as "" on modal open if missing |
image_negative_prompt |
Ideogram only | never | Appended to the brand-wide base negative prompt |
image_style_type |
Ideogram only | never | Overrides the default style_type for this file |
image_seed |
Ideogram only | never | Pins the seed for reproducibility |
<sizeId>_image (e.g. banner_image) |
— | both | Path to the generated image for each selected size |
This project is open source and available under the The Unlicense.
If you want to use the setup-plugin.mjs script, fill out plugin-config.yaml and then make it an executable file.
chmod +x setup-plugin.mjs
When run, it will create the basic metadata and fill in the template variables. If you don't need it, just delete it and happy hacking.
Run the script with
node setup-plugin.mjs
pnpm install
pnpm add -D esbuild @types/node builtin-modules
pnpm build
pnpm dev
If you're like us, you have a directory housing all your code projects. To use your plugin as you develop it, create a symbolic link from your dev checkout into your vault's .obsidian/plugins/ directory. The destination folder name must match the plugin id from manifest.json (image-gin):
ln -s /Users/mpstaton/code/lossless-monorepo/image-gin /Users/mpstaton/content-md/lossless/.obsidian/plugins/image-gin
Adjust both paths for your own filesystem. After linking, run pnpm dev in the dev checkout — esbuild will watch for changes; reload the plugin in Obsidian (toggle off/on in Community Plugins) to pick up new builds.