Skip to main content

Overview

The official Tornado API node for n8n lets you download YouTube videos and Spotify podcasts directly in your automation workflows.

Installation

cd ~/.n8n/custom
npm install n8n-nodes-tornado-api

Via Docker

docker run -it --rm -p 5678:5678 \
  -v n8n_data:/home/node/.n8n \
  -v /path/to/n8n-nodes-tornado-api:/home/node/.n8n/custom/n8n-nodes-tornado-api \
  n8nio/n8n

Build from Source

git clone https://github.com/velys-software/n8n-nodes-tornado-api
cd n8n-nodes-tornado-api
npm install
npm run build
Then copy to your n8n custom nodes directory.

Credentials Setup

1

Open n8n

Start n8n and go to Credentials in the sidebar
2

Add New Credential

Click New and search for Tornado API
3

Enter Details

  • API Key: Your Tornado API key (starts with sk_)
  • Base URL: https://tornado.velys.software (default)
4

Save

Click Save to store your credentials

Available Operations

Job Operations

OperationDescription
CreateCreate a download job for a YouTube/Spotify URL
Get StatusCheck the current status of a job
Wait for CompletionPoll until the job completes or fails

Batch Operations

OperationDescription
Get StatusCheck status of a Spotify batch download

Storage Operations

OperationDescription
Configure BucketSet up your own S3/R2 bucket
Reset to DefaultRevert to Tornado’s managed storage

Account Operations

OperationDescription
Get UsageView your API usage statistics

Example Workflows

Simple YouTube Download

Manual Trigger → Tornado API (Create) → Tornado API (Wait) → HTTP Request (Download)
  1. Tornado API - Create Job
    • Resource: Job
    • Operation: Create
    • URL: https://youtube.com/watch?v=...
  2. Tornado API - Wait for Completion
    • Resource: Job
    • Operation: Wait for Completion
    • Job ID: {{ $json.job_id }}
  3. HTTP Request
    • Method: GET
    • URL: {{ $json.s3_url }}
    • Response Format: File

Telegram Bot

Telegram Trigger → Tornado API (Create) → Tornado API (Wait) → Telegram (Send Video)
  1. User sends YouTube URL to bot
  2. Tornado downloads the video
  3. Bot sends video back to user

Spotify Podcast Backup

Schedule Trigger → Tornado API (Create) → Split In Batches → Tornado API (Wait)
  1. Runs weekly to backup new episodes
  2. Creates batch job for entire show
  3. Processes episodes in parallel

Create Job Options

FieldTypeDescription
URLstringYouTube or Spotify URL
Formatselectmp4, mkv, webm, mov
Video Codecselectcopy, h264, h265, vp9
Audio Codecselectcopy, aac, opus, mp3
Audio Bitrateselect64k to 320k
Video QualitynumberCRF 0-51 (lower = better)
FilenamestringCustom filename
FolderstringS3 folder prefix
Webhook URLstringNotification URL

S3 Configuration

Configure your own S3-compatible bucket to receive downloads:
  1. Add Tornado API node
  2. Set Resource to Storage
  3. Set Operation to Configure Bucket
  4. Fill in your S3 credentials
Supported providers:
  • Amazon S3
  • Cloudflare R2
  • MinIO
  • DigitalOcean Spaces
  • Any S3-compatible storage

Error Handling

Use an IF node after Wait for Completion:
Condition: {{ $json.status }} == "Completed"
  • True: Process the downloaded file
  • False: Handle the error (send notification, retry, etc.)

Tips

Use Webhooks

For long downloads, use webhooks instead of polling to avoid timeout issues.

Parallel Processing

Use Split In Batches for Spotify shows to process multiple episodes simultaneously.

Custom Storage

Configure your own S3 bucket to keep files organized and accessible.

Error Recovery

Add error handling nodes to retry failed downloads automatically.

Support