Browse Source

feat: update connection validation and model search for audio-to-video

Add "audio" to generateVideo's input handles in getNodeHandles() for
connection validation. Update ModelSearchDialog capability filter,
isVideoModel check, and recent models filter to include audio-to-video.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
handoff-20260429-1057
shrimbly 4 months ago
parent
commit
058e42048d
  1. 2
      src/components/WorkflowCanvas.tsx
  2. 6
      src/components/modals/ModelSearchDialog.tsx

2
src/components/WorkflowCanvas.tsx

@ -155,7 +155,7 @@ const getNodeHandles = (nodeType: string): { inputs: string[]; outputs: string[]
case "nanoBanana":
return { inputs: ["image", "text"], outputs: ["image"] };
case "generateVideo":
return { inputs: ["image", "text"], outputs: ["video"] };
return { inputs: ["image", "text", "audio"], outputs: ["video"] };
case "generate3d":
return { inputs: ["image", "text"], outputs: ["3d"] };
case "generateAudio":

6
src/components/modals/ModelSearchDialog.tsx

@ -208,7 +208,7 @@ export function ModelSearchDialog({
capabilityFilter === "image"
? "text-to-image,image-to-image"
: capabilityFilter === "video"
? "text-to-video,image-to-video"
? "text-to-video,image-to-video,audio-to-video"
: capabilityFilter === "3d"
? "text-to-3d,image-to-3d"
: "text-to-audio";
@ -328,7 +328,7 @@ export function ModelSearchDialog({
// Determine node type based on model capabilities
const isVideoModel = model.capabilities.some(
(cap) => cap === "text-to-video" || cap === "image-to-video"
(cap) => cap === "text-to-video" || cap === "image-to-video" || cap === "audio-to-video"
);
const is3DModel = model.capabilities.some(
(cap) => cap === "text-to-3d" || cap === "image-to-3d"
@ -454,7 +454,7 @@ export function ModelSearchDialog({
(cap) => cap === "text-to-image" || cap === "image-to-image"
);
const isVideo = matchingModel.capabilities.some(
(cap) => cap === "text-to-video" || cap === "image-to-video"
(cap) => cap === "text-to-video" || cap === "image-to-video" || cap === "audio-to-video"
);
const is3D = matchingModel.capabilities.some(
(cap) => cap === "text-to-3d" || cap === "image-to-3d"

Loading…
Cancel
Save