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

Image Uploader to API

babarotbabarot32 downloads

Upload images to any API endpoint on drag & drop or paste, and insert the public URL as Markdown.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates5

An Obsidian plugin that uploads images to any API endpoint when you drag & drop or paste them, and inserts the public URL as Markdown.

Features

  • Drag & Drop — Drop images into the editor to upload automatically
  • Paste — Paste images from clipboard (Cmd/Ctrl+V) to upload
  • Any API — Works with any image hosting API (custom server, Imgur, Cloudflare Images, etc.)
  • Configurable Headers — Add any HTTP headers (API keys, auth tokens, etc.)
  • Configurable Response Parsing — Extract the image URL from any JSON response structure using dot-notation
  • Multiple Images — Upload multiple images at once in parallel
  • Upload Indicator — Shows ![Uploading...]() placeholder while uploading

Supported Formats

Images: .jpg, .jpeg, .png, .gif, .webp, .svg, .avif, .ico Documents: .pdf (opt-in via settings)

Images are inserted as ![](https://raw.githubusercontent.com/babarot/obsidian-image-uploader-to-api/HEAD/url). PDF handling is controlled by the PDF handling setting:

  • Save locally — Obsidian's default behavior (saved to vault attachment folder)
  • Always upload to API — Uploaded and inserted as [filename](url)
  • Ask each time — A dialog asks whether to upload or save locally

Unsupported file types are left to Obsidian's default behavior.

Settings

Setting Description
API Endpoint The URL to POST the image to
File Field Name The multipart/form-data field name for the file (e.g. file, image)
Image URL Path Dot-notation path to extract the URL from the JSON response (e.g. url, data.link)
PDF handling Choose how PDFs are handled: save locally (default), always upload, or ask each time
HTTP Headers Key-value pairs sent with the request (e.g. X-API-Key, Authorization)

Examples

Custom Upload API

Setting Value
API Endpoint https://example.com/api/upload
File Field Name file
Image URL Path url
Headers X-API-Key = your-api-key

Response: {"url": "https://example.com/files/image.png", "size": 204800}

Imgur

Setting Value
API Endpoint https://api.imgur.com/3/image
File Field Name image
Image URL Path data.link
Headers Authorization = Client-ID your-client-id

Comparison with Image Uploader

This plugin is inspired by Image Uploader but addresses several limitations:

Image Uploader to API Image Uploader
Drag & Drop Yes No (paste only)
Multiple images at once Yes (parallel upload) No (single file only)
Header configuration Key-value UI Raw JSON textarea
HTTP client Obsidian requestUrl (no CORS issues) axios
PDF upload support Yes (configurable) No
External dependencies None axios, object-path, compressorjs

Network Usage

This plugin sends image files over the network to the API endpoint you configure in the settings. No data is sent to any service unless you explicitly set an endpoint. The plugin itself does not collect any telemetry or analytics.

Installation

From Community Plugins (Recommended)

  1. Open Settings → Community plugins → Browse
  2. Search for "Image Uploader to API"
  3. Click Install, then Enable

Manual

  1. Download main.js, manifest.json, and styles.css from the latest release
  2. Create a folder image-uploader-to-api in your vault's .obsidian/plugins/ directory
  3. Place the downloaded files into that folder
  4. Enable the plugin in Settings → Community plugins

Development

npm install
npm run dev    # watch mode
npm run build  # production build

License

MIT

88%
HealthExcellent
ReviewSatisfactory
About
Upload images to any API endpoint by dragging, dropping, or pasting them into the editor and insert the returned public URLs as Markdown. Add custom headers and JSON response paths, upload multiple files in parallel, show an uploading placeholder, and choose how PDFs are handled.
ImagesAttachmentsIntegrations
Details
Current version
1.3.1
Last updated
3 months ago
Created
3 months ago
Updates
5 releases
Downloads
32
Compatible with
Obsidian 1.11.7+
Platforms
Desktop only
License
MIT
Report bugRequest featureReport plugin
Author
babarotbabarot
github.com/babarot
GitHubbabarot
  1. Community
  2. Plugins
  3. Images
  4. Image Uploader to API

Related plugins

Image auto upload

Upload images from your clipboard by PicGo.

Imgur

Upload images from your clipboard to imgur.com and embeds uploaded image to your note.

Image Context Menus

Image context menus (mostly on right click): Copy to clipboard, Open in default app, Show in system explorer, Reveal file in navigation, Open in new tab.

Ink

Hand write or draw directly between paragraphs using a digital pen, stylus, or Apple pencil.

Local Images Plus

A reincarnation of Local Images to download images in Markdown notes to local storage.

Paste image rename

Rename image after pasting, support name pattern and auto renaming.

Local REST API & MCP Server

Unlock your automation needs by interacting with your notes over a secure REST API.

BRAT

Easily install a beta version of a plugin for testing.

Maps

Adds a map layout to bases so you can display notes as an interactive map view.

Self-hosted LiveSync

Sync vaults securely to self-hosted servers or WEBRTC.