n8n-nodes-eranol 0.1.1

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.
Files changed (67) hide show
  1. package/dist/credentials/EranolApi.credentials.d.ts +10 -0
  2. package/dist/credentials/EranolApi.credentials.js +37 -0
  3. package/dist/nodes/Eranol/Eranol.node.d.ts +4 -0
  4. package/dist/nodes/Eranol/Eranol.node.js +78 -0
  5. package/dist/nodes/Eranol/eranol.png +0 -0
  6. package/dist/nodes/Eranol/eranol.svg +12 -0
  7. package/dist/nodes/Eranol/resources/audio/denoise.d.ts +2 -0
  8. package/dist/nodes/Eranol/resources/audio/denoise.js +66 -0
  9. package/dist/nodes/Eranol/resources/audio/highlights.d.ts +2 -0
  10. package/dist/nodes/Eranol/resources/audio/highlights.js +62 -0
  11. package/dist/nodes/Eranol/resources/audio/index.d.ts +2 -0
  12. package/dist/nodes/Eranol/resources/audio/index.js +61 -0
  13. package/dist/nodes/Eranol/resources/audio/removeSilence.d.ts +2 -0
  14. package/dist/nodes/Eranol/resources/audio/removeSilence.js +77 -0
  15. package/dist/nodes/Eranol/resources/compose/index.d.ts +2 -0
  16. package/dist/nodes/Eranol/resources/compose/index.js +33 -0
  17. package/dist/nodes/Eranol/resources/compose/merge.d.ts +2 -0
  18. package/dist/nodes/Eranol/resources/compose/merge.js +211 -0
  19. package/dist/nodes/Eranol/resources/convert/audioToMp3.d.ts +2 -0
  20. package/dist/nodes/Eranol/resources/convert/audioToMp3.js +25 -0
  21. package/dist/nodes/Eranol/resources/convert/audioToWav.d.ts +2 -0
  22. package/dist/nodes/Eranol/resources/convert/audioToWav.js +25 -0
  23. package/dist/nodes/Eranol/resources/convert/imageToJpg.d.ts +2 -0
  24. package/dist/nodes/Eranol/resources/convert/imageToJpg.js +25 -0
  25. package/dist/nodes/Eranol/resources/convert/imageToWebp.d.ts +2 -0
  26. package/dist/nodes/Eranol/resources/convert/imageToWebp.js +25 -0
  27. package/dist/nodes/Eranol/resources/convert/index.d.ts +2 -0
  28. package/dist/nodes/Eranol/resources/convert/index.js +103 -0
  29. package/dist/nodes/Eranol/resources/convert/videoToMp4.d.ts +2 -0
  30. package/dist/nodes/Eranol/resources/convert/videoToMp4.js +25 -0
  31. package/dist/nodes/Eranol/resources/convert/videoToWebm.d.ts +2 -0
  32. package/dist/nodes/Eranol/resources/convert/videoToWebm.js +25 -0
  33. package/dist/nodes/Eranol/resources/job/deleteJob.d.ts +2 -0
  34. package/dist/nodes/Eranol/resources/job/deleteJob.js +20 -0
  35. package/dist/nodes/Eranol/resources/job/getResult.d.ts +2 -0
  36. package/dist/nodes/Eranol/resources/job/getResult.js +20 -0
  37. package/dist/nodes/Eranol/resources/job/getStatus.d.ts +2 -0
  38. package/dist/nodes/Eranol/resources/job/getStatus.js +20 -0
  39. package/dist/nodes/Eranol/resources/job/index.d.ts +2 -0
  40. package/dist/nodes/Eranol/resources/job/index.js +61 -0
  41. package/dist/nodes/Eranol/resources/video/addIntro.d.ts +2 -0
  42. package/dist/nodes/Eranol/resources/video/addIntro.js +41 -0
  43. package/dist/nodes/Eranol/resources/video/addOutro.d.ts +2 -0
  44. package/dist/nodes/Eranol/resources/video/addOutro.js +41 -0
  45. package/dist/nodes/Eranol/resources/video/caption.d.ts +2 -0
  46. package/dist/nodes/Eranol/resources/video/caption.js +133 -0
  47. package/dist/nodes/Eranol/resources/video/extractAudio.d.ts +2 -0
  48. package/dist/nodes/Eranol/resources/video/extractAudio.js +49 -0
  49. package/dist/nodes/Eranol/resources/video/extractImages.d.ts +2 -0
  50. package/dist/nodes/Eranol/resources/video/extractImages.js +79 -0
  51. package/dist/nodes/Eranol/resources/video/generateGif.d.ts +2 -0
  52. package/dist/nodes/Eranol/resources/video/generateGif.js +92 -0
  53. package/dist/nodes/Eranol/resources/video/index.d.ts +2 -0
  54. package/dist/nodes/Eranol/resources/video/index.js +187 -0
  55. package/dist/nodes/Eranol/resources/video/overlay.d.ts +2 -0
  56. package/dist/nodes/Eranol/resources/video/overlay.js +133 -0
  57. package/dist/nodes/Eranol/resources/video/progressBar.d.ts +2 -0
  58. package/dist/nodes/Eranol/resources/video/progressBar.js +110 -0
  59. package/dist/nodes/Eranol/resources/video/reframe.d.ts +2 -0
  60. package/dist/nodes/Eranol/resources/video/reframe.js +79 -0
  61. package/dist/nodes/Eranol/resources/video/thumbnail.d.ts +2 -0
  62. package/dist/nodes/Eranol/resources/video/thumbnail.js +145 -0
  63. package/dist/nodes/Eranol/resources/video/trim.d.ts +2 -0
  64. package/dist/nodes/Eranol/resources/video/trim.js +56 -0
  65. package/dist/nodes/Eranol/resources/video/watermark.d.ts +2 -0
  66. package/dist/nodes/Eranol/resources/video/watermark.js +112 -0
  67. package/package.json +51 -0
@@ -0,0 +1,2 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const audioToMp3Description: INodeProperties[];
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.audioToMp3Description = void 0;
4
+ exports.audioToMp3Description = [
5
+ {
6
+ displayName: 'File URL',
7
+ name: 'url',
8
+ type: 'string',
9
+ required: true,
10
+ default: '',
11
+ displayOptions: {
12
+ show: {
13
+ resource: ['convert'],
14
+ operation: ['audioToMp3'],
15
+ },
16
+ },
17
+ description: 'URL of the audio file to convert to MP3',
18
+ routing: {
19
+ send: {
20
+ type: 'body',
21
+ property: 'url',
22
+ },
23
+ },
24
+ },
25
+ ];
@@ -0,0 +1,2 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const audioToWavDescription: INodeProperties[];
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.audioToWavDescription = void 0;
4
+ exports.audioToWavDescription = [
5
+ {
6
+ displayName: 'File URL',
7
+ name: 'url',
8
+ type: 'string',
9
+ required: true,
10
+ default: '',
11
+ displayOptions: {
12
+ show: {
13
+ resource: ['convert'],
14
+ operation: ['audioToWav'],
15
+ },
16
+ },
17
+ description: 'URL of the audio file to convert to WAV',
18
+ routing: {
19
+ send: {
20
+ type: 'body',
21
+ property: 'url',
22
+ },
23
+ },
24
+ },
25
+ ];
@@ -0,0 +1,2 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const imageToJpgDescription: INodeProperties[];
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.imageToJpgDescription = void 0;
4
+ exports.imageToJpgDescription = [
5
+ {
6
+ displayName: 'File URL',
7
+ name: 'url',
8
+ type: 'string',
9
+ required: true,
10
+ default: '',
11
+ displayOptions: {
12
+ show: {
13
+ resource: ['convert'],
14
+ operation: ['imageToJpg'],
15
+ },
16
+ },
17
+ description: 'URL of the image file to convert to JPG',
18
+ routing: {
19
+ send: {
20
+ type: 'body',
21
+ property: 'url',
22
+ },
23
+ },
24
+ },
25
+ ];
@@ -0,0 +1,2 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const imageToWebpDescription: INodeProperties[];
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.imageToWebpDescription = void 0;
4
+ exports.imageToWebpDescription = [
5
+ {
6
+ displayName: 'File URL',
7
+ name: 'url',
8
+ type: 'string',
9
+ required: true,
10
+ default: '',
11
+ displayOptions: {
12
+ show: {
13
+ resource: ['convert'],
14
+ operation: ['imageToWebp'],
15
+ },
16
+ },
17
+ description: 'URL of the image file to convert to WebP',
18
+ routing: {
19
+ send: {
20
+ type: 'body',
21
+ property: 'url',
22
+ },
23
+ },
24
+ },
25
+ ];
@@ -0,0 +1,2 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const convertDescription: INodeProperties[];
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertDescription = void 0;
4
+ const videoToMp4_1 = require("./videoToMp4");
5
+ const videoToWebm_1 = require("./videoToWebm");
6
+ const audioToMp3_1 = require("./audioToMp3");
7
+ const audioToWav_1 = require("./audioToWav");
8
+ const imageToJpg_1 = require("./imageToJpg");
9
+ const imageToWebp_1 = require("./imageToWebp");
10
+ exports.convertDescription = [
11
+ {
12
+ displayName: 'Operation',
13
+ name: 'operation',
14
+ type: 'options',
15
+ noDataExpression: true,
16
+ displayOptions: {
17
+ show: {
18
+ resource: ['convert'],
19
+ },
20
+ },
21
+ options: [
22
+ {
23
+ name: 'Audio to MP3',
24
+ value: 'audioToMp3',
25
+ action: 'Convert audio to MP3',
26
+ description: 'Convert an audio file to MP3 format',
27
+ routing: {
28
+ request: {
29
+ method: 'POST',
30
+ url: '/ffmpeg/convert/audio/to/mp3',
31
+ },
32
+ },
33
+ },
34
+ {
35
+ name: 'Audio to WAV',
36
+ value: 'audioToWav',
37
+ action: 'Convert audio to WAV',
38
+ description: 'Convert an audio file to WAV format',
39
+ routing: {
40
+ request: {
41
+ method: 'POST',
42
+ url: '/ffmpeg/convert/audio/to/wav',
43
+ },
44
+ },
45
+ },
46
+ {
47
+ name: 'Image to JPG',
48
+ value: 'imageToJpg',
49
+ action: 'Convert image to JPG',
50
+ description: 'Convert an image file to JPG format',
51
+ routing: {
52
+ request: {
53
+ method: 'POST',
54
+ url: '/ffmpeg/convert/image/to/jpg',
55
+ },
56
+ },
57
+ },
58
+ {
59
+ name: 'Image to WebP',
60
+ value: 'imageToWebp',
61
+ action: 'Convert image to web p',
62
+ description: 'Convert an image file to WebP format',
63
+ routing: {
64
+ request: {
65
+ method: 'POST',
66
+ url: '/ffmpeg/convert/image/to/webp',
67
+ },
68
+ },
69
+ },
70
+ {
71
+ name: 'Video to MP4',
72
+ value: 'videoToMp4',
73
+ action: 'Convert video to MP4',
74
+ description: 'Convert a video file to MP4 format',
75
+ routing: {
76
+ request: {
77
+ method: 'POST',
78
+ url: '/ffmpeg/convert/video/to/mp4',
79
+ },
80
+ },
81
+ },
82
+ {
83
+ name: 'Video to WebM',
84
+ value: 'videoToWebm',
85
+ action: 'Convert video to web m',
86
+ description: 'Convert a video file to WebM format (VP9 + Opus)',
87
+ routing: {
88
+ request: {
89
+ method: 'POST',
90
+ url: '/ffmpeg/convert/video/to/webm',
91
+ },
92
+ },
93
+ },
94
+ ],
95
+ default: 'videoToMp4',
96
+ },
97
+ ...videoToMp4_1.videoToMp4Description,
98
+ ...videoToWebm_1.videoToWebmDescription,
99
+ ...audioToMp3_1.audioToMp3Description,
100
+ ...audioToWav_1.audioToWavDescription,
101
+ ...imageToJpg_1.imageToJpgDescription,
102
+ ...imageToWebp_1.imageToWebpDescription,
103
+ ];
@@ -0,0 +1,2 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const videoToMp4Description: INodeProperties[];
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.videoToMp4Description = void 0;
4
+ exports.videoToMp4Description = [
5
+ {
6
+ displayName: 'File URL',
7
+ name: 'url',
8
+ type: 'string',
9
+ required: true,
10
+ default: '',
11
+ displayOptions: {
12
+ show: {
13
+ resource: ['convert'],
14
+ operation: ['videoToMp4'],
15
+ },
16
+ },
17
+ description: 'URL of the video file to convert to MP4',
18
+ routing: {
19
+ send: {
20
+ type: 'body',
21
+ property: 'url',
22
+ },
23
+ },
24
+ },
25
+ ];
@@ -0,0 +1,2 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const videoToWebmDescription: INodeProperties[];
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.videoToWebmDescription = void 0;
4
+ exports.videoToWebmDescription = [
5
+ {
6
+ displayName: 'File URL',
7
+ name: 'url',
8
+ type: 'string',
9
+ required: true,
10
+ default: '',
11
+ displayOptions: {
12
+ show: {
13
+ resource: ['convert'],
14
+ operation: ['videoToWebm'],
15
+ },
16
+ },
17
+ description: 'URL of the video file to convert to WebM',
18
+ routing: {
19
+ send: {
20
+ type: 'body',
21
+ property: 'url',
22
+ },
23
+ },
24
+ },
25
+ ];
@@ -0,0 +1,2 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const deleteJobDescription: INodeProperties[];
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteJobDescription = void 0;
4
+ const displayOptions = {
5
+ show: {
6
+ resource: ['job'],
7
+ operation: ['deleteJob'],
8
+ },
9
+ };
10
+ exports.deleteJobDescription = [
11
+ {
12
+ displayName: 'Job ID',
13
+ name: 'jobId',
14
+ type: 'string',
15
+ required: true,
16
+ default: '',
17
+ displayOptions,
18
+ description: 'The ID of the job to delete',
19
+ },
20
+ ];
@@ -0,0 +1,2 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const getResultDescription: INodeProperties[];
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getResultDescription = void 0;
4
+ const displayOptions = {
5
+ show: {
6
+ resource: ['job'],
7
+ operation: ['getResult'],
8
+ },
9
+ };
10
+ exports.getResultDescription = [
11
+ {
12
+ displayName: 'Job ID',
13
+ name: 'jobId',
14
+ type: 'string',
15
+ required: true,
16
+ default: '',
17
+ displayOptions,
18
+ description: 'The ID of the completed job to get results for',
19
+ },
20
+ ];
@@ -0,0 +1,2 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const getStatusDescription: INodeProperties[];
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getStatusDescription = void 0;
4
+ const displayOptions = {
5
+ show: {
6
+ resource: ['job'],
7
+ operation: ['getStatus'],
8
+ },
9
+ };
10
+ exports.getStatusDescription = [
11
+ {
12
+ displayName: 'Job ID',
13
+ name: 'jobId',
14
+ type: 'string',
15
+ required: true,
16
+ default: '',
17
+ displayOptions,
18
+ description: 'The ID of the job to check status for',
19
+ },
20
+ ];
@@ -0,0 +1,2 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const jobDescription: INodeProperties[];
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.jobDescription = void 0;
4
+ const getStatus_1 = require("./getStatus");
5
+ const getResult_1 = require("./getResult");
6
+ const deleteJob_1 = require("./deleteJob");
7
+ exports.jobDescription = [
8
+ {
9
+ displayName: 'Operation',
10
+ name: 'operation',
11
+ type: 'options',
12
+ noDataExpression: true,
13
+ displayOptions: {
14
+ show: {
15
+ resource: ['job'],
16
+ },
17
+ },
18
+ options: [
19
+ {
20
+ name: 'Get Status',
21
+ value: 'getStatus',
22
+ action: 'Get job status',
23
+ description: 'Retrieve current job status, progress, and completion data',
24
+ routing: {
25
+ request: {
26
+ method: 'GET',
27
+ url: '=/ffmpeg/status/{{$parameter.jobId}}',
28
+ },
29
+ },
30
+ },
31
+ {
32
+ name: 'Get Result',
33
+ value: 'getResult',
34
+ action: 'Get job result',
35
+ description: 'Get the result of a completed job',
36
+ routing: {
37
+ request: {
38
+ method: 'GET',
39
+ url: '=/ffmpeg/result/{{$parameter.jobId}}',
40
+ },
41
+ },
42
+ },
43
+ {
44
+ name: 'Delete',
45
+ value: 'deleteJob',
46
+ action: 'Delete a job',
47
+ description: 'Remove a job and its associated output file',
48
+ routing: {
49
+ request: {
50
+ method: 'DELETE',
51
+ url: '=/ffmpeg/jobs/{{$parameter.jobId}}',
52
+ },
53
+ },
54
+ },
55
+ ],
56
+ default: 'getStatus',
57
+ },
58
+ ...getStatus_1.getStatusDescription,
59
+ ...getResult_1.getResultDescription,
60
+ ...deleteJob_1.deleteJobDescription,
61
+ ];
@@ -0,0 +1,2 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const addIntroDescription: INodeProperties[];
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addIntroDescription = void 0;
4
+ const displayOptions = {
5
+ show: {
6
+ resource: ['video'],
7
+ operation: ['addIntro'],
8
+ },
9
+ };
10
+ exports.addIntroDescription = [
11
+ {
12
+ displayName: 'Video URL',
13
+ name: 'url',
14
+ type: 'string',
15
+ required: true,
16
+ default: '',
17
+ displayOptions,
18
+ description: 'URL of the main video',
19
+ routing: {
20
+ send: {
21
+ type: 'body',
22
+ property: 'url',
23
+ },
24
+ },
25
+ },
26
+ {
27
+ displayName: 'Intro URL',
28
+ name: 'introUrl',
29
+ type: 'string',
30
+ required: true,
31
+ default: '',
32
+ displayOptions,
33
+ description: 'URL of the intro clip to prepend',
34
+ routing: {
35
+ send: {
36
+ type: 'body',
37
+ property: 'intro_url',
38
+ },
39
+ },
40
+ },
41
+ ];
@@ -0,0 +1,2 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const addOutroDescription: INodeProperties[];
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addOutroDescription = void 0;
4
+ const displayOptions = {
5
+ show: {
6
+ resource: ['video'],
7
+ operation: ['addOutro'],
8
+ },
9
+ };
10
+ exports.addOutroDescription = [
11
+ {
12
+ displayName: 'Video URL',
13
+ name: 'url',
14
+ type: 'string',
15
+ required: true,
16
+ default: '',
17
+ displayOptions,
18
+ description: 'URL of the main video',
19
+ routing: {
20
+ send: {
21
+ type: 'body',
22
+ property: 'url',
23
+ },
24
+ },
25
+ },
26
+ {
27
+ displayName: 'Outro URL',
28
+ name: 'outroUrl',
29
+ type: 'string',
30
+ required: true,
31
+ default: '',
32
+ displayOptions,
33
+ description: 'URL of the outro clip to append',
34
+ routing: {
35
+ send: {
36
+ type: 'body',
37
+ property: 'outro_url',
38
+ },
39
+ },
40
+ },
41
+ ];
@@ -0,0 +1,2 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const captionDescription: INodeProperties[];
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.captionDescription = void 0;
4
+ const displayOptions = {
5
+ show: {
6
+ resource: ['video'],
7
+ operation: ['caption'],
8
+ },
9
+ };
10
+ exports.captionDescription = [
11
+ {
12
+ displayName: 'Video URL',
13
+ name: 'url',
14
+ type: 'string',
15
+ required: true,
16
+ default: '',
17
+ displayOptions,
18
+ description: 'URL of the video to caption',
19
+ routing: {
20
+ send: {
21
+ type: 'body',
22
+ property: 'url',
23
+ },
24
+ },
25
+ },
26
+ {
27
+ displayName: 'Additional Fields',
28
+ name: 'additionalFields',
29
+ type: 'collection',
30
+ placeholder: 'Add Field',
31
+ default: {},
32
+ displayOptions,
33
+ options: [
34
+ {
35
+ displayName: 'Font Color',
36
+ name: 'fontColor',
37
+ type: 'color',
38
+ default: '#FFFFFF',
39
+ description: 'Color of the caption text (hex format)',
40
+ routing: {
41
+ send: {
42
+ type: 'body',
43
+ property: 'font_color',
44
+ },
45
+ },
46
+ },
47
+ {
48
+ displayName: 'Font Size',
49
+ name: 'fontSize',
50
+ type: 'number',
51
+ typeOptions: { minValue: 8, maxValue: 120 },
52
+ default: 24,
53
+ description: 'Font size for the captions (8-120)',
54
+ routing: {
55
+ send: {
56
+ type: 'body',
57
+ property: 'font_size',
58
+ },
59
+ },
60
+ },
61
+ {
62
+ displayName: 'Max Segment Duration',
63
+ name: 'maxSegmentDuration',
64
+ type: 'number',
65
+ default: 5,
66
+ description: 'Maximum duration of each caption segment in seconds',
67
+ routing: {
68
+ send: {
69
+ type: 'body',
70
+ property: 'max_segment_duration',
71
+ },
72
+ },
73
+ },
74
+ {
75
+ displayName: 'Max Words Per Line',
76
+ name: 'maxWordsPerLine',
77
+ type: 'number',
78
+ default: 7,
79
+ description: 'Maximum number of words per caption line',
80
+ routing: {
81
+ send: {
82
+ type: 'body',
83
+ property: 'max_words_per_line',
84
+ },
85
+ },
86
+ },
87
+ {
88
+ displayName: 'Outline Color',
89
+ name: 'outlineColor',
90
+ type: 'color',
91
+ default: '#000000',
92
+ description: 'Color of the text outline (hex format)',
93
+ routing: {
94
+ send: {
95
+ type: 'body',
96
+ property: 'outline_color',
97
+ },
98
+ },
99
+ },
100
+ {
101
+ displayName: 'Outline Width',
102
+ name: 'outlineWidth',
103
+ type: 'number',
104
+ default: 2,
105
+ description: 'Width of the text outline',
106
+ routing: {
107
+ send: {
108
+ type: 'body',
109
+ property: 'outline_width',
110
+ },
111
+ },
112
+ },
113
+ {
114
+ displayName: 'Position',
115
+ name: 'position',
116
+ type: 'options',
117
+ default: 'bottom',
118
+ options: [
119
+ { name: 'Bottom', value: 'bottom' },
120
+ { name: 'Top', value: 'top' },
121
+ { name: 'Center', value: 'center' },
122
+ ],
123
+ description: 'Position of the captions on the video',
124
+ routing: {
125
+ send: {
126
+ type: 'body',
127
+ property: 'position',
128
+ },
129
+ },
130
+ },
131
+ ],
132
+ },
133
+ ];
@@ -0,0 +1,2 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const extractAudioDescription: INodeProperties[];