Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Note Illustrator

ThreeMThreeM101 downloads

Generates and replaces images in your notes based on a description heading, using AI.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates3

This is a plugin for Obsidian.md designed to help you automatically generate art for your notes. It was originally built for TTRPG Game Masters (GMs) to create images for characters and locations, but it is universally applicable for any note.

The plugin reads the text under a user-defined heading (e.g., # Description) in your active note, sends it to an OpenAI-compatible API, and then automatically replaces a specified placeholder image.

By default, it is configured to use OpenAI (DALL-E 3).

🚀 Features

  • Flexible AI Art Generation:
    • Generates images using DALL-E 3 (default) or any other OpenAI-compatible API.
    • Custom API Endpoint: Define your own API URL to use compatible services.
    • Custom Model Name: Specify the exact model name to be used (e.g., dall-e-3).
  • Regenerate Function: If no placeholder is found, the plugin automatically finds the last generated image and targets it for regeneration.
  • Confirmation Modal: Asks for a "Yes/No" confirmation before regenerating an existing image to prevent accidents.
  • Optional Auto-Delete: Can be configured to automatically move the old, replaced image to the system trash upon regeneration.
  • Optional "Smart Sizing": Reads the dimensions of your placeholder image (e.g., 599x598) and automatically embeds the new, high-resolution image with the exact same dimensions (![[...|599x598]]).
  • TTRPG Vault Compatibility: Optionally updates the Image: (or image:) key in the note's frontmatter, replacing it with the new filename (e.g., image.png).
  • Configurable Prompt Source:
    • Custom Heading: Define exactly which Markdown heading the plugin should read from (e.g., #, ##).
    • Custom Heading Text: Define the heading text to search for (e.g., Description, Appearance).
  • Advanced Prompt Control:
    • Prompt Prefix: Add a global, customizable style prefix (e.g., "A detailed fantasy portrait of:") to all your prompts from the settings.
    • Robust Text Parsing: Correctly stops reading text before code blocks (```) or the next heading, ensuring clean prompts.
  • Configurable Storage: Saves all generated images to a user-defined folder.

💡 Planned Features

  • AI Horde integration
  • Local Stable Diffusion (AUTOMATIC1111) API integration

🔧 Manual Installation

  1. Navigate to your Obsidian vault's plugin folder: YourVault/.obsidian/plugins/.
  2. Create a new folder named note-illustrator.
  3. Inside this new folder, create two files:
    • main.js (copy V 1.2.1)
    • manifest.json
  4. Restart Obsidian.
  5. Go to Settings > Community Plugins.
  6. Turn off "Safe Mode" if it's on.
  7. Find "Note Illustrator" in your list of installed plugins and enable it.

⚙️ Configuration

After installing, you must configure the plugin:

  1. Go to Settings in Obsidian.
  2. Scroll down to the "Plugin Options" section and click on "Note Illustrator".

Note Illustrator Settings Panel

Prompt Heading

These settings define where the plugin looks for the prompt text.

  • Heading Level: The Markdown heading level (e.g., #, ##, ###).
    • Default: #
  • Heading Text: The text of the heading (e.g., Description, Appearance).
    • Default: Description

API & Image Settings

  • OpenAI API Key: Your API key from OpenAI (or compatible service).
  • API Endpoint URL: The URL for the image generation API.
    • Default: https://api.openai.com/v1/images/generations
  • Model Name: The model name to request from the API.
    • Default: dall-e-3
  • Placeholder Filenames: A list of all filenames to be detected as placeholders. Put each filename on a new line. (Defaults to 5 rows high).
  • Generated Image Folder: The folder where new images will be saved (it will be created automatically).
  • Image Size (DALL-E 3): The DALL-E 3 size to use when "Smart Sizing" is disabled. (Ignored by other models).
  • Smart Sizing: (Default: OFF) If enabled, the plugin will read the placeholder's dimensions (e.g., |600x600) and apply them to the new image.
    • WARNING: This feature may cause conflicts with other plugins (like dnd-ui-toolkit) that also parse the | symbol in image links.
  • Delete on Regenerate: (Default: OFF) If enabled, regenerating an image will move the old, replaced image file to the system trash.
  • Obsidian TTRPG Community Vault compatibility: (Default: OFF) If enabled, the plugin will also update the 'Image:' (or 'image:') key in the note's frontmatter to the new filename.
  • Prompt Prefix (Optional): Text that is automatically added before your description to define the style. (Defaults to 5 rows high).

💡 How to Use

  1. Create or open a note for your NPC, location, or character.
  2. Ensure the note has a heading that matches your settings.
    • (Using default settings, this would be: # Description)
  3. Write your description text (e.g., Fritz is a mountain of muscle...) directly under this heading.
  4. Ensure the note also contains one of your defined placeholder images (e.g., ![[NPC-Placeholder.jpg]]).
  5. Open the Command Palette (Ctrl+P or CmdP).
  6. Search for and select the command: "Generate Image from Description & Replace Placeholder".
  7. Wait a moment. The plugin will generate the image and automatically replace the placeholder link.

Regenerating an Image

Simply run the same command again ("Generate Image...").

  • The plugin will see that NPC-Placeholder.jpg is gone and will instead find the image it just created.
  • A modal will pop up asking: "Regenerate Image?"
  • Click "Yes, Regenerate" to get a new image, or "Cancel" to stop.
HealthExcellent
ReviewPassed
About
Generate AI art from a chosen heading and automatically replace a placeholder image using an OpenAI-compatible API (default DALL‑E 3). Regenerate past images with confirmation, match placeholder dimensions when embedding, and optionally update frontmatter image keys or move replaced files to trash.
AIImages
Details
Current version
1.2.1
Last updated
9 months ago
Created
9 months ago
Updates
3 releases
Downloads
101
Compatible with
Obsidian 1.10.3+
Platforms
Desktop, Mobile
License
GPL-3.0
Report bugRequest featureReport plugin
Author
ThreeMThreeMthreem-mmm
github.com/ThreeM-MMM
GitHubthreem-mmm
MastodonThreeM
letterboxd.com
Blueskythreem.bsky.social
  1. Community
  2. Plugins
  3. AI
  4. Note Illustrator

Related plugins

Tars

Text generation based on tag suggestions, using Claude, OpenAI, Ollama, Kimi, Doubao, Qwen, Zhipu, DeepSeek, QianFan & more.

AI Image OCR

Extracts text from images using AI Vision models.

Claudian

Embeds Claude Code/Codex and other local Agents as AI collaborators in your vault.

Copilot

Your AI Copilot: Chat with Your Second Brain, Learn Faster, Work Smarter.

Fast Note Sync

Real-time sync of your vaults across server, mobile, and web; shareable with anyone; supports REST and MCP integrations to build your personal AI knowledge base.

Agent Client

Chat with Claude Code, Codex, Gemini CLI, and more via the Agent Client Protocol — right from your vault.

Ink

Handwriting and drawing directly between paragraphs using a digital pen, stylus, or Apple pencil.

Text Generator

Generate text content using GPT-3 (OpenAI).

Smart Composer

AI chat with note context, smart writing assistance, and one-click edits for your vault.

Smart Connections

Find related notes and excerpts while writing. Your AI link building copilot displays relevant content in graph + list view. A local embedding model powers semantic search. Zero setup. No API key.