n8n-nodes-tornado-api 1.0.2 → 1.3.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 +113 -4
- package/dist/credentials/TornadoApi.credentials.js +9 -2
- package/dist/credentials/TornadoApi.credentials.js.map +1 -1
- package/dist/nodes/TornadoApi/TornadoApi.node.js +1180 -108
- package/dist/nodes/TornadoApi/TornadoApi.node.js.map +1 -1
- package/dist/nodes/TornadoApi/TornadoApiTrigger.node.d.ts +12 -0
- package/dist/nodes/TornadoApi/TornadoApiTrigger.node.js +158 -0
- package/dist/nodes/TornadoApi/TornadoApiTrigger.node.js.map +1 -0
- package/package.json +9 -5
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)
|
|
@@ -25,7 +34,7 @@ docker run -it --rm -p 5678:5678 \
|
|
|
25
34
|
1. Go to **Credentials** → **New**
|
|
26
35
|
2. Search for **Tornado API**
|
|
27
36
|
3. Enter your API Key (starts with `sk_`)
|
|
28
|
-
4. Base URL: `https://
|
|
37
|
+
4. Base URL: `https://api.tornadoapi.io` (default)
|
|
29
38
|
|
|
30
39
|
---
|
|
31
40
|
|
|
@@ -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
|
|
@@ -455,7 +564,7 @@ To get your node listed in the official n8n integrations:
|
|
|
455
564
|
|
|
456
565
|
## 🔗 Links
|
|
457
566
|
|
|
458
|
-
- [Tornado API](https://
|
|
459
|
-
- [API Documentation](https://docs.
|
|
460
|
-
- [Get API Key](https://
|
|
567
|
+
- [Tornado API](https://api.tornadoapi.io)
|
|
568
|
+
- [API Documentation](https://docs.tornadoapi.io)
|
|
569
|
+
- [Get API Key](https://api.tornadoapi.io/dashboard)
|
|
461
570
|
- [Support](mailto:support@velys.software)
|
|
@@ -6,7 +6,7 @@ class TornadoApi {
|
|
|
6
6
|
this.name = 'tornadoApi';
|
|
7
7
|
this.displayName = 'Tornado API';
|
|
8
8
|
this.icon = 'file:tornado.svg';
|
|
9
|
-
this.documentationUrl = 'https://docs.
|
|
9
|
+
this.documentationUrl = 'https://docs.tornadoapi.io/authentication';
|
|
10
10
|
this.properties = [
|
|
11
11
|
{
|
|
12
12
|
displayName: 'API Key',
|
|
@@ -21,9 +21,16 @@ class TornadoApi {
|
|
|
21
21
|
displayName: 'Base URL',
|
|
22
22
|
name: 'baseUrl',
|
|
23
23
|
type: 'string',
|
|
24
|
-
default: 'https://
|
|
24
|
+
default: 'https://api.tornadoapi.io',
|
|
25
25
|
description: 'The base URL of the Tornado API',
|
|
26
26
|
},
|
|
27
|
+
{
|
|
28
|
+
displayName: 'Dashboard Base URL',
|
|
29
|
+
name: 'dashboardBaseUrl',
|
|
30
|
+
type: 'string',
|
|
31
|
+
default: 'https://dash.tornadoapi.io',
|
|
32
|
+
description: 'The base URL of the Tornado Dashboard backend (required for Dashboard operations)',
|
|
33
|
+
},
|
|
27
34
|
];
|
|
28
35
|
this.authenticate = {
|
|
29
36
|
type: 'generic',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TornadoApi.credentials.js","sourceRoot":"","sources":["../../credentials/TornadoApi.credentials.ts"],"names":[],"mappings":";;;AAOA,MAAa,UAAU;IAAvB;QACC,SAAI,GAAG,YAAY,CAAC;QACpB,gBAAW,GAAG,aAAa,CAAC;QAC5B,SAAI,GAAG,kBAAkB,CAAC;QAC1B,qBAAgB,GAAG,
|
|
1
|
+
{"version":3,"file":"TornadoApi.credentials.js","sourceRoot":"","sources":["../../credentials/TornadoApi.credentials.ts"],"names":[],"mappings":";;;AAOA,MAAa,UAAU;IAAvB;QACC,SAAI,GAAG,YAAY,CAAC;QACpB,gBAAW,GAAG,aAAa,CAAC;QAC5B,SAAI,GAAG,kBAAkB,CAAC;QAC1B,qBAAgB,GAAG,2CAA2C,CAAC;QAC/D,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,wCAAwC;aACrD;YACD;gBACC,WAAW,EAAE,UAAU;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,2BAA2B;gBACpC,WAAW,EAAE,iCAAiC;aAC9C;YACD;gBACC,WAAW,EAAE,oBAAoB;gBACjC,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,4BAA4B;gBACrC,WAAW,EAAE,mFAAmF;aAChG;SACD,CAAC;QAEF,iBAAY,GAAyB;YACpC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACX,OAAO,EAAE;oBACR,WAAW,EAAE,0BAA0B;iBACvC;aACD;SACD,CAAC;QAEF,SAAI,GAA2B;YAC9B,OAAO,EAAE;gBACR,OAAO,EAAE,2BAA2B;gBACpC,GAAG,EAAE,QAAQ;gBACb,MAAM,EAAE,KAAK;aACb;SACD,CAAC;IACH,CAAC;CAAA;AA/CD,gCA+CC"}
|