@@ -105,11 +105,11 @@ export function CanvasNodePromptPanel({ node, isRunning, onPromptChange, onConfi
}
function defaultMode(type: CanvasNodeData["type"]): CanvasNodeGenerationMode {
- return type === CanvasNodeType.Text ? "text" : "image";
+ return type === CanvasNodeType.Text ? "text" : type === CanvasNodeType.Video ? "video" : "image";
}
function buildNodeConfig(globalConfig: AiConfig, node: CanvasNodeData, mode: CanvasNodeGenerationMode): AiConfig {
- const defaultModel = mode === "image" ? globalConfig.imageModel : globalConfig.textModel;
+ const defaultModel = mode === "image" ? globalConfig.imageModel : mode === "video" ? globalConfig.videoModel : globalConfig.textModel;
return {
...globalConfig,
model: node.metadata?.model || defaultModel || globalConfig.model || defaultConfig.model,
diff --git a/web/src/app/(user)/canvas/components/canvas-node.tsx b/web/src/app/(user)/canvas/components/canvas-node.tsx
index f6e991a..9af34cd 100644
--- a/web/src/app/(user)/canvas/components/canvas-node.tsx
+++ b/web/src/app/(user)/canvas/components/canvas-node.tsx
@@ -2,7 +2,7 @@
import React, { useCallback, useEffect, useRef, useState } from "react";
import type { ReactNode } from "react";
-import { ChevronRight, Image as ImageIcon, RefreshCw, Star } from "lucide-react";
+import { ChevronRight, Image as ImageIcon, RefreshCw, Star, Video } from "lucide-react";
import { canvasThemes } from "@/lib/canvas-theme";
import { useThemeStore } from "@/stores/use-theme-store";
@@ -95,6 +95,7 @@ export const CanvasNode = React.memo(function CanvasNode({
const [hovered, setHovered] = useState(false);
const [isEditingContent, setIsEditingContent] = useState(false);
const hasImageContent = data.type === CanvasNodeType.Image && Boolean(data.metadata?.content);
+ const hasVideoContent = data.type === CanvasNodeType.Video && Boolean(data.metadata?.content);
const isBatchRoot = data.type === CanvasNodeType.Image && Boolean(data.metadata?.isBatchRoot) && batchCount > 1;
const isBatchChild = data.type === CanvasNodeType.Image && Boolean(data.metadata?.batchRootId);
const isActive = isConnectionTarget || isSelected || isFocusRelated;
@@ -246,7 +247,7 @@ export const CanvasNode = React.memo(function CanvasNode({
- {!hasImageContent ?