The Lossless Group221 downloadsGenerate AI images, search stock images, and upload to ImageKit CDN.

Write an image_prompt in your note's frontmatter and get a matched set of banner, portrait, and square images in your own house style. Then decide, image by image, where every picture in your vault lives: on your disk, on your own CDN, or on a public host.
Image Gin brings AI image generation (Recraft and Ideogram), stock-image search, and CDN hosting into Obsidian, and puts a checkpoint in front of every image you drag or paste into a note.
New in 0.3.0: Recraft V4.1, house styles you build from images already in your vault, a fully searchable settings tab, and ImageKit folders that roll over by month. Requires Obsidian 1.13 or later. Release notes →
If you publish from Obsidian, every note wants share images: an OpenGraph banner, a tall card for iMessage and WhatsApp, a square for social. Generating them is easy now. Generating them so a whole site looks like one illustrator drew it is not, and neither is keeping track of where all those images end up.
Image Gin handles both halves:
banner_image_taller for messaging apps). Paths are written back to frontmatter, one key per size.image_prompt), so they travel with the note and can be revised and rerun.{prompt} token for mid-sentence insertion.![[embeds]] in the body. Or batch-convert a whole folder./images/{YYYY}-{MM} files each upload under its own month.Generate images for current file (Recraft): from the note's image_prompt, in your configured style, for the sizes you pick.

Generate images (Ideogram): brand-template wrapping, per-call style, speed, and magic-prompt overrides, a live preview of the exact prompt sent, and optional Layerize-Text.
Convert local images to remote images: upload the active note's local images to ImageKit and rewrite the links.

Batch convert directory images to remote: the same, for every note in the active note's folder (body embeds).
Search Magnific images: search stock photos and insert them at the cursor.

Drop gate: reset session-remembered destination: forget the destination you chose to remember for this session.
Requires Obsidian 1.13 or later (desktop only).
In Obsidian: Settings → Community plugins → Browse → search "Image Gin" → Install → Enable.
Prefer to install by hand? Download main.js, manifest.json, and styles.css from the latest release into <your vault>/.obsidian/plugins/image-gin/. Every release asset is cryptographically attested to the commit and workflow that built it. Verify before enabling:
gh attestation verify main.js --repo lossless-group/image-gin
Each integration is optional and independent. Enable only what you use. Every setting is searchable from Obsidian's settings search box.
| Integration | What you need | What it unlocks |
|---|---|---|
| Recraft | API key from recraft.ai | Image generation and house styles |
| Ideogram | API key from ideogram.ai | Image generation with brand templates and Layerize-Text |
| ImageKit | Public/private key pair from imagekit.io | CDN upload, conversion commands, dated folders, WebP |
| Magnific | API key from the Magnific developer dashboard | Stock-image search |
| Imgur | Client ID from api.imgur.com | Public-host destination in the Drop Gate |
The ImageKit upload folder accepts {YYYY}, {MM}, and {DD}, filled in with the upload date. For example, /images/{YYYY}-{MM}.
Settings as of 0.2.x. In 0.3.0 the same settings are grouped into searchable sections.
Open the command palette (Cmd/Ctrl+P) and type Image Gin. Generation commands read the active note's image_prompt; if the key doesn't exist yet, Image Gin creates it so you can see where it goes.
Recraft calls a reusable look a style. It's built from 1–10 example images, stored in your Recraft account, and referenced by ID. You never have to upload anything on Recraft's website.
Visuals/old-banner.jpg), a pasted embed (![[old-banner.jpg]]), or a public URL.Good to know:
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 |
<size key> (e.g. banner_image) |
Convert to remote | Recraft + Ideogram | Path to the generated image for each selected size. Custom sizes use their own key (e.g. banner_image_taller); "Convert local images to remote" uploads those too and writes the CDN URL back to the same key |
0.3.0 — 2026-10-06 · requires Obsidian 1.13
{YYYY}, {MM}, {DD}.banner_image_taller) skipped by "Convert local images to remote".pngchangelog/releases/0.3.0.md.0.2.3 — 2026-05-18
main.js, manifest.json, styles.css) is cryptographically attested to the commit and workflow run that built it. Notes0.2.2 — 2026-05-17
0.2.1 — 2026-05-10
0.2.0 — 2026-05-09
0.1.1 — 2026-05-03
{prompt}-slot-insertion modes.image_prompt frontmatter key auto-created on modal open.0.1.0 — 2026-05-03
anyinnerHTMLFileLoggermetadataCache + processFrontMatter instead of a hand-rolled YAML parser0.0.9 — 2025-09-14
Requires Node.js 22 and pnpm.
git clone https://github.com/lossless-group/image-gin.git
cd image-gin
pnpm install
pnpm dev # esbuild watch: rebuilds main.js and styles.css on change
pnpm test # 54 tests via Node's built-in runner; no API calls, no credits spent
pnpm build # ESLint (Obsidian's review-bot rules) + tsc + production bundle
To use your working copy in a vault, symlink it into the vault's plugins folder. The folder name must be the plugin id, image-gin:
ln -s /path/to/image-gin /path/to/your-vault/.obsidian/plugins/image-gin
Then run pnpm dev. Reload the plugin to pick up new builds: toggle it off and on in Community plugins, or quit and reopen Obsidian.
Releasing. Bump manifest.json, package.json, and versions.json together (three-part semver), write changelog/releases/<version>.md, and push a tag with no v prefix (for example 0.3.0). .github/workflows/release.yml then builds, attests, and publishes the release with those notes.
Image Gin is part of The Lossless Group's plugin family, with Cite Wide, Perplexed, and Metafetch. Each one installs and works on its own.
Open source under The Unlicense. If Image Gin saves you time, buy us a coffee.