videosailor

n8n community node to download, transcribe, trim, cut, resize, and subtitle videos via VideoSailor

Package Information

Released: 1 mo ago
Downloads: 236 weeklyย /ย 671 monthly
Latest Version: 1.2.0
Author: VideoSailor

Documentation

๐ŸŽฌ n8n-nodes-videosailor

License
npm

โ›ต 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

  1. ๐ŸŒ Visit VideoSailor and sign up for an account
  2. โš™๏ธ Navigate to Settings โ†’ API Keys in the dashboard
  3. โœจ Generate a new API key
  4. ๐Ÿ“‹ Copy the API key

๐Ÿ“– Refer to the API Keys Guide for detailed instructions on obtaining and managing your API keys.

๐Ÿ› ๏ธ Configuring Credentials in n8n

  1. โž• In n8n, create new credentials
  2. ๐ŸŽฏ Select VideoSailor API from the credential types
  3. ๐Ÿ”‘ Enter your API key
  4. ๐ŸŒ (Optional) Override the Base URL โ€” defaults to https://api.videosailor.com; set to http://localhost:8080 for local development
  5. ๐Ÿ’พ Save the credentials
  6. โœ… Use these credentials when configuring the VideoSailor node

๐Ÿงฉ Compatibility

โœ… Compatible with n8n@1.60.0 or later.

๐Ÿ—‚๏ธ Example Workflow

An example workflow is included at examples/download-and-transcribe.json. It demonstrates:

  1. Download a YouTube video as binary data
  2. 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 typescript and n8n-workflow peer range)
  • ๐Ÿ“ฆ npm

๐Ÿš€ Setup

  1. ๐Ÿ“ฅ Clone the repository
  2. ๐Ÿ“ฆ 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.

Discussion