n8n-nodes-tornado-api 1.0.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -2,6 +2,15 @@
2
2
 
3
3
  Download YouTube videos & Spotify podcasts directly in your n8n workflows.
4
4
 
5
+ ## What's New in v1.1.0
6
+
7
+ - **🎬 Video Clipping**: Extract segments with `clip_start` and `clip_end` timestamps
8
+ - **📺 Live Stream Recording**: Record live streams with `live_recording`, `live_from_start`, `max_duration`
9
+ - **📊 Resolution Selection**: Limit quality with `max_resolution` (4K, 1080p, 720p, etc.)
10
+ - **📈 Dashboard Resource**: New operations for stats, daily metrics, cluster activity, billing
11
+ - **🔔 Enhanced Webhook Trigger**: New events (`batch_completed`, `progress`) and `job_id` filter
12
+ - **⚡ Progress Webhooks**: Get real-time updates during download/mux/upload stages
13
+
5
14
  ## Installation
6
15
 
7
16
  ### Via npm (recommended)
@@ -47,6 +56,18 @@ Creates a download job. Returns immediately with a `job_id`.
47
56
  | Filename | string | ❌ | Custom filename |
48
57
  | Folder | string | ❌ | S3 folder prefix |
49
58
  | Webhook URL | string | ❌ | Notification URL |
59
+ | Audio Only | boolean | ❌ | Extract audio only |
60
+ | Download Subtitles | boolean | ❌ | Download subtitles |
61
+ | Download Thumbnail | boolean | ❌ | Download thumbnail |
62
+ | Quality Preset | select | ❌ | highest, high, medium, low, lowest |
63
+ | Max Resolution | select | ❌ | best, 2160, 1440, 1080, 720, 480, 360 |
64
+ | Clip Start | string | ❌ | Start timestamp (HH:MM:SS or seconds) |
65
+ | Clip End | string | ❌ | End timestamp (HH:MM:SS or seconds) |
66
+ | Live Recording | boolean | ❌ | Enable live stream mode |
67
+ | Live From Start | boolean | ❌ | Record from stream beginning |
68
+ | Max Duration | number | ❌ | Max recording duration (seconds) |
69
+ | Wait for Video | boolean | ❌ | Wait for scheduled streams |
70
+ | Enable Progress Webhook | boolean | ❌ | Receive progress updates |
50
71
 
51
72
  **Output (YouTube):**
52
73
  ```json
@@ -89,6 +110,94 @@ Check the current status of a job.
89
110
 
90
111
  ---
91
112
 
113
+ ### Dashboard Operations (NEW in v1.1.0)
114
+
115
+ Monitor your Tornado API usage directly from n8n.
116
+
117
+ #### Dashboard → Get Stats
118
+ Get aggregated statistics for your API key.
119
+
120
+ **Output:**
121
+ ```json
122
+ {
123
+ "total_jobs": 1523,
124
+ "pending_jobs": 5,
125
+ "processing_jobs": 12,
126
+ "completed_jobs": 1450,
127
+ "failed_jobs": 56,
128
+ "storage_used_gb": 50.0,
129
+ "avg_processing_time_seconds": 45.2
130
+ }
131
+ ```
132
+
133
+ #### Dashboard → Get Daily Stats
134
+ Get job statistics for the last 7 days.
135
+
136
+ **Output:**
137
+ ```json
138
+ {
139
+ "daily_stats": [
140
+ { "date": "2024-01-08", "completed": 45, "failed": 2 },
141
+ { "date": "2024-01-09", "completed": 62, "failed": 5 }
142
+ ]
143
+ }
144
+ ```
145
+
146
+ #### Dashboard → Get Cluster Stats
147
+ Get real-time cluster activity.
148
+
149
+ **Output:**
150
+ ```json
151
+ {
152
+ "total_downloading": 45,
153
+ "total_muxing": 12,
154
+ "total_uploading": 8
155
+ }
156
+ ```
157
+
158
+ #### Dashboard → Get Billing
159
+ Get Stripe billing information.
160
+
161
+ **Output:**
162
+ ```json
163
+ {
164
+ "billing_enabled": true,
165
+ "total_usage_gb": 45.67,
166
+ "period_start_formatted": "Jan 01, 2024",
167
+ "period_end_formatted": "Feb 01, 2024"
168
+ }
169
+ ```
170
+
171
+ ---
172
+
173
+ ## 🔔 Webhook Trigger (NEW events in v1.1.0)
174
+
175
+ Listen for Tornado events in real-time.
176
+
177
+ | Event | Description |
178
+ |-------|-------------|
179
+ | Job Completed | When a job finishes successfully |
180
+ | Job Failed | When a job fails |
181
+ | Batch Completed | When all episodes in a batch are done |
182
+ | Progress Update | Real-time progress (downloading, muxing, uploading) |
183
+ | Any Event | Trigger on all events |
184
+
185
+ **Filter Options:**
186
+ - Filter by Job ID
187
+ - Filter by Batch ID
188
+
189
+ **Example Progress Webhook Payload:**
190
+ ```json
191
+ {
192
+ "type": "progress",
193
+ "job_id": "550e8400-...",
194
+ "stage": "muxing",
195
+ "progress_percent": 33
196
+ }
197
+ ```
198
+
199
+ ---
200
+
92
201
  ## 📦 S3 Storage - How It Works
93
202
 
94
203
  ### Default Flow
@@ -38,6 +38,10 @@ class TornadoApi {
38
38
  name: 'Batch',
39
39
  value: 'batch',
40
40
  },
41
+ {
42
+ name: 'Dashboard',
43
+ value: 'dashboard',
44
+ },
41
45
  {
42
46
  name: 'Storage',
43
47
  value: 'storage',
@@ -67,12 +71,48 @@ class TornadoApi {
67
71
  description: 'Create a new download job',
68
72
  action: 'Create a download job',
69
73
  },
74
+ {
75
+ name: 'Create Bulk',
76
+ value: 'createBulk',
77
+ description: 'Create multiple download jobs at once',
78
+ action: 'Create bulk jobs',
79
+ },
70
80
  {
71
81
  name: 'Get Status',
72
82
  value: 'getStatus',
73
83
  description: 'Get the status of a job',
74
84
  action: 'Get job status',
75
85
  },
86
+ {
87
+ name: 'List',
88
+ value: 'list',
89
+ description: 'List all jobs',
90
+ action: 'List jobs',
91
+ },
92
+ {
93
+ name: 'Cancel',
94
+ value: 'cancel',
95
+ description: 'Cancel a pending job',
96
+ action: 'Cancel a job',
97
+ },
98
+ {
99
+ name: 'Retry',
100
+ value: 'retry',
101
+ description: 'Retry a failed job',
102
+ action: 'Retry a job',
103
+ },
104
+ {
105
+ name: 'Delete File',
106
+ value: 'deleteFile',
107
+ description: 'Delete a job file from storage',
108
+ action: 'Delete a job file',
109
+ },
110
+ {
111
+ name: 'Get Metadata',
112
+ value: 'getMetadata',
113
+ description: 'Get video metadata without downloading',
114
+ action: 'Get video metadata',
115
+ },
76
116
  ],
77
117
  default: 'create',
78
118
  },
@@ -190,6 +230,112 @@ class TornadoApi {
190
230
  default: '',
191
231
  description: 'URL to receive completion notification',
192
232
  },
233
+ {
234
+ displayName: 'Audio Only',
235
+ name: 'audio_only',
236
+ type: 'boolean',
237
+ default: false,
238
+ description: 'Extract audio track only (outputs mp3/aac)',
239
+ },
240
+ {
241
+ displayName: 'Download Subtitles',
242
+ name: 'download_subtitles',
243
+ type: 'boolean',
244
+ default: false,
245
+ description: 'Download subtitles if available',
246
+ },
247
+ {
248
+ displayName: 'Download Thumbnail',
249
+ name: 'download_thumbnail',
250
+ type: 'boolean',
251
+ default: false,
252
+ description: 'Download video thumbnail',
253
+ },
254
+ {
255
+ displayName: 'Quality Preset',
256
+ name: 'quality_preset',
257
+ type: 'options',
258
+ options: [
259
+ { name: 'Default', value: '' },
260
+ { name: 'Highest', value: 'highest' },
261
+ { name: 'High', value: 'high' },
262
+ { name: 'Medium', value: 'medium' },
263
+ { name: 'Low', value: 'low' },
264
+ { name: 'Lowest', value: 'lowest' },
265
+ ],
266
+ default: '',
267
+ description: 'Quality preset (overrides video_quality)',
268
+ },
269
+ {
270
+ displayName: 'Max Resolution',
271
+ name: 'max_resolution',
272
+ type: 'options',
273
+ options: [
274
+ { name: 'Best Available', value: 'best' },
275
+ { name: '4K (2160p)', value: '2160' },
276
+ { name: '2K (1440p)', value: '1440' },
277
+ { name: 'Full HD (1080p)', value: '1080' },
278
+ { name: 'HD (720p)', value: '720' },
279
+ { name: 'SD (480p)', value: '480' },
280
+ { name: 'Low (360p)', value: '360' },
281
+ ],
282
+ default: 'best',
283
+ description: 'Maximum video resolution to download',
284
+ },
285
+ {
286
+ displayName: 'Clip Start',
287
+ name: 'clip_start',
288
+ type: 'string',
289
+ default: '',
290
+ placeholder: '00:01:30 or 90',
291
+ description: 'Start timestamp for video clipping (HH:MM:SS or seconds)',
292
+ },
293
+ {
294
+ displayName: 'Clip End',
295
+ name: 'clip_end',
296
+ type: 'string',
297
+ default: '',
298
+ placeholder: '00:05:00 or 300',
299
+ description: 'End timestamp for video clipping (HH:MM:SS or seconds)',
300
+ },
301
+ {
302
+ displayName: 'Live Recording',
303
+ name: 'live_recording',
304
+ type: 'boolean',
305
+ default: false,
306
+ description: 'Whether to enable live stream recording mode',
307
+ },
308
+ {
309
+ displayName: 'Live From Start',
310
+ name: 'live_from_start',
311
+ type: 'boolean',
312
+ default: false,
313
+ description: 'Whether to record from the beginning of the live stream (VOD mode)',
314
+ },
315
+ {
316
+ displayName: 'Max Duration (Seconds)',
317
+ name: 'max_duration',
318
+ type: 'number',
319
+ typeOptions: {
320
+ minValue: 1,
321
+ },
322
+ default: 0,
323
+ description: 'Maximum recording duration in seconds (recommended for live streams)',
324
+ },
325
+ {
326
+ displayName: 'Wait for Video',
327
+ name: 'wait_for_video',
328
+ type: 'boolean',
329
+ default: false,
330
+ description: 'Whether to wait for scheduled/upcoming streams to start',
331
+ },
332
+ {
333
+ displayName: 'Enable Progress Webhook',
334
+ name: 'enable_progress_webhook',
335
+ type: 'boolean',
336
+ default: false,
337
+ description: 'Whether to receive progress webhooks during processing (downloading, muxing, uploading stages)',
338
+ },
193
339
  ],
194
340
  },
195
341
  // Job Get Status Fields
@@ -201,12 +347,298 @@ class TornadoApi {
201
347
  displayOptions: {
202
348
  show: {
203
349
  resource: ['job'],
204
- operation: ['getStatus'],
350
+ operation: ['getStatus', 'cancel', 'retry', 'deleteFile'],
205
351
  },
206
352
  },
207
353
  default: '',
208
354
  description: 'The UUID of the job',
209
355
  },
356
+ // Job List Options
357
+ {
358
+ displayName: 'List Options',
359
+ name: 'listOptions',
360
+ type: 'collection',
361
+ placeholder: 'Add Option',
362
+ default: {},
363
+ displayOptions: {
364
+ show: {
365
+ resource: ['job'],
366
+ operation: ['list'],
367
+ },
368
+ },
369
+ options: [
370
+ {
371
+ displayName: 'Limit',
372
+ name: 'limit',
373
+ type: 'number',
374
+ typeOptions: { minValue: 1, maxValue: 100 },
375
+ default: 20,
376
+ description: 'Number of jobs to return (max 100)',
377
+ },
378
+ {
379
+ displayName: 'Offset',
380
+ name: 'offset',
381
+ type: 'number',
382
+ typeOptions: { minValue: 0 },
383
+ default: 0,
384
+ description: 'Number of jobs to skip',
385
+ },
386
+ {
387
+ displayName: 'Status Filter',
388
+ name: 'status',
389
+ type: 'options',
390
+ options: [
391
+ { name: 'All', value: '' },
392
+ { name: 'Pending', value: 'pending' },
393
+ { name: 'Processing', value: 'processing' },
394
+ { name: 'Completed', value: 'completed' },
395
+ { name: 'Failed', value: 'failed' },
396
+ ],
397
+ default: '',
398
+ description: 'Filter by job status',
399
+ },
400
+ ],
401
+ },
402
+ // Get Metadata URL
403
+ {
404
+ displayName: 'URL',
405
+ name: 'metadataUrl',
406
+ type: 'string',
407
+ required: true,
408
+ displayOptions: {
409
+ show: {
410
+ resource: ['job'],
411
+ operation: ['getMetadata'],
412
+ },
413
+ },
414
+ default: '',
415
+ placeholder: 'https://www.youtube.com/watch?v=...',
416
+ description: 'The video URL to get metadata from',
417
+ },
418
+ // Bulk Create URLs
419
+ {
420
+ displayName: 'URLs',
421
+ name: 'bulkUrls',
422
+ type: 'fixedCollection',
423
+ typeOptions: { multipleValues: true },
424
+ required: true,
425
+ displayOptions: {
426
+ show: {
427
+ resource: ['job'],
428
+ operation: ['createBulk'],
429
+ },
430
+ },
431
+ default: {},
432
+ options: [
433
+ {
434
+ name: 'urlItems',
435
+ displayName: 'URLs',
436
+ values: [
437
+ {
438
+ displayName: 'URL',
439
+ name: 'url',
440
+ type: 'string',
441
+ default: '',
442
+ description: 'Video URL to download',
443
+ },
444
+ {
445
+ displayName: 'Filename',
446
+ name: 'filename',
447
+ type: 'string',
448
+ default: '',
449
+ description: 'Optional custom filename',
450
+ },
451
+ ],
452
+ },
453
+ ],
454
+ description: 'List of URLs to download (max 100)',
455
+ },
456
+ // Bulk Create Options
457
+ {
458
+ displayName: 'Bulk Options',
459
+ name: 'bulkOptions',
460
+ type: 'collection',
461
+ placeholder: 'Add Option',
462
+ default: {},
463
+ displayOptions: {
464
+ show: {
465
+ resource: ['job'],
466
+ operation: ['createBulk'],
467
+ },
468
+ },
469
+ options: [
470
+ {
471
+ displayName: 'Folder',
472
+ name: 'folder',
473
+ type: 'string',
474
+ default: '',
475
+ description: 'S3 folder prefix for all files',
476
+ },
477
+ {
478
+ displayName: 'Format',
479
+ name: 'format',
480
+ type: 'options',
481
+ options: [
482
+ { name: 'MP4', value: 'mp4' },
483
+ { name: 'MKV', value: 'mkv' },
484
+ { name: 'WebM', value: 'webm' },
485
+ { name: 'MOV', value: 'mov' },
486
+ ],
487
+ default: 'mp4',
488
+ description: 'Output format for all jobs',
489
+ },
490
+ {
491
+ displayName: 'Video Codec',
492
+ name: 'video_codec',
493
+ type: 'options',
494
+ options: [
495
+ { name: 'Copy (No Re-encode)', value: 'copy' },
496
+ { name: 'H.264', value: 'h264' },
497
+ { name: 'H.265 (HEVC)', value: 'h265' },
498
+ { name: 'VP9', value: 'vp9' },
499
+ ],
500
+ default: 'copy',
501
+ description: 'Video codec for all jobs',
502
+ },
503
+ {
504
+ displayName: 'Audio Codec',
505
+ name: 'audio_codec',
506
+ type: 'options',
507
+ options: [
508
+ { name: 'Copy (No Re-encode)', value: 'copy' },
509
+ { name: 'AAC', value: 'aac' },
510
+ { name: 'Opus', value: 'opus' },
511
+ { name: 'MP3', value: 'mp3' },
512
+ ],
513
+ default: 'copy',
514
+ description: 'Audio codec for all jobs',
515
+ },
516
+ {
517
+ displayName: 'Audio Bitrate',
518
+ name: 'audio_bitrate',
519
+ type: 'options',
520
+ options: [
521
+ { name: '64 kbps', value: '64k' },
522
+ { name: '128 kbps', value: '128k' },
523
+ { name: '192 kbps', value: '192k' },
524
+ { name: '256 kbps', value: '256k' },
525
+ { name: '320 kbps', value: '320k' },
526
+ ],
527
+ default: '192k',
528
+ description: 'Audio bitrate for all jobs',
529
+ },
530
+ {
531
+ displayName: 'Video Quality (CRF)',
532
+ name: 'video_quality',
533
+ type: 'number',
534
+ typeOptions: {
535
+ minValue: 0,
536
+ maxValue: 51,
537
+ },
538
+ default: 23,
539
+ description: 'Video quality CRF for all jobs (0-51, lower = better)',
540
+ },
541
+ {
542
+ displayName: 'Audio Only',
543
+ name: 'audio_only',
544
+ type: 'boolean',
545
+ default: false,
546
+ description: 'Extract audio only for all jobs',
547
+ },
548
+ {
549
+ displayName: 'Download Subtitles',
550
+ name: 'download_subtitles',
551
+ type: 'boolean',
552
+ default: false,
553
+ description: 'Download subtitles for all jobs',
554
+ },
555
+ {
556
+ displayName: 'Download Thumbnail',
557
+ name: 'download_thumbnail',
558
+ type: 'boolean',
559
+ default: false,
560
+ description: 'Download thumbnails for all jobs',
561
+ },
562
+ {
563
+ displayName: 'Quality Preset',
564
+ name: 'quality_preset',
565
+ type: 'options',
566
+ options: [
567
+ { name: 'Default', value: '' },
568
+ { name: 'Highest', value: 'highest' },
569
+ { name: 'High', value: 'high' },
570
+ { name: 'Medium', value: 'medium' },
571
+ { name: 'Low', value: 'low' },
572
+ { name: 'Lowest', value: 'lowest' },
573
+ ],
574
+ default: '',
575
+ description: 'Quality preset for all jobs',
576
+ },
577
+ {
578
+ displayName: 'Max Resolution',
579
+ name: 'max_resolution',
580
+ type: 'options',
581
+ options: [
582
+ { name: 'Best Available', value: 'best' },
583
+ { name: '4K (2160p)', value: '2160' },
584
+ { name: '2K (1440p)', value: '1440' },
585
+ { name: 'Full HD (1080p)', value: '1080' },
586
+ { name: 'HD (720p)', value: '720' },
587
+ { name: 'SD (480p)', value: '480' },
588
+ { name: 'Low (360p)', value: '360' },
589
+ ],
590
+ default: 'best',
591
+ description: 'Maximum video resolution for all jobs',
592
+ },
593
+ {
594
+ displayName: 'Clip Start',
595
+ name: 'clip_start',
596
+ type: 'string',
597
+ default: '',
598
+ placeholder: '00:01:30 or 90',
599
+ description: 'Start timestamp for video clipping (all jobs)',
600
+ },
601
+ {
602
+ displayName: 'Clip End',
603
+ name: 'clip_end',
604
+ type: 'string',
605
+ default: '',
606
+ placeholder: '00:05:00 or 300',
607
+ description: 'End timestamp for video clipping (all jobs)',
608
+ },
609
+ {
610
+ displayName: 'Live Recording',
611
+ name: 'live_recording',
612
+ type: 'boolean',
613
+ default: false,
614
+ description: 'Whether to enable live stream recording mode for all jobs',
615
+ },
616
+ {
617
+ displayName: 'Live From Start',
618
+ name: 'live_from_start',
619
+ type: 'boolean',
620
+ default: false,
621
+ description: 'Whether to record from the beginning of live streams',
622
+ },
623
+ {
624
+ displayName: 'Max Duration (Seconds)',
625
+ name: 'max_duration',
626
+ type: 'number',
627
+ typeOptions: {
628
+ minValue: 1,
629
+ },
630
+ default: 0,
631
+ description: 'Maximum recording duration in seconds for all jobs',
632
+ },
633
+ {
634
+ displayName: 'Wait for Video',
635
+ name: 'wait_for_video',
636
+ type: 'boolean',
637
+ default: false,
638
+ description: 'Whether to wait for scheduled streams to start',
639
+ },
640
+ ],
641
+ },
210
642
  // ==================== BATCH OPERATIONS ====================
211
643
  {
212
644
  displayName: 'Operation',
@@ -243,6 +675,103 @@ class TornadoApi {
243
675
  default: '',
244
676
  description: 'The UUID of the batch',
245
677
  },
678
+ // ==================== DASHBOARD OPERATIONS ====================
679
+ {
680
+ displayName: 'Operation',
681
+ name: 'operation',
682
+ type: 'options',
683
+ noDataExpression: true,
684
+ displayOptions: {
685
+ show: {
686
+ resource: ['dashboard'],
687
+ },
688
+ },
689
+ options: [
690
+ {
691
+ name: 'Get Stats',
692
+ value: 'getStats',
693
+ description: 'Get aggregated statistics for your API key',
694
+ action: 'Get dashboard stats',
695
+ },
696
+ {
697
+ name: 'Get Jobs',
698
+ value: 'getJobs',
699
+ description: 'Get paginated list of jobs for the dashboard',
700
+ action: 'Get dashboard jobs',
701
+ },
702
+ {
703
+ name: 'Get Batches',
704
+ value: 'getBatches',
705
+ description: 'Get list of batch operations',
706
+ action: 'Get dashboard batches',
707
+ },
708
+ {
709
+ name: 'Get Daily Stats',
710
+ value: 'getDaily',
711
+ description: 'Get daily job statistics for the last 7 days',
712
+ action: 'Get daily stats',
713
+ },
714
+ {
715
+ name: 'Get Cluster Stats',
716
+ value: 'getCluster',
717
+ description: 'Get real-time cluster activity statistics',
718
+ action: 'Get cluster stats',
719
+ },
720
+ {
721
+ name: 'Get Billing',
722
+ value: 'getBilling',
723
+ description: 'Get current billing period usage from Stripe',
724
+ action: 'Get billing info',
725
+ },
726
+ ],
727
+ default: 'getStats',
728
+ },
729
+ // Dashboard Get Jobs Options
730
+ {
731
+ displayName: 'Options',
732
+ name: 'dashboardJobsOptions',
733
+ type: 'collection',
734
+ placeholder: 'Add Option',
735
+ default: {},
736
+ displayOptions: {
737
+ show: {
738
+ resource: ['dashboard'],
739
+ operation: ['getJobs'],
740
+ },
741
+ },
742
+ options: [
743
+ {
744
+ displayName: 'Limit',
745
+ name: 'limit',
746
+ type: 'number',
747
+ typeOptions: { minValue: 1, maxValue: 100 },
748
+ default: 50,
749
+ description: 'Number of jobs to return (max 100)',
750
+ },
751
+ {
752
+ displayName: 'Offset',
753
+ name: 'offset',
754
+ type: 'number',
755
+ typeOptions: { minValue: 0 },
756
+ default: 0,
757
+ description: 'Number of jobs to skip for pagination',
758
+ },
759
+ {
760
+ displayName: 'Status Filter',
761
+ name: 'status',
762
+ type: 'options',
763
+ options: [
764
+ { name: 'All', value: '' },
765
+ { name: 'Pending', value: 'pending' },
766
+ { name: 'Processing', value: 'processing' },
767
+ { name: 'Completed', value: 'completed' },
768
+ { name: 'Failed', value: 'failed' },
769
+ ],
770
+ default: '',
771
+ description: 'Filter by job status',
772
+ },
773
+ ],
774
+ },
246
775
  // ==================== STORAGE OPERATIONS ====================
247
776
  {
248
777
  displayName: 'Operation',
@@ -426,6 +955,30 @@ class TornadoApi {
426
955
  body.folder = additionalOptions.folder;
427
956
  if (additionalOptions.webhook_url)
428
957
  body.webhook_url = additionalOptions.webhook_url;
958
+ if (additionalOptions.audio_only)
959
+ body.audio_only = additionalOptions.audio_only;
960
+ if (additionalOptions.download_subtitles)
961
+ body.download_subtitles = additionalOptions.download_subtitles;
962
+ if (additionalOptions.download_thumbnail)
963
+ body.download_thumbnail = additionalOptions.download_thumbnail;
964
+ if (additionalOptions.quality_preset)
965
+ body.quality_preset = additionalOptions.quality_preset;
966
+ if (additionalOptions.max_resolution && additionalOptions.max_resolution !== 'best')
967
+ body.max_resolution = additionalOptions.max_resolution;
968
+ if (additionalOptions.clip_start)
969
+ body.clip_start = additionalOptions.clip_start;
970
+ if (additionalOptions.clip_end)
971
+ body.clip_end = additionalOptions.clip_end;
972
+ if (additionalOptions.live_recording)
973
+ body.live_recording = additionalOptions.live_recording;
974
+ if (additionalOptions.live_from_start)
975
+ body.live_from_start = additionalOptions.live_from_start;
976
+ if (additionalOptions.max_duration && additionalOptions.max_duration > 0)
977
+ body.max_duration = additionalOptions.max_duration;
978
+ if (additionalOptions.wait_for_video)
979
+ body.wait_for_video = additionalOptions.wait_for_video;
980
+ if (additionalOptions.enable_progress_webhook)
981
+ body.enable_progress_webhook = additionalOptions.enable_progress_webhook;
429
982
  responseData = await this.helpers.httpRequest({
430
983
  method: 'POST',
431
984
  url: `${baseUrl}/jobs`,
@@ -448,6 +1001,124 @@ class TornadoApi {
448
1001
  },
449
1002
  });
450
1003
  }
1004
+ if (operation === 'list') {
1005
+ const listOptions = this.getNodeParameter('listOptions', i);
1006
+ const qs = {};
1007
+ if (listOptions.limit)
1008
+ qs.limit = listOptions.limit;
1009
+ if (listOptions.offset)
1010
+ qs.offset = listOptions.offset;
1011
+ if (listOptions.status)
1012
+ qs.status = listOptions.status;
1013
+ responseData = await this.helpers.httpRequest({
1014
+ method: 'GET',
1015
+ url: `${baseUrl}/jobs`,
1016
+ qs,
1017
+ json: true,
1018
+ headers: {
1019
+ 'x-api-key': credentials.apiKey,
1020
+ },
1021
+ });
1022
+ }
1023
+ if (operation === 'cancel') {
1024
+ const jobId = this.getNodeParameter('jobId', i);
1025
+ responseData = await this.helpers.httpRequest({
1026
+ method: 'DELETE',
1027
+ url: `${baseUrl}/jobs/${jobId}`,
1028
+ json: true,
1029
+ headers: {
1030
+ 'x-api-key': credentials.apiKey,
1031
+ },
1032
+ });
1033
+ }
1034
+ if (operation === 'retry') {
1035
+ const jobId = this.getNodeParameter('jobId', i);
1036
+ responseData = await this.helpers.httpRequest({
1037
+ method: 'POST',
1038
+ url: `${baseUrl}/jobs/${jobId}/retry`,
1039
+ json: true,
1040
+ headers: {
1041
+ 'x-api-key': credentials.apiKey,
1042
+ },
1043
+ });
1044
+ }
1045
+ if (operation === 'deleteFile') {
1046
+ const jobId = this.getNodeParameter('jobId', i);
1047
+ responseData = await this.helpers.httpRequest({
1048
+ method: 'DELETE',
1049
+ url: `${baseUrl}/jobs/${jobId}/file`,
1050
+ json: true,
1051
+ headers: {
1052
+ 'x-api-key': credentials.apiKey,
1053
+ },
1054
+ });
1055
+ }
1056
+ if (operation === 'getMetadata') {
1057
+ const url = this.getNodeParameter('metadataUrl', i);
1058
+ responseData = await this.helpers.httpRequest({
1059
+ method: 'POST',
1060
+ url: `${baseUrl}/metadata`,
1061
+ body: { url },
1062
+ json: true,
1063
+ headers: {
1064
+ 'x-api-key': credentials.apiKey,
1065
+ 'Content-Type': 'application/json',
1066
+ },
1067
+ });
1068
+ }
1069
+ if (operation === 'createBulk') {
1070
+ const bulkUrls = this.getNodeParameter('bulkUrls', i);
1071
+ const bulkOptions = this.getNodeParameter('bulkOptions', i);
1072
+ const jobs = (bulkUrls.urlItems || []).map((item) => ({
1073
+ url: item.url,
1074
+ filename: item.filename || undefined,
1075
+ }));
1076
+ const body = { jobs };
1077
+ if (bulkOptions.folder)
1078
+ body.folder = bulkOptions.folder;
1079
+ if (bulkOptions.format)
1080
+ body.format = bulkOptions.format;
1081
+ if (bulkOptions.video_codec)
1082
+ body.video_codec = bulkOptions.video_codec;
1083
+ if (bulkOptions.audio_codec)
1084
+ body.audio_codec = bulkOptions.audio_codec;
1085
+ if (bulkOptions.audio_bitrate)
1086
+ body.audio_bitrate = bulkOptions.audio_bitrate;
1087
+ if (bulkOptions.video_quality !== undefined)
1088
+ body.video_quality = bulkOptions.video_quality;
1089
+ if (bulkOptions.audio_only)
1090
+ body.audio_only = bulkOptions.audio_only;
1091
+ if (bulkOptions.download_subtitles)
1092
+ body.download_subtitles = bulkOptions.download_subtitles;
1093
+ if (bulkOptions.download_thumbnail)
1094
+ body.download_thumbnail = bulkOptions.download_thumbnail;
1095
+ if (bulkOptions.quality_preset)
1096
+ body.quality_preset = bulkOptions.quality_preset;
1097
+ if (bulkOptions.max_resolution && bulkOptions.max_resolution !== 'best')
1098
+ body.max_resolution = bulkOptions.max_resolution;
1099
+ if (bulkOptions.clip_start)
1100
+ body.clip_start = bulkOptions.clip_start;
1101
+ if (bulkOptions.clip_end)
1102
+ body.clip_end = bulkOptions.clip_end;
1103
+ if (bulkOptions.live_recording)
1104
+ body.live_recording = bulkOptions.live_recording;
1105
+ if (bulkOptions.live_from_start)
1106
+ body.live_from_start = bulkOptions.live_from_start;
1107
+ if (bulkOptions.max_duration && bulkOptions.max_duration > 0)
1108
+ body.max_duration = bulkOptions.max_duration;
1109
+ if (bulkOptions.wait_for_video)
1110
+ body.wait_for_video = bulkOptions.wait_for_video;
1111
+ responseData = await this.helpers.httpRequest({
1112
+ method: 'POST',
1113
+ url: `${baseUrl}/jobs/bulk`,
1114
+ body,
1115
+ json: true,
1116
+ headers: {
1117
+ 'x-api-key': credentials.apiKey,
1118
+ 'Content-Type': 'application/json',
1119
+ },
1120
+ });
1121
+ }
451
1122
  }
452
1123
  // ==================== BATCH ====================
453
1124
  if (resource === 'batch') {
@@ -463,6 +1134,78 @@ class TornadoApi {
463
1134
  });
464
1135
  }
465
1136
  }
1137
+ // ==================== DASHBOARD ====================
1138
+ if (resource === 'dashboard') {
1139
+ if (operation === 'getStats') {
1140
+ responseData = await this.helpers.httpRequest({
1141
+ method: 'GET',
1142
+ url: `${baseUrl}/dashboard/stats`,
1143
+ json: true,
1144
+ headers: {
1145
+ 'x-api-key': credentials.apiKey,
1146
+ },
1147
+ });
1148
+ }
1149
+ if (operation === 'getJobs') {
1150
+ const options = this.getNodeParameter('dashboardJobsOptions', i);
1151
+ const qs = {};
1152
+ if (options.limit)
1153
+ qs.limit = options.limit;
1154
+ if (options.offset)
1155
+ qs.offset = options.offset;
1156
+ if (options.status)
1157
+ qs.status = options.status;
1158
+ responseData = await this.helpers.httpRequest({
1159
+ method: 'GET',
1160
+ url: `${baseUrl}/dashboard/jobs`,
1161
+ qs,
1162
+ json: true,
1163
+ headers: {
1164
+ 'x-api-key': credentials.apiKey,
1165
+ },
1166
+ });
1167
+ }
1168
+ if (operation === 'getBatches') {
1169
+ responseData = await this.helpers.httpRequest({
1170
+ method: 'GET',
1171
+ url: `${baseUrl}/dashboard/batches`,
1172
+ json: true,
1173
+ headers: {
1174
+ 'x-api-key': credentials.apiKey,
1175
+ },
1176
+ });
1177
+ }
1178
+ if (operation === 'getDaily') {
1179
+ responseData = await this.helpers.httpRequest({
1180
+ method: 'GET',
1181
+ url: `${baseUrl}/dashboard/daily`,
1182
+ json: true,
1183
+ headers: {
1184
+ 'x-api-key': credentials.apiKey,
1185
+ },
1186
+ });
1187
+ }
1188
+ if (operation === 'getCluster') {
1189
+ responseData = await this.helpers.httpRequest({
1190
+ method: 'GET',
1191
+ url: `${baseUrl}/dashboard/cluster`,
1192
+ json: true,
1193
+ headers: {
1194
+ 'x-api-key': credentials.apiKey,
1195
+ },
1196
+ });
1197
+ }
1198
+ if (operation === 'getBilling') {
1199
+ responseData = await this.helpers.httpRequest({
1200
+ method: 'GET',
1201
+ url: `${baseUrl}/dashboard/billing`,
1202
+ json: true,
1203
+ headers: {
1204
+ 'x-api-key': credentials.apiKey,
1205
+ },
1206
+ });
1207
+ }
1208
+ }
466
1209
  // ==================== STORAGE ====================
467
1210
  if (resource === 'storage') {
468
1211
  if (operation === 'configureBucket') {
@@ -1 +1 @@
1
- {"version":3,"file":"TornadoApi.node.js","sourceRoot":"","sources":["../../../nodes/TornadoApi/TornadoApi.node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TornadoApi.node.js","sourceRoot":"","sources":["../../../nodes/TornadoApi/TornadoApi.node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { IHookFunctions, IWebhookFunctions, INodeType, INodeTypeDescription, IWebhookResponseData } from 'n8n-workflow';
2
+ export declare class TornadoApiTrigger implements INodeType {
3
+ description: INodeTypeDescription;
4
+ webhookMethods: {
5
+ default: {
6
+ checkExists(this: IHookFunctions): Promise<boolean>;
7
+ create(this: IHookFunctions): Promise<boolean>;
8
+ delete(this: IHookFunctions): Promise<boolean>;
9
+ };
10
+ };
11
+ webhook(this: IWebhookFunctions): Promise<IWebhookResponseData>;
12
+ }
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TornadoApiTrigger = void 0;
4
+ class TornadoApiTrigger {
5
+ constructor() {
6
+ this.description = {
7
+ displayName: 'Tornado API Trigger',
8
+ name: 'tornadoApiTrigger',
9
+ icon: 'file:tornado.svg',
10
+ group: ['trigger'],
11
+ version: 1,
12
+ subtitle: '={{$parameter["event"]}}',
13
+ description: 'Triggers when a Tornado job completes, fails, or changes status',
14
+ defaults: {
15
+ name: 'Tornado API Trigger',
16
+ },
17
+ inputs: [],
18
+ outputs: ['main'],
19
+ webhooks: [
20
+ {
21
+ name: 'default',
22
+ httpMethod: 'POST',
23
+ responseMode: 'onReceived',
24
+ path: 'webhook',
25
+ },
26
+ ],
27
+ properties: [
28
+ {
29
+ displayName: 'Event',
30
+ name: 'event',
31
+ type: 'options',
32
+ options: [
33
+ {
34
+ name: 'Job Completed',
35
+ value: 'completed',
36
+ description: 'Triggers when a job finishes successfully',
37
+ },
38
+ {
39
+ name: 'Job Failed',
40
+ value: 'failed',
41
+ description: 'Triggers when a job fails',
42
+ },
43
+ {
44
+ name: 'Batch Completed',
45
+ value: 'batch_completed',
46
+ description: 'Triggers when all episodes in a batch are done',
47
+ },
48
+ {
49
+ name: 'Progress Update',
50
+ value: 'progress',
51
+ description: 'Triggers on progress updates (downloading, muxing, uploading stages)',
52
+ },
53
+ {
54
+ name: 'Any Event',
55
+ value: 'all',
56
+ description: 'Triggers on any webhook event',
57
+ },
58
+ ],
59
+ default: 'completed',
60
+ description: 'The event to listen for',
61
+ },
62
+ {
63
+ displayName: 'Options',
64
+ name: 'options',
65
+ type: 'collection',
66
+ placeholder: 'Add Option',
67
+ default: {},
68
+ options: [
69
+ {
70
+ displayName: 'Filter by Job ID',
71
+ name: 'jobId',
72
+ type: 'string',
73
+ default: '',
74
+ description: 'Only trigger for this specific job ID',
75
+ },
76
+ {
77
+ displayName: 'Filter by Batch ID',
78
+ name: 'batchId',
79
+ type: 'string',
80
+ default: '',
81
+ description: 'Only trigger for jobs belonging to this batch',
82
+ },
83
+ ],
84
+ },
85
+ ],
86
+ };
87
+ this.webhookMethods = {
88
+ default: {
89
+ async checkExists() {
90
+ // Webhook is always available as Tornado will POST to it
91
+ return true;
92
+ },
93
+ async create() {
94
+ // No registration needed - user provides the webhook URL to Tornado
95
+ return true;
96
+ },
97
+ async delete() {
98
+ // No cleanup needed
99
+ return true;
100
+ },
101
+ },
102
+ };
103
+ }
104
+ async webhook() {
105
+ var _a, _b;
106
+ const bodyData = this.getBodyData();
107
+ const event = this.getNodeParameter('event');
108
+ const options = this.getNodeParameter('options');
109
+ // Extract type and status from the webhook payload
110
+ const webhookType = ((_a = bodyData.type) === null || _a === void 0 ? void 0 : _a.toLowerCase()) || '';
111
+ const jobStatus = ((_b = bodyData.status) === null || _b === void 0 ? void 0 : _b.toLowerCase()) || '';
112
+ // Filter by event type
113
+ if (event === 'completed') {
114
+ // Only trigger for job_completed with status Completed
115
+ if (webhookType !== 'job_completed' || jobStatus !== 'completed') {
116
+ return { noWebhookResponse: true };
117
+ }
118
+ }
119
+ if (event === 'failed') {
120
+ // Only trigger for job_completed with status Failed
121
+ if (webhookType !== 'job_completed' || jobStatus !== 'failed') {
122
+ return { noWebhookResponse: true };
123
+ }
124
+ }
125
+ if (event === 'batch_completed') {
126
+ // Only trigger for batch_completed type
127
+ if (webhookType !== 'batch_completed') {
128
+ return { noWebhookResponse: true };
129
+ }
130
+ }
131
+ if (event === 'progress') {
132
+ // Only trigger for progress type
133
+ if (webhookType !== 'progress') {
134
+ return { noWebhookResponse: true };
135
+ }
136
+ }
137
+ // Filter by job ID if specified
138
+ if (options.jobId && bodyData.job_id !== options.jobId) {
139
+ return { noWebhookResponse: true };
140
+ }
141
+ // Filter by batch ID if specified
142
+ if (options.batchId && bodyData.batch_id !== options.batchId) {
143
+ return { noWebhookResponse: true };
144
+ }
145
+ // Return the webhook data
146
+ return {
147
+ workflowData: [
148
+ [
149
+ {
150
+ json: bodyData,
151
+ },
152
+ ],
153
+ ],
154
+ };
155
+ }
156
+ }
157
+ exports.TornadoApiTrigger = TornadoApiTrigger;
158
+ //# sourceMappingURL=TornadoApiTrigger.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TornadoApiTrigger.node.js","sourceRoot":"","sources":["../../../nodes/TornadoApi/TornadoApiTrigger.node.ts"],"names":[],"mappings":";;;AAQA,MAAa,iBAAiB;IAA9B;QACC,gBAAW,GAAyB;YACnC,WAAW,EAAE,qBAAqB;YAClC,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,CAAC,SAAS,CAAC;YAClB,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,0BAA0B;YACpC,WAAW,EAAE,iEAAiE;YAC9E,QAAQ,EAAE;gBACT,IAAI,EAAE,qBAAqB;aAC3B;YACD,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,CAAC,MAAM,CAAC;YACjB,QAAQ,EAAE;gBACT;oBACC,IAAI,EAAE,SAAS;oBACf,UAAU,EAAE,MAAM;oBAClB,YAAY,EAAE,YAAY;oBAC1B,IAAI,EAAE,SAAS;iBACf;aACD;YACD,UAAU,EAAE;gBACX;oBACC,WAAW,EAAE,OAAO;oBACpB,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE;wBACR;4BACC,IAAI,EAAE,eAAe;4BACrB,KAAK,EAAE,WAAW;4BAClB,WAAW,EAAE,2CAA2C;yBACxD;wBACD;4BACC,IAAI,EAAE,YAAY;4BAClB,KAAK,EAAE,QAAQ;4BACf,WAAW,EAAE,2BAA2B;yBACxC;wBACD;4BACC,IAAI,EAAE,iBAAiB;4BACvB,KAAK,EAAE,iBAAiB;4BACxB,WAAW,EAAE,gDAAgD;yBAC7D;wBACD;4BACC,IAAI,EAAE,iBAAiB;4BACvB,KAAK,EAAE,UAAU;4BACjB,WAAW,EAAE,sEAAsE;yBACnF;wBACD;4BACC,IAAI,EAAE,WAAW;4BACjB,KAAK,EAAE,KAAK;4BACZ,WAAW,EAAE,+BAA+B;yBAC5C;qBACD;oBACD,OAAO,EAAE,WAAW;oBACpB,WAAW,EAAE,yBAAyB;iBACtC;gBACD;oBACC,WAAW,EAAE,SAAS;oBACtB,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,YAAY;oBAClB,WAAW,EAAE,YAAY;oBACzB,OAAO,EAAE,EAAE;oBACX,OAAO,EAAE;wBACR;4BACC,WAAW,EAAE,kBAAkB;4BAC/B,IAAI,EAAE,OAAO;4BACb,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,EAAE;4BACX,WAAW,EAAE,uCAAuC;yBACpD;wBACD;4BACC,WAAW,EAAE,oBAAoB;4BACjC,IAAI,EAAE,SAAS;4BACf,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,EAAE;4BACX,WAAW,EAAE,+CAA+C;yBAC5D;qBACD;iBACD;aACD;SACD,CAAC;QAEF,mBAAc,GAAG;YAChB,OAAO,EAAE;gBACR,KAAK,CAAC,WAAW;oBAChB,yDAAyD;oBACzD,OAAO,IAAI,CAAC;gBACb,CAAC;gBACD,KAAK,CAAC,MAAM;oBACX,oEAAoE;oBACpE,OAAO,IAAI,CAAC;gBACb,CAAC;gBACD,KAAK,CAAC,MAAM;oBACX,oBAAoB;oBACpB,OAAO,IAAI,CAAC;gBACb,CAAC;aACD;SACD,CAAC;IA6DH,CAAC;IA3DA,KAAK,CAAC,OAAO;;QACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAW,CAAC;QACvD,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAyC,CAAC;QAEzF,mDAAmD;QACnD,MAAM,WAAW,GAAG,CAAA,MAAC,QAAQ,CAAC,IAAe,0CAAE,WAAW,EAAE,KAAI,EAAE,CAAC;QACnE,MAAM,SAAS,GAAG,CAAA,MAAC,QAAQ,CAAC,MAAiB,0CAAE,WAAW,EAAE,KAAI,EAAE,CAAC;QAEnE,uBAAuB;QACvB,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;YAC3B,uDAAuD;YACvD,IAAI,WAAW,KAAK,eAAe,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;gBAClE,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;YACpC,CAAC;QACF,CAAC;QAED,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACxB,oDAAoD;YACpD,IAAI,WAAW,KAAK,eAAe,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAC/D,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;YACpC,CAAC;QACF,CAAC;QAED,IAAI,KAAK,KAAK,iBAAiB,EAAE,CAAC;YACjC,wCAAwC;YACxC,IAAI,WAAW,KAAK,iBAAiB,EAAE,CAAC;gBACvC,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;YACpC,CAAC;QACF,CAAC;QAED,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;YAC1B,iCAAiC;YACjC,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;gBAChC,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;YACpC,CAAC;QACF,CAAC;QAED,gCAAgC;QAChC,IAAI,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC;YACxD,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;QACpC,CAAC;QAED,kCAAkC;QAClC,IAAI,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC,QAAQ,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC;YAC9D,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;QACpC,CAAC;QAED,0BAA0B;QAC1B,OAAO;YACN,YAAY,EAAE;gBACb;oBACC;wBACC,IAAI,EAAE,QAAQ;qBACd;iBACD;aACD;SACD,CAAC;IACH,CAAC;CACD;AA/JD,8CA+JC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "n8n-nodes-tornado-api",
3
- "version": "1.0.2",
4
- "description": "n8n node for Tornado API - Download YouTube videos & Spotify podcasts",
3
+ "version": "1.1.0",
4
+ "description": "n8n node for Tornado API - Download TBs of YouTube videos & Spotify podcasts with advanced features",
5
5
  "keywords": [
6
6
  "n8n-community-node-package",
7
7
  "n8n",
@@ -12,7 +12,10 @@
12
12
  "spotify",
13
13
  "podcast",
14
14
  "mp4",
15
- "mp3"
15
+ "mp3",
16
+ "dashboard",
17
+ "live-stream",
18
+ "clipping"
16
19
  ],
17
20
  "license": "MIT",
18
21
  "homepage": "https://tornado.velys.software",
@@ -42,7 +45,8 @@
42
45
  "dist/credentials/TornadoApi.credentials.js"
43
46
  ],
44
47
  "nodes": [
45
- "dist/nodes/TornadoApi/TornadoApi.node.js"
48
+ "dist/nodes/TornadoApi/TornadoApi.node.js",
49
+ "dist/nodes/TornadoApi/TornadoApiTrigger.node.js"
46
50
  ]
47
51
  },
48
52
  "devDependencies": {