Kelan Image Uploader

by lifeisstrange
5
4
3
2
1
Score: 35/100

Description

This plugin has not been manually reviewed by Obsidian staff. Automatically transform selected, pasted, or dropped images, upload them to a configurable API, and insert the returned URL.

Reviews

No reviews yet.

Stats

stars
10
downloads
0
forks
1
days
NaN
days
NaN
days
0
total PRs
0
open PRs
0
closed PRs
0
merged PRs
0
total issues
0
open issues
0
closed issues
0
commits

Latest Version

Invalid date

Changelog

README file from

Github

Kelan Image Uploader

中文文档

An Obsidian plugin for uploading selected, pasted, or dropped images to a configurable multipart/form-data API. It can resize, compress, or convert images before upload, then insert the returned image URL into the editor.

Features

  • Upload images from the command palette, paste, or drag-and-drop.
  • Use any compatible multipart/form-data upload endpoint.
  • Extract the final URL from JSON responses with paths such as url, data.link, or 0.src.
  • Optional resize, compression, and JPEG/PNG/WebP conversion.
  • Preserve SVG, animated GIF, ICO, and other unsupported transform targets as original files.
  • Upload multiple images while preserving insertion order.
  • Auto inline gallery: when enabled, adjacent Markdown or gallery images with no blank line are merged into one row and share the row width.

Example gallery grouping:

![](https://raw.githubusercontent.com/luckykellan/kelan-image-uploader/HEAD/one.webp)
![](https://raw.githubusercontent.com/luckykellan/kelan-image-uploader/HEAD/two.webp)
![](https://raw.githubusercontent.com/luckykellan/kelan-image-uploader/HEAD/three.webp)

![](https://raw.githubusercontent.com/luckykellan/kelan-image-uploader/HEAD/four.webp)
![](https://raw.githubusercontent.com/luckykellan/kelan-image-uploader/HEAD/five.webp)
![](https://raw.githubusercontent.com/luckykellan/kelan-image-uploader/HEAD/six.webp)

The blank line creates two gallery rows: three images in the first row and three images in the second row.

Requirements

  • Obsidian 1.8.7 or newer.

Install

Download main.js, manifest.json, and styles.css from a release, then place them in:

.obsidian/plugins/kelan-uploader/

Reload Obsidian and enable Kelan Image Uploader in Community plugins.

Settings

Setting Description
API endpoint POST endpoint that receives the image file.
File field name Multipart field name. Default: file.
Image URL path Dot path used to read the returned URL.
HTTP headers Optional headers such as Authorization.
Image transform Resize, compress, or convert before upload.
Auto inline gallery Merge adjacent Markdown or gallery images with no blank line into one row.

Content-Type is generated automatically for multipart upload and cannot be overridden.

Mobile

On Obsidian Mobile, run Kelan Image Uploader: Upload images from device while editing a Markdown note. The command opens the system image picker, then uploads the selected images and inserts the returned URLs at the cursor.

CloudFlare ImgBed Example

For MarSeventh/CloudFlare-ImgBed:

Setting Value
API endpoint https://your-domain.example/upload?returnFormat=full
File field name file
Image URL path 0.src
Header name Authorization
Header value Bearer your_imgbed_api_token

To force an upload channel, append a query parameter:

&uploadChannel=cfr2

Privacy

The plugin sends images only to the API endpoint you configure. It does not collect telemetry or send files to any built-in third-party service.

API tokens stored in plugin settings are saved in your local vault configuration. Treat them as sensitive data.

Development

npm install
npm run build

The production build outputs main.js in the repository root. Release assets are:

  • main.js
  • manifest.json
  • styles.css

The release tag must match the version in manifest.json.