@genfeedai/types 0.2.1 → 0.3.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 +11 -27
- package/dist/{chunk-KXAKQO3U.js → chunk-74STGUJY.js} +2 -0
- package/dist/chunk-74STGUJY.js.map +1 -0
- package/dist/{chunk-WT2F5CAF.mjs → chunk-CVFAILC4.mjs} +2 -0
- package/dist/chunk-CVFAILC4.mjs.map +1 -0
- package/dist/chunk-DVR3GE4F.js +4 -0
- package/dist/chunk-DVR3GE4F.js.map +1 -0
- package/dist/chunk-G2BD5ZTF.mjs +3 -0
- package/dist/chunk-G2BD5ZTF.mjs.map +1 -0
- package/dist/{chunk-P4XY3T5T.js → chunk-MRTGK3CK.js} +601 -578
- package/dist/chunk-MRTGK3CK.js.map +1 -0
- package/dist/{chunk-QNWQE2LJ.mjs → chunk-ZMENGANG.mjs} +601 -578
- package/dist/chunk-ZMENGANG.mjs.map +1 -0
- package/dist/comfyui.d.mts +44 -44
- package/dist/comfyui.d.ts +44 -44
- package/dist/comfyui.js +3 -1
- package/dist/comfyui.js.map +1 -0
- package/dist/comfyui.mjs +3 -1
- package/dist/comfyui.mjs.map +1 -0
- package/dist/index.d.mts +341 -3
- package/dist/index.d.ts +341 -3
- package/dist/index.js +28 -26
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +11 -9
- package/dist/index.mjs.map +1 -0
- package/dist/nodes.d.mts +2 -2
- package/dist/nodes.d.ts +2 -2
- package/dist/nodes.js +15 -13
- package/dist/nodes.js.map +1 -0
- package/dist/nodes.mjs +3 -1
- package/dist/nodes.mjs.map +1 -0
- package/dist/replicate.d.mts +3 -3
- package/dist/replicate.d.ts +3 -3
- package/dist/replicate.js +2 -0
- package/dist/replicate.js.map +1 -0
- package/dist/replicate.mjs +2 -0
- package/dist/replicate.mjs.map +1 -0
- package/dist/{union-BVaWc1Cx.d.mts → union-D5EesBEB.d.mts} +142 -142
- package/dist/{union-BVaWc1Cx.d.ts → union-D5EesBEB.d.ts} +142 -142
- package/dist/{workflow-B_Q38s-U.d.ts → workflow-Cd_F9hZk.d.ts} +1 -1
- package/dist/{workflow-BbAp7VSK.d.mts → workflow-D9M1Yoiy.d.mts} +1 -1
- package/dist/workflow.d.mts +2 -2
- package/dist/workflow.d.ts +2 -2
- package/dist/workflow.js +4 -2
- package/dist/workflow.js.map +1 -0
- package/dist/workflow.mjs +3 -1
- package/dist/workflow.mjs.map +1 -0
- package/package.json +37 -37
- package/src/replicate/schemas.json +3624 -4185
- package/dist/chunk-7NJUD2WZ.mjs +0 -1
- package/dist/chunk-RNGYPX4W.js +0 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/enums.ts","../src/nodes/base.ts","../src/nodes/handles.ts","../src/nodes/providers.ts","../src/nodes/registry.ts"],"names":["WorkflowTemplateCategory","ReframeNodeType","UpscaleNodeType","KlingQuality","ProcessingNodeType","NodeTypeEnum","NodeCategoryEnum","NodeStatusEnum","HandleTypeEnum","ProviderTypeEnum","ModelCapabilityEnum","ModelUseCaseEnum"],"mappings":"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","file":"chunk-MRTGK3CK.js","sourcesContent":["export enum WorkflowTemplateCategory {\n IMAGE = 'image',\n VIDEO = 'video',\n AUDIO = 'audio',\n FULL_PIPELINE = 'full-pipeline',\n}\n\n/**\n * Reframe node types (Luma)\n */\nexport enum ReframeNodeType {\n REFRAME = 'reframe',\n LUMA_REFRAME_IMAGE = 'lumaReframeImage',\n LUMA_REFRAME_VIDEO = 'lumaReframeVideo',\n}\n\n/**\n * Upscale node types (Topaz)\n */\nexport enum UpscaleNodeType {\n UPSCALE = 'upscale',\n TOPAZ_IMAGE_UPSCALE = 'topazImageUpscale',\n TOPAZ_VIDEO_UPSCALE = 'topazVideoUpscale',\n}\n\n/**\n * Processing node types - all nodes handled by the processing processor\n */\nexport enum KlingQuality {\n STANDARD = 'std',\n PRO = 'pro',\n}\n\nexport enum ProcessingNodeType {\n // Reframe (Luma)\n REFRAME = 'reframe',\n LUMA_REFRAME_IMAGE = 'lumaReframeImage',\n LUMA_REFRAME_VIDEO = 'lumaReframeVideo',\n // Upscale (Topaz)\n UPSCALE = 'upscale',\n TOPAZ_IMAGE_UPSCALE = 'topazImageUpscale',\n TOPAZ_VIDEO_UPSCALE = 'topazVideoUpscale',\n // Other processing nodes\n VIDEO_FRAME_EXTRACT = 'videoFrameExtract',\n LIP_SYNC = 'lipSync',\n TEXT_TO_SPEECH = 'textToSpeech',\n VOICE_CHANGE = 'voiceChange',\n TRANSCRIBE = 'transcribe',\n SUBTITLE = 'subtitle',\n VIDEO_STITCH = 'videoStitch',\n WORKFLOW_REF = 'workflowRef',\n}\n","// =============================================================================\n// NODE TYPES & BASE NODE DATA\n// =============================================================================\n\nexport enum NodeTypeEnum {\n // Input nodes\n IMAGE_INPUT = 'imageInput',\n AUDIO_INPUT = 'audioInput',\n VIDEO_INPUT = 'videoInput',\n PROMPT = 'prompt',\n PROMPT_CONSTRUCTOR = 'promptConstructor',\n // AI generation nodes\n IMAGE_GEN = 'imageGen',\n VIDEO_GEN = 'videoGen',\n LLM = 'llm',\n LIP_SYNC = 'lipSync',\n VOICE_CHANGE = 'voiceChange',\n TEXT_TO_SPEECH = 'textToSpeech',\n TRANSCRIBE = 'transcribe',\n MOTION_CONTROL = 'motionControl',\n // Processing nodes\n RESIZE = 'resize',\n ANIMATION = 'animation',\n VIDEO_STITCH = 'videoStitch',\n VIDEO_TRIM = 'videoTrim',\n VIDEO_FRAME_EXTRACT = 'videoFrameExtract',\n REFRAME = 'reframe',\n UPSCALE = 'upscale',\n IMAGE_GRID_SPLIT = 'imageGridSplit',\n ANNOTATION = 'annotation',\n SUBTITLE = 'subtitle',\n OUTPUT_GALLERY = 'outputGallery',\n IMAGE_COMPARE = 'imageCompare',\n // Output nodes\n DOWNLOAD = 'download',\n // Composition nodes (workflow-as-node)\n WORKFLOW_INPUT = 'workflowInput',\n WORKFLOW_OUTPUT = 'workflowOutput',\n WORKFLOW_REF = 'workflowRef',\n}\n\nexport type NodeType = `${NodeTypeEnum}`;\n\nexport enum NodeCategoryEnum {\n INPUT = 'input',\n AI = 'ai',\n PROCESSING = 'processing',\n OUTPUT = 'output',\n COMPOSITION = 'composition',\n}\n\nexport type NodeCategory = `${NodeCategoryEnum}`;\n\nexport enum NodeStatusEnum {\n IDLE = 'idle',\n PENDING = 'pending',\n PROCESSING = 'processing',\n COMPLETE = 'complete',\n ERROR = 'error',\n}\n\nexport type NodeStatus = `${NodeStatusEnum}`;\n\nexport interface BaseNodeData extends Record<string, unknown> {\n label: string;\n status: NodeStatus;\n error?: string;\n progress?: number;\n // Lock state for skipping during execution\n isLocked?: boolean;\n cachedOutput?: unknown;\n lockTimestamp?: number;\n // Optional comment/note for the node (used for comment navigation)\n comment?: string;\n // Optional custom color for the node (hex color string)\n color?: string;\n}\n","// =============================================================================\n// HANDLE TYPES\n// =============================================================================\n\nexport enum HandleTypeEnum {\n IMAGE = 'image',\n TEXT = 'text',\n VIDEO = 'video',\n NUMBER = 'number',\n AUDIO = 'audio',\n}\n\nexport type HandleType = `${HandleTypeEnum}`;\n\nexport interface HandleDefinition {\n id: string;\n type: HandleType;\n label: string;\n multiple?: boolean;\n required?: boolean;\n /** True if handle was dynamically generated from model schema */\n fromSchema?: boolean;\n}\n\n// Connection validation rules\nexport const CONNECTION_RULES: Record<HandleType, HandleType[]> = {\n audio: ['audio'],\n image: ['image'],\n number: ['number'],\n text: ['text'],\n video: ['video'],\n};\n","// =============================================================================\n// PROVIDER TYPES\n// =============================================================================\n\nexport enum ProviderTypeEnum {\n REPLICATE = 'replicate',\n FAL = 'fal',\n HUGGINGFACE = 'huggingface',\n GENFEED_AI = 'genfeed-ai',\n}\n\nexport type ProviderType = `${ProviderTypeEnum}`;\n\nexport enum ModelCapabilityEnum {\n TEXT_TO_IMAGE = 'text-to-image',\n IMAGE_TO_IMAGE = 'image-to-image',\n TEXT_TO_VIDEO = 'text-to-video',\n IMAGE_TO_VIDEO = 'image-to-video',\n TEXT_GENERATION = 'text-generation',\n}\n\nexport type ModelCapability = `${ModelCapabilityEnum}`;\n\nexport enum ModelUseCaseEnum {\n STYLE_TRANSFER = 'style-transfer',\n CHARACTER_CONSISTENT = 'character-consistent',\n IMAGE_VARIATION = 'image-variation',\n INPAINTING = 'inpainting',\n UPSCALE = 'upscale',\n GENERAL = 'general',\n}\n\nexport type ModelUseCase = `${ModelUseCaseEnum}`;\n\nexport interface ProviderModel {\n id: string;\n displayName: string;\n provider: ProviderType;\n capabilities: ModelCapability[];\n description?: string;\n thumbnail?: string;\n pricing?: string;\n inputSchema?: Record<string, unknown>;\n /** Component schemas containing enum definitions (aspect_ratio, duration, etc.) */\n componentSchemas?: Record<string, unknown>;\n /** Use cases this model supports (style transfer, upscale, etc.) */\n useCases?: ModelUseCase[];\n}\n\nexport interface SelectedModel {\n /** Alias for modelId - used by hooks that expect id */\n id?: string;\n provider: ProviderType;\n modelId: string;\n displayName: string;\n inputSchema?: Record<string, unknown>;\n /** Component schemas containing enum definitions (aspect_ratio, duration, etc.) */\n componentSchemas?: Record<string, unknown>;\n}\n","// =============================================================================\n// NODE DEFINITION & REGISTRY\n// =============================================================================\n\nimport type { NodeCategory, NodeType } from './base';\nimport type { HandleDefinition } from './handles';\nimport type { WorkflowNodeData } from './union';\n\nexport interface NodeDefinition {\n type: NodeType;\n label: string;\n description: string;\n category: NodeCategory;\n icon: string;\n inputs: HandleDefinition[];\n outputs: HandleDefinition[];\n defaultData: Partial<WorkflowNodeData>;\n}\n\n// =============================================================================\n// NODE REGISTRY\n// =============================================================================\n\nexport const NODE_DEFINITIONS: Record<NodeType, NodeDefinition> = {\n animation: {\n category: 'processing',\n defaultData: {\n curveType: 'preset',\n customCurve: [0.645, 0.045, 0.355, 1],\n inputVideo: null,\n label: 'Animation',\n outputVideo: null,\n preset: 'easeInOutCubic',\n speedMultiplier: 1,\n status: 'idle',\n },\n description: 'Apply easing curve to video',\n icon: 'Wand2',\n inputs: [{ id: 'video', label: 'Video', required: true, type: 'video' }],\n label: 'Animation',\n outputs: [{ id: 'video', label: 'Animated Video', type: 'video' }],\n type: 'animation',\n },\n annotation: {\n category: 'processing',\n defaultData: {\n annotations: [],\n hasAnnotations: false,\n inputImage: null,\n label: 'Annotation',\n outputImage: null,\n status: 'idle',\n },\n description: 'Add shapes, arrows, and text to images',\n icon: 'Pencil',\n inputs: [{ id: 'image', label: 'Image', required: true, type: 'image' }],\n label: 'Annotation',\n outputs: [{ id: 'image', label: 'Annotated Image', type: 'image' }],\n type: 'annotation',\n },\n audioInput: {\n category: 'input',\n defaultData: {\n audio: null,\n duration: null,\n filename: null,\n label: 'Audio',\n source: 'upload',\n status: 'idle',\n },\n description: 'Upload an audio file (MP3, WAV)',\n icon: 'Volume2',\n inputs: [],\n label: 'Audio',\n outputs: [{ id: 'audio', label: 'Audio', type: 'audio' }],\n type: 'audioInput',\n },\n\n // Output nodes\n download: {\n category: 'output',\n defaultData: {\n inputImage: null,\n inputType: null,\n inputVideo: null,\n label: 'Download',\n outputName: 'output',\n status: 'idle',\n },\n description: 'Download workflow output with custom filename',\n icon: 'Download',\n inputs: [\n { id: 'image', label: 'Image', type: 'image' },\n { id: 'video', label: 'Video', type: 'video' },\n ],\n label: 'Download',\n outputs: [],\n type: 'download',\n },\n imageCompare: {\n category: 'output',\n defaultData: {\n imageA: null,\n imageB: null,\n label: 'Image Compare',\n status: 'idle',\n },\n description: 'Side-by-side A/B comparison with draggable slider',\n icon: 'Columns2',\n inputs: [\n { id: 'image', label: 'Image A', type: 'image' },\n { id: 'image-1', label: 'Image B', type: 'image' },\n ],\n label: 'Image Compare',\n outputs: [],\n type: 'imageCompare',\n },\n // AI nodes\n imageGen: {\n category: 'ai',\n defaultData: {\n aspectRatio: '1:1',\n inputImages: [],\n inputPrompt: null,\n jobId: null,\n label: 'Image Generator',\n model: 'nano-banana-pro',\n outputFormat: 'jpg',\n outputImage: null,\n outputImages: [],\n resolution: '2K',\n status: 'idle',\n },\n description: 'Generate images with nano-banana models',\n icon: 'Sparkles',\n inputs: [\n { id: 'prompt', label: 'Prompt', required: true, type: 'text' },\n {\n id: 'images',\n label: 'Reference Images',\n multiple: true,\n type: 'image',\n },\n ],\n label: 'Image Generator',\n outputs: [{ id: 'image', label: 'Generated Image', type: 'image' }],\n type: 'imageGen',\n },\n imageGridSplit: {\n category: 'processing',\n defaultData: {\n borderInset: 10,\n gridCols: 3,\n gridRows: 2,\n inputImage: null,\n label: 'Grid Split',\n outputFormat: 'jpg',\n outputImages: [],\n quality: 95,\n status: 'idle',\n },\n description: 'Split image into grid cells',\n icon: 'Grid3X3',\n inputs: [{ id: 'image', label: 'Image', required: true, type: 'image' }],\n label: 'Grid Split',\n outputs: [\n { id: 'images', label: 'Split Images', multiple: true, type: 'image' },\n ],\n type: 'imageGridSplit',\n },\n // Input nodes\n imageInput: {\n category: 'input',\n defaultData: {\n dimensions: null,\n filename: null,\n image: null,\n label: 'Image',\n source: 'upload',\n status: 'idle',\n },\n description: 'Upload or reference an image',\n icon: 'Image',\n inputs: [],\n label: 'Image',\n outputs: [{ id: 'image', label: 'Image', type: 'image' }],\n type: 'imageInput',\n },\n lipSync: {\n category: 'ai',\n defaultData: {\n activeSpeaker: false,\n inputAudio: null,\n inputImage: null,\n inputVideo: null,\n jobId: null,\n label: 'Lip Sync',\n model: 'sync/lipsync-2',\n outputVideo: null,\n status: 'idle',\n syncMode: 'loop',\n temperature: 0.5,\n },\n description:\n 'Generate talking-head video from image/video and audio using Replicate',\n icon: 'Mic',\n inputs: [\n { id: 'image', label: 'Face Image', type: 'image' },\n { id: 'video', label: 'Source Video', type: 'video' },\n { id: 'audio', label: 'Audio', required: true, type: 'audio' },\n ],\n label: 'Lip Sync',\n outputs: [{ id: 'video', label: 'Generated Video', type: 'video' }],\n type: 'lipSync',\n },\n llm: {\n category: 'ai',\n defaultData: {\n inputPrompt: null,\n jobId: null,\n label: 'LLM',\n maxTokens: 1024,\n model: 'meta-llama-3.1-405b-instruct',\n outputText: null,\n status: 'idle',\n systemPrompt:\n 'You are a creative assistant helping generate content prompts.',\n temperature: 0.7,\n topP: 0.9,\n },\n description: 'Generate text with meta-llama',\n icon: 'Brain',\n inputs: [{ id: 'prompt', label: 'Prompt', required: true, type: 'text' }],\n label: 'LLM',\n outputs: [{ id: 'text', label: 'Generated Text', type: 'text' }],\n type: 'llm',\n },\n\n motionControl: {\n category: 'ai',\n defaultData: {\n aspectRatio: '16:9',\n cameraIntensity: 50,\n cameraMovement: 'static',\n characterOrientation: 'image',\n duration: 5,\n inputImage: null,\n inputPrompt: null,\n inputVideo: null,\n jobId: null,\n keepOriginalSound: true,\n label: 'Motion Control',\n mode: 'video_transfer',\n motionStrength: 50,\n negativePrompt: '',\n outputVideo: null,\n qualityMode: 'pro',\n seed: null,\n status: 'idle',\n trajectoryPoints: [],\n },\n description: 'Generate video with precise motion control using Kling AI',\n icon: 'Navigation',\n inputs: [\n { id: 'image', label: 'Image', required: true, type: 'image' },\n { id: 'video', label: 'Motion Video', type: 'video' },\n { id: 'prompt', label: 'Prompt', type: 'text' },\n ],\n label: 'Motion Control',\n outputs: [{ id: 'video', label: 'Video', type: 'video' }],\n type: 'motionControl',\n },\n\n outputGallery: {\n category: 'output',\n defaultData: {\n images: [],\n label: 'Output Gallery',\n status: 'idle',\n },\n description: 'Thumbnail grid with lightbox for multi-image outputs',\n icon: 'LayoutGrid',\n inputs: [{ id: 'image', label: 'Images', multiple: true, type: 'image' }],\n label: 'Output Gallery',\n outputs: [],\n type: 'outputGallery',\n },\n prompt: {\n category: 'input',\n defaultData: {\n label: 'Prompt',\n prompt: '',\n status: 'idle',\n variables: {},\n },\n description: 'Text prompt for AI generation',\n icon: 'MessageSquare',\n inputs: [],\n label: 'Prompt',\n outputs: [{ id: 'text', label: 'Prompt', type: 'text' }],\n type: 'prompt',\n },\n promptConstructor: {\n category: 'input',\n defaultData: {\n label: 'Prompt Constructor',\n outputText: null,\n status: 'idle',\n template: '',\n unresolvedVars: [],\n },\n description:\n 'Template-based prompt with @variable interpolation from connected Prompt nodes',\n icon: 'Puzzle',\n inputs: [{ id: 'text', label: 'Variables', multiple: true, type: 'text' }],\n label: 'Prompt Constructor',\n outputs: [{ id: 'text', label: 'Prompt', type: 'text' }],\n type: 'promptConstructor',\n },\n reframe: {\n category: 'processing',\n defaultData: {\n aspectRatio: '16:9',\n gridPosition: { x: 0.5, y: 0.5 },\n inputImage: null,\n inputType: null,\n inputVideo: null,\n jobId: null,\n label: 'Reframe',\n model: 'photon-flash-1',\n outputImage: null,\n outputVideo: null,\n prompt: '',\n status: 'idle',\n },\n description:\n 'Reframe images or videos to different aspect ratios with AI outpainting',\n icon: 'Crop',\n inputs: [\n { id: 'image', label: 'Image', type: 'image' },\n { id: 'video', label: 'Video', type: 'video' },\n ],\n label: 'Reframe',\n outputs: [\n { id: 'image', label: 'Reframed Image', type: 'image' },\n { id: 'video', label: 'Reframed Video', type: 'video' },\n ],\n type: 'reframe',\n },\n\n // Processing nodes\n resize: {\n category: 'processing',\n defaultData: {\n gridPosition: { x: 0.5, y: 0.5 },\n inputMedia: null,\n inputType: null,\n jobId: null,\n label: 'Resize',\n outputMedia: null,\n prompt: '',\n status: 'idle',\n targetAspectRatio: '16:9',\n },\n description:\n 'Resize images or videos to different aspect ratios using Luma AI',\n icon: 'Maximize2',\n inputs: [{ id: 'media', label: 'Media', required: true, type: 'image' }],\n label: 'Resize',\n outputs: [{ id: 'media', label: 'Resized Media', type: 'image' }],\n type: 'resize',\n },\n subtitle: {\n category: 'processing',\n defaultData: {\n backgroundColor: 'rgba(0,0,0,0.7)',\n fontColor: '#FFFFFF',\n fontFamily: 'Arial',\n fontSize: 24,\n inputText: null,\n inputVideo: null,\n jobId: null,\n label: 'Subtitle',\n outputVideo: null,\n position: 'bottom',\n status: 'idle',\n style: 'modern',\n },\n description: 'Burn subtitles into video using FFmpeg',\n icon: 'Subtitles',\n inputs: [\n { id: 'video', label: 'Video', required: true, type: 'video' },\n { id: 'text', label: 'Subtitle Text', required: true, type: 'text' },\n ],\n label: 'Subtitle',\n outputs: [{ id: 'video', label: 'Video with Subtitles', type: 'video' }],\n type: 'subtitle',\n },\n textToSpeech: {\n category: 'ai',\n defaultData: {\n inputText: null,\n jobId: null,\n label: 'Text to Speech',\n outputAudio: null,\n provider: 'elevenlabs',\n similarityBoost: 0.75,\n speed: 1.0,\n stability: 0.5,\n status: 'idle',\n voice: 'rachel',\n },\n description: 'Convert text to natural-sounding speech using ElevenLabs',\n icon: 'AudioLines',\n inputs: [{ id: 'text', label: 'Text', required: true, type: 'text' }],\n label: 'Text to Speech',\n outputs: [{ id: 'audio', label: 'Audio', type: 'audio' }],\n type: 'textToSpeech',\n },\n transcribe: {\n category: 'ai',\n defaultData: {\n inputAudio: null,\n inputVideo: null,\n jobId: null,\n label: 'Transcribe',\n language: 'auto',\n outputText: null,\n status: 'idle',\n timestamps: false,\n },\n description: 'Convert video or audio to text transcript',\n icon: 'FileText',\n inputs: [\n { id: 'video', label: 'Video', type: 'video' },\n { id: 'audio', label: 'Audio', type: 'audio' },\n ],\n label: 'Transcribe',\n outputs: [{ id: 'text', label: 'Transcript', type: 'text' }],\n type: 'transcribe',\n },\n upscale: {\n category: 'processing',\n defaultData: {\n comparisonPosition: 50,\n faceEnhancement: false,\n faceEnhancementCreativity: 0,\n faceEnhancementStrength: 80,\n inputImage: null,\n inputType: null,\n inputVideo: null,\n jobId: null,\n label: 'Upscale',\n model: 'topaz-standard-v2',\n originalPreview: null,\n outputFormat: 'png',\n outputImage: null,\n outputPreview: null,\n outputVideo: null,\n showComparison: true,\n status: 'idle',\n targetFps: 30,\n targetResolution: '1080p',\n upscaleFactor: '2x',\n },\n description: 'AI-powered upscaling for images and videos',\n icon: 'Maximize',\n inputs: [\n { id: 'image', label: 'Image', type: 'image' },\n { id: 'video', label: 'Video', type: 'video' },\n ],\n label: 'Upscale',\n outputs: [\n { id: 'image', label: 'Upscaled Image', type: 'image' },\n { id: 'video', label: 'Upscaled Video', type: 'video' },\n ],\n type: 'upscale',\n },\n videoFrameExtract: {\n category: 'processing',\n defaultData: {\n inputVideo: null,\n jobId: null,\n label: 'Frame Extract',\n outputImage: null,\n percentagePosition: 100,\n selectionMode: 'last',\n status: 'idle',\n timestampSeconds: 0,\n videoDuration: null,\n },\n description: 'Extract a specific frame from video as image',\n icon: 'Film',\n inputs: [{ id: 'video', label: 'Video', required: true, type: 'video' }],\n label: 'Frame Extract',\n outputs: [{ id: 'image', label: 'Extracted Frame', type: 'image' }],\n type: 'videoFrameExtract',\n },\n videoGen: {\n category: 'ai',\n defaultData: {\n aspectRatio: '16:9',\n duration: 8,\n generateAudio: true,\n inputImage: null,\n inputPrompt: null,\n jobId: null,\n label: 'Video Generator',\n lastFrame: null,\n model: 'veo-3.1-fast',\n negativePrompt: '',\n outputVideo: null,\n referenceImages: [],\n resolution: '1080p',\n status: 'idle',\n },\n description: 'Generate videos with veo-3.1 models',\n icon: 'Video',\n inputs: [\n { id: 'prompt', label: 'Prompt', required: true, type: 'text' },\n { id: 'image', label: 'Starting Frame', type: 'image' },\n { id: 'lastFrame', label: 'Last Frame (interpolation)', type: 'image' },\n ],\n label: 'Video Generator',\n outputs: [{ id: 'video', label: 'Generated Video', type: 'video' }],\n type: 'videoGen',\n },\n videoInput: {\n category: 'input',\n defaultData: {\n dimensions: null,\n duration: null,\n filename: null,\n label: 'Video',\n source: 'upload',\n status: 'idle',\n video: null,\n },\n description: 'Upload or reference a video file',\n icon: 'FileVideo',\n inputs: [],\n label: 'Video',\n outputs: [{ id: 'video', label: 'Video', type: 'video' }],\n type: 'videoInput',\n },\n videoStitch: {\n category: 'processing',\n defaultData: {\n inputVideos: [],\n label: 'Video Stitch',\n outputVideo: null,\n seamlessLoop: false,\n status: 'idle',\n transitionDuration: 0.5,\n transitionType: 'crossfade',\n },\n description: 'Concatenate multiple videos',\n icon: 'Layers',\n inputs: [\n {\n id: 'videos',\n label: 'Videos',\n multiple: true,\n required: true,\n type: 'video',\n },\n ],\n label: 'Video Stitch',\n outputs: [{ id: 'video', label: 'Stitched Video', type: 'video' }],\n type: 'videoStitch',\n },\n videoTrim: {\n category: 'processing',\n defaultData: {\n duration: null,\n endTime: 60,\n inputVideo: null,\n jobId: null,\n label: 'Video Trim',\n outputVideo: null,\n startTime: 0,\n status: 'idle',\n },\n description: 'Trim video to a specific time range',\n icon: 'Scissors',\n inputs: [{ id: 'video', label: 'Video', required: true, type: 'video' }],\n label: 'Video Trim',\n outputs: [{ id: 'video', label: 'Trimmed Video', type: 'video' }],\n type: 'videoTrim',\n },\n voiceChange: {\n category: 'ai',\n defaultData: {\n audioMixLevel: 0.5,\n inputAudio: null,\n inputVideo: null,\n jobId: null,\n label: 'Voice Change',\n outputVideo: null,\n preserveOriginalAudio: false,\n status: 'idle',\n },\n description: 'Replace or mix audio track in a video',\n icon: 'AudioLines',\n inputs: [\n { id: 'video', label: 'Video', required: true, type: 'video' },\n { id: 'audio', label: 'New Audio', required: true, type: 'audio' },\n ],\n label: 'Voice Change',\n outputs: [{ id: 'video', label: 'Output Video', type: 'video' }],\n type: 'voiceChange',\n },\n\n // Composition nodes (workflow-as-node)\n workflowInput: {\n category: 'composition',\n defaultData: {\n description: '',\n inputName: 'input',\n inputType: 'image',\n label: 'Workflow Input',\n required: true,\n status: 'idle',\n },\n description:\n 'Define an input port for when this workflow is used as a subworkflow',\n icon: 'ArrowRightToLine',\n inputs: [],\n label: 'Workflow Input',\n outputs: [{ id: 'value', label: 'Value', type: 'image' }], // Type is dynamic based on inputType\n type: 'workflowInput',\n },\n workflowOutput: {\n category: 'composition',\n defaultData: {\n description: '',\n inputValue: null,\n label: 'Workflow Output',\n outputName: 'output',\n outputType: 'image',\n status: 'idle',\n },\n description:\n 'Define an output port for when this workflow is used as a subworkflow',\n icon: 'ArrowLeftFromLine',\n inputs: [{ id: 'value', label: 'Value', required: true, type: 'image' }], // Type is dynamic based on outputType\n label: 'Workflow Output',\n outputs: [],\n type: 'workflowOutput',\n },\n workflowRef: {\n category: 'composition',\n defaultData: {\n cachedInterface: null,\n childExecutionId: null,\n inputMappings: {},\n label: 'Subworkflow',\n outputMappings: {},\n referencedWorkflowId: null,\n referencedWorkflowName: null,\n status: 'idle',\n },\n description: 'Reference another workflow as a subworkflow',\n icon: 'GitBranch',\n inputs: [], // Dynamic based on referenced workflow interface\n label: 'Subworkflow',\n outputs: [], // Dynamic based on referenced workflow interface\n type: 'workflowRef',\n },\n\n // Multi-format nodes removed - format conversion now handled by schema-driven engine\n};\n\n// Explicit ordering for each category (most used first)\nexport const NODE_ORDER: Record<NodeCategory, NodeType[]> = {\n ai: [\n 'imageGen',\n 'videoGen',\n 'llm',\n 'lipSync',\n 'textToSpeech',\n 'transcribe',\n 'voiceChange',\n 'motionControl',\n ],\n composition: ['workflowRef', 'workflowInput', 'workflowOutput'],\n input: [\n 'imageInput',\n 'videoInput',\n 'audioInput',\n 'prompt',\n 'promptConstructor',\n ],\n output: ['download', 'outputGallery', 'imageCompare'],\n processing: [\n 'reframe',\n 'upscale',\n 'resize',\n 'videoStitch',\n 'videoTrim',\n 'videoFrameExtract',\n 'imageGridSplit',\n 'annotation',\n 'subtitle',\n 'animation',\n ],\n};\n\n// Helper to get nodes by category with explicit ordering\nexport function getNodesByCategory(): Record<NodeCategory, NodeDefinition[]> {\n const categories: Record<NodeCategory, NodeDefinition[]> = {\n ai: [],\n composition: [],\n input: [],\n output: [],\n processing: [],\n };\n\n for (const category of Object.keys(NODE_ORDER) as NodeCategory[]) {\n for (const nodeType of NODE_ORDER[category]) {\n const def = NODE_DEFINITIONS[nodeType];\n if (def) {\n categories[category].push(def);\n }\n }\n }\n\n return categories;\n}\n"]}
|