@videosailor/n8n-nodes-videosailor
v1.1.6
Published
n8n community node to download, transcribe, trim, cut, resize, and subtitle videos via VideoSailor
Downloads
788
Maintainers
Readme
🎬 n8n-nodes-videosailor
⛵ This is an n8n community node for processing video files using the VideoSailor API. It enables you to download, trim, cut, resize, transcribe, and subtitle videos from within your n8n workflows.
n8n is a fair-code licensed workflow automation platform.
✨ Features
🎞️ Video Processing Operations
- ⬇️ Download, ✂️ trim, cut, and 📐 resize videos
- 📊 Get detailed video metadata
- 🎙️ Transcribe audio with word- and segment-level timestamps
- 💬 Burn custom styled subtitles into videos
🌍 Universal Input Support
- 🔗 Direct video URLs
- 📱 Social media links — YouTube, TikTok, Instagram, Twitter/X, Vimeo, and 1,000+ sites
🔌 Easy Integration
- 🔑 Simple credential setup (API key header auth)
- 🤖 Native n8n integration —
usableAsTool: true, so the node works as an AI agent tool - 🎯 Single node with operation dropdown — no per-operation node sprawl
📚 Table of Contents
📦 Installation
Follow the installation guide in the n8n community nodes documentation.
⚙️ Operations
🎥 Video Operations
- ⬇️ Download — Download a video from a URL and return the file as n8n binary data
- ℹ️ Video Info — Get video metadata (title, duration, thumbnails) without downloading
- ✂️ Trim — Trim a video to a start/end time range
- 🔪 Cut — Cut a segment from a video (alias for Trim)
- 📐 Resize — Resize a video either by explicit width/height or by aspect ratio + resolution preset (HD / Full HD / 2K / 4K / 8K)
- 🎙️ Transcribe — Transcribe a video and return timestamped words and segments
- 💬 Subtitles — Burn custom subtitles (position, font size, color, stroke, background) into a video
- 📏 Info — Get video dimensions and aspect ratio
💡 The node accepts any URL the VideoSailor API supports — direct media URLs and social media URLs (YouTube, TikTok, Instagram, etc.).
🔐 Credentials
This node requires API credentials for the VideoSailor API.
🗝️ Getting Your API Key
- 🌐 Visit VideoSailor and sign up for an account
- ⚙️ Navigate to Settings → API Keys in the dashboard
- ✨ Generate a new API key
- 📋 Copy the API key
📖 Refer to the API Keys Guide for detailed instructions on obtaining and managing your API keys.
🛠️ Configuring Credentials in n8n
- ➕ In n8n, create new credentials
- 🎯 Select VideoSailor API from the credential types
- 🔑 Enter your API key
- 🌐 (Optional) Override the Base URL — defaults to
https://api.videosailor.com; set tohttp://localhost:8080for local development - 💾 Save the credentials
- ✅ Use these credentials when configuring the VideoSailor node
🧩 Compatibility
✅ Compatible with [email protected] or later.
🗂️ Example Workflow
An example workflow is included at examples/download-and-transcribe.json. It demonstrates:
- Download a YouTube video as binary data
- Transcribe the same video and return timestamped segments
To use it: in n8n go to Workflows → Import from file, select the JSON, then add your VideoSailor credentials.
🔗 Resources
🧑💻 Development
📋 Prerequisites
- 🟢 Node.js (version compatible with the
typescriptandn8n-workflowpeer range) - 📦 npm
🚀 Setup
- 📥 Clone the repository
- 📦 Install dependencies:
cd n8n-node npm install
🏗️ Building
Build the node package (compiles TypeScript and copies icons via gulp):
npm run build👀 Watch mode for development:
npm run dev🔗 Linking into a local n8n instance
npm link
cd ~/.n8n/custom
npm link n8n-nodes-videosailor🔄 Then restart n8n so the custom node is picked up.
🧹 Linting & Formatting
🔍 Run ESLint:
npm run lint🛠️ Fix linting issues automatically:
npm run lintfix✨ Format sources with Prettier:
npm run format🚢 Publishing
Releases are automated via release-please. Commit to main using Conventional Commits and release-please handles the rest:
| Prefix | Effect | npm version bump |
|--------|--------|-----------------|
| feat: | New operation or capability | minor |
| fix: | Bug fix | patch |
| perf: | Performance improvement | patch |
| deps: | Dependency update | patch |
| feat!: or BREAKING CHANGE: footer | Breaking API change | major |
| chore: / docs: / refactor: | No user-facing change | none |
When commits land on main, release-please opens or updates a Release PR with a changelog and bumped version. Merging that PR creates a GitHub release, which triggers the publish workflow to push to npm with provenance automatically.
