@apergrex/n8n-nodes-franklab 0.1.2 → 0.2.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 +144 -7
- package/dist/nodes/Alibaba/Alibaba.node.json +10 -0
- package/dist/nodes/Alibaba/FrankLabAlibaba.node.d.ts +5 -0
- package/dist/nodes/Alibaba/FrankLabAlibaba.node.js +167 -0
- package/dist/nodes/Alibaba/FrankLabAlibaba.node.js.map +1 -0
- package/dist/nodes/Alibaba/alibaba.svg +4 -0
- package/dist/nodes/Aries/Aries.node.json +10 -0
- package/dist/nodes/Aries/FrankLabAries.node.d.ts +5 -0
- package/dist/nodes/Aries/FrankLabAries.node.js +48 -0
- package/dist/nodes/Aries/FrankLabAries.node.js.map +1 -0
- package/dist/nodes/Aries/aries.svg +6 -0
- package/dist/nodes/C2pa/FrankLabC2pa.node.js +1 -0
- package/dist/nodes/C2pa/FrankLabC2pa.node.js.map +1 -1
- package/dist/nodes/Dola/Dola.node.json +10 -0
- package/dist/nodes/Dola/FrankLabDola.node.d.ts +5 -0
- package/dist/nodes/Dola/FrankLabDola.node.js +155 -0
- package/dist/nodes/Dola/FrankLabDola.node.js.map +1 -0
- package/dist/nodes/Dola/dola.svg +6 -0
- package/dist/nodes/Holst/FrankLabHolst.node.js +9 -12
- package/dist/nodes/Holst/FrankLabHolst.node.js.map +1 -1
- package/dist/nodes/HotCoffe/FrankLabHotCoffe.node.d.ts +5 -0
- package/dist/nodes/HotCoffe/FrankLabHotCoffe.node.js +129 -0
- package/dist/nodes/HotCoffe/FrankLabHotCoffe.node.js.map +1 -0
- package/dist/nodes/HotCoffe/HotCoffe.node.json +10 -0
- package/dist/nodes/HotCoffe/hotcoffe.svg +6 -0
- package/dist/nodes/Jupiter/FrankLabJupiter.node.d.ts +5 -0
- package/dist/nodes/Jupiter/FrankLabJupiter.node.js +132 -0
- package/dist/nodes/Jupiter/FrankLabJupiter.node.js.map +1 -0
- package/dist/nodes/Jupiter/Jupiter.node.json +10 -0
- package/dist/nodes/Jupiter/jupiter.svg +7 -0
- package/dist/nodes/Kley/FrankLabKley.node.js +1 -0
- package/dist/nodes/Kley/FrankLabKley.node.js.map +1 -1
- package/dist/nodes/Kusok/FrankLabKusok.node.d.ts +5 -0
- package/dist/nodes/Kusok/FrankLabKusok.node.js +188 -0
- package/dist/nodes/Kusok/FrankLabKusok.node.js.map +1 -0
- package/dist/nodes/Kusok/Kusok.node.json +10 -0
- package/dist/nodes/Kusok/kusok.svg +7 -0
- package/dist/nodes/Mars/FrankLabMars.node.d.ts +5 -0
- package/dist/nodes/Mars/FrankLabMars.node.js +178 -0
- package/dist/nodes/Mars/FrankLabMars.node.js.map +1 -0
- package/dist/nodes/Mars/Mars.node.json +10 -0
- package/dist/nodes/Mars/mars.svg +6 -0
- package/dist/nodes/Mercury/FrankLabMercury.node.d.ts +5 -0
- package/dist/nodes/Mercury/FrankLabMercury.node.js +84 -0
- package/dist/nodes/Mercury/FrankLabMercury.node.js.map +1 -0
- package/dist/nodes/Mercury/Mercury.node.json +10 -0
- package/dist/nodes/Mercury/mercury.svg +6 -0
- package/dist/nodes/Minimax/FrankLabMinimax.node.d.ts +5 -0
- package/dist/nodes/Minimax/FrankLabMinimax.node.js +157 -0
- package/dist/nodes/Minimax/FrankLabMinimax.node.js.map +1 -0
- package/dist/nodes/Minimax/Minimax.node.json +10 -0
- package/dist/nodes/Minimax/minimax.svg +5 -0
- package/dist/nodes/Moon/FrankLabMoon.node.d.ts +5 -0
- package/dist/nodes/Moon/FrankLabMoon.node.js +132 -0
- package/dist/nodes/Moon/FrankLabMoon.node.js.map +1 -0
- package/dist/nodes/Moon/Moon.node.json +10 -0
- package/dist/nodes/Moon/moon.svg +5 -0
- package/dist/nodes/Neptune/FrankLabNeptune.node.d.ts +5 -0
- package/dist/nodes/Neptune/FrankLabNeptune.node.js +80 -0
- package/dist/nodes/Neptune/FrankLabNeptune.node.js.map +1 -0
- package/dist/nodes/Neptune/Neptune.node.json +10 -0
- package/dist/nodes/Neptune/neptune.svg +5 -0
- package/dist/nodes/Omni/FrankLabOmni.node.d.ts +5 -0
- package/dist/nodes/Omni/FrankLabOmni.node.js +194 -0
- package/dist/nodes/Omni/FrankLabOmni.node.js.map +1 -0
- package/dist/nodes/Omni/Omni.node.json +10 -0
- package/dist/nodes/Omni/omni.svg +6 -0
- package/dist/nodes/Orkestr/FrankLabOrkestr.node.d.ts +5 -0
- package/dist/nodes/Orkestr/FrankLabOrkestr.node.js +243 -0
- package/dist/nodes/Orkestr/FrankLabOrkestr.node.js.map +1 -0
- package/dist/nodes/Orkestr/Orkestr.node.json +10 -0
- package/dist/nodes/Orkestr/orkestr.svg +6 -0
- package/dist/nodes/Plastinka/FrankLabPlastinka.node.js +1 -0
- package/dist/nodes/Plastinka/FrankLabPlastinka.node.js.map +1 -1
- package/dist/nodes/Pluto/FrankLabPluto.node.d.ts +5 -0
- package/dist/nodes/Pluto/FrankLabPluto.node.js +74 -0
- package/dist/nodes/Pluto/FrankLabPluto.node.js.map +1 -0
- package/dist/nodes/Pluto/Pluto.node.json +10 -0
- package/dist/nodes/Pluto/pluto.svg +6 -0
- package/dist/nodes/Saturn/FrankLabSaturn.node.d.ts +5 -0
- package/dist/nodes/Saturn/FrankLabSaturn.node.js +117 -0
- package/dist/nodes/Saturn/FrankLabSaturn.node.js.map +1 -0
- package/dist/nodes/Saturn/Saturn.node.json +10 -0
- package/dist/nodes/Saturn/saturn.svg +5 -0
- package/dist/nodes/Sufler/FrankLabSufler.node.d.ts +5 -0
- package/dist/nodes/Sufler/FrankLabSufler.node.js +129 -0
- package/dist/nodes/Sufler/FrankLabSufler.node.js.map +1 -0
- package/dist/nodes/Sufler/Sufler.node.json +10 -0
- package/dist/nodes/Sufler/sufler.svg +6 -0
- package/dist/nodes/TextSticker/FrankLabTextSticker.node.d.ts +5 -0
- package/dist/nodes/TextSticker/FrankLabTextSticker.node.js +89 -0
- package/dist/nodes/TextSticker/FrankLabTextSticker.node.js.map +1 -0
- package/dist/nodes/TextSticker/TextSticker.node.json +10 -0
- package/dist/nodes/TextSticker/textsticker.svg +8 -0
- package/dist/nodes/Titan/FrankLabTitan.node.d.ts +5 -0
- package/dist/nodes/Titan/FrankLabTitan.node.js +85 -0
- package/dist/nodes/Titan/FrankLabTitan.node.js.map +1 -0
- package/dist/nodes/Titan/Titan.node.json +10 -0
- package/dist/nodes/Titan/titan.svg +7 -0
- package/dist/nodes/Venus/FrankLabVenus.node.d.ts +5 -0
- package/dist/nodes/Venus/FrankLabVenus.node.js +95 -0
- package/dist/nodes/Venus/FrankLabVenus.node.js.map +1 -0
- package/dist/nodes/Venus/Venus.node.json +10 -0
- package/dist/nodes/Venus/venus.svg +7 -0
- package/dist/nodes/Volna/FrankLabVolna.node.js +1 -0
- package/dist/nodes/Volna/FrankLabVolna.node.js.map +1 -1
- package/dist/nodes/X/FrankLabX.node.d.ts +5 -0
- package/dist/nodes/X/FrankLabX.node.js +133 -0
- package/dist/nodes/X/FrankLabX.node.js.map +1 -0
- package/dist/nodes/X/X.node.json +10 -0
- package/dist/nodes/X/x.svg +4 -0
- package/dist/nodes/shared/client.js +34 -9
- package/dist/nodes/shared/client.js.map +1 -1
- package/dist/nodes/shared/node-utils.d.ts +1 -0
- package/dist/nodes/shared/node-utils.js +233 -21
- package/dist/nodes/shared/node-utils.js.map +1 -1
- package/dist/nodes/shared/registry.d.ts +4 -2
- package/dist/nodes/shared/registry.js +325 -0
- package/dist/nodes/shared/registry.js.map +1 -1
- package/dist/nodes/shared/url.d.ts +1 -1
- package/dist/nodes/shared/url.js +9 -7
- package/dist/nodes/shared/url.js.map +1 -1
- package/dist/package.json +52 -15
- package/examples/moon-text-to-video.workflow.json +21 -0
- package/examples/saturn-turbo-video.workflow.json +20 -0
- package/package.json +52 -15
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FrankLabKusok = void 0;
|
|
4
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
5
|
+
const node_utils_1 = require("../shared/node-utils");
|
|
6
|
+
const elementIdProperty = {
|
|
7
|
+
displayName: 'Element ID',
|
|
8
|
+
name: 'id',
|
|
9
|
+
type: 'string',
|
|
10
|
+
default: '',
|
|
11
|
+
required: true,
|
|
12
|
+
displayOptions: {
|
|
13
|
+
show: {
|
|
14
|
+
operation: ['getElement', 'deleteElement', 'getAdvancedPreset'],
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
const voiceIdProperty = {
|
|
19
|
+
displayName: 'Voice ID',
|
|
20
|
+
name: 'voiceId',
|
|
21
|
+
type: 'string',
|
|
22
|
+
default: '',
|
|
23
|
+
required: true,
|
|
24
|
+
displayOptions: {
|
|
25
|
+
show: {
|
|
26
|
+
operation: ['getVoice', 'deleteVoice', 'getCustomVoice'],
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
const kusokFields = [
|
|
31
|
+
{
|
|
32
|
+
displayName: 'Image URL',
|
|
33
|
+
name: 'image_url',
|
|
34
|
+
type: 'string',
|
|
35
|
+
default: '',
|
|
36
|
+
required: true,
|
|
37
|
+
description: 'Public http(s) portrait image, sent as the first refer_images entry',
|
|
38
|
+
displayOptions: { show: { operation: ['createElement', 'createElementAsync'] } },
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
displayName: 'Element Name',
|
|
42
|
+
name: 'element_name',
|
|
43
|
+
type: 'string',
|
|
44
|
+
default: '',
|
|
45
|
+
required: true,
|
|
46
|
+
displayOptions: { show: { operation: ['createElement', 'createElementAsync'] } },
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
displayName: 'Element Description',
|
|
50
|
+
name: 'element_description',
|
|
51
|
+
type: 'string',
|
|
52
|
+
typeOptions: { rows: 3 },
|
|
53
|
+
default: '',
|
|
54
|
+
required: true,
|
|
55
|
+
displayOptions: { show: { operation: ['createElement', 'createElementAsync'] } },
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
displayName: 'Reference Type',
|
|
59
|
+
name: 'reference_type',
|
|
60
|
+
type: 'options',
|
|
61
|
+
noDataExpression: true,
|
|
62
|
+
default: 'image_refer',
|
|
63
|
+
options: [
|
|
64
|
+
{ name: 'Image', value: 'image', action: 'Use an image reference' },
|
|
65
|
+
{ name: 'Image Refer', value: 'image_refer', action: 'Use an image refer reference' },
|
|
66
|
+
{ name: 'Img', value: 'img', action: 'Use an img reference' },
|
|
67
|
+
{ name: 'Vid', value: 'vid', action: 'Use a vid reference' },
|
|
68
|
+
{ name: 'Video', value: 'video', action: 'Use a video reference' },
|
|
69
|
+
{ name: 'Video Refer', value: 'video_refer', action: 'Use a video refer reference' },
|
|
70
|
+
],
|
|
71
|
+
required: true,
|
|
72
|
+
displayOptions: { show: { operation: ['createElement', 'createElementAsync'] } },
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
displayName: 'Image URL',
|
|
76
|
+
name: 'image',
|
|
77
|
+
type: 'string',
|
|
78
|
+
default: '',
|
|
79
|
+
required: true,
|
|
80
|
+
description: 'Public http(s) URL of the portrait image to recognize',
|
|
81
|
+
displayOptions: { show: { operation: ['recognize', 'recognizeAsync'] } },
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
displayName: 'Voice Name',
|
|
85
|
+
name: 'voice_name',
|
|
86
|
+
type: 'string',
|
|
87
|
+
default: '',
|
|
88
|
+
required: true,
|
|
89
|
+
displayOptions: { show: { operation: ['createVoice'] } },
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
displayName: 'Voice URL',
|
|
93
|
+
name: 'voice_url',
|
|
94
|
+
type: 'string',
|
|
95
|
+
default: '',
|
|
96
|
+
description: 'Optional public http(s) URL of the voice sample instead of Additional JSON audio list',
|
|
97
|
+
displayOptions: { show: { operation: ['createVoice'] } },
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
displayName: 'Page Number',
|
|
101
|
+
name: 'pageNum',
|
|
102
|
+
type: 'number',
|
|
103
|
+
default: '',
|
|
104
|
+
description: 'Optional results page for List Elements',
|
|
105
|
+
displayOptions: { show: { operation: ['listElements', 'listVoices', 'listPresetVoices', 'listTags', 'listElementVoices', 'listAdvancedPresets', 'listCustomVoices'] } },
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
displayName: 'Page Size',
|
|
109
|
+
name: 'pageSize',
|
|
110
|
+
type: 'number',
|
|
111
|
+
default: '',
|
|
112
|
+
description: 'Optional page size for list operations',
|
|
113
|
+
displayOptions: { show: { operation: ['listElements', 'listVoices', 'listPresetVoices', 'listTags', 'listElementVoices', 'listAdvancedPresets', 'listCustomVoices'] } },
|
|
114
|
+
},
|
|
115
|
+
];
|
|
116
|
+
class FrankLabKusok {
|
|
117
|
+
constructor() {
|
|
118
|
+
this.description = {
|
|
119
|
+
displayName: 'FrankLab KUSOK',
|
|
120
|
+
name: 'frankLabKusok',
|
|
121
|
+
icon: 'file:kusok.svg',
|
|
122
|
+
subtitle: '={{$parameter["operation"]}}',
|
|
123
|
+
group: ['transform'],
|
|
124
|
+
version: 1,
|
|
125
|
+
description: 'Manage KUSOK elements and voices, recognize portrait images, and poll KUSOK tasks (requires a Kusok-capable partner key).',
|
|
126
|
+
defaults: {
|
|
127
|
+
name: 'FrankLab KUSOK',
|
|
128
|
+
},
|
|
129
|
+
inputs: [n8n_workflow_1.NodeConnectionTypes.Main],
|
|
130
|
+
outputs: [n8n_workflow_1.NodeConnectionTypes.Main],
|
|
131
|
+
credentials: [
|
|
132
|
+
{
|
|
133
|
+
name: 'frankLabApi',
|
|
134
|
+
required: true,
|
|
135
|
+
},
|
|
136
|
+
],
|
|
137
|
+
usableAsTool: true,
|
|
138
|
+
properties: [
|
|
139
|
+
{
|
|
140
|
+
displayName: 'Operation',
|
|
141
|
+
name: 'operation',
|
|
142
|
+
type: 'options',
|
|
143
|
+
noDataExpression: true,
|
|
144
|
+
default: 'createElement',
|
|
145
|
+
options: [
|
|
146
|
+
{ name: 'Create Custom Voice', value: 'createCustomVoice', action: 'Create a custom voice' },
|
|
147
|
+
{ name: 'Create Element', value: 'createElement', action: 'Create a KUSOK element' },
|
|
148
|
+
{ name: 'Create Element (Async)', value: 'createElementAsync', action: 'Create a KUSOK element asynchronously' },
|
|
149
|
+
{ name: 'Create Voice', value: 'createVoice', action: 'Create a KUSOK voice' },
|
|
150
|
+
{ name: 'Delete Custom Voices', value: 'deleteCustomVoices', action: 'Delete custom voices' },
|
|
151
|
+
{ name: 'Delete Element', value: 'deleteElement', action: 'Delete a KUSOK element' },
|
|
152
|
+
{ name: 'Delete Voice', value: 'deleteVoice', action: 'Delete a KUSOK voice' },
|
|
153
|
+
{ name: 'Get Advanced Preset', value: 'getAdvancedPreset', action: 'Get an advanced preset element' },
|
|
154
|
+
{ name: 'Get Async Task', value: 'getAsyncTask', action: 'Get a KUSOK async task' },
|
|
155
|
+
{ name: 'Get Custom Voice', value: 'getCustomVoice', action: 'Get a custom voice' },
|
|
156
|
+
{ name: 'Get Element', value: 'getElement', action: 'Get a KUSOK element' },
|
|
157
|
+
{ name: 'Get Task', value: 'getTask', action: 'Get a KUSOK task' },
|
|
158
|
+
{ name: 'Get Voice', value: 'getVoice', action: 'Get a KUSOK voice' },
|
|
159
|
+
{ name: 'List Advanced Presets', value: 'listAdvancedPresets', action: 'List advanced preset elements' },
|
|
160
|
+
{ name: 'List Custom Voices', value: 'listCustomVoices', action: 'List custom voices' },
|
|
161
|
+
{ name: 'List Element Tags', value: 'listTags', action: 'List element tags' },
|
|
162
|
+
{ name: 'List Element Voices', value: 'listElementVoices', action: 'List element voices' },
|
|
163
|
+
{ name: 'List Elements', value: 'listElements', action: 'List KUSOK elements' },
|
|
164
|
+
{ name: 'List Preset Voices', value: 'listPresetVoices', action: 'List KUSOK preset voices' },
|
|
165
|
+
{ name: 'List Voices', value: 'listVoices', action: 'List KUSOK voices' },
|
|
166
|
+
{ name: 'Recognize', value: 'recognize', action: 'Recognize a portrait image' },
|
|
167
|
+
{ name: 'Recognize (Async)', value: 'recognizeAsync', action: 'Recognize a portrait image asynchronously' },
|
|
168
|
+
],
|
|
169
|
+
},
|
|
170
|
+
...kusokFields,
|
|
171
|
+
elementIdProperty,
|
|
172
|
+
voiceIdProperty,
|
|
173
|
+
node_utils_1.jobIdProperty,
|
|
174
|
+
node_utils_1.payloadProperty,
|
|
175
|
+
node_utils_1.waitProperty,
|
|
176
|
+
],
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
async execute() {
|
|
180
|
+
return (0, node_utils_1.executeFrankLabModule)(this, 'kusok', {
|
|
181
|
+
default: 'getTask',
|
|
182
|
+
createElementAsync: 'getAsyncTask',
|
|
183
|
+
recognizeAsync: 'getAsyncTask',
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
exports.FrankLabKusok = FrankLabKusok;
|
|
188
|
+
//# sourceMappingURL=FrankLabKusok.node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FrankLabKusok.node.js","sourceRoot":"","sources":["../../../nodes/Kusok/FrankLabKusok.node.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"node": "n8n-nodes-base.frankLabKusok",
|
|
3
|
+
"nodeVersion": "1.0",
|
|
4
|
+
"codexVersion": "1.0",
|
|
5
|
+
"categories": ["Marketing & Content", "Utility"],
|
|
6
|
+
"resources": {
|
|
7
|
+
"credentialDocumentation": [{ "url": "https://github.com/d906090-rgb/n8n-nodes-franklab#credentials" }],
|
|
8
|
+
"primaryDocumentation": [{ "url": "https://github.com/d906090-rgb/n8n-nodes-franklab#kusok" }]
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" role="img" aria-label="FrankLab KUSOK">
|
|
2
|
+
<rect width="64" height="64" rx="8" fill="#111827"/>
|
|
3
|
+
<rect x="14" y="14" width="16" height="16" rx="3" fill="#38bdf8"/>
|
|
4
|
+
<rect x="34" y="14" width="16" height="16" rx="3" fill="#22c55e"/>
|
|
5
|
+
<rect x="14" y="34" width="16" height="16" rx="3" fill="#f59e0b"/>
|
|
6
|
+
<rect x="34" y="34" width="16" height="16" rx="3" fill="#f8fafc"/>
|
|
7
|
+
</svg>
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { IExecuteFunctions, INodeType, INodeTypeDescription } from 'n8n-workflow';
|
|
2
|
+
export declare class FrankLabMars implements INodeType {
|
|
3
|
+
description: INodeTypeDescription;
|
|
4
|
+
execute(this: IExecuteFunctions): Promise<import("n8n-workflow").INodeExecutionData[][]>;
|
|
5
|
+
}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FrankLabMars = void 0;
|
|
4
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
5
|
+
const node_utils_1 = require("../shared/node-utils");
|
|
6
|
+
const videoFields = [
|
|
7
|
+
{
|
|
8
|
+
displayName: 'Prompt',
|
|
9
|
+
name: 'prompt',
|
|
10
|
+
type: 'string',
|
|
11
|
+
typeOptions: { rows: 4 },
|
|
12
|
+
default: '',
|
|
13
|
+
required: true,
|
|
14
|
+
displayOptions: { show: { operation: ['textToVideo'] } },
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
displayName: 'Prompt',
|
|
18
|
+
name: 'prompt',
|
|
19
|
+
type: 'string',
|
|
20
|
+
typeOptions: { rows: 4 },
|
|
21
|
+
default: '',
|
|
22
|
+
displayOptions: { show: { operation: ['imageToVideo', 'motionControl'] } },
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
displayName: 'Image URL',
|
|
26
|
+
name: 'image',
|
|
27
|
+
type: 'string',
|
|
28
|
+
default: '',
|
|
29
|
+
required: true,
|
|
30
|
+
description: 'Public http(s) URL of the first frame or effects image',
|
|
31
|
+
displayOptions: { show: { operation: ['imageToVideo', 'effects'] } },
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
displayName: 'Video URL',
|
|
35
|
+
name: 'video_url',
|
|
36
|
+
type: 'string',
|
|
37
|
+
default: '',
|
|
38
|
+
required: true,
|
|
39
|
+
description: 'Public http(s) URL of the source video',
|
|
40
|
+
displayOptions: { show: { operation: ['motionControl'] } },
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
displayName: 'Reference Frame URL',
|
|
44
|
+
name: 'image_url',
|
|
45
|
+
type: 'string',
|
|
46
|
+
default: '',
|
|
47
|
+
required: true,
|
|
48
|
+
description: 'Public http(s) URL of the anchor frame for motion control',
|
|
49
|
+
displayOptions: { show: { operation: ['motionControl'] } },
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
displayName: 'Effect Scene',
|
|
53
|
+
name: 'effect_scene',
|
|
54
|
+
type: 'options',
|
|
55
|
+
noDataExpression: true,
|
|
56
|
+
default: 'single_character',
|
|
57
|
+
options: [
|
|
58
|
+
{ name: 'Dual Character', value: 'dual_character', action: 'Use the dual character effect scene' },
|
|
59
|
+
{ name: 'Single Character', value: 'single_character', action: 'Use the single character effect scene' },
|
|
60
|
+
],
|
|
61
|
+
displayOptions: { show: { operation: ['effects'] } },
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
displayName: 'Effect',
|
|
65
|
+
name: 'effect',
|
|
66
|
+
type: 'string',
|
|
67
|
+
default: '',
|
|
68
|
+
required: true,
|
|
69
|
+
description: 'Effect identifier applied to the scene',
|
|
70
|
+
displayOptions: { show: { operation: ['effects'] } },
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
displayName: 'Tail Image URL',
|
|
74
|
+
name: 'image_tail',
|
|
75
|
+
type: 'string',
|
|
76
|
+
default: '',
|
|
77
|
+
description: 'Optional public http(s) URL of the tail frame image',
|
|
78
|
+
displayOptions: { show: { operation: ['effects'] } },
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
displayName: 'Aspect Ratio',
|
|
82
|
+
name: 'aspect_ratio',
|
|
83
|
+
type: 'string',
|
|
84
|
+
default: '',
|
|
85
|
+
displayOptions: { show: { operation: ['textToVideo', 'imageToVideo'] } },
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
displayName: 'Duration',
|
|
89
|
+
name: 'duration',
|
|
90
|
+
type: 'number',
|
|
91
|
+
default: '',
|
|
92
|
+
required: true,
|
|
93
|
+
description: 'Video duration in seconds (3-15)',
|
|
94
|
+
displayOptions: { show: { operation: ['textToVideo', 'imageToVideo'] } },
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
displayName: 'Duration',
|
|
98
|
+
name: 'duration',
|
|
99
|
+
type: 'string',
|
|
100
|
+
default: '',
|
|
101
|
+
required: true,
|
|
102
|
+
description: 'Motion control duration in seconds (3-30) as a string',
|
|
103
|
+
displayOptions: { show: { operation: ['motionControl'] } },
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
displayName: 'Model',
|
|
107
|
+
name: 'model',
|
|
108
|
+
type: 'string',
|
|
109
|
+
default: '',
|
|
110
|
+
description: 'Optional model ID',
|
|
111
|
+
displayOptions: { show: { operation: ['textToVideo', 'imageToVideo'] } },
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
displayName: 'Negative Prompt',
|
|
115
|
+
name: 'negative_prompt',
|
|
116
|
+
type: 'string',
|
|
117
|
+
default: '',
|
|
118
|
+
displayOptions: { show: { operation: ['textToVideo'] } },
|
|
119
|
+
},
|
|
120
|
+
];
|
|
121
|
+
class FrankLabMars {
|
|
122
|
+
constructor() {
|
|
123
|
+
this.description = {
|
|
124
|
+
displayName: 'FrankLab MARS',
|
|
125
|
+
name: 'frankLabMars',
|
|
126
|
+
icon: 'file:mars.svg',
|
|
127
|
+
subtitle: '={{$parameter["operation"]}}',
|
|
128
|
+
group: ['transform'],
|
|
129
|
+
version: 1,
|
|
130
|
+
description: 'Generate videos from text or images, apply effects and motion control with FrankLab MARS.',
|
|
131
|
+
defaults: {
|
|
132
|
+
name: 'FrankLab MARS',
|
|
133
|
+
},
|
|
134
|
+
inputs: [n8n_workflow_1.NodeConnectionTypes.Main],
|
|
135
|
+
outputs: [n8n_workflow_1.NodeConnectionTypes.Main],
|
|
136
|
+
credentials: [
|
|
137
|
+
{
|
|
138
|
+
name: 'frankLabApi',
|
|
139
|
+
required: true,
|
|
140
|
+
},
|
|
141
|
+
],
|
|
142
|
+
usableAsTool: true,
|
|
143
|
+
properties: [
|
|
144
|
+
{
|
|
145
|
+
displayName: 'Operation',
|
|
146
|
+
name: 'operation',
|
|
147
|
+
type: 'options',
|
|
148
|
+
noDataExpression: true,
|
|
149
|
+
default: 'textToVideo',
|
|
150
|
+
options: [
|
|
151
|
+
{ name: 'Get Image Video Status', value: 'getImageStatus', action: 'Get an image to video task status' },
|
|
152
|
+
{ name: 'Get Motion Status', value: 'getMotionStatus', action: 'Get a motion control task status' },
|
|
153
|
+
{ name: 'Get Text Video Status', value: 'getTextStatus', action: 'Get a text to video task status' },
|
|
154
|
+
{ name: 'Get Video Effects Status', value: 'getEffectsStatus', action: 'Get a video effects task status' },
|
|
155
|
+
{ name: 'Image to Video', value: 'imageToVideo', action: 'Generate a video from an image' },
|
|
156
|
+
{ name: 'Motion Control', value: 'motionControl', action: 'Apply motion control to a video' },
|
|
157
|
+
{ name: 'Text to Video', value: 'textToVideo', action: 'Generate a video from text' },
|
|
158
|
+
{ name: 'Video Effects', value: 'effects', action: 'Apply effects to a video' },
|
|
159
|
+
],
|
|
160
|
+
},
|
|
161
|
+
...videoFields,
|
|
162
|
+
node_utils_1.jobIdProperty,
|
|
163
|
+
node_utils_1.payloadProperty,
|
|
164
|
+
node_utils_1.waitProperty,
|
|
165
|
+
],
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
async execute() {
|
|
169
|
+
return (0, node_utils_1.executeFrankLabModule)(this, 'mars', {
|
|
170
|
+
default: 'getTextStatus',
|
|
171
|
+
imageToVideo: 'getImageStatus',
|
|
172
|
+
effects: 'getEffectsStatus',
|
|
173
|
+
motionControl: 'getMotionStatus',
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
exports.FrankLabMars = FrankLabMars;
|
|
178
|
+
//# sourceMappingURL=FrankLabMars.node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FrankLabMars.node.js","sourceRoot":"","sources":["../../../nodes/Mars/FrankLabMars.node.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"node": "n8n-nodes-base.frankLabMars",
|
|
3
|
+
"nodeVersion": "1.0",
|
|
4
|
+
"codexVersion": "1.0",
|
|
5
|
+
"categories": ["Marketing & Content"],
|
|
6
|
+
"resources": {
|
|
7
|
+
"credentialDocumentation": [{ "url": "https://github.com/d906090-rgb/n8n-nodes-franklab#credentials" }],
|
|
8
|
+
"primaryDocumentation": [{ "url": "https://github.com/d906090-rgb/n8n-nodes-franklab#mars" }]
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" role="img" aria-label="FrankLab MARS">
|
|
2
|
+
<rect width="64" height="64" rx="8" fill="#111827"/>
|
|
3
|
+
<circle cx="32" cy="32" r="14" fill="#f8734a"/>
|
|
4
|
+
<path d="M8 26c8-2 14 2 18 6" stroke="#f8fafc" stroke-width="2" fill="none"/>
|
|
5
|
+
<path d="M38 46c6-4 12-4 18-2" stroke="#f8fafc" stroke-width="2" fill="none"/>
|
|
6
|
+
</svg>
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { IExecuteFunctions, INodeType, INodeTypeDescription } from 'n8n-workflow';
|
|
2
|
+
export declare class FrankLabMercury implements INodeType {
|
|
3
|
+
description: INodeTypeDescription;
|
|
4
|
+
execute(this: IExecuteFunctions): Promise<import("n8n-workflow").INodeExecutionData[][]>;
|
|
5
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FrankLabMercury = void 0;
|
|
4
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
5
|
+
const node_utils_1 = require("../shared/node-utils");
|
|
6
|
+
const lipSyncFields = [
|
|
7
|
+
{
|
|
8
|
+
displayName: 'Video URL',
|
|
9
|
+
name: 'video_url',
|
|
10
|
+
type: 'string',
|
|
11
|
+
default: '',
|
|
12
|
+
required: true,
|
|
13
|
+
description: 'Public http(s) URL of the video to lip-sync',
|
|
14
|
+
displayOptions: { show: { operation: ['lipSync', 'advancedLipSync'] } },
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
displayName: 'Audio URL',
|
|
18
|
+
name: 'audio_url',
|
|
19
|
+
type: 'string',
|
|
20
|
+
default: '',
|
|
21
|
+
required: true,
|
|
22
|
+
description: 'Public http(s) URL of the speech audio',
|
|
23
|
+
displayOptions: { show: { operation: ['lipSync', 'advancedLipSync'] } },
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
displayName: 'Image URL',
|
|
27
|
+
name: 'image_url',
|
|
28
|
+
type: 'string',
|
|
29
|
+
default: '',
|
|
30
|
+
required: true,
|
|
31
|
+
description: 'Public http(s) image for face identification',
|
|
32
|
+
displayOptions: { show: { operation: ['identifyFace'] } },
|
|
33
|
+
},
|
|
34
|
+
];
|
|
35
|
+
class FrankLabMercury {
|
|
36
|
+
constructor() {
|
|
37
|
+
this.description = {
|
|
38
|
+
displayName: 'FrankLab MERCURY',
|
|
39
|
+
name: 'frankLabMercury',
|
|
40
|
+
icon: 'file:mercury.svg',
|
|
41
|
+
subtitle: '={{$parameter["operation"]}}',
|
|
42
|
+
group: ['transform'],
|
|
43
|
+
version: 1,
|
|
44
|
+
description: 'Lip-sync videos to speech audio and identify faces with FrankLab MERCURY.',
|
|
45
|
+
defaults: {
|
|
46
|
+
name: 'FrankLab MERCURY',
|
|
47
|
+
},
|
|
48
|
+
inputs: [n8n_workflow_1.NodeConnectionTypes.Main],
|
|
49
|
+
outputs: [n8n_workflow_1.NodeConnectionTypes.Main],
|
|
50
|
+
credentials: [
|
|
51
|
+
{
|
|
52
|
+
name: 'frankLabApi',
|
|
53
|
+
required: true,
|
|
54
|
+
},
|
|
55
|
+
],
|
|
56
|
+
usableAsTool: true,
|
|
57
|
+
properties: [
|
|
58
|
+
{
|
|
59
|
+
displayName: 'Operation',
|
|
60
|
+
name: 'operation',
|
|
61
|
+
type: 'options',
|
|
62
|
+
noDataExpression: true,
|
|
63
|
+
default: 'lipSync',
|
|
64
|
+
options: [
|
|
65
|
+
{ name: 'Advanced Lip Sync', value: 'advancedLipSync', action: 'Run an advanced lip sync' },
|
|
66
|
+
{ name: 'Get Advanced Lip Sync Status', value: 'getAdvancedLipSyncStatus', action: 'Get an advanced lip sync status' },
|
|
67
|
+
{ name: 'Get Lip Sync Status', value: 'getLipSyncStatus', action: 'Get a lip sync status' },
|
|
68
|
+
{ name: 'Identify Face', value: 'identifyFace', action: 'Identify faces in an image' },
|
|
69
|
+
{ name: 'Lip Sync', value: 'lipSync', action: 'Lip sync a video to audio' },
|
|
70
|
+
],
|
|
71
|
+
},
|
|
72
|
+
...lipSyncFields,
|
|
73
|
+
node_utils_1.jobIdProperty,
|
|
74
|
+
node_utils_1.payloadProperty,
|
|
75
|
+
node_utils_1.waitProperty,
|
|
76
|
+
],
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
async execute() {
|
|
80
|
+
return (0, node_utils_1.executeFrankLabModule)(this, 'mercury', { default: 'getLipSyncStatus', advancedLipSync: 'getAdvancedLipSyncStatus', identifyFace: '' });
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
exports.FrankLabMercury = FrankLabMercury;
|
|
84
|
+
//# sourceMappingURL=FrankLabMercury.node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FrankLabMercury.node.js","sourceRoot":"","sources":["../../../nodes/Mercury/FrankLabMercury.node.ts"],"names":[],"mappings":";;;AACA,+CAAmD;AACnD,qDAA2G;AAE3G,MAAM,aAAa,GAAsB;IACxC;QACC,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,6CAA6C;QAC1D,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,EAAE;KACvE;IACD;QACC,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,wCAAwC;QACrD,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,EAAE;KACvE;IACD;QACC,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,8CAA8C;QAC3D,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE;KACzD;CACD,CAAC;AAEF,MAAa,eAAe;IAA5B;QAEC,gBAAW,GAAyB;YACnC,WAAW,EAAE,kBAAkB;YAC/B,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,kBAAkB;YACxB,QAAQ,EAAE,8BAA8B;YACxC,KAAK,EAAE,CAAC,WAAW,CAAC;YACpB,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,2EAA2E;YACxF,QAAQ,EAAE;gBACT,IAAI,EAAE,kBAAkB;aACxB;YACD,MAAM,EAAE,CAAC,kCAAmB,CAAC,IAAI,CAAC;YAClC,OAAO,EAAE,CAAC,kCAAmB,CAAC,IAAI,CAAC;YACnC,WAAW,EAAE;gBACZ;oBACC,IAAI,EAAE,aAAa;oBACnB,QAAQ,EAAE,IAAI;iBACd;aACD;YACD,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE;gBACX;oBACC,WAAW,EAAE,WAAW;oBACxB,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,IAAI;oBACtB,OAAO,EAAE,SAAS;oBAClB,OAAO,EAAE;wBACR,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,0BAA0B,EAAE;wBAC3F,EAAE,IAAI,EAAE,8BAA8B,EAAE,KAAK,EAAE,0BAA0B,EAAE,MAAM,EAAE,iCAAiC,EAAE;wBACtH,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,uBAAuB,EAAE;wBAC3F,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,4BAA4B,EAAE;wBACtF,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,2BAA2B,EAAE;qBAC3E;iBACD;gBACD,GAAG,aAAa;gBAChB,0BAAa;gBACb,4BAAe;gBACf,yBAAY;aACZ;SACD,CAAC;IAKH,CAAC;IAHA,KAAK,CAAC,OAAO;QACZ,OAAO,IAAA,kCAAqB,EAAC,IAAI,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,0BAA0B,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/I,CAAC;CACD;AA/CD,0CA+CC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"node": "n8n-nodes-base.frankLabMercury",
|
|
3
|
+
"nodeVersion": "1.0",
|
|
4
|
+
"codexVersion": "1.0",
|
|
5
|
+
"categories": ["Marketing & Content", "Communication"],
|
|
6
|
+
"resources": {
|
|
7
|
+
"credentialDocumentation": [{ "url": "https://github.com/d906090-rgb/n8n-nodes-franklab#credentials" }],
|
|
8
|
+
"primaryDocumentation": [{ "url": "https://github.com/d906090-rgb/n8n-nodes-franklab#mercury" }]
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" role="img" aria-label="FrankLab MERCURY">
|
|
2
|
+
<rect width="64" height="64" rx="8" fill="#111827"/>
|
|
3
|
+
<circle cx="32" cy="26" r="10" fill="none" stroke="#38bdf8" stroke-width="3"/>
|
|
4
|
+
<path d="M22 52c2-10 6-14 10-14s8 4 10 14" fill="#f8fafc"/>
|
|
5
|
+
<path d="M28 30q4 4 8 0" stroke="#22c55e" stroke-width="2" fill="none"/>
|
|
6
|
+
</svg>
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { IExecuteFunctions, INodeType, INodeTypeDescription } from 'n8n-workflow';
|
|
2
|
+
export declare class FrankLabMinimax implements INodeType {
|
|
3
|
+
description: INodeTypeDescription;
|
|
4
|
+
execute(this: IExecuteFunctions): Promise<import("n8n-workflow").INodeExecutionData[][]>;
|
|
5
|
+
}
|