cobalt

n8n community node for self-hosted cobalt.tools instances

Package Information

Downloads: 7 weekly / 151 monthly
Latest Version: 0.1.0
Author: Henrik Frey

Documentation

n8n-nodes-cobalt

An n8n community node for interacting with a self-hosted cobalt.tools instance.

The publicly hosted cobalt instance does not expose an API — this node only works against a self-hosted deployment.

Installation

Via n8n UI (community nodes)

  1. Open Settings → Community Nodes in your n8n instance.
  2. Click Install and enter n8n-nodes-cobalt.
  3. Accept the disclaimer and install.

Manual (for development)

git clone <repo> n8n-nodes-cobalt
cd n8n-nodes-cobalt
npm install
npm run build
npm link
# in your n8n custom-extensions directory:
npm link n8n-nodes-cobalt

Then restart n8n. The custom extensions directory defaults to ~/.n8n/custom (set N8N_CUSTOM_EXTENSIONS to override).

Credentials

The node uses one credential type, Cobalt API:

  • Instance URL — e.g. https://cobalt.example.com (no trailing slash)
  • AuthenticationAPI Key or None
  • API Key — UUID configured on your cobalt instance (only when API Key is selected)

The credential supports the built-in Test button (issues GET / against the instance).

Operations

Download Media

Calls POST / on the cobalt instance, then downloads the resulting file via the returned tunnel/redirect URL and exposes it as binary data on the next node.

Fields:

  • URL — link to process (YouTube, TikTok, Instagram, …)
  • Put Output File in Field — name of the binary property (default data)
  • Split Picker Items — when cobalt returns a picker (e.g. Instagram carousel):
    • true (default): emit one output item per file
    • false: bundle files into one item as data_0, data_1, … (plus data_audio if present)
  • Options — collection of all cobalt request-body parameters (audio bitrate/format, video quality, download mode, filename style, YouTube codec, etc.). Only fields you set are sent.

Get Download URL

Same as Download Media, but returns the JSON response from cobalt (status, url, filename) without performing the file download. Useful if you want to download with a different HTTP node or queue the URL elsewhere.

Get Instance Info

Calls GET / on the cobalt instance and returns the metadata response (version, supported services, limits).

Error handling

Cobalt error responses (status: "error") are translated into readable NodeOperationErrors using the codes from the cobalt API docs. The continueOnFail flag is respected.

If the instance returns a local-processing response, the node aborts with a helpful message — n8n cannot perform client-side stitching. Disable the Local Processing option or use a different instance.

Build

npm install
npm run build   # tsc + gulp (copies SVG icons into dist/)
npm run lint

License

MIT

Discussion