@apergrex/n8n-nodes-franklab 0.1.2 → 0.2.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 (126) hide show
  1. package/README.md +144 -7
  2. package/dist/nodes/Alibaba/Alibaba.node.json +10 -0
  3. package/dist/nodes/Alibaba/FrankLabAlibaba.node.d.ts +5 -0
  4. package/dist/nodes/Alibaba/FrankLabAlibaba.node.js +167 -0
  5. package/dist/nodes/Alibaba/FrankLabAlibaba.node.js.map +1 -0
  6. package/dist/nodes/Alibaba/alibaba.svg +4 -0
  7. package/dist/nodes/Aries/Aries.node.json +10 -0
  8. package/dist/nodes/Aries/FrankLabAries.node.d.ts +5 -0
  9. package/dist/nodes/Aries/FrankLabAries.node.js +48 -0
  10. package/dist/nodes/Aries/FrankLabAries.node.js.map +1 -0
  11. package/dist/nodes/Aries/aries.svg +6 -0
  12. package/dist/nodes/C2pa/FrankLabC2pa.node.js +1 -0
  13. package/dist/nodes/C2pa/FrankLabC2pa.node.js.map +1 -1
  14. package/dist/nodes/Dola/Dola.node.json +10 -0
  15. package/dist/nodes/Dola/FrankLabDola.node.d.ts +5 -0
  16. package/dist/nodes/Dola/FrankLabDola.node.js +155 -0
  17. package/dist/nodes/Dola/FrankLabDola.node.js.map +1 -0
  18. package/dist/nodes/Dola/dola.svg +6 -0
  19. package/dist/nodes/Holst/FrankLabHolst.node.js +9 -12
  20. package/dist/nodes/Holst/FrankLabHolst.node.js.map +1 -1
  21. package/dist/nodes/HotCoffe/FrankLabHotCoffe.node.d.ts +5 -0
  22. package/dist/nodes/HotCoffe/FrankLabHotCoffe.node.js +129 -0
  23. package/dist/nodes/HotCoffe/FrankLabHotCoffe.node.js.map +1 -0
  24. package/dist/nodes/HotCoffe/HotCoffe.node.json +10 -0
  25. package/dist/nodes/HotCoffe/hotcoffe.svg +6 -0
  26. package/dist/nodes/Jupiter/FrankLabJupiter.node.d.ts +5 -0
  27. package/dist/nodes/Jupiter/FrankLabJupiter.node.js +132 -0
  28. package/dist/nodes/Jupiter/FrankLabJupiter.node.js.map +1 -0
  29. package/dist/nodes/Jupiter/Jupiter.node.json +10 -0
  30. package/dist/nodes/Jupiter/jupiter.svg +7 -0
  31. package/dist/nodes/Kley/FrankLabKley.node.js +1 -0
  32. package/dist/nodes/Kley/FrankLabKley.node.js.map +1 -1
  33. package/dist/nodes/Kusok/FrankLabKusok.node.d.ts +5 -0
  34. package/dist/nodes/Kusok/FrankLabKusok.node.js +188 -0
  35. package/dist/nodes/Kusok/FrankLabKusok.node.js.map +1 -0
  36. package/dist/nodes/Kusok/Kusok.node.json +10 -0
  37. package/dist/nodes/Kusok/kusok.svg +7 -0
  38. package/dist/nodes/Mars/FrankLabMars.node.d.ts +5 -0
  39. package/dist/nodes/Mars/FrankLabMars.node.js +178 -0
  40. package/dist/nodes/Mars/FrankLabMars.node.js.map +1 -0
  41. package/dist/nodes/Mars/Mars.node.json +10 -0
  42. package/dist/nodes/Mars/mars.svg +6 -0
  43. package/dist/nodes/Mercury/FrankLabMercury.node.d.ts +5 -0
  44. package/dist/nodes/Mercury/FrankLabMercury.node.js +84 -0
  45. package/dist/nodes/Mercury/FrankLabMercury.node.js.map +1 -0
  46. package/dist/nodes/Mercury/Mercury.node.json +10 -0
  47. package/dist/nodes/Mercury/mercury.svg +6 -0
  48. package/dist/nodes/Minimax/FrankLabMinimax.node.d.ts +5 -0
  49. package/dist/nodes/Minimax/FrankLabMinimax.node.js +157 -0
  50. package/dist/nodes/Minimax/FrankLabMinimax.node.js.map +1 -0
  51. package/dist/nodes/Minimax/Minimax.node.json +10 -0
  52. package/dist/nodes/Minimax/minimax.svg +5 -0
  53. package/dist/nodes/Moon/FrankLabMoon.node.d.ts +5 -0
  54. package/dist/nodes/Moon/FrankLabMoon.node.js +132 -0
  55. package/dist/nodes/Moon/FrankLabMoon.node.js.map +1 -0
  56. package/dist/nodes/Moon/Moon.node.json +10 -0
  57. package/dist/nodes/Moon/moon.svg +5 -0
  58. package/dist/nodes/Neptune/FrankLabNeptune.node.d.ts +5 -0
  59. package/dist/nodes/Neptune/FrankLabNeptune.node.js +80 -0
  60. package/dist/nodes/Neptune/FrankLabNeptune.node.js.map +1 -0
  61. package/dist/nodes/Neptune/Neptune.node.json +10 -0
  62. package/dist/nodes/Neptune/neptune.svg +5 -0
  63. package/dist/nodes/Omni/FrankLabOmni.node.d.ts +5 -0
  64. package/dist/nodes/Omni/FrankLabOmni.node.js +194 -0
  65. package/dist/nodes/Omni/FrankLabOmni.node.js.map +1 -0
  66. package/dist/nodes/Omni/Omni.node.json +10 -0
  67. package/dist/nodes/Omni/omni.svg +6 -0
  68. package/dist/nodes/Orkestr/FrankLabOrkestr.node.d.ts +5 -0
  69. package/dist/nodes/Orkestr/FrankLabOrkestr.node.js +243 -0
  70. package/dist/nodes/Orkestr/FrankLabOrkestr.node.js.map +1 -0
  71. package/dist/nodes/Orkestr/Orkestr.node.json +10 -0
  72. package/dist/nodes/Orkestr/orkestr.svg +6 -0
  73. package/dist/nodes/Plastinka/FrankLabPlastinka.node.js +1 -0
  74. package/dist/nodes/Plastinka/FrankLabPlastinka.node.js.map +1 -1
  75. package/dist/nodes/Pluto/FrankLabPluto.node.d.ts +5 -0
  76. package/dist/nodes/Pluto/FrankLabPluto.node.js +74 -0
  77. package/dist/nodes/Pluto/FrankLabPluto.node.js.map +1 -0
  78. package/dist/nodes/Pluto/Pluto.node.json +10 -0
  79. package/dist/nodes/Pluto/pluto.svg +6 -0
  80. package/dist/nodes/Saturn/FrankLabSaturn.node.d.ts +5 -0
  81. package/dist/nodes/Saturn/FrankLabSaturn.node.js +117 -0
  82. package/dist/nodes/Saturn/FrankLabSaturn.node.js.map +1 -0
  83. package/dist/nodes/Saturn/Saturn.node.json +10 -0
  84. package/dist/nodes/Saturn/saturn.svg +5 -0
  85. package/dist/nodes/Sufler/FrankLabSufler.node.d.ts +5 -0
  86. package/dist/nodes/Sufler/FrankLabSufler.node.js +129 -0
  87. package/dist/nodes/Sufler/FrankLabSufler.node.js.map +1 -0
  88. package/dist/nodes/Sufler/Sufler.node.json +10 -0
  89. package/dist/nodes/Sufler/sufler.svg +6 -0
  90. package/dist/nodes/TextSticker/FrankLabTextSticker.node.d.ts +5 -0
  91. package/dist/nodes/TextSticker/FrankLabTextSticker.node.js +89 -0
  92. package/dist/nodes/TextSticker/FrankLabTextSticker.node.js.map +1 -0
  93. package/dist/nodes/TextSticker/TextSticker.node.json +10 -0
  94. package/dist/nodes/TextSticker/textsticker.svg +8 -0
  95. package/dist/nodes/Titan/FrankLabTitan.node.d.ts +5 -0
  96. package/dist/nodes/Titan/FrankLabTitan.node.js +85 -0
  97. package/dist/nodes/Titan/FrankLabTitan.node.js.map +1 -0
  98. package/dist/nodes/Titan/Titan.node.json +10 -0
  99. package/dist/nodes/Titan/titan.svg +7 -0
  100. package/dist/nodes/Venus/FrankLabVenus.node.d.ts +5 -0
  101. package/dist/nodes/Venus/FrankLabVenus.node.js +95 -0
  102. package/dist/nodes/Venus/FrankLabVenus.node.js.map +1 -0
  103. package/dist/nodes/Venus/Venus.node.json +10 -0
  104. package/dist/nodes/Venus/venus.svg +7 -0
  105. package/dist/nodes/Volna/FrankLabVolna.node.js +1 -0
  106. package/dist/nodes/Volna/FrankLabVolna.node.js.map +1 -1
  107. package/dist/nodes/X/FrankLabX.node.d.ts +5 -0
  108. package/dist/nodes/X/FrankLabX.node.js +133 -0
  109. package/dist/nodes/X/FrankLabX.node.js.map +1 -0
  110. package/dist/nodes/X/X.node.json +10 -0
  111. package/dist/nodes/X/x.svg +4 -0
  112. package/dist/nodes/shared/client.js +36 -11
  113. package/dist/nodes/shared/client.js.map +1 -1
  114. package/dist/nodes/shared/node-utils.d.ts +1 -0
  115. package/dist/nodes/shared/node-utils.js +233 -21
  116. package/dist/nodes/shared/node-utils.js.map +1 -1
  117. package/dist/nodes/shared/registry.d.ts +5 -3
  118. package/dist/nodes/shared/registry.js +356 -31
  119. package/dist/nodes/shared/registry.js.map +1 -1
  120. package/dist/nodes/shared/url.d.ts +1 -1
  121. package/dist/nodes/shared/url.js +20 -9
  122. package/dist/nodes/shared/url.js.map +1 -1
  123. package/dist/package.json +52 -15
  124. package/examples/moon-text-to-video.workflow.json +21 -0
  125. package/examples/saturn-turbo-video.workflow.json +20 -0
  126. package/package.json +52 -15
package/README.md CHANGED
@@ -8,7 +8,7 @@ FrankLab is a first-party media automation API for image processing, video post-
8
8
 
9
9
  This repository is the public n8n connector package only. It contains:
10
10
 
11
- - n8n node definitions for HOLST, KLEY, PLASTINKA, VOLNA, and C2PA.
11
+ - n8n node definitions for HOLST, KLEY, PLASTINKA, VOLNA, C2PA, SUFLER, TextSticker, ORKESTR, JUPITER, MARS, SATURN, MOON, VENUS, X, MiniMax, DOLA, Alibaba, OMNI, KUSOK, MERCURY, NEPTUNE, PLUTO, ARIES, TITAN, and Hot Coffe (25 nodes). Kling runs exclusively through the SATURN node (Kling 3.0 Omni) and the MARS node (Kling 3.0).
12
12
  - FrankLab API credential definition.
13
13
  - A small request client that calls the public FrankLab API with your API key.
14
14
  - Tests, examples, and GitHub Actions workflows for n8n community-node verification and npm provenance publishing.
@@ -73,7 +73,7 @@ The cookbook includes Make.com and n8n editions. Use the platform switch in the
73
73
 
74
74
  - Submit an image processing job.
75
75
  - Poll an image job status.
76
- - Supported image operations include resize, crop, format conversion, watermark, image overlay, text, filters, rotate, flip, blur, sharpen, mask, metadata read/write, collage, adjust, and GPS metadata removal.
76
+ - Supported image operations include resize, crop, format conversion, watermark, image overlay, text, filters, rotate, flip, blur, sharpen, mask, metadata read/write, collage, adjust, GPS metadata removal, and the BRIA operations (remove/replace background, erase foreground, erase by text, product lifestyle by text, product cutout).
77
77
 
78
78
  ### KLEY
79
79
 
@@ -113,6 +113,122 @@ The cookbook includes Make.com and n8n editions. Use the platform switch in the
113
113
 
114
114
  Public verified v1 intentionally excludes private key import and private key rotation flows.
115
115
 
116
+ ### SUFLER
117
+
118
+ - Burn styled subtitles into a video with the v1 or v2 caption engine.
119
+ - Optional template, language, transcription engine, highlight mode, platform, and safe zone preset.
120
+ - Job status polling. Advanced styling fields (glossary, emphasis, render modes, translation) go through `Additional JSON`.
121
+
122
+ ### TextSticker
123
+
124
+ - Overlay text, stickers, emojis, and images on a video.
125
+ - Job status polling.
126
+ - Studio option lists: fonts, stickers, emojis, subtitle templates, video effects, transitions, transition sounds, safe zone options, aspect ratios, resize presets.
127
+
128
+ ### ORKESTR
129
+
130
+ - V1 (Suno envelope): music, lyrics, style, persona, processing, visuals, and task status polling by poll kind.
131
+ - V2: generate, extend, upload cover, upload extend, add instrumental, add vocals, replace section, mashup, lyrics, timestamped lyrics, separate vocals, generate MIDI, convert WAV, music video, cover image, boost style, generate persona, Lyria music (Google Lyria), and task status.
132
+ - V1 submits do not auto-poll; use `Get Task Status` with the matching poll kind. V2 submits support `Wait for Completion`.
133
+
134
+ ### JUPITER
135
+
136
+ - Generate images with omni-image (generate/edit modes, quality, output format, aspect ratio, series) or seedream.
137
+ - Recraft tasks (create + status) for background removal and similar image operations.
138
+ - Task status polling per endpoint.
139
+
140
+ ### MARS
141
+
142
+ - Text to video and image to video (image passed as a public URL in the `image` field).
143
+ - Video effects (`effect_scene`, `effect`, `image`, optional `image_tail`) and motion control (reference frame + video + duration).
144
+ - Per-endpoint task status polling.
145
+
146
+ ### SATURN
147
+
148
+ - SATURN (Kling 3.0 Omni) video generation and SATURN Turbo text/image to video. Kling traffic runs only here and in MARS (Kling 3.0).
149
+ - Per-endpoint task status polling. The Google-backed omni video routes live in the OMNI node.
150
+
151
+ ### MOON
152
+
153
+ - Submit cinematic video tasks (text/image/reference to video, video edit/extend) with model, duration, ratio, and resolution presets.
154
+ - Estimate the cost of a task before submitting.
155
+ - Task status polling.
156
+
157
+ ### VENUS
158
+
159
+ - Generate talking-avatar videos from a portrait image plus an audio URL or audio id.
160
+ - Task status polling.
161
+
162
+ ### X
163
+
164
+ - Generate videos with xAI Imagine (Grok text/reference/edit/extend/single-image modes).
165
+ - Generate images with xAI Imagine.
166
+ - Per-endpoint task status polling.
167
+
168
+ ### MiniMax
169
+
170
+ - Submit MiniMax H3 video tasks with idempotency keys, scenario, resolution, duration, ratio, and stored-file first frames.
171
+ - Mint idempotency keys, list video tasks (with `page_num`/`page_size` pagination), and cancel or delete tasks by task ID.
172
+ - Task status polling (long-poll `wait_seconds` is not used; standard polling applies).
173
+
174
+ ### DOLA
175
+
176
+ - Generate text (and structured JSON with `json_object`/`json_schema` response formats) with MOON GPT models.
177
+ - Async mode returns a billing task id you can poll with `Get Task`.
178
+ - Import files from public URLs, list files, get a file, delete a file, and list models.
179
+ - Streaming generation and direct multipart file upload are not part of the public package.
180
+
181
+ ### OMNI
182
+
183
+ - Google-backed video generation (distinct provider from Kling-backed SATURN): Gemini Omni Flash and Omni Flash 1.1, Veo 3 and Veo 3 Fast.
184
+ - Text/image/reference to video plus edit and extend operations with model, duration, resolution, and aspect ratio presets.
185
+ - The v1 omni-video route and the Google subscription rails (`videos/google-sub`, `images/google-sub`) with per-rail status polling.
186
+ - Provider info lookup and task status polling.
187
+
188
+ ### KUSOK
189
+
190
+ - Element library: create (sync and async), list, get, delete.
191
+ - Portrait/image recognition (sync and async) with async task polling.
192
+ - Voice library: create, list, get, delete, and preset voices.
193
+ - Requires a Kusok-capable partner API key; legacy keys are rejected server-side.
194
+
195
+ ### MERCURY
196
+
197
+ - Lip-sync a video to speech audio (compat and advanced modes).
198
+ - Face identification on images.
199
+ - Per-endpoint task status polling.
200
+
201
+ ### NEPTUNE
202
+
203
+ - Generate speech from text with optional voice and model.
204
+ - Voice list lookup and task status polling.
205
+
206
+ ### PLUTO
207
+
208
+ - Generate audio from a text prompt or produce audio for an existing video.
209
+ - Per-endpoint task status polling.
210
+
211
+ ### ARIES
212
+
213
+ - Kolors virtual try-on task status polling. New try-on submissions are retired server-side (the route answers 410 Gone); use Get Status for tasks submitted earlier.
214
+
215
+ ### TITAN
216
+
217
+ - Staged multi-element video composition: initialize, add, delete, clear, and preview element selections, then create the video.
218
+ - Task list and task status polling.
219
+
220
+ ### Hot Coffe
221
+
222
+ - Generate images and Seedance videos (ByteDance ModelArk) with operation, model variant, resolution, duration, and ratio presets.
223
+ - Per-surface task status polling.
224
+
225
+ ### Alibaba
226
+
227
+ - Generate images with Alibaba Z-Image (synchronous).
228
+ - Submit HappyHorse videos (text/image to video) and estimate task cost before submitting.
229
+ - Task status polling.
230
+ - Availability depends on the FrankLab server-side Alibaba rollout flag; requests fail closed until it is enabled for your key.
231
+
116
232
  ## Usage Notes
117
233
 
118
234
  All media inputs in public v1 are URL-only. Use public `http` or `https` URLs. Local URLs such as localhost, loopback/link-local IPs, metadata hosts, and file paths are rejected.
@@ -121,9 +237,25 @@ Most submit operations return a `taskId`. Enable `Wait for Completion` to poll u
121
237
 
122
238
  For advanced request fields, use `Additional JSON`. Keep media URLs public and never paste secrets, private keys, PEM files, or provider credentials into workflow fields.
123
239
 
240
+ Multipart upload endpoints (MiniMax media upload, DOLA direct file upload) are intentionally not exposed: pass media by public URL, data URL, or partner-scoped stored file id instead, matching the URL-only media policy of the package.
241
+
242
+ ## Development
243
+
244
+ The public repository is self-contained but deliberately separates publishable package dependencies from its private build toolchain. From a clean clone, install both deterministic contours before running package commands:
245
+
246
+ ```bash
247
+ npm ci --ignore-scripts
248
+ npm run tooling:ci
249
+ npm run build
250
+ npm test
251
+ npm run scan
252
+ ```
253
+
254
+ `tooling` is marked `private:true`; it exists only for build, lint, test, and release commands. The publishable package remains override-free with no runtime dependencies, and the private tooling directory is excluded from the npm tarball.
255
+
124
256
  ## Compatibility
125
257
 
126
- The package is built with the official `n8n-node` tool and `@n8n/node-cli >= 0.23.0`.
258
+ The package is built with the official `n8n-node` tool. The private development contour currently pins `@n8n/node-cli@0.46.2` for reproducible community verification.
127
259
 
128
260
  Development and CI use Node.js 24. The package declares `node >=20.19` because the current n8n toolchain requires a Node 20 build with modern ESM interop or newer.
129
261
 
@@ -131,6 +263,7 @@ The verified package has no runtime dependencies. Development dependencies are u
131
263
 
132
264
  ## Verification
133
265
 
266
+ - `npm run tooling:ci`: clean-install the private development toolchain and link its canonical eslint export into the public development tree.
134
267
  - `npm run build`: compile and copy n8n node assets.
135
268
  - `npm test`: run package metadata, registry, client, and leakage tests.
136
269
  - `npm run scan`: run local n8n lint plus `npm pack --dry-run`.
@@ -144,10 +277,11 @@ Recommended release flow:
144
277
 
145
278
  1. Merge package changes in the private FrankLab monorepo.
146
279
  2. Export or sync only `integrations/n8n-nodes-franklab` into the public `d906090-rgb/n8n-nodes-franklab` repository.
147
- 3. Review the public repository file list before pushing.
148
- 4. Push the release tag to the public repository.
149
- 5. Let the public GitHub Actions publish workflow run `npm run release` with npm provenance.
150
- 6. Verify the published package with `npm run scan:published`.
280
+ 3. Review the public repository file list before pushing, including the tracked private tooling manifest and lockfile but no `node_modules`.
281
+ 4. From a clean public checkout, run `npm ci --ignore-scripts`, `npm run tooling:ci`, build, test, scan, and inspect the dry-run tarball for zero tooling paths.
282
+ 5. Push the release tag to the public repository.
283
+ 6. Let the public GitHub Actions publish workflow run `npm run release` with npm provenance.
284
+ 7. Verify the published package with `npm run scan:published`.
151
285
 
152
286
  ## Resources
153
287
 
@@ -159,4 +293,7 @@ Recommended release flow:
159
293
 
160
294
  ## Version History
161
295
 
296
+ - `0.2.0`: Full Make-parity wave — 20 new nodes (SUFLER, TextSticker, ORKESTR, JUPITER, MARS, SATURN, MOON, VENUS, X, MiniMax, DOLA, Alibaba, OMNI, KUSOK, MERCURY, NEPTUNE, PLUTO, ARIES, TITAN, Hot Coffe), Recraft/BRIA operations, Kling element/voice library in KUSOK, DELETE support, `billing_task_id` polling, and a standalone `scripts.test` rewrite in the public-mirror export.
297
+ - `0.1.2`: Public-repo lint fix for hidden optional node parameters.
298
+ - `0.1.1`: npm author email metadata.
162
299
  - `0.1.0`: First-wave package scaffold for HOLST, KLEY, PLASTINKA, VOLNA, and C2PA.
@@ -0,0 +1,10 @@
1
+ {
2
+ "node": "n8n-nodes-base.frankLabAlibaba",
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#alibaba" }]
9
+ }
10
+ }
@@ -0,0 +1,5 @@
1
+ import type { IExecuteFunctions, INodeType, INodeTypeDescription } from 'n8n-workflow';
2
+ export declare class FrankLabAlibaba implements INodeType {
3
+ description: INodeTypeDescription;
4
+ execute(this: IExecuteFunctions): Promise<import("n8n-workflow").INodeExecutionData[][]>;
5
+ }
@@ -0,0 +1,167 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FrankLabAlibaba = void 0;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ const node_utils_1 = require("../shared/node-utils");
6
+ const generateFields = [
7
+ {
8
+ displayName: 'Prompt',
9
+ name: 'prompt',
10
+ type: 'string',
11
+ typeOptions: { rows: 4 },
12
+ default: '',
13
+ required: true,
14
+ displayOptions: { show: { operation: ['generateImage', 'generateVideo'] } },
15
+ },
16
+ {
17
+ displayName: 'Model',
18
+ name: 'model',
19
+ type: 'string',
20
+ default: '',
21
+ description: 'Optional image model ID',
22
+ displayOptions: { show: { operation: ['generateImage', 'estimate'] } },
23
+ },
24
+ {
25
+ displayName: 'Size',
26
+ name: 'size',
27
+ type: 'string',
28
+ default: '',
29
+ description: 'Optional explicit image size',
30
+ displayOptions: { show: { operation: ['generateImage'] } },
31
+ },
32
+ {
33
+ displayName: 'Width',
34
+ name: 'width',
35
+ type: 'number',
36
+ default: '',
37
+ description: 'Image width (image estimates only; video estimates ignore it)',
38
+ displayOptions: { show: { operation: ['generateImage', 'estimate'] } },
39
+ },
40
+ {
41
+ displayName: 'Height',
42
+ name: 'height',
43
+ type: 'number',
44
+ default: '',
45
+ description: 'Image height (image estimates only; video estimates ignore it)',
46
+ displayOptions: { show: { operation: ['generateImage', 'estimate'] } },
47
+ },
48
+ {
49
+ displayName: 'Number of Images',
50
+ name: 'n',
51
+ type: 'number',
52
+ default: '',
53
+ description: 'Number of images (image estimates only; video estimates ignore it)',
54
+ displayOptions: { show: { operation: ['generateImage', 'estimate'] } },
55
+ },
56
+ {
57
+ displayName: 'Seed',
58
+ name: 'seed',
59
+ type: 'number',
60
+ default: '',
61
+ displayOptions: { show: { operation: ['generateImage', 'generateVideo'] } },
62
+ },
63
+ {
64
+ displayName: 'Video Operation',
65
+ name: 'operationMode',
66
+ type: 'options',
67
+ noDataExpression: true,
68
+ default: 'text_to_video',
69
+ options: [
70
+ { name: 'Image to Video', value: 'image_to_video', action: 'Generate a video from a first frame' },
71
+ { name: 'Reference to Video', value: 'reference_to_video', action: 'Generate a video from references' },
72
+ { name: 'Text to Video', value: 'text_to_video', action: 'Generate a video from text' },
73
+ ],
74
+ displayOptions: { show: { operation: ['generateVideo', 'estimate'] } },
75
+ },
76
+ {
77
+ displayName: 'Resolution',
78
+ name: 'resolution',
79
+ type: 'options',
80
+ noDataExpression: true,
81
+ default: '720P',
82
+ options: [
83
+ { name: '480P', value: '480P', action: 'Render at 480P' },
84
+ { name: '720P', value: '720P', action: 'Render at 720P' },
85
+ { name: '1080P', value: '1080P', action: 'Render at 1080P' },
86
+ ],
87
+ required: true,
88
+ displayOptions: { show: { operation: ['generateVideo', 'estimate'] } },
89
+ },
90
+ {
91
+ displayName: 'Duration Seconds',
92
+ name: 'durationSeconds',
93
+ type: 'number',
94
+ default: '',
95
+ required: true,
96
+ description: 'Video duration in seconds (2-30, or -1 for provider default)',
97
+ displayOptions: { show: { operation: ['generateVideo', 'estimate'] } },
98
+ },
99
+ {
100
+ displayName: 'Ratio',
101
+ name: 'ratio',
102
+ type: 'string',
103
+ default: '',
104
+ displayOptions: { show: { operation: ['generateVideo'] } },
105
+ },
106
+ {
107
+ displayName: 'Media',
108
+ name: 'media',
109
+ type: 'options',
110
+ noDataExpression: true,
111
+ default: 'video',
112
+ options: [
113
+ { name: 'Image', value: 'image', action: 'Estimate an image task' },
114
+ { name: 'Video', value: 'video', action: 'Estimate a video task' },
115
+ ],
116
+ displayOptions: { show: { operation: ['estimate'] } },
117
+ },
118
+ ];
119
+ class FrankLabAlibaba {
120
+ constructor() {
121
+ this.description = {
122
+ displayName: 'FrankLab Alibaba',
123
+ name: 'frankLabAlibaba',
124
+ icon: 'file:alibaba.svg',
125
+ subtitle: '={{$parameter["operation"]}}',
126
+ group: ['transform'],
127
+ version: 1,
128
+ description: 'Generate images with Alibaba Z-Image and videos with HappyHorse through FrankLab, with cost estimates.',
129
+ defaults: {
130
+ name: 'FrankLab Alibaba',
131
+ },
132
+ inputs: [n8n_workflow_1.NodeConnectionTypes.Main],
133
+ outputs: [n8n_workflow_1.NodeConnectionTypes.Main],
134
+ credentials: [
135
+ {
136
+ name: 'frankLabApi',
137
+ required: true,
138
+ },
139
+ ],
140
+ usableAsTool: true,
141
+ properties: [
142
+ {
143
+ displayName: 'Operation',
144
+ name: 'operation',
145
+ type: 'options',
146
+ noDataExpression: true,
147
+ default: 'generateImage',
148
+ options: [
149
+ { name: 'Estimate Cost', value: 'estimate', action: 'Estimate the cost of an alibaba task' },
150
+ { name: 'Generate Image', value: 'generateImage', action: 'Generate a z image image' },
151
+ { name: 'Generate Video', value: 'generateVideo', action: 'Submit a happy horse video task' },
152
+ { name: 'Get Status', value: 'getStatus', action: 'Get an alibaba task status' },
153
+ ],
154
+ },
155
+ ...generateFields,
156
+ node_utils_1.jobIdProperty,
157
+ node_utils_1.payloadProperty,
158
+ node_utils_1.waitProperty,
159
+ ],
160
+ };
161
+ }
162
+ async execute() {
163
+ return (0, node_utils_1.executeFrankLabModule)(this, 'alibaba', { default: 'getStatus', estimate: '' });
164
+ }
165
+ }
166
+ exports.FrankLabAlibaba = FrankLabAlibaba;
167
+ //# sourceMappingURL=FrankLabAlibaba.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FrankLabAlibaba.node.js","sourceRoot":"","sources":["../../../nodes/Alibaba/FrankLabAlibaba.node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" role="img" aria-label="FrankLab ALIBABA">
2
+ <rect width="64" height="64" rx="8" fill="#111827"/>
3
+ <path d="M34 10L14 36h14l-4 18 22-28H32z" fill="#f59e0b"/>
4
+ </svg>
@@ -0,0 +1,10 @@
1
+ {
2
+ "node": "n8n-nodes-base.frankLabAries",
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#aries" }]
9
+ }
10
+ }
@@ -0,0 +1,5 @@
1
+ import type { IExecuteFunctions, INodeType, INodeTypeDescription } from 'n8n-workflow';
2
+ export declare class FrankLabAries implements INodeType {
3
+ description: INodeTypeDescription;
4
+ execute(this: IExecuteFunctions): Promise<import("n8n-workflow").INodeExecutionData[][]>;
5
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FrankLabAries = void 0;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ const node_utils_1 = require("../shared/node-utils");
6
+ class FrankLabAries {
7
+ constructor() {
8
+ this.description = {
9
+ displayName: 'FrankLab ARIES',
10
+ name: 'frankLabAries',
11
+ icon: 'file:aries.svg',
12
+ subtitle: '={{$parameter["operation"]}}',
13
+ group: ['transform'],
14
+ version: 1,
15
+ description: 'Poll Kolors virtual try-on tasks with FrankLab ARIES (submissions are retired server-side).',
16
+ defaults: {
17
+ name: 'FrankLab ARIES',
18
+ },
19
+ inputs: [n8n_workflow_1.NodeConnectionTypes.Main],
20
+ outputs: [n8n_workflow_1.NodeConnectionTypes.Main],
21
+ credentials: [
22
+ {
23
+ name: 'frankLabApi',
24
+ required: true,
25
+ },
26
+ ],
27
+ usableAsTool: true,
28
+ properties: [
29
+ {
30
+ displayName: 'Operation',
31
+ name: 'operation',
32
+ type: 'options',
33
+ noDataExpression: true,
34
+ default: 'getStatus',
35
+ options: [{ name: 'Get Status', value: 'getStatus', action: 'Get a try on task status' }],
36
+ },
37
+ node_utils_1.jobIdProperty,
38
+ node_utils_1.payloadProperty,
39
+ node_utils_1.waitProperty,
40
+ ],
41
+ };
42
+ }
43
+ async execute() {
44
+ return (0, node_utils_1.executeFrankLabModule)(this, 'aries', '');
45
+ }
46
+ }
47
+ exports.FrankLabAries = FrankLabAries;
48
+ //# sourceMappingURL=FrankLabAries.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FrankLabAries.node.js","sourceRoot":"","sources":["../../../nodes/Aries/FrankLabAries.node.ts"],"names":[],"mappings":";;;AACA,+CAAmD;AACnD,qDAA2G;AAE3G,MAAa,aAAa;IAA1B;QAEC,gBAAW,GAAyB;YACnC,WAAW,EAAE,gBAAgB;YAC7B,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,gBAAgB;YACtB,QAAQ,EAAE,8BAA8B;YACxC,KAAK,EAAE,CAAC,WAAW,CAAC;YACpB,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,6FAA6F;YAC1G,QAAQ,EAAE;gBACT,IAAI,EAAE,gBAAgB;aACtB;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,WAAW;oBACpB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC;iBACzF;gBACD,0BAAa;gBACb,4BAAe;gBACf,yBAAY;aACZ;SACD,CAAC;IAKH,CAAC;IAHA,KAAK,CAAC,OAAO;QACZ,OAAO,IAAA,kCAAqB,EAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IACjD,CAAC;CACD;AAxCD,sCAwCC"}
@@ -0,0 +1,6 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" role="img" aria-label="FrankLab ARIES">
2
+ <rect width="64" height="64" rx="8" fill="#111827"/>
3
+ <path d="M14 24c0-8 6-12 8-6M50 24c0-8-6-12-8-6" stroke="#f8734a" stroke-width="3" fill="none" stroke-linecap="round"/>
4
+ <circle cx="32" cy="34" r="10" fill="#f8fafc"/>
5
+ <path d="M24 50c2-6 5-8 8-8s6 2 8 8" fill="#f8734a"/>
6
+ </svg>
@@ -9,6 +9,7 @@ class FrankLabC2pa {
9
9
  displayName: 'FrankLab C2PA',
10
10
  name: 'frankLabC2pa',
11
11
  icon: 'file:c2pa.svg',
12
+ subtitle: '={{$parameter["operation"]}}',
12
13
  group: ['transform'],
13
14
  version: 1,
14
15
  description: 'Manage safe FrankLab C2PA signer profiles.',
@@ -1 +1 @@
1
- {"version":3,"file":"FrankLabC2pa.node.js","sourceRoot":"","sources":["../../../nodes/C2pa/FrankLabC2pa.node.ts"],"names":[],"mappings":";;;AACA,+CAAmD;AACnD,qDAAgF;AAEhF,MAAa,YAAY;IAAzB;QACC,gBAAW,GAAyB;YACnC,WAAW,EAAE,eAAe;YAC5B,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,CAAC,WAAW,CAAC;YACpB,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,4CAA4C;YACzD,QAAQ,EAAE;gBACT,IAAI,EAAE,eAAe;aACrB;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,cAAc;oBACvB,OAAO,EAAE;wBACR,EAAE,IAAI,EAAE,8BAA8B,EAAE,KAAK,EAAE,oBAAoB,EAAE;wBACrE,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE;wBAChD,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE;wBACpD,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,eAAe,EAAE;qBAClD;iBACD;gBACD;oBACC,WAAW,EAAE,OAAO;oBACpB,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,EAAE;oBACX,QAAQ,EAAE,IAAI;oBACd,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,oBAAoB,CAAC,EAAE,EAAE;iBAC/D;gBACD,8BAAiB;aACjB;SACD,CAAC;IAKH,CAAC;IAHA,KAAK,CAAC,OAAO;QACZ,OAAO,IAAA,kCAAqB,EAAC,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;IAC5D,CAAC;CACD;AAjDD,oCAiDC"}
1
+ {"version":3,"file":"FrankLabC2pa.node.js","sourceRoot":"","sources":["../../../nodes/C2pa/FrankLabC2pa.node.ts"],"names":[],"mappings":";;;AACA,+CAAmD;AACnD,qDAAgF;AAEhF,MAAa,YAAY;IAAzB;QACC,gBAAW,GAAyB;YACnC,WAAW,EAAE,eAAe;YAC5B,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,eAAe;YACrB,QAAQ,EAAE,8BAA8B;YACxC,KAAK,EAAE,CAAC,WAAW,CAAC;YACpB,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,4CAA4C;YACzD,QAAQ,EAAE;gBACT,IAAI,EAAE,eAAe;aACrB;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,cAAc;oBACvB,OAAO,EAAE;wBACR,EAAE,IAAI,EAAE,8BAA8B,EAAE,KAAK,EAAE,oBAAoB,EAAE;wBACrE,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE;wBAChD,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE;wBACpD,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,eAAe,EAAE;qBAClD;iBACD;gBACD;oBACC,WAAW,EAAE,OAAO;oBACpB,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,EAAE;oBACX,QAAQ,EAAE,IAAI;oBACd,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,oBAAoB,CAAC,EAAE,EAAE;iBAC/D;gBACD,8BAAiB;aACjB;SACD,CAAC;IASH,CAAC;IAHA,KAAK,CAAC,OAAO;QACZ,OAAO,IAAA,kCAAqB,EAAC,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;IAC5D,CAAC;CACD;AAtDD,oCAsDC"}
@@ -0,0 +1,10 @@
1
+ {
2
+ "node": "n8n-nodes-base.frankLabDola",
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#dola" }]
9
+ }
10
+ }
@@ -0,0 +1,5 @@
1
+ import type { IExecuteFunctions, INodeType, INodeTypeDescription } from 'n8n-workflow';
2
+ export declare class FrankLabDola implements INodeType {
3
+ description: INodeTypeDescription;
4
+ execute(this: IExecuteFunctions): Promise<import("n8n-workflow").INodeExecutionData[][]>;
5
+ }