nextbound220 downloadsTurn Canvas into a node-based AI generation pipeline for images, video, text, and audio.
Bragi Canvas turns Obsidian Canvas into a node-based AI generation workspace. It uses selected canvas nodes and incoming edges as prompts and references, runs the model you choose, then writes the generated output back to the canvas as connected nodes.
.bragi canvas workflow packages.Bragi Canvas is desktop-only because it uses Obsidian desktop APIs and local file operations.
After Bragi Canvas is listed in the Obsidian Community Plugins browser:
For beta testing before community approval, install the latest GitHub release with BRAT:
https://github.com/nextbound/bragi-canvas.You can also manually copy manifest.json, main.js, and styles.css from the latest release into:
<vault>/.obsidian/plugins/bragi-canvas/
.canvas file.Incoming directed edges are treated as upstream references. Text nodes contribute prompt text, image nodes become image references, video nodes can be used for supported video workflows and Gemini text understanding, and audio or PDF nodes can be used by multimodal text models such as Gemini 3.5 Flash.
The MCP server is disabled by default. When enabled in settings, it listens on 127.0.0.1 and exposes canvas operations to local MCP clients. You can configure the port and an optional access token. If a token is set, clients must send Authorization: Bearer <token> on every request.
Use the MCP server only for trusted local clients that you want to let read or modify the active Obsidian canvas.
Bragi Canvas supports multiple provider integrations, including OpenAI, Anthropic, AWS Bedrock, Google Gemini (Gemini, Imagen, and Veo), Volcengine, BytePlus, Kling, fal.ai, ElevenLabs, MiniMax, Legnext, TokenRouter (https://api.tokenrouter.com/v1), APIMart, xAI, and Luma. Availability depends on the models and credentials configured in plugin settings.
Provider credentials are stored by Obsidian in this plugin's local settings data. They are used only to make the provider requests selected by the user.
No provider API keys are bundled with the plugin or included in release assets.
Bragi Canvas sends prompts and selected upstream reference files to the AI providers configured by the user when a generation is run. Some providers require publicly fetchable reference URLs; for those workflows, Bragi Canvas may upload temporary copies of selected reference files to the built-in Bragi Relay service so the provider can fetch them. Gemini multimodal text generation uses inline image data, and sends upstream video, audio, and PDF refs through Bragi Relay as fileData.fileUri inputs. Relay-hosted files are intended as temporary transfer files and are not used for client-side telemetry.
Importing and exporting .bragi workflow packages uses the file selected by the user in the desktop file picker. Imported package assets are written only into the vault at _bragi/assets; Bragi Canvas does not write plugin update files or modify its installed plugin files at runtime.
The plugin can also run an optional local MCP server on 127.0.0.1 when enabled in settings. If an MCP access token is configured, clients must send the matching bearer token.
Bragi Canvas does not include client-side analytics or telemetry.
npm install
npm run dev
npm run build
For UI work you can iterate on styles without rebuilding main.js on every save:
echo "/path/to/vault/.obsidian/plugins/bragi-canvas" > .dev-vault-plugin
npm run dev:styles
src/styles.css in this repo. Each save syncs to the vault and Obsidian hot-reloads the CSS.You can also edit the vault's styles.css directly; hot reload watches that file too.
When the look is right, copy back into the repo with:
npm run pull:styles-from-vault
dev:styles watches src/styles.css and copies it into the configured dev vault plugin folder. Release builds do not include any runtime filesystem-based style reload code.
Release tags must be plain semantic versions such as 1.12.4. Do not prefix tags with v.
manifest.json version and minAppVersion.package.json and package-lock.json to the same version.versions.json with the supported minAppVersion.manifest.json version.main.js and publishes release assets: manifest.json, main.js, and styles.css.Bragi Canvas is licensed under the Mozilla Public License 2.0 (MPL-2.0). See LICENSE.