@lee-jisoo/n8n-nodes-mediafx 1.6.0 → 1.6.2

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 (54) hide show
  1. package/dist/fonts/DejaVuSans.ttf +0 -0
  2. package/dist/fonts/Inter-Regular.ttf +0 -0
  3. package/dist/fonts/NanumGothic-Regular.ttf +0 -0
  4. package/dist/fonts/NotoSansKR-Regular.ttf +0 -0
  5. package/dist/fonts/Pretendard-Regular.otf +0 -0
  6. package/dist/fonts/Roboto-Regular.ttf +0 -0
  7. package/dist/nodes/MediaFX/MediaFX.node.d.ts +12 -0
  8. package/dist/nodes/MediaFX/MediaFX.node.js +559 -0
  9. package/dist/nodes/MediaFX/mediafx.png +0 -0
  10. package/dist/nodes/MediaFX/operations/addSubtitle.d.ts +2 -0
  11. package/dist/nodes/MediaFX/operations/addSubtitle.js +202 -0
  12. package/dist/nodes/MediaFX/operations/addText.d.ts +2 -0
  13. package/dist/nodes/MediaFX/operations/addText.js +108 -0
  14. package/dist/nodes/MediaFX/operations/extractAudio.d.ts +2 -0
  15. package/dist/nodes/MediaFX/operations/extractAudio.js +57 -0
  16. package/dist/nodes/MediaFX/operations/imageToVideo.d.ts +5 -0
  17. package/dist/nodes/MediaFX/operations/imageToVideo.js +65 -0
  18. package/dist/nodes/MediaFX/operations/index.d.ts +13 -0
  19. package/dist/nodes/MediaFX/operations/index.js +29 -0
  20. package/dist/nodes/MediaFX/operations/merge.d.ts +2 -0
  21. package/dist/nodes/MediaFX/operations/merge.js +121 -0
  22. package/dist/nodes/MediaFX/operations/mixAudio.d.ts +2 -0
  23. package/dist/nodes/MediaFX/operations/mixAudio.js +141 -0
  24. package/dist/nodes/MediaFX/operations/multiVideoTransition.d.ts +2 -0
  25. package/dist/nodes/MediaFX/operations/multiVideoTransition.js +245 -0
  26. package/dist/nodes/MediaFX/operations/overlayVideo.d.ts +16 -0
  27. package/dist/nodes/MediaFX/operations/overlayVideo.js +240 -0
  28. package/dist/nodes/MediaFX/operations/separateAudio.d.ts +17 -0
  29. package/dist/nodes/MediaFX/operations/separateAudio.js +78 -0
  30. package/dist/nodes/MediaFX/operations/singleVideoFade.d.ts +2 -0
  31. package/dist/nodes/MediaFX/operations/singleVideoFade.js +60 -0
  32. package/dist/nodes/MediaFX/operations/speed.d.ts +12 -0
  33. package/dist/nodes/MediaFX/operations/speed.js +110 -0
  34. package/dist/nodes/MediaFX/operations/stampImage.d.ts +2 -0
  35. package/dist/nodes/MediaFX/operations/stampImage.js +146 -0
  36. package/dist/nodes/MediaFX/operations/trim.d.ts +2 -0
  37. package/dist/nodes/MediaFX/operations/trim.js +49 -0
  38. package/dist/nodes/MediaFX/properties/audio.properties.d.ts +2 -0
  39. package/dist/nodes/MediaFX/properties/audio.properties.js +394 -0
  40. package/dist/nodes/MediaFX/properties/font.properties.d.ts +2 -0
  41. package/dist/nodes/MediaFX/properties/font.properties.js +186 -0
  42. package/dist/nodes/MediaFX/properties/image.properties.d.ts +2 -0
  43. package/dist/nodes/MediaFX/properties/image.properties.js +333 -0
  44. package/dist/nodes/MediaFX/properties/resources.properties.d.ts +2 -0
  45. package/dist/nodes/MediaFX/properties/resources.properties.js +34 -0
  46. package/dist/nodes/MediaFX/properties/subtitle.properties.d.ts +2 -0
  47. package/dist/nodes/MediaFX/properties/subtitle.properties.js +361 -0
  48. package/dist/nodes/MediaFX/properties/video.properties.d.ts +2 -0
  49. package/dist/nodes/MediaFX/properties/video.properties.js +1135 -0
  50. package/dist/nodes/MediaFX/utils/ffmpegVersion.d.ts +14 -0
  51. package/dist/nodes/MediaFX/utils/ffmpegVersion.js +97 -0
  52. package/dist/nodes/MediaFX/utils.d.ts +43 -0
  53. package/dist/nodes/MediaFX/utils.js +410 -0
  54. package/package.json +1 -1
@@ -0,0 +1,333 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.imageProperties = void 0;
4
+ exports.imageProperties = [
5
+ // Image Operations
6
+ {
7
+ displayName: 'Operation',
8
+ name: 'operation',
9
+ type: 'options',
10
+ noDataExpression: true,
11
+ displayOptions: {
12
+ show: {
13
+ resource: ['image'],
14
+ },
15
+ },
16
+ options: [
17
+ {
18
+ name: 'To Video',
19
+ value: 'imageToVideo',
20
+ description: 'Create a video from a static image for a specified duration',
21
+ },
22
+ {
23
+ name: 'Stamp',
24
+ value: 'stampImage',
25
+ description: 'Overlay an image (stamp/watermark) onto a video',
26
+ },
27
+ ],
28
+ default: 'imageToVideo',
29
+ },
30
+ // =============================
31
+ // == IMAGE TO VIDEO FIELDS ==
32
+ // =============================
33
+ {
34
+ displayName: 'Source Image',
35
+ name: 'sourceImage',
36
+ type: 'fixedCollection',
37
+ placeholder: 'Add Image Source',
38
+ displayOptions: {
39
+ show: {
40
+ resource: ['image'],
41
+ operation: ['imageToVideo'],
42
+ },
43
+ },
44
+ default: {},
45
+ options: [
46
+ {
47
+ displayName: 'Source',
48
+ name: 'source',
49
+ values: [
50
+ {
51
+ displayName: 'Source Type', name: 'sourceType', type: 'options',
52
+ options: [{ name: 'URL', value: 'url' }, { name: 'Binary Data', value: 'binary' }],
53
+ default: 'url',
54
+ },
55
+ { displayName: 'Value', name: 'value', type: 'string', default: '', placeholder: 'https://example.com/image.png', displayOptions: { show: { sourceType: ['url'] } } },
56
+ { displayName: 'Binary Property', name: 'binaryProperty', type: 'string', default: 'data', displayOptions: { show: { sourceType: ['binary'] } } },
57
+ ],
58
+ },
59
+ ],
60
+ },
61
+ {
62
+ displayName: 'Duration (seconds)',
63
+ name: 'duration',
64
+ type: 'number',
65
+ default: 5,
66
+ required: true,
67
+ typeOptions: {
68
+ minValue: 0.1,
69
+ },
70
+ displayOptions: {
71
+ show: {
72
+ resource: ['image'],
73
+ operation: ['imageToVideo'],
74
+ },
75
+ },
76
+ description: 'The duration of the output video in seconds',
77
+ },
78
+ {
79
+ displayName: 'Video Size',
80
+ name: 'videoSize',
81
+ type: 'collection',
82
+ placeholder: 'Add Size',
83
+ default: {},
84
+ displayOptions: {
85
+ show: {
86
+ resource: ['image'],
87
+ operation: ['imageToVideo'],
88
+ },
89
+ },
90
+ description: 'Specify the output video dimensions. Defaults to the image size.',
91
+ options: [
92
+ {
93
+ displayName: 'Width',
94
+ name: 'width',
95
+ type: 'number',
96
+ typeOptions: {
97
+ minValue: 1,
98
+ },
99
+ default: 1920,
100
+ description: 'Width of the video in pixels.',
101
+ },
102
+ {
103
+ displayName: 'Height',
104
+ name: 'height',
105
+ type: 'number',
106
+ typeOptions: {
107
+ minValue: 1,
108
+ },
109
+ default: 1080,
110
+ description: 'Height of the video in pixels.',
111
+ },
112
+ ],
113
+ },
114
+ {
115
+ displayName: 'Output Format',
116
+ name: 'imageOutputFormat',
117
+ type: 'options',
118
+ displayOptions: {
119
+ show: {
120
+ resource: ['image'],
121
+ operation: ['imageToVideo'],
122
+ },
123
+ },
124
+ options: [{ name: 'MP4', value: 'mp4' }],
125
+ default: 'mp4',
126
+ },
127
+ // =============================
128
+ // == STAMP IMAGE FIELDS ==
129
+ // =============================
130
+ {
131
+ displayName: 'Source Video',
132
+ name: 'sourceVideo',
133
+ type: 'fixedCollection',
134
+ placeholder: 'Add Video Source',
135
+ displayOptions: {
136
+ show: {
137
+ resource: ['image'],
138
+ operation: ['stampImage'],
139
+ },
140
+ },
141
+ default: {},
142
+ options: [
143
+ {
144
+ displayName: 'Source',
145
+ name: 'source',
146
+ values: [
147
+ {
148
+ displayName: 'Source Type', name: 'sourceType', type: 'options',
149
+ options: [{ name: 'URL', value: 'url' }, { name: 'Binary Data', value: 'binary' }],
150
+ default: 'url',
151
+ },
152
+ { displayName: 'Value', name: 'value', type: 'string', default: '', placeholder: 'https://example.com/video.mp4', displayOptions: { show: { sourceType: ['url'] } } },
153
+ { displayName: 'Binary Property', name: 'binaryProperty', type: 'string', default: 'data', displayOptions: { show: { sourceType: ['binary'] } } },
154
+ ],
155
+ },
156
+ ],
157
+ },
158
+ {
159
+ displayName: 'Stamp Image',
160
+ name: 'stampImage',
161
+ type: 'fixedCollection',
162
+ placeholder: 'Add Stamp Image Source',
163
+ displayOptions: {
164
+ show: {
165
+ resource: ['image'],
166
+ operation: ['stampImage'],
167
+ },
168
+ },
169
+ default: {},
170
+ options: [
171
+ {
172
+ displayName: 'Source',
173
+ name: 'source',
174
+ values: [
175
+ {
176
+ displayName: 'Source Type', name: 'sourceType', type: 'options',
177
+ options: [{ name: 'URL', value: 'url' }, { name: 'Binary Data', value: 'binary' }],
178
+ default: 'url',
179
+ },
180
+ { displayName: 'Value', name: 'value', type: 'string', default: '', placeholder: 'https://example.com/stamp.png', displayOptions: { show: { sourceType: ['url'] } } },
181
+ { displayName: 'Binary Property', name: 'binaryProperty', type: 'string', default: 'data', displayOptions: { show: { sourceType: ['binary'] } } },
182
+ ],
183
+ },
184
+ ],
185
+ },
186
+ // =============================
187
+ // == STAMP OPTIONS (Individual Properties) ==
188
+ // =============================
189
+ // Size Options
190
+ {
191
+ displayName: 'Width (pixels)',
192
+ name: 'width',
193
+ type: 'number',
194
+ default: 150,
195
+ displayOptions: {
196
+ show: {
197
+ resource: ['image'],
198
+ operation: ['stampImage'],
199
+ },
200
+ },
201
+ description: 'Width of the stamp image. Use -1 to keep aspect ratio.',
202
+ },
203
+ {
204
+ displayName: 'Height (pixels)',
205
+ name: 'height',
206
+ type: 'number',
207
+ default: -1,
208
+ displayOptions: {
209
+ show: {
210
+ resource: ['image'],
211
+ operation: ['stampImage'],
212
+ },
213
+ },
214
+ description: 'Height of the stamp image. Use -1 to keep aspect ratio.',
215
+ },
216
+ // Position Options
217
+ {
218
+ displayName: 'Position X',
219
+ name: 'x',
220
+ type: 'string',
221
+ default: '10',
222
+ displayOptions: {
223
+ show: {
224
+ resource: ['image'],
225
+ operation: ['stampImage'],
226
+ },
227
+ },
228
+ description: "Position from left. E.g., '10' (pixels) or '(main_w-overlay_w)-10' (right align).",
229
+ },
230
+ {
231
+ displayName: 'Position Y',
232
+ name: 'y',
233
+ type: 'string',
234
+ default: '10',
235
+ displayOptions: {
236
+ show: {
237
+ resource: ['image'],
238
+ operation: ['stampImage'],
239
+ },
240
+ },
241
+ description: "Position from top. E.g., '10' (pixels) or '(main_h-overlay_h)-10' (bottom align).",
242
+ },
243
+ {
244
+ displayName: 'Rotation (degrees)',
245
+ name: 'rotation',
246
+ type: 'number',
247
+ default: 0,
248
+ displayOptions: {
249
+ show: {
250
+ resource: ['image'],
251
+ operation: ['stampImage'],
252
+ },
253
+ },
254
+ description: 'Rotation angle of the stamp in degrees (clockwise).',
255
+ },
256
+ // Time Control Options
257
+ {
258
+ displayName: 'Enable Time Control',
259
+ name: 'enableTimeControl',
260
+ type: 'boolean',
261
+ default: false,
262
+ displayOptions: {
263
+ show: {
264
+ resource: ['image'],
265
+ operation: ['stampImage'],
266
+ },
267
+ },
268
+ description: 'Control when the stamp appears and disappears',
269
+ },
270
+ {
271
+ displayName: 'Start Time (seconds)',
272
+ name: 'startTime',
273
+ type: 'number',
274
+ default: 0,
275
+ displayOptions: {
276
+ show: {
277
+ resource: ['image'],
278
+ operation: ['stampImage'],
279
+ enableTimeControl: [true],
280
+ },
281
+ },
282
+ description: 'When the stamp should start appearing',
283
+ },
284
+ {
285
+ displayName: 'End Time (seconds)',
286
+ name: 'endTime',
287
+ type: 'number',
288
+ default: 5,
289
+ displayOptions: {
290
+ show: {
291
+ resource: ['image'],
292
+ operation: ['stampImage'],
293
+ enableTimeControl: [true],
294
+ },
295
+ },
296
+ description: 'When the stamp should stop appearing. Leave empty for entire video duration.',
297
+ },
298
+ // Opacity Control
299
+ {
300
+ displayName: 'Opacity',
301
+ name: 'opacity',
302
+ type: 'number',
303
+ default: 1.0,
304
+ typeOptions: {
305
+ minValue: 0,
306
+ maxValue: 1,
307
+ numberStepSize: 0.1,
308
+ },
309
+ displayOptions: {
310
+ show: {
311
+ resource: ['image'],
312
+ operation: ['stampImage'],
313
+ },
314
+ },
315
+ description: 'Opacity of the stamp (0.0 = transparent, 1.0 = opaque)',
316
+ },
317
+ // ===================
318
+ // OUTPUT FIELD NAME
319
+ // ===================
320
+ {
321
+ displayName: 'Output Field Name',
322
+ name: 'outputFieldName',
323
+ type: 'string',
324
+ displayOptions: {
325
+ show: {
326
+ resource: ['image'],
327
+ },
328
+ },
329
+ default: 'data',
330
+ description: 'Name of the binary property where the output video will be stored',
331
+ placeholder: 'data',
332
+ },
333
+ ];
@@ -0,0 +1,2 @@
1
+ import { INodeProperties } from 'n8n-workflow';
2
+ export declare const resourceSelection: INodeProperties[];
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resourceSelection = void 0;
4
+ exports.resourceSelection = [
5
+ {
6
+ displayName: 'Resource',
7
+ name: 'resource',
8
+ type: 'options',
9
+ noDataExpression: true,
10
+ options: [
11
+ {
12
+ name: 'Video',
13
+ value: 'video',
14
+ },
15
+ {
16
+ name: 'Audio',
17
+ value: 'audio',
18
+ },
19
+ {
20
+ name: 'Text',
21
+ value: 'subtitle',
22
+ },
23
+ {
24
+ name: 'Image',
25
+ value: 'image',
26
+ },
27
+ {
28
+ name: 'Font',
29
+ value: 'font',
30
+ },
31
+ ],
32
+ default: 'video',
33
+ },
34
+ ];
@@ -0,0 +1,2 @@
1
+ import { INodeProperties } from 'n8n-workflow';
2
+ export declare const subtitleProperties: INodeProperties[];