From 5d8c1753fabdf7aa38404d5521acaa06a0bb8d6e Mon Sep 17 00:00:00 2001 From: shrimbly Date: Fri, 9 Jan 2026 23:42:29 +1300 Subject: [PATCH] feat(06-02): connect generateVideo output to workflow pipeline - Add generateVideo case to getConnectedInputs for downstream nodes - Update output node execution to detect video content type - Set video and contentType fields when receiving video content - Enable Prompt -> GenerateVideo -> Output workflow pipeline --- src/store/workflowStore.ts | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/src/store/workflowStore.ts b/src/store/workflowStore.ts index 162a3d54..98c9d92c 100644 --- a/src/store/workflowStore.ts +++ b/src/store/workflowStore.ts @@ -833,6 +833,10 @@ export const useWorkflowStore = create((set, get) => ({ } else if (sourceNode.type === "nanoBanana") { const sourceImage = (sourceNode.data as NanoBananaNodeData).outputImage; if (sourceImage) images.push(sourceImage); + } else if (sourceNode.type === "generateVideo") { + // Video output can be used as input to downstream nodes + const sourceVideo = (sourceNode.data as GenerateVideoNodeData).outputVideo; + if (sourceVideo) images.push(sourceVideo); } } @@ -1579,9 +1583,27 @@ export const useWorkflowStore = create((set, get) => ({ case "output": { const { images } = getConnectedInputs(node.id); - const image = images[0] || null; - if (image) { - updateNodeData(node.id, { image }); + const content = images[0] || null; + if (content) { + // Detect if content is video (data URL or URL extension) + const isVideoContent = + content.startsWith("data:video/") || + content.includes(".mp4") || + content.includes(".webm"); + + if (isVideoContent) { + updateNodeData(node.id, { + image: content, + video: content, + contentType: "video" + }); + } else { + updateNodeData(node.id, { + image: content, + video: null, + contentType: "image" + }); + } } break; }