@genfeedai/workflows 0.1.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 +96 -0
- package/dist/index.d.mts +185 -0
- package/dist/index.d.ts +185 -0
- package/dist/index.js +918 -0
- package/dist/index.mjs +865 -0
- package/metadata/catalog.json +76 -0
- package/package.json +44 -0
- package/workflows/full-pipeline.json +295 -0
- package/workflows/image-series.json +151 -0
- package/workflows/image-to-video.json +132 -0
- package/workflows/single-image.json +86 -0
- package/workflows/single-video.json +90 -0
- package/workflows/ugc-factory.json +143 -0
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
{
|
|
2
|
+
"workflows": [
|
|
3
|
+
{
|
|
4
|
+
"slug": "single-image",
|
|
5
|
+
"title": "Single Image Generation",
|
|
6
|
+
"description": "Generate an AI image from a source image (img2img) with enhanced styling and effects",
|
|
7
|
+
"category": "image-generation",
|
|
8
|
+
"tags": ["image", "simple", "img2img", "enhancement"],
|
|
9
|
+
"tier": "free",
|
|
10
|
+
"icon": "🖼️",
|
|
11
|
+
"defaultModel": "nano-banana-pro",
|
|
12
|
+
"inputTypes": ["image", "text"],
|
|
13
|
+
"outputTypes": ["image"]
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"slug": "single-video",
|
|
17
|
+
"title": "Single Video Generation",
|
|
18
|
+
"description": "Generate an AI video from a source image (img2video) with motion effects",
|
|
19
|
+
"category": "video-generation",
|
|
20
|
+
"tags": ["video", "simple", "img2video", "animation"],
|
|
21
|
+
"tier": "free",
|
|
22
|
+
"icon": "🎬",
|
|
23
|
+
"defaultModel": "nano-banana-pro",
|
|
24
|
+
"inputTypes": ["image", "text"],
|
|
25
|
+
"outputTypes": ["video"]
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"slug": "image-series",
|
|
29
|
+
"title": "Image Series Generation",
|
|
30
|
+
"description": "Generate a series of related images from a concept using LLM-powered prompt expansion",
|
|
31
|
+
"category": "image-generation",
|
|
32
|
+
"tags": ["image", "series", "llm", "batch", "automation"],
|
|
33
|
+
"tier": "free",
|
|
34
|
+
"icon": "📸",
|
|
35
|
+
"defaultModel": "nano-banana-pro",
|
|
36
|
+
"inputTypes": ["text"],
|
|
37
|
+
"outputTypes": ["image"]
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"slug": "image-to-video",
|
|
41
|
+
"title": "Image to Video Transition",
|
|
42
|
+
"description": "Create smooth interpolated video transitions between two images with easing effects",
|
|
43
|
+
"category": "video-generation",
|
|
44
|
+
"tags": ["video", "interpolation", "animation", "transition"],
|
|
45
|
+
"tier": "free",
|
|
46
|
+
"icon": "🎞️",
|
|
47
|
+
"defaultModel": "nano-banana-pro",
|
|
48
|
+
"inputTypes": ["image"],
|
|
49
|
+
"outputTypes": ["video"]
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"slug": "full-pipeline",
|
|
53
|
+
"title": "Full Content Pipeline",
|
|
54
|
+
"description": "Complete end-to-end workflow: concept development to final video production",
|
|
55
|
+
"category": "full-pipeline",
|
|
56
|
+
"tags": ["pipeline", "advanced", "complete", "automation", "production"],
|
|
57
|
+
"tier": "free",
|
|
58
|
+
"icon": "⚡",
|
|
59
|
+
"defaultModel": "nano-banana-pro",
|
|
60
|
+
"inputTypes": ["text"],
|
|
61
|
+
"outputTypes": ["video"]
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"slug": "ugc-factory",
|
|
65
|
+
"title": "UGC Content Factory",
|
|
66
|
+
"description": "Automated user-generated content creation for social media and marketing campaigns",
|
|
67
|
+
"category": "full-pipeline",
|
|
68
|
+
"tags": ["ugc", "social", "automation", "marketing", "content"],
|
|
69
|
+
"tier": "free",
|
|
70
|
+
"icon": "🏭",
|
|
71
|
+
"defaultModel": "nano-banana-pro",
|
|
72
|
+
"inputTypes": ["text"],
|
|
73
|
+
"outputTypes": ["video", "image"]
|
|
74
|
+
}
|
|
75
|
+
]
|
|
76
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@genfeedai/workflows",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"license": "AGPL-3.0",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "git+https://github.com/genfeedai/core.git",
|
|
8
|
+
"directory": "packages/workflows"
|
|
9
|
+
},
|
|
10
|
+
"publishConfig": {
|
|
11
|
+
"access": "public",
|
|
12
|
+
"registry": "https://registry.npmjs.org/"
|
|
13
|
+
},
|
|
14
|
+
"main": "./dist/index.js",
|
|
15
|
+
"types": "./dist/index.d.ts",
|
|
16
|
+
"exports": {
|
|
17
|
+
".": {
|
|
18
|
+
"types": "./dist/index.d.ts",
|
|
19
|
+
"import": "./dist/index.js",
|
|
20
|
+
"require": "./dist/index.cjs"
|
|
21
|
+
},
|
|
22
|
+
"./comfyui": {
|
|
23
|
+
"types": "./dist/comfyui/index.d.ts",
|
|
24
|
+
"import": "./dist/comfyui/index.js",
|
|
25
|
+
"require": "./dist/comfyui/index.cjs"
|
|
26
|
+
},
|
|
27
|
+
"./workflows/*": "./workflows/*"
|
|
28
|
+
},
|
|
29
|
+
"files": [
|
|
30
|
+
"dist",
|
|
31
|
+
"workflows",
|
|
32
|
+
"metadata"
|
|
33
|
+
],
|
|
34
|
+
"scripts": {
|
|
35
|
+
"build": "tsup src/index.ts --format esm,cjs --dts --clean",
|
|
36
|
+
"dev": "tsup src/index.ts --format esm,cjs --dts --watch",
|
|
37
|
+
"prepublishOnly": "bun run build"
|
|
38
|
+
},
|
|
39
|
+
"devDependencies": {
|
|
40
|
+
"@genfeedai/types": "workspace:*",
|
|
41
|
+
"tsup": "8.4.0",
|
|
42
|
+
"typescript": "5.9.3"
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 1,
|
|
3
|
+
"name": "Full Content Pipeline",
|
|
4
|
+
"description": "Complete workflow: concept to images to videos to stitched output",
|
|
5
|
+
"edgeStyle": "smoothstep",
|
|
6
|
+
"createdAt": "2025-01-19T00:00:00.000Z",
|
|
7
|
+
"updatedAt": "2025-01-19T00:00:00.000Z",
|
|
8
|
+
"nodes": [
|
|
9
|
+
{
|
|
10
|
+
"id": "concept",
|
|
11
|
+
"type": "prompt",
|
|
12
|
+
"position": { "x": 50, "y": 300 },
|
|
13
|
+
"data": {
|
|
14
|
+
"label": "Concept",
|
|
15
|
+
"status": "idle",
|
|
16
|
+
"prompt": "Create a 3-scene story about a robot discovering nature for the first time. Scene 1: Robot in city. Scene 2: Robot enters forest. Scene 3: Robot watches sunset.",
|
|
17
|
+
"variables": {}
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"id": "llm-story",
|
|
22
|
+
"type": "llm",
|
|
23
|
+
"position": { "x": 350, "y": 300 },
|
|
24
|
+
"data": {
|
|
25
|
+
"label": "Story Expander",
|
|
26
|
+
"status": "idle",
|
|
27
|
+
"inputPrompt": null,
|
|
28
|
+
"outputText": null,
|
|
29
|
+
"systemPrompt": "Expand the concept into 3 detailed visual prompts. For each scene, include: setting, lighting, mood, camera angle, and specific details. Number each 1., 2., 3.",
|
|
30
|
+
"temperature": 0.8,
|
|
31
|
+
"maxTokens": 2048,
|
|
32
|
+
"topP": 0.9,
|
|
33
|
+
"jobId": null
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"id": "imageGen-1",
|
|
38
|
+
"type": "imageGen",
|
|
39
|
+
"position": { "x": 700, "y": 100 },
|
|
40
|
+
"data": {
|
|
41
|
+
"label": "Scene 1 Image",
|
|
42
|
+
"status": "idle",
|
|
43
|
+
"inputImages": [],
|
|
44
|
+
"inputPrompt": null,
|
|
45
|
+
"outputImage": null,
|
|
46
|
+
"model": "nano-banana-pro",
|
|
47
|
+
"aspectRatio": "16:9",
|
|
48
|
+
"resolution": "2K",
|
|
49
|
+
"outputFormat": "jpg",
|
|
50
|
+
"jobId": null
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"id": "imageGen-2",
|
|
55
|
+
"type": "imageGen",
|
|
56
|
+
"position": { "x": 700, "y": 300 },
|
|
57
|
+
"data": {
|
|
58
|
+
"label": "Scene 2 Image",
|
|
59
|
+
"status": "idle",
|
|
60
|
+
"inputImages": [],
|
|
61
|
+
"inputPrompt": null,
|
|
62
|
+
"outputImage": null,
|
|
63
|
+
"model": "nano-banana-pro",
|
|
64
|
+
"aspectRatio": "16:9",
|
|
65
|
+
"resolution": "2K",
|
|
66
|
+
"outputFormat": "jpg",
|
|
67
|
+
"jobId": null
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"id": "imageGen-3",
|
|
72
|
+
"type": "imageGen",
|
|
73
|
+
"position": { "x": 700, "y": 500 },
|
|
74
|
+
"data": {
|
|
75
|
+
"label": "Scene 3 Image",
|
|
76
|
+
"status": "idle",
|
|
77
|
+
"inputImages": [],
|
|
78
|
+
"inputPrompt": null,
|
|
79
|
+
"outputImage": null,
|
|
80
|
+
"model": "nano-banana-pro",
|
|
81
|
+
"aspectRatio": "16:9",
|
|
82
|
+
"resolution": "2K",
|
|
83
|
+
"outputFormat": "jpg",
|
|
84
|
+
"jobId": null
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"id": "videoGen-1",
|
|
89
|
+
"type": "videoGen",
|
|
90
|
+
"position": { "x": 1050, "y": 150 },
|
|
91
|
+
"data": {
|
|
92
|
+
"label": "Scene 1-2 Video",
|
|
93
|
+
"status": "idle",
|
|
94
|
+
"inputImage": null,
|
|
95
|
+
"lastFrame": null,
|
|
96
|
+
"referenceImages": [],
|
|
97
|
+
"inputPrompt": null,
|
|
98
|
+
"negativePrompt": "blurry, distorted, artifacts",
|
|
99
|
+
"outputVideo": null,
|
|
100
|
+
"model": "veo-3.1",
|
|
101
|
+
"duration": 6,
|
|
102
|
+
"aspectRatio": "16:9",
|
|
103
|
+
"resolution": "1080p",
|
|
104
|
+
"generateAudio": true,
|
|
105
|
+
"jobId": null
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"id": "videoGen-2",
|
|
110
|
+
"type": "videoGen",
|
|
111
|
+
"position": { "x": 1050, "y": 400 },
|
|
112
|
+
"data": {
|
|
113
|
+
"label": "Scene 2-3 Video",
|
|
114
|
+
"status": "idle",
|
|
115
|
+
"inputImage": null,
|
|
116
|
+
"lastFrame": null,
|
|
117
|
+
"referenceImages": [],
|
|
118
|
+
"inputPrompt": null,
|
|
119
|
+
"negativePrompt": "blurry, distorted, artifacts",
|
|
120
|
+
"outputVideo": null,
|
|
121
|
+
"model": "veo-3.1",
|
|
122
|
+
"duration": 6,
|
|
123
|
+
"aspectRatio": "16:9",
|
|
124
|
+
"resolution": "1080p",
|
|
125
|
+
"generateAudio": true,
|
|
126
|
+
"jobId": null
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"id": "animation-1",
|
|
131
|
+
"type": "animation",
|
|
132
|
+
"position": { "x": 1400, "y": 150 },
|
|
133
|
+
"data": {
|
|
134
|
+
"label": "Ease Animation 1",
|
|
135
|
+
"status": "idle",
|
|
136
|
+
"inputVideo": null,
|
|
137
|
+
"outputVideo": null,
|
|
138
|
+
"curveType": "preset",
|
|
139
|
+
"preset": "easeInOutCubic",
|
|
140
|
+
"customCurve": [0.645, 0.045, 0.355, 1],
|
|
141
|
+
"speedMultiplier": 1
|
|
142
|
+
}
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"id": "animation-2",
|
|
146
|
+
"type": "animation",
|
|
147
|
+
"position": { "x": 1400, "y": 400 },
|
|
148
|
+
"data": {
|
|
149
|
+
"label": "Ease Animation 2",
|
|
150
|
+
"status": "idle",
|
|
151
|
+
"inputVideo": null,
|
|
152
|
+
"outputVideo": null,
|
|
153
|
+
"curveType": "preset",
|
|
154
|
+
"preset": "easeInOutCubic",
|
|
155
|
+
"customCurve": [0.645, 0.045, 0.355, 1],
|
|
156
|
+
"speedMultiplier": 1
|
|
157
|
+
}
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"id": "stitch-1",
|
|
161
|
+
"type": "videoStitch",
|
|
162
|
+
"position": { "x": 1750, "y": 275 },
|
|
163
|
+
"data": {
|
|
164
|
+
"label": "Video Stitcher",
|
|
165
|
+
"status": "idle",
|
|
166
|
+
"inputVideos": [],
|
|
167
|
+
"outputVideo": null,
|
|
168
|
+
"transitionType": "crossfade",
|
|
169
|
+
"transitionDuration": 0.5,
|
|
170
|
+
"seamlessLoop": true,
|
|
171
|
+
"audioCodec": "aac",
|
|
172
|
+
"outputQuality": "full"
|
|
173
|
+
}
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"id": "output-1",
|
|
177
|
+
"type": "output",
|
|
178
|
+
"position": { "x": 2100, "y": 275 },
|
|
179
|
+
"data": {
|
|
180
|
+
"label": "Final Video",
|
|
181
|
+
"status": "idle",
|
|
182
|
+
"inputMedia": null,
|
|
183
|
+
"inputType": "video",
|
|
184
|
+
"outputName": "full-pipeline-output"
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
],
|
|
188
|
+
"edges": [
|
|
189
|
+
{
|
|
190
|
+
"id": "e1",
|
|
191
|
+
"source": "concept",
|
|
192
|
+
"target": "llm-story",
|
|
193
|
+
"sourceHandle": "text",
|
|
194
|
+
"targetHandle": "prompt"
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"id": "e2",
|
|
198
|
+
"source": "llm-story",
|
|
199
|
+
"target": "imageGen-1",
|
|
200
|
+
"sourceHandle": "text",
|
|
201
|
+
"targetHandle": "prompt"
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
"id": "e3",
|
|
205
|
+
"source": "llm-story",
|
|
206
|
+
"target": "imageGen-2",
|
|
207
|
+
"sourceHandle": "text",
|
|
208
|
+
"targetHandle": "prompt"
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
"id": "e4",
|
|
212
|
+
"source": "llm-story",
|
|
213
|
+
"target": "imageGen-3",
|
|
214
|
+
"sourceHandle": "text",
|
|
215
|
+
"targetHandle": "prompt"
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
"id": "e5",
|
|
219
|
+
"source": "imageGen-1",
|
|
220
|
+
"target": "videoGen-1",
|
|
221
|
+
"sourceHandle": "image",
|
|
222
|
+
"targetHandle": "image"
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"id": "e6",
|
|
226
|
+
"source": "imageGen-2",
|
|
227
|
+
"target": "videoGen-1",
|
|
228
|
+
"sourceHandle": "image",
|
|
229
|
+
"targetHandle": "lastFrame"
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
"id": "e7",
|
|
233
|
+
"source": "imageGen-2",
|
|
234
|
+
"target": "videoGen-2",
|
|
235
|
+
"sourceHandle": "image",
|
|
236
|
+
"targetHandle": "image"
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
"id": "e8",
|
|
240
|
+
"source": "imageGen-3",
|
|
241
|
+
"target": "videoGen-2",
|
|
242
|
+
"sourceHandle": "image",
|
|
243
|
+
"targetHandle": "lastFrame"
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
"id": "e9",
|
|
247
|
+
"source": "llm-story",
|
|
248
|
+
"target": "videoGen-1",
|
|
249
|
+
"sourceHandle": "text",
|
|
250
|
+
"targetHandle": "prompt"
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
"id": "e10",
|
|
254
|
+
"source": "llm-story",
|
|
255
|
+
"target": "videoGen-2",
|
|
256
|
+
"sourceHandle": "text",
|
|
257
|
+
"targetHandle": "prompt"
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
"id": "e11",
|
|
261
|
+
"source": "videoGen-1",
|
|
262
|
+
"target": "animation-1",
|
|
263
|
+
"sourceHandle": "video",
|
|
264
|
+
"targetHandle": "video"
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
"id": "e12",
|
|
268
|
+
"source": "videoGen-2",
|
|
269
|
+
"target": "animation-2",
|
|
270
|
+
"sourceHandle": "video",
|
|
271
|
+
"targetHandle": "video"
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
"id": "e13",
|
|
275
|
+
"source": "animation-1",
|
|
276
|
+
"target": "stitch-1",
|
|
277
|
+
"sourceHandle": "video",
|
|
278
|
+
"targetHandle": "videos"
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
"id": "e14",
|
|
282
|
+
"source": "animation-2",
|
|
283
|
+
"target": "stitch-1",
|
|
284
|
+
"sourceHandle": "video",
|
|
285
|
+
"targetHandle": "videos"
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
"id": "e15",
|
|
289
|
+
"source": "stitch-1",
|
|
290
|
+
"target": "output-1",
|
|
291
|
+
"sourceHandle": "video",
|
|
292
|
+
"targetHandle": "media"
|
|
293
|
+
}
|
|
294
|
+
]
|
|
295
|
+
}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 1,
|
|
3
|
+
"name": "Image Series",
|
|
4
|
+
"description": "Generate a series of related images from a concept prompt using LLM expansion",
|
|
5
|
+
"edgeStyle": "smoothstep",
|
|
6
|
+
"createdAt": "2025-01-19T00:00:00.000Z",
|
|
7
|
+
"updatedAt": "2025-01-19T00:00:00.000Z",
|
|
8
|
+
"nodes": [
|
|
9
|
+
{
|
|
10
|
+
"id": "prompt-1",
|
|
11
|
+
"type": "prompt",
|
|
12
|
+
"position": { "x": 50, "y": 200 },
|
|
13
|
+
"data": {
|
|
14
|
+
"label": "Concept",
|
|
15
|
+
"status": "idle",
|
|
16
|
+
"prompt": "Create 3 variations of a futuristic city at sunset. Each should show different architectural styles but maintain a cohesive color palette.",
|
|
17
|
+
"variables": {}
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"id": "llm-1",
|
|
22
|
+
"type": "llm",
|
|
23
|
+
"position": { "x": 350, "y": 200 },
|
|
24
|
+
"data": {
|
|
25
|
+
"label": "Prompt Expander",
|
|
26
|
+
"status": "idle",
|
|
27
|
+
"inputPrompt": null,
|
|
28
|
+
"outputText": null,
|
|
29
|
+
"systemPrompt": "You are a creative prompt engineer. Take the user's concept and expand it into 3 detailed, specific image generation prompts. Format each prompt on a new line starting with '1.', '2.', '3.'",
|
|
30
|
+
"temperature": 0.8,
|
|
31
|
+
"maxTokens": 1024,
|
|
32
|
+
"topP": 0.9,
|
|
33
|
+
"jobId": null
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"id": "imageGen-1",
|
|
38
|
+
"type": "imageGen",
|
|
39
|
+
"position": { "x": 700, "y": 50 },
|
|
40
|
+
"data": {
|
|
41
|
+
"label": "Image 1",
|
|
42
|
+
"status": "idle",
|
|
43
|
+
"inputImages": [],
|
|
44
|
+
"inputPrompt": null,
|
|
45
|
+
"outputImage": null,
|
|
46
|
+
"model": "nano-banana-pro",
|
|
47
|
+
"aspectRatio": "16:9",
|
|
48
|
+
"resolution": "2K",
|
|
49
|
+
"outputFormat": "jpg",
|
|
50
|
+
"jobId": null
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"id": "imageGen-2",
|
|
55
|
+
"type": "imageGen",
|
|
56
|
+
"position": { "x": 700, "y": 250 },
|
|
57
|
+
"data": {
|
|
58
|
+
"label": "Image 2",
|
|
59
|
+
"status": "idle",
|
|
60
|
+
"inputImages": [],
|
|
61
|
+
"inputPrompt": null,
|
|
62
|
+
"outputImage": null,
|
|
63
|
+
"model": "nano-banana-pro",
|
|
64
|
+
"aspectRatio": "16:9",
|
|
65
|
+
"resolution": "2K",
|
|
66
|
+
"outputFormat": "jpg",
|
|
67
|
+
"jobId": null
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"id": "imageGen-3",
|
|
72
|
+
"type": "imageGen",
|
|
73
|
+
"position": { "x": 700, "y": 450 },
|
|
74
|
+
"data": {
|
|
75
|
+
"label": "Image 3",
|
|
76
|
+
"status": "idle",
|
|
77
|
+
"inputImages": [],
|
|
78
|
+
"inputPrompt": null,
|
|
79
|
+
"outputImage": null,
|
|
80
|
+
"model": "nano-banana-pro",
|
|
81
|
+
"aspectRatio": "16:9",
|
|
82
|
+
"resolution": "2K",
|
|
83
|
+
"outputFormat": "jpg",
|
|
84
|
+
"jobId": null
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"id": "output-1",
|
|
89
|
+
"type": "output",
|
|
90
|
+
"position": { "x": 1050, "y": 250 },
|
|
91
|
+
"data": {
|
|
92
|
+
"label": "Final Output",
|
|
93
|
+
"status": "idle",
|
|
94
|
+
"inputMedia": null,
|
|
95
|
+
"inputType": null,
|
|
96
|
+
"outputName": "image-series"
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
],
|
|
100
|
+
"edges": [
|
|
101
|
+
{
|
|
102
|
+
"id": "e1",
|
|
103
|
+
"source": "prompt-1",
|
|
104
|
+
"target": "llm-1",
|
|
105
|
+
"sourceHandle": "text",
|
|
106
|
+
"targetHandle": "prompt"
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"id": "e2",
|
|
110
|
+
"source": "llm-1",
|
|
111
|
+
"target": "imageGen-1",
|
|
112
|
+
"sourceHandle": "text",
|
|
113
|
+
"targetHandle": "prompt"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"id": "e3",
|
|
117
|
+
"source": "llm-1",
|
|
118
|
+
"target": "imageGen-2",
|
|
119
|
+
"sourceHandle": "text",
|
|
120
|
+
"targetHandle": "prompt"
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"id": "e4",
|
|
124
|
+
"source": "llm-1",
|
|
125
|
+
"target": "imageGen-3",
|
|
126
|
+
"sourceHandle": "text",
|
|
127
|
+
"targetHandle": "prompt"
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"id": "e5",
|
|
131
|
+
"source": "imageGen-1",
|
|
132
|
+
"target": "output-1",
|
|
133
|
+
"sourceHandle": "image",
|
|
134
|
+
"targetHandle": "media"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"id": "e6",
|
|
138
|
+
"source": "imageGen-2",
|
|
139
|
+
"target": "output-1",
|
|
140
|
+
"sourceHandle": "image",
|
|
141
|
+
"targetHandle": "media"
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"id": "e7",
|
|
145
|
+
"source": "imageGen-3",
|
|
146
|
+
"target": "output-1",
|
|
147
|
+
"sourceHandle": "image",
|
|
148
|
+
"targetHandle": "media"
|
|
149
|
+
}
|
|
150
|
+
]
|
|
151
|
+
}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 1,
|
|
3
|
+
"name": "Image to Video",
|
|
4
|
+
"description": "Create interpolated video between two images with easing animation",
|
|
5
|
+
"edgeStyle": "smoothstep",
|
|
6
|
+
"createdAt": "2025-01-19T00:00:00.000Z",
|
|
7
|
+
"updatedAt": "2025-01-19T00:00:00.000Z",
|
|
8
|
+
"nodes": [
|
|
9
|
+
{
|
|
10
|
+
"id": "image-1",
|
|
11
|
+
"type": "imageInput",
|
|
12
|
+
"position": { "x": 50, "y": 100 },
|
|
13
|
+
"data": {
|
|
14
|
+
"label": "Starting Frame",
|
|
15
|
+
"status": "idle",
|
|
16
|
+
"image": null,
|
|
17
|
+
"filename": null,
|
|
18
|
+
"dimensions": null,
|
|
19
|
+
"source": "upload"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"id": "image-2",
|
|
24
|
+
"type": "imageInput",
|
|
25
|
+
"position": { "x": 50, "y": 350 },
|
|
26
|
+
"data": {
|
|
27
|
+
"label": "Ending Frame",
|
|
28
|
+
"status": "idle",
|
|
29
|
+
"image": null,
|
|
30
|
+
"filename": null,
|
|
31
|
+
"dimensions": null,
|
|
32
|
+
"source": "upload"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"id": "prompt-1",
|
|
37
|
+
"type": "prompt",
|
|
38
|
+
"position": { "x": 50, "y": 550 },
|
|
39
|
+
"data": {
|
|
40
|
+
"label": "Motion Description",
|
|
41
|
+
"status": "idle",
|
|
42
|
+
"prompt": "Smooth cinematic transition with subtle camera movement",
|
|
43
|
+
"variables": {}
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"id": "videoGen-1",
|
|
48
|
+
"type": "videoGen",
|
|
49
|
+
"position": { "x": 400, "y": 200 },
|
|
50
|
+
"data": {
|
|
51
|
+
"label": "Video Generator",
|
|
52
|
+
"status": "idle",
|
|
53
|
+
"inputImage": null,
|
|
54
|
+
"lastFrame": null,
|
|
55
|
+
"referenceImages": [],
|
|
56
|
+
"inputPrompt": null,
|
|
57
|
+
"negativePrompt": "blurry, distorted, artifacts",
|
|
58
|
+
"outputVideo": null,
|
|
59
|
+
"model": "veo-3.1-fast",
|
|
60
|
+
"duration": 8,
|
|
61
|
+
"aspectRatio": "16:9",
|
|
62
|
+
"resolution": "1080p",
|
|
63
|
+
"generateAudio": false,
|
|
64
|
+
"jobId": null
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"id": "animation-1",
|
|
69
|
+
"type": "animation",
|
|
70
|
+
"position": { "x": 750, "y": 200 },
|
|
71
|
+
"data": {
|
|
72
|
+
"label": "Ease Animation",
|
|
73
|
+
"status": "idle",
|
|
74
|
+
"inputVideo": null,
|
|
75
|
+
"outputVideo": null,
|
|
76
|
+
"curveType": "preset",
|
|
77
|
+
"preset": "easeInOutCubic",
|
|
78
|
+
"customCurve": [0.645, 0.045, 0.355, 1],
|
|
79
|
+
"speedMultiplier": 1
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"id": "output-1",
|
|
84
|
+
"type": "output",
|
|
85
|
+
"position": { "x": 1100, "y": 200 },
|
|
86
|
+
"data": {
|
|
87
|
+
"label": "Final Video",
|
|
88
|
+
"status": "idle",
|
|
89
|
+
"inputMedia": null,
|
|
90
|
+
"inputType": "video",
|
|
91
|
+
"outputName": "image-to-video"
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
],
|
|
95
|
+
"edges": [
|
|
96
|
+
{
|
|
97
|
+
"id": "e1",
|
|
98
|
+
"source": "image-1",
|
|
99
|
+
"target": "videoGen-1",
|
|
100
|
+
"sourceHandle": "image",
|
|
101
|
+
"targetHandle": "image"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"id": "e2",
|
|
105
|
+
"source": "image-2",
|
|
106
|
+
"target": "videoGen-1",
|
|
107
|
+
"sourceHandle": "image",
|
|
108
|
+
"targetHandle": "lastFrame"
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"id": "e3",
|
|
112
|
+
"source": "prompt-1",
|
|
113
|
+
"target": "videoGen-1",
|
|
114
|
+
"sourceHandle": "text",
|
|
115
|
+
"targetHandle": "prompt"
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"id": "e4",
|
|
119
|
+
"source": "videoGen-1",
|
|
120
|
+
"target": "animation-1",
|
|
121
|
+
"sourceHandle": "video",
|
|
122
|
+
"targetHandle": "video"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"id": "e5",
|
|
126
|
+
"source": "animation-1",
|
|
127
|
+
"target": "output-1",
|
|
128
|
+
"sourceHandle": "video",
|
|
129
|
+
"targetHandle": "media"
|
|
130
|
+
}
|
|
131
|
+
]
|
|
132
|
+
}
|