weidlu23 downloadsUpload pasted or dropped images to SilentFlow and insert public image links.
Upload images pasted or dropped into Obsidian to SilentFlow and insert public image links as Markdown.
requestUrl.main.js, manifest.json, and styles.css from a release. Copy those three files into your vault's .obsidian/plugins/silentflow-image-host/ folder. Reload Obsidian, then enable SilentFlow Image Host in Community plugins.sk_… or sf_agent_…).https://slnt.dev, unless you use a different SilentFlow instance. HTTPS is required; HTTP is accepted only for localhost or 127.0.0.1.Agent keys need files:write to upload and files:read to check usage.
Paste or drop image files into a note editor. A temporary ![Uploading silentflow-…]() placeholder appears and is replaced with  after upload. With file-name alt text enabled, the name without its extension becomes the alt text; generic clipboard names such as image.png become pasted-image. Failures remove the placeholder and show a notice. If you delete a placeholder before upload finishes, the plugin leaves your text alone.
Without an API key, pasting images follows Obsidian's default behavior and shows a reminder once per session. Text-only paste is unaffected. Use Check usage in settings or in the command palette for a usage summary; no default shortcut is assigned.
Uploaded image URLs are public. Keep local backups of original images.
The server's free plan provides 500 MB storage, 1 GB monthly traffic, and a 2 MB maximum per image. The limits use binary units: 500 × 1024², 1024³, and 2 × 1024² bytes, respectively. Account limits returned by the server take precedence. Upgrade options are on the pricing section.
The plugin contacts only the configured API address (default: https://slnt.dev), and only when uploading an image or checking usage.
POST /v1/files sends image file bytes in multipart form data with the file name and MIME type, and the API key in the Authorization: Bearer … header.GET /v1/usage sends the API key in the same Bearer header; no image or note content is sent.The plugin makes no telemetry or advertising requests and loads no remote code. Documentation and settings links open only when you choose to follow them.
Settings, including your API key, are stored in plain text in the plugin's data.json inside your vault. The key is not encrypted. Protect access to your vault and account for any vault backup or sync that includes plugin settings. The plugin does not log the API key or request headers. There is no telemetry or advertising. Uploaded images are publicly accessible through the returned links; note contents are not uploaded.
Requires Node.js and npm for development only; the installed plugin has no runtime dependencies.
npm install
npm run dev
npm run build
npm test
npx tsc --noEmit
npm run dev watches and bundles source. npm run build checks types and creates main.js. Vitest covers pure utilities, event/editor behavior, and the API against a local HTTP server with fake credentials; tests do not contact SilentFlow. npm version <version> updates the manifest and version compatibility file through the version script.
The release workflow builds and attaches main.js, manifest.json, and styles.css when a numeric tag such as 0.1.0 is pushed to a future GitHub repository. Use tags without a v prefix.
MIT, copyright 2026 Silent Lab.