diff --git a/scripts/collect-i18n-general.ts b/scripts/collect-i18n-general.ts index 0a6452c8a..4b72709a5 100644 --- a/scripts/collect-i18n-general.ts +++ b/scripts/collect-i18n-general.ts @@ -48,15 +48,28 @@ test('collect-i18n-general', async ({ comfyPage }) => { Array.from(allLabels).map((label) => [normalizeI18nKey(label), label]) ) - const allCommandsLocale = Object.fromEntries( - commands.map((command) => [ + // Load existing commands to preserve Desktop commands + const existingCommands = JSON.parse(fs.readFileSync(commandsPath, 'utf-8')) + + // Filter out Desktop commands from existing commands + const desktopCommands = Object.fromEntries( + Object.entries(existingCommands).filter(([key]) => + key.startsWith('Comfy-Desktop') + ) + ) + + const allCommandsLocale = Object.fromEntries([ + // Keep Desktop commands that aren't in the current collection + ...Object.entries(desktopCommands), + // Add/update commands from current collection + ...commands.map((command) => [ normalizeI18nKey(command.id), { label: command.label, tooltip: command.tooltip } ]) - ) + ]) // Settings const settings = await comfyPage.page.evaluate(() => { @@ -79,8 +92,21 @@ test('collect-i18n-general', async ({ comfyPage }) => { })) }) - const allSettingsLocale = Object.fromEntries( - settings.map((setting) => [ + // Load existing settings to preserve Desktop settings + const existingSettings = JSON.parse(fs.readFileSync(settingsPath, 'utf-8')) + + // Filter out Desktop settings from existing settings + const desktopSettings = Object.fromEntries( + Object.entries(existingSettings).filter(([key]) => + key.startsWith('Comfy-Desktop') + ) + ) + + const allSettingsLocale = Object.fromEntries([ + // Keep Desktop settings that aren't in the current collection + ...Object.entries(desktopSettings), + // Add/update settings from current collection + ...settings.map((setting) => [ normalizeI18nKey(setting.id), { name: setting.name, @@ -99,7 +125,7 @@ test('collect-i18n-general', async ({ comfyPage }) => { : undefined } ]) - ) + ]) const allSettingCategoriesLocale = Object.fromEntries( settings diff --git a/src/locales/en/commands.json b/src/locales/en/commands.json index d11c5628e..ee1455042 100644 --- a/src/locales/en/commands.json +++ b/src/locales/en/commands.json @@ -1,4 +1,40 @@ { + "Comfy-Desktop_CheckForUpdates": { + "label": "Check for Updates" + }, + "Comfy-Desktop_Folders_OpenCustomNodesFolder": { + "label": "Open Custom Nodes Folder" + }, + "Comfy-Desktop_Folders_OpenInputsFolder": { + "label": "Open Inputs Folder" + }, + "Comfy-Desktop_Folders_OpenLogsFolder": { + "label": "Open Logs Folder" + }, + "Comfy-Desktop_Folders_OpenModelConfig": { + "label": "Open extra_model_paths.yaml" + }, + "Comfy-Desktop_Folders_OpenModelsFolder": { + "label": "Open Models Folder" + }, + "Comfy-Desktop_Folders_OpenOutputsFolder": { + "label": "Open Outputs Folder" + }, + "Comfy-Desktop_OpenDevTools": { + "label": "Open DevTools" + }, + "Comfy-Desktop_OpenUserGuide": { + "label": "Desktop User Guide" + }, + "Comfy-Desktop_Quit": { + "label": "Quit" + }, + "Comfy-Desktop_Reinstall": { + "label": "Reinstall" + }, + "Comfy-Desktop_Restart": { + "label": "Restart" + }, "Comfy_3DViewer_Open3DViewer": { "label": "Open 3D Viewer (Beta) for Selected Node" }, @@ -86,6 +122,9 @@ "Comfy_ExportWorkflowAPI": { "label": "Export Workflow (API Format)" }, + "Comfy_Feedback": { + "label": "Give Feedback" + }, "Comfy_Graph_ConvertToSubgraph": { "label": "Convert Selection to Subgraph" }, @@ -221,9 +260,6 @@ "Comfy_User_SignOut": { "label": "Sign Out" }, - "Experimental_ToggleVueNodes": { - "label": "Experimental: Enable Vue Nodes" - }, "Workspace_CloseWorkflow": { "label": "Close Current Workflow" }, @@ -242,6 +278,9 @@ "Workspace_ToggleBottomPanel_Shortcuts": { "label": "Show Keybindings Dialog" }, + "Workspace_ToggleBottomPanelTab_command-terminal": { + "label": "Toggle Terminal Bottom Panel" + }, "Workspace_ToggleBottomPanelTab_logs-terminal": { "label": "Toggle Logs Bottom Panel" }, diff --git a/src/locales/en/main.json b/src/locales/en/main.json index b7ed574f1..7b1f06b29 100644 --- a/src/locales/en/main.json +++ b/src/locales/en/main.json @@ -1017,13 +1017,27 @@ "queue": "Queue Panel" }, "menuLabels": { - "File": "File", + "Workflow": "Workflow", "Edit": "Edit", "View": "View", + "Manager": "Manager", "Help": "Help", + "Check for Updates": "Check for Updates", + "Open Custom Nodes Folder": "Open Custom Nodes Folder", + "Open Inputs Folder": "Open Inputs Folder", + "Open Logs Folder": "Open Logs Folder", + "Open extra_model_paths_yaml": "Open extra_model_paths.yaml", + "Open Models Folder": "Open Models Folder", + "Open Outputs Folder": "Open Outputs Folder", + "Open DevTools": "Open DevTools", + "Desktop User Guide": "Desktop User Guide", + "Quit": "Quit", + "Reinstall": "Reinstall", + "Restart": "Restart", "Open 3D Viewer (Beta) for Selected Node": "Open 3D Viewer (Beta) for Selected Node", "Browse Templates": "Browse Templates", "Delete Selected Items": "Delete Selected Items", + "Fit view to selected nodes": "Fit view to selected nodes", "Zoom to fit": "Zoom to fit", "Lock Canvas": "Lock Canvas", "Move Selected Nodes Down": "Move Selected Nodes Down", @@ -1032,9 +1046,8 @@ "Move Selected Nodes Up": "Move Selected Nodes Up", "Reset View": "Reset View", "Resize Selected Nodes": "Resize Selected Nodes", - "Node Links": "Node Links", + "Canvas Toggle Link Visibility": "Canvas Toggle Link Visibility", "Canvas Toggle Lock": "Canvas Toggle Lock", - "Minimap": "Minimap", "Pin/Unpin Selected Items": "Pin/Unpin Selected Items", "Bypass/Unbypass Selected Nodes": "Bypass/Unbypass Selected Nodes", "Collapse/Expand Selected Nodes": "Collapse/Expand Selected Nodes", @@ -1050,6 +1063,7 @@ "Duplicate Current Workflow": "Duplicate Current Workflow", "Export": "Export", "Export (API)": "Export (API)", + "Give Feedback": "Give Feedback", "Convert Selection to Subgraph": "Convert Selection to Subgraph", "Exit Subgraph": "Exit Subgraph", "Fit Group To Contents": "Fit Group To Contents", @@ -1068,11 +1082,10 @@ "Custom Nodes Manager": "Custom Nodes Manager", "Custom Nodes (Legacy)": "Custom Nodes (Legacy)", "Manager Menu (Legacy)": "Manager Menu (Legacy)", + "Install Missing": "Install Missing", "Install Missing Custom Nodes": "Install Missing Custom Nodes", "Check for Custom Node Updates": "Check for Custom Node Updates", "Toggle the Custom Nodes Manager Progress Bar": "Toggle the Custom Nodes Manager Progress Bar", - "Decrease Brush Size in MaskEditor": "Decrease Brush Size in MaskEditor", - "Increase Brush Size in MaskEditor": "Increase Brush Size in MaskEditor", "Open Mask Editor for Selected Node": "Open Mask Editor for Selected Node", "Unload Models": "Unload Models", "Unload Models and Execution Cache": "Unload Models and Execution Cache", @@ -1095,21 +1108,31 @@ "Undo": "Undo", "Open Sign In Dialog": "Open Sign In Dialog", "Sign Out": "Sign Out", - "Experimental: Enable Vue Nodes": "Experimental: Enable Vue Nodes", "Close Current Workflow": "Close Current Workflow", "Next Opened Workflow": "Next Opened Workflow", "Previous Opened Workflow": "Previous Opened Workflow", "Toggle Search Box": "Toggle Search Box", "Bottom Panel": "Bottom Panel", + "Toggle Bottom Panel": "Toggle Bottom Panel", "Show Keybindings Dialog": "Show Keybindings Dialog", + "Toggle Terminal Bottom Panel": "Toggle Terminal Bottom Panel", "Toggle Logs Bottom Panel": "Toggle Logs Bottom Panel", "Toggle Essential Bottom Panel": "Toggle Essential Bottom Panel", "Toggle View Controls Bottom Panel": "Toggle View Controls Bottom Panel", + "Toggle Focus Mode": "Toggle Focus Mode", "Focus Mode": "Focus Mode", "Model Library": "Model Library", "Node Library": "Node Library", "Queue Panel": "Queue Panel", - "Workflows": "Workflows" + "Workflows": "Workflows", + "Toggle Model Library Sidebar": "Toggle Model Library Sidebar", + "Toggle Node Library Sidebar": "Toggle Node Library Sidebar", + "Toggle Queue Sidebar": "Toggle Queue Sidebar", + "Toggle Workflows Sidebar": "Toggle Workflows Sidebar", + "sideToolbar_modelLibrary": "sideToolbar.modelLibrary", + "sideToolbar_nodeLibrary": "sideToolbar.nodeLibrary", + "sideToolbar_queue": "sideToolbar.queue", + "sideToolbar_workflows": "sideToolbar.workflows" }, "desktopMenu": { "reinstall": "Reinstall", @@ -1170,8 +1193,7 @@ "API Nodes": "API Nodes", "Notification Preferences": "Notification Preferences", "3DViewer": "3DViewer", - "Vue Nodes": "Vue Nodes", - "Assets": "Assets" + "Vue Nodes": "Vue Nodes" }, "serverConfigItems": { "listen": { @@ -1308,49 +1330,42 @@ "noise": "noise", "sampling": "sampling", "schedulers": "schedulers", - "conditioning": "conditioning", - "loaders": "loaders", "guiders": "guiders", - "api node": "api node", - "video": "video", - "ByteDance": "ByteDance", "image": "image", "preprocessors": "preprocessors", - "utils": "utils", - "string": "string", "advanced": "advanced", "guidance": "guidance", + "loaders": "loaders", "model_merging": "model_merging", "attention_experiments": "attention_experiments", + "conditioning": "conditioning", "flux": "flux", "hooks": "hooks", "combine": "combine", "cond single": "cond single", - "context": "context", "controlnet": "controlnet", "inpaint": "inpaint", "scheduling": "scheduling", "create": "create", + "video": "video", "mask": "mask", "deprecated": "deprecated", - "debug": "debug", - "model": "model", "latent": "latent", "audio": "audio", "3d": "3d", "ltxv": "ltxv", "sd3": "sd3", "sigmas": "sigmas", + "api node": "api node", "BFL": "BFL", "model_patches": "model_patches", "unet": "unet", - "Gemini": "Gemini", - "text": "text", "gligen": "gligen", - "HotReload": "HotReload", "video_models": "video_models", - "sd": "sd", "Ideogram": "Ideogram", + "v1": "v1", + "v2": "v2", + "v3": "v3", "postprocessing": "postprocessing", "transform": "transform", "batch": "batch", @@ -1360,44 +1375,34 @@ "Kling": "Kling", "samplers": "samplers", "operations": "operations", - "training": "training", "lotus": "lotus", "Luma": "Luma", "MiniMax": "MiniMax", + "debug": "debug", + "model": "model", "model_specific": "model_specific", - "Moonvalley Marey": "Moonvalley Marey", "OpenAI": "OpenAI", "cond pair": "cond pair", "photomaker": "photomaker", "Pika": "Pika", "PixVerse": "PixVerse", + "utils": "utils", "primitive": "primitive", - "qwen": "qwen", "Recraft": "Recraft", - "edit_models": "edit_models", - "Rodin": "Rodin", - "Runway": "Runway", "animation": "animation", "api": "api", - "save": "save", "upscale_diffusion": "upscale_diffusion", "clip": "clip", "Stability AI": "Stability AI", "stable_cascade": "stable_cascade", "3d_models": "3d_models", "style_model": "style_model", - "Tripo": "Tripo", - "Veo": "Veo", - "processing": "processing", - "Vidu": "Vidu", - "camera": "camera" + "sd": "sd", + "Veo": "Veo" }, "dataTypes": { "*": "*", "AUDIO": "AUDIO", - "AUDIO_ENCODER": "AUDIO_ENCODER", - "AUDIO_ENCODER_OUTPUT": "AUDIO_ENCODER_OUTPUT", - "AUDIO_RECORD": "AUDIO_RECORD", "BOOLEAN": "BOOLEAN", "CAMERA_CONTROL": "CAMERA_CONTROL", "CLIP": "CLIP", @@ -1408,7 +1413,6 @@ "CONTROL_NET": "CONTROL_NET", "FLOAT": "FLOAT", "FLOATS": "FLOATS", - "GEMINI_INPUT_FILES": "GEMINI_INPUT_FILES", "GLIGEN": "GLIGEN", "GUIDER": "GUIDER", "HOOK_KEYFRAMES": "HOOK_KEYFRAMES", @@ -1420,25 +1424,17 @@ "LOAD_3D": "LOAD_3D", "LOAD_3D_ANIMATION": "LOAD_3D_ANIMATION", "LOAD3D_CAMERA": "LOAD3D_CAMERA", - "LORA_MODEL": "LORA_MODEL", - "LOSS_MAP": "LOSS_MAP", "LUMA_CONCEPTS": "LUMA_CONCEPTS", "LUMA_REF": "LUMA_REF", "MASK": "MASK", "MESH": "MESH", "MODEL": "MODEL", - "MODEL_PATCH": "MODEL_PATCH", - "MODEL_TASK_ID": "MODEL_TASK_ID", "NOISE": "NOISE", - "OPENAI_CHAT_CONFIG": "OPENAI_CHAT_CONFIG", - "OPENAI_INPUT_FILES": "OPENAI_INPUT_FILES", "PHOTOMAKER": "PHOTOMAKER", "PIXVERSE_TEMPLATE": "PIXVERSE_TEMPLATE", "RECRAFT_COLOR": "RECRAFT_COLOR", "RECRAFT_CONTROLS": "RECRAFT_CONTROLS", "RECRAFT_V3_STYLE": "RECRAFT_V3_STYLE", - "RETARGET_TASK_ID": "RETARGET_TASK_ID", - "RIG_TASK_ID": "RIG_TASK_ID", "SAMPLER": "SAMPLER", "SIGMAS": "SIGMAS", "STRING": "STRING", @@ -1449,7 +1445,6 @@ "VAE": "VAE", "VIDEO": "VIDEO", "VOXEL": "VOXEL", - "WAN_CAMERA_EMBEDDING": "WAN_CAMERA_EMBEDDING", "WEBCAM": "WEBCAM" }, "maintenance": { @@ -1810,4 +1805,4 @@ "renderBypassState": "Render Bypass State", "renderErrorState": "Render Error State" } -} \ No newline at end of file +} diff --git a/src/locales/en/nodeDefs.json b/src/locales/en/nodeDefs.json index 5f8cbe04a..e1cb43987 100644 --- a/src/locales/en/nodeDefs.json +++ b/src/locales/en/nodeDefs.json @@ -28,55 +28,6 @@ "denoise": { "name": "denoise" } - }, - "outputs": { - "0": { - "tooltip": null - } - } - }, - "APG": { - "display_name": "Adaptive Projected Guidance", - "inputs": { - "model": { - "name": "model" - }, - "eta": { - "name": "eta", - "tooltip": "Controls the scale of the parallel guidance vector. Default CFG behavior at a setting of 1." - }, - "norm_threshold": { - "name": "norm_threshold", - "tooltip": "Normalize guidance vector to this value, normalization disable at a setting of 0." - }, - "momentum": { - "name": "momentum", - "tooltip": "Controls a running average of guidance during diffusion, disabled at a setting of 0." - } - }, - "outputs": { - "0": { - "tooltip": null - } - } - }, - "AudioEncoderEncode": { - "display_name": "AudioEncoderEncode", - "inputs": { - "audio_encoder": { - "name": "audio_encoder" - }, - "audio": { - "name": "audio" - } - } - }, - "AudioEncoderLoader": { - "display_name": "AudioEncoderLoader", - "inputs": { - "audio_encoder_name": { - "name": "audio_encoder_name" - } } }, "BasicGuider": { @@ -124,340 +75,6 @@ } } }, - "ByteDanceFirstLastFrameNode": { - "display_name": "ByteDance First-Last-Frame to Video", - "description": "Generate video using prompt and first and last frames.", - "inputs": { - "model": { - "name": "model", - "tooltip": "Model name" - }, - "prompt": { - "name": "prompt", - "tooltip": "The text prompt used to generate the video." - }, - "first_frame": { - "name": "first_frame", - "tooltip": "First frame to be used for the video." - }, - "last_frame": { - "name": "last_frame", - "tooltip": "Last frame to be used for the video." - }, - "resolution": { - "name": "resolution", - "tooltip": "The resolution of the output video." - }, - "aspect_ratio": { - "name": "aspect_ratio", - "tooltip": "The aspect ratio of the output video." - }, - "duration": { - "name": "duration", - "tooltip": "The duration of the output video in seconds." - }, - "seed": { - "name": "seed", - "tooltip": "Seed to use for generation." - }, - "camera_fixed": { - "name": "camera_fixed", - "tooltip": "Specifies whether to fix the camera. The platform appends an instruction to fix the camera to your prompt, but does not guarantee the actual effect." - }, - "watermark": { - "name": "watermark", - "tooltip": "Whether to add an \"AI generated\" watermark to the video." - }, - "control_after_generate": { - "name": "control after generate" - } - }, - "outputs": { - "0": { - "tooltip": null - } - } - }, - "ByteDanceImageEditNode": { - "display_name": "ByteDance Image Edit", - "description": "Edit images using ByteDance models via api based on prompt", - "inputs": { - "model": { - "name": "model", - "tooltip": "Model name" - }, - "image": { - "name": "image", - "tooltip": "The base image to edit" - }, - "prompt": { - "name": "prompt", - "tooltip": "Instruction to edit image" - }, - "seed": { - "name": "seed", - "tooltip": "Seed to use for generation" - }, - "guidance_scale": { - "name": "guidance_scale", - "tooltip": "Higher value makes the image follow the prompt more closely" - }, - "watermark": { - "name": "watermark", - "tooltip": "Whether to add an \"AI generated\" watermark to the image" - }, - "control_after_generate": { - "name": "control after generate" - } - }, - "outputs": { - "0": { - "tooltip": null - } - } - }, - "ByteDanceImageNode": { - "display_name": "ByteDance Image", - "description": "Generate images using ByteDance models via api based on prompt", - "inputs": { - "model": { - "name": "model", - "tooltip": "Model name" - }, - "prompt": { - "name": "prompt", - "tooltip": "The text prompt used to generate the image" - }, - "size_preset": { - "name": "size_preset", - "tooltip": "Pick a recommended size. Select Custom to use the width and height below" - }, - "width": { - "name": "width", - "tooltip": "Custom width for image. Value is working only if `size_preset` is set to `Custom`" - }, - "height": { - "name": "height", - "tooltip": "Custom height for image. Value is working only if `size_preset` is set to `Custom`" - }, - "seed": { - "name": "seed", - "tooltip": "Seed to use for generation" - }, - "guidance_scale": { - "name": "guidance_scale", - "tooltip": "Higher value makes the image follow the prompt more closely" - }, - "watermark": { - "name": "watermark", - "tooltip": "Whether to add an \"AI generated\" watermark to the image" - }, - "control_after_generate": { - "name": "control after generate" - } - }, - "outputs": { - "0": { - "tooltip": null - } - } - }, - "ByteDanceImageReferenceNode": { - "display_name": "ByteDance Reference Images to Video", - "description": "Generate video using prompt and reference images.", - "inputs": { - "model": { - "name": "model", - "tooltip": "Model name" - }, - "prompt": { - "name": "prompt", - "tooltip": "The text prompt used to generate the video." - }, - "images": { - "name": "images", - "tooltip": "One to four images." - }, - "resolution": { - "name": "resolution", - "tooltip": "The resolution of the output video." - }, - "aspect_ratio": { - "name": "aspect_ratio", - "tooltip": "The aspect ratio of the output video." - }, - "duration": { - "name": "duration", - "tooltip": "The duration of the output video in seconds." - }, - "seed": { - "name": "seed", - "tooltip": "Seed to use for generation." - }, - "watermark": { - "name": "watermark", - "tooltip": "Whether to add an \"AI generated\" watermark to the video." - }, - "control_after_generate": { - "name": "control after generate" - } - }, - "outputs": { - "0": { - "tooltip": null - } - } - }, - "ByteDanceImageToVideoNode": { - "display_name": "ByteDance Image to Video", - "description": "Generate video using ByteDance models via api based on image and prompt", - "inputs": { - "model": { - "name": "model", - "tooltip": "Model name" - }, - "prompt": { - "name": "prompt", - "tooltip": "The text prompt used to generate the video." - }, - "image": { - "name": "image", - "tooltip": "First frame to be used for the video." - }, - "resolution": { - "name": "resolution", - "tooltip": "The resolution of the output video." - }, - "aspect_ratio": { - "name": "aspect_ratio", - "tooltip": "The aspect ratio of the output video." - }, - "duration": { - "name": "duration", - "tooltip": "The duration of the output video in seconds." - }, - "seed": { - "name": "seed", - "tooltip": "Seed to use for generation." - }, - "camera_fixed": { - "name": "camera_fixed", - "tooltip": "Specifies whether to fix the camera. The platform appends an instruction to fix the camera to your prompt, but does not guarantee the actual effect." - }, - "watermark": { - "name": "watermark", - "tooltip": "Whether to add an \"AI generated\" watermark to the video." - }, - "control_after_generate": { - "name": "control after generate" - } - }, - "outputs": { - "0": { - "tooltip": null - } - } - }, - "ByteDanceSeedreamNode": { - "display_name": "ByteDance Seedream 4", - "description": "Unified text-to-image generation and precise single-sentence editing at up to 4K resolution.", - "inputs": { - "model": { - "name": "model", - "tooltip": "Model name" - }, - "prompt": { - "name": "prompt", - "tooltip": "Text prompt for creating or editing an image." - }, - "size_preset": { - "name": "size_preset", - "tooltip": "Pick a recommended size. Select Custom to use the width and height below." - }, - "image": { - "name": "image", - "tooltip": "Input image(s) for image-to-image generation. List of 1-10 images for single or multi-reference generation." - }, - "width": { - "name": "width", - "tooltip": "Custom width for image. Value is working only if `size_preset` is set to `Custom`" - }, - "height": { - "name": "height", - "tooltip": "Custom height for image. Value is working only if `size_preset` is set to `Custom`" - }, - "sequential_image_generation": { - "name": "sequential_image_generation", - "tooltip": "Group image generation mode. 'disabled' generates a single image. 'auto' lets the model decide whether to generate multiple related images (e.g., story scenes, character variations)." - }, - "max_images": { - "name": "max_images", - "tooltip": "Maximum number of images to generate when sequential_image_generation='auto'. Total images (input + generated) cannot exceed 15." - }, - "seed": { - "name": "seed", - "tooltip": "Seed to use for generation." - }, - "watermark": { - "name": "watermark", - "tooltip": "Whether to add an \"AI generated\" watermark to the image." - }, - "control_after_generate": { - "name": "control after generate" - } - }, - "outputs": { - "0": { - "tooltip": null - } - } - }, - "ByteDanceTextToVideoNode": { - "display_name": "ByteDance Text to Video", - "description": "Generate video using ByteDance models via api based on prompt", - "inputs": { - "model": { - "name": "model", - "tooltip": "Model name" - }, - "prompt": { - "name": "prompt", - "tooltip": "The text prompt used to generate the video." - }, - "resolution": { - "name": "resolution", - "tooltip": "The resolution of the output video." - }, - "aspect_ratio": { - "name": "aspect_ratio", - "tooltip": "The aspect ratio of the output video." - }, - "duration": { - "name": "duration", - "tooltip": "The duration of the output video in seconds." - }, - "seed": { - "name": "seed", - "tooltip": "Seed to use for generation." - }, - "camera_fixed": { - "name": "camera_fixed", - "tooltip": "Specifies whether to fix the camera. The platform appends an instruction to fix the camera to your prompt, but does not guarantee the actual effect." - }, - "watermark": { - "name": "watermark", - "tooltip": "Whether to add an \"AI generated\" watermark to the video." - }, - "control_after_generate": { - "name": "control after generate" - } - }, - "outputs": { - "0": { - "tooltip": null - } - } - }, "Canny": { "display_name": "Canny", "inputs": { @@ -470,27 +87,6 @@ "high_threshold": { "name": "high_threshold" } - }, - "outputs": { - "0": { - "tooltip": null - } - } - }, - "CaseConverter": { - "display_name": "Case Converter", - "inputs": { - "string": { - "name": "string" - }, - "mode": { - "name": "mode" - } - }, - "outputs": { - "0": { - "tooltip": null - } } }, "CFGGuider": { @@ -510,23 +106,6 @@ } } }, - "CFGNorm": { - "display_name": "CFGNorm", - "inputs": { - "model": { - "name": "model" - }, - "strength": { - "name": "strength" - } - }, - "outputs": { - "0": { - "name": "patched_model", - "tooltip": null - } - } - }, "CFGZeroStar": { "display_name": "CFGZeroStar", "inputs": { @@ -536,8 +115,7 @@ }, "outputs": { "0": { - "name": "patched_model", - "tooltip": null + "name": "patched_model" } } }, @@ -608,16 +186,11 @@ "out": { "name": "out" } - }, - "outputs": { - "0": { - "tooltip": null - } } }, "CLIPLoader": { "display_name": "Load CLIP", - "description": "[Recipes]\n\nstable_diffusion: clip-l\nstable_cascade: clip-g\nsd3: t5 xxl/ clip-g / clip-l\nstable_audio: t5 base\nmochi: t5 xxl\ncosmos: old t5 xxl\nlumina2: gemma 2 2B\nwan: umt5 xxl\n hidream: llama-3.1 (Recommend) or t5\nomnigen2: qwen vl 2.5 3B", + "description": "[Recipes]\n\nstable_diffusion: clip-l\nstable_cascade: clip-g\nsd3: t5 xxl/ clip-g / clip-l\nstable_audio: t5 base\nmochi: t5 xxl\ncosmos: old t5 xxl\nlumina2: gemma 2 2B\nwan: umt5 xxl\n hidream: llama-3.1 (Recommend) or t5", "inputs": { "clip_name": { "name": "clip_name" @@ -722,11 +295,6 @@ "text": { "name": "text" } - }, - "outputs": { - "0": { - "tooltip": null - } } }, "CLIPTextEncodeFlux": { @@ -1240,49 +808,6 @@ } } }, - "ContextWindowsManual": { - "display_name": "Context Windows (Manual)", - "description": "Manually set context windows.", - "inputs": { - "model": { - "name": "model", - "tooltip": "The model to apply context windows to during sampling." - }, - "context_length": { - "name": "context_length", - "tooltip": "The length of the context window." - }, - "context_overlap": { - "name": "context_overlap", - "tooltip": "The overlap of the context window." - }, - "context_schedule": { - "name": "context_schedule", - "tooltip": "The stride of the context window." - }, - "context_stride": { - "name": "context_stride", - "tooltip": "The stride of the context window; only applicable to uniform schedules." - }, - "closed_loop": { - "name": "closed_loop", - "tooltip": "Whether to close the context window loop; only applicable to looped schedules." - }, - "fuse_method": { - "name": "fuse_method", - "tooltip": "The method to use to fuse the context windows." - }, - "dim": { - "name": "dim", - "tooltip": "The dimension to apply the context windows to." - } - }, - "outputs": { - "0": { - "tooltip": "The model with context windows applied during sampling." - } - } - }, "ControlNetApply": { "display_name": "Apply ControlNet (OLD)", "inputs": { @@ -1446,42 +971,6 @@ "end_image": { "name": "end_image" } - }, - "outputs": { - "0": { - "tooltip": null - } - } - }, - "CosmosPredict2ImageToVideoLatent": { - "display_name": "CosmosPredict2ImageToVideoLatent", - "inputs": { - "vae": { - "name": "vae" - }, - "width": { - "name": "width" - }, - "height": { - "name": "height" - }, - "length": { - "name": "length" - }, - "batch_size": { - "name": "batch_size" - }, - "start_image": { - "name": "start_image" - }, - "end_image": { - "name": "end_image" - } - }, - "outputs": { - "0": { - "tooltip": null - } } }, "CreateHookKeyframe": { @@ -1639,11 +1128,6 @@ "name": "audio", "tooltip": "The audio to add to the video." } - }, - "outputs": { - "0": { - "tooltip": null - } } }, "CropMask": { @@ -1716,15 +1200,12 @@ }, "cfg_cond2_negative": { "name": "cfg_cond2_negative" - }, - "style": { - "name": "style" } } }, "DualCLIPLoader": { "display_name": "DualCLIPLoader", - "description": "[Recipes]\n\nsdxl: clip-l, clip-g\nsd3: clip-l, clip-g / clip-l, t5 / clip-g, t5\nflux: clip-l, t5\nhidream: at least one of t5 or llama, recommended t5 and llama\nhunyuan_image: qwen2.5vl 7b and byt5 small", + "description": "[Recipes]\n\nsdxl: clip-l, clip-g\nsd3: clip-l, clip-g / clip-l, t5 / clip-g, t5\nflux: clip-l, t5\nhidream: at least one of t5 or llama, recommended t5 and llama", "inputs": { "clip_name1": { "name": "clip_name1" @@ -1740,54 +1221,6 @@ } } }, - "EasyCache": { - "display_name": "EasyCache", - "description": "Native EasyCache implementation.", - "inputs": { - "model": { - "name": "model", - "tooltip": "The model to add EasyCache to." - }, - "reuse_threshold": { - "name": "reuse_threshold", - "tooltip": "The threshold for reusing cached steps." - }, - "start_percent": { - "name": "start_percent", - "tooltip": "The relative sampling step to begin use of EasyCache." - }, - "end_percent": { - "name": "end_percent", - "tooltip": "The relative sampling step to end use of EasyCache." - }, - "verbose": { - "name": "verbose", - "tooltip": "Whether to log verbose information." - } - }, - "outputs": { - "0": { - "tooltip": "The model with EasyCache." - } - } - }, - "EmptyAceStepLatentAudio": { - "display_name": "EmptyAceStepLatentAudio", - "inputs": { - "seconds": { - "name": "seconds" - }, - "batch_size": { - "name": "batch_size", - "tooltip": "The number of latent images in the batch." - } - }, - "outputs": { - "0": { - "tooltip": null - } - } - }, "EmptyCosmosLatentVideo": { "display_name": "EmptyCosmosLatentVideo", "inputs": { @@ -1803,25 +1236,6 @@ "batch_size": { "name": "batch_size" } - }, - "outputs": { - "0": { - "tooltip": null - } - } - }, - "EmptyHunyuanImageLatent": { - "display_name": "EmptyHunyuanImageLatent", - "inputs": { - "width": { - "name": "width" - }, - "height": { - "name": "height" - }, - "batch_size": { - "name": "batch_size" - } } }, "EmptyHunyuanLatentVideo": { @@ -1859,7 +1273,7 @@ } }, "EmptyLatentAudio": { - "display_name": "Empty Latent Audio", + "display_name": "EmptyLatentAudio", "inputs": { "seconds": { "name": "seconds" @@ -2035,98 +1449,6 @@ } } }, - "FluxKontextImageScale": { - "display_name": "FluxKontextImageScale", - "description": "This node resizes the image to one that is more optimal for flux kontext.", - "inputs": { - "image": { - "name": "image" - } - } - }, - "FluxKontextMaxImageNode": { - "display_name": "Flux.1 Kontext [max] Image", - "description": "Edits images using Flux.1 Kontext [max] via api based on prompt and aspect ratio.", - "inputs": { - "prompt": { - "name": "prompt", - "tooltip": "Prompt for the image generation - specify what and how to edit." - }, - "aspect_ratio": { - "name": "aspect_ratio", - "tooltip": "Aspect ratio of image; must be between 1:4 and 4:1." - }, - "guidance": { - "name": "guidance", - "tooltip": "Guidance strength for the image generation process" - }, - "steps": { - "name": "steps", - "tooltip": "Number of steps for the image generation process" - }, - "seed": { - "name": "seed", - "tooltip": "The random seed used for creating the noise." - }, - "prompt_upsampling": { - "name": "prompt_upsampling", - "tooltip": "Whether to perform upsampling on the prompt. If active, automatically modifies the prompt for more creative generation, but results are nondeterministic (same seed will not produce exactly the same result)." - }, - "input_image": { - "name": "input_image" - }, - "control_after_generate": { - "name": "control after generate" - } - } - }, - "FluxKontextMultiReferenceLatentMethod": { - "display_name": "FluxKontextMultiReferenceLatentMethod", - "inputs": { - "conditioning": { - "name": "conditioning" - }, - "reference_latents_method": { - "name": "reference_latents_method" - } - } - }, - "FluxKontextProImageNode": { - "display_name": "Flux.1 Kontext [pro] Image", - "description": "Edits images using Flux.1 Kontext [pro] via api based on prompt and aspect ratio.", - "inputs": { - "prompt": { - "name": "prompt", - "tooltip": "Prompt for the image generation - specify what and how to edit." - }, - "aspect_ratio": { - "name": "aspect_ratio", - "tooltip": "Aspect ratio of image; must be between 1:4 and 4:1." - }, - "guidance": { - "name": "guidance", - "tooltip": "Guidance strength for the image generation process" - }, - "steps": { - "name": "steps", - "tooltip": "Number of steps for the image generation process" - }, - "seed": { - "name": "seed", - "tooltip": "The random seed used for creating the noise." - }, - "prompt_upsampling": { - "name": "prompt_upsampling", - "tooltip": "Whether to perform upsampling on the prompt. If active, automatically modifies the prompt for more creative generation, but results are nondeterministic (same seed will not produce exactly the same result)." - }, - "input_image": { - "name": "input_image" - }, - "control_after_generate": { - "name": "control after generate" - } - } - }, "FluxProCannyNode": { "display_name": "Flux.1 Canny Control Image", "description": "Generate image using a control image (canny).", @@ -2387,106 +1709,6 @@ } } }, - "GeminiImageNode": { - "display_name": "Google Gemini Image", - "description": "Edit images synchronously via Google API.", - "inputs": { - "prompt": { - "name": "prompt", - "tooltip": "Text prompt for generation" - }, - "model": { - "name": "model", - "tooltip": "The Gemini model to use for generating responses." - }, - "seed": { - "name": "seed", - "tooltip": "When seed is fixed to a specific value, the model makes a best effort to provide the same response for repeated requests. Deterministic output isn't guaranteed. Also, changing the model or parameter settings, such as the temperature, can cause variations in the response even when you use the same seed value. By default, a random seed value is used." - }, - "images": { - "name": "images", - "tooltip": "Optional image(s) to use as context for the model. To include multiple images, you can use the Batch Images node." - }, - "files": { - "name": "files", - "tooltip": "Optional file(s) to use as context for the model. Accepts inputs from the Gemini Generate Content Input Files node." - }, - "control_after_generate": { - "name": "control after generate" - } - } - }, - "GeminiInputFiles": { - "display_name": "Gemini Input Files", - "description": "Loads and prepares input files to include as inputs for Gemini LLM nodes. The files will be read by the Gemini model when generating a response. The contents of the text file count toward the token limit. 🛈 TIP: Can be chained together with other Gemini Input File nodes.", - "inputs": { - "file": { - "name": "file", - "tooltip": "Input files to include as context for the model. Only accepts text (.txt) and PDF (.pdf) files for now." - }, - "GEMINI_INPUT_FILES": { - "name": "GEMINI_INPUT_FILES", - "tooltip": "An optional additional file(s) to batch together with the file loaded from this node. Allows chaining of input files so that a single message can include multiple input files." - } - } - }, - "GeminiNode": { - "display_name": "Google Gemini", - "description": "Generate text responses with Google's Gemini AI model. You can provide multiple types of inputs (text, images, audio, video) as context for generating more relevant and meaningful responses.", - "inputs": { - "prompt": { - "name": "prompt", - "tooltip": "Text inputs to the model, used to generate a response. You can include detailed instructions, questions, or context for the model." - }, - "model": { - "name": "model", - "tooltip": "The Gemini model to use for generating responses." - }, - "seed": { - "name": "seed", - "tooltip": "When seed is fixed to a specific value, the model makes a best effort to provide the same response for repeated requests. Deterministic output isn't guaranteed. Also, changing the model or parameter settings, such as the temperature, can cause variations in the response even when you use the same seed value. By default, a random seed value is used." - }, - "images": { - "name": "images", - "tooltip": "Optional image(s) to use as context for the model. To include multiple images, you can use the Batch Images node." - }, - "audio": { - "name": "audio", - "tooltip": "Optional audio to use as context for the model." - }, - "video": { - "name": "video", - "tooltip": "Optional video to use as context for the model." - }, - "files": { - "name": "files", - "tooltip": "Optional file(s) to use as context for the model. Accepts inputs from the Gemini Generate Content Input Files node." - }, - "control_after_generate": { - "name": "control after generate" - } - } - }, - "GetImageSize": { - "display_name": "Get Image Size", - "description": "Returns width and height of the image, and passes it through unchanged.", - "inputs": { - "image": { - "name": "image" - } - }, - "outputs": { - "0": { - "name": "width" - }, - "1": { - "name": "height" - }, - "2": { - "name": "batch_size" - } - } - }, "GetVideoComponents": { "display_name": "Get Video Components", "description": "Extracts all components from a video: frames, audio, and framerate.", @@ -2498,16 +1720,13 @@ }, "outputs": { "0": { - "name": "images", - "tooltip": null + "name": "images" }, "1": { - "name": "audio", - "tooltip": null + "name": "audio" }, "2": { - "name": "fps", - "tooltip": null + "name": "fps" } } }, @@ -2576,9 +1795,6 @@ } } }, - "HotReload_Terminal": { - "display_name": "Terminal" - }, "Hunyuan3Dv2Conditioning": { "display_name": "Hunyuan3Dv2Conditioning", "inputs": { @@ -2657,34 +1873,6 @@ } } }, - "HunyuanRefinerLatent": { - "display_name": "HunyuanRefinerLatent", - "inputs": { - "positive": { - "name": "positive" - }, - "negative": { - "name": "negative" - }, - "latent": { - "name": "latent" - }, - "noise_augmentation": { - "name": "noise_augmentation" - } - }, - "outputs": { - "0": { - "name": "positive" - }, - "1": { - "name": "negative" - }, - "2": { - "name": "latent" - } - } - }, "HypernetworkLoader": { "display_name": "HypernetworkLoader", "inputs": { @@ -2721,7 +1909,7 @@ }, "IdeogramV1": { "display_name": "Ideogram V1", - "description": "Generates images using the Ideogram V1 model.", + "description": "Generates images synchronously using the Ideogram V1 model.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", "inputs": { "prompt": { "name": "prompt", @@ -2752,16 +1940,11 @@ "control_after_generate": { "name": "control after generate" } - }, - "outputs": { - "0": { - "tooltip": null - } } }, "IdeogramV2": { "display_name": "Ideogram V2", - "description": "Generates images using the Ideogram V2 model.", + "description": "Generates images synchronously using the Ideogram V2 model.\n\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", "inputs": { "prompt": { "name": "prompt", @@ -2800,16 +1983,11 @@ "control_after_generate": { "name": "control after generate" } - }, - "outputs": { - "0": { - "tooltip": null - } } }, "IdeogramV3": { "display_name": "Ideogram V3", - "description": "Generates images using the Ideogram V3 model. Supports both regular image generation from text prompts and image editing with mask.", + "description": "Generates images synchronously using the Ideogram V3 model.\n\nSupports both regular image generation from text prompts and image editing with mask.\nImages links are available for a limited period of time; if you would like to keep the image, you must download it.", "inputs": { "prompt": { "name": "prompt", @@ -2845,37 +2023,6 @@ "name": "rendering_speed", "tooltip": "Controls the trade-off between generation speed and quality" }, - "character_image": { - "name": "character_image", - "tooltip": "Image to use as character reference." - }, - "character_mask": { - "name": "character_mask", - "tooltip": "Optional mask for character reference image." - }, - "control_after_generate": { - "name": "control after generate" - } - }, - "outputs": { - "0": { - "tooltip": null - } - } - }, - "ImageAddNoise": { - "display_name": "ImageAddNoise", - "inputs": { - "image": { - "name": "image" - }, - "seed": { - "name": "seed", - "tooltip": "The random seed used for creating the noise." - }, - "strength": { - "name": "strength" - }, "control_after_generate": { "name": "control after generate" } @@ -2977,17 +2124,6 @@ } } }, - "ImageFlip": { - "display_name": "ImageFlip", - "inputs": { - "image": { - "name": "image" - }, - "flip_method": { - "name": "flip_method" - } - } - }, "ImageFromBatch": { "display_name": "ImageFromBatch", "inputs": { @@ -3091,17 +2227,6 @@ } } }, - "ImageRotate": { - "display_name": "ImageRotate", - "inputs": { - "image": { - "name": "image" - }, - "rotation": { - "name": "rotation" - } - } - }, "ImageScale": { "display_name": "Upscale Image", "inputs": { @@ -3136,20 +2261,6 @@ } } }, - "ImageScaleToMaxDimension": { - "display_name": "ImageScaleToMaxDimension", - "inputs": { - "image": { - "name": "image" - }, - "upscale_method": { - "name": "upscale_method" - }, - "largest_size": { - "name": "largest_size" - } - } - }, "ImageScaleToTotalPixels": { "display_name": "Scale Image to Total Pixels", "inputs": { @@ -3181,30 +2292,6 @@ } } }, - "ImageStitch": { - "display_name": "Image Stitch", - "description": "\nStitches image2 to image1 in the specified direction.\nIf image2 is not provided, returns image1 unchanged.\nOptional spacing can be added between images.\n", - "inputs": { - "image1": { - "name": "image1" - }, - "direction": { - "name": "direction" - }, - "match_image_size": { - "name": "match_image_size" - }, - "spacing_width": { - "name": "spacing_width" - }, - "spacing_color": { - "name": "spacing_color" - }, - "image2": { - "name": "image2" - } - } - }, "ImageToMask": { "display_name": "Convert Image to Mask", "inputs": { @@ -3483,7 +2570,7 @@ "inputs": { "start_frame": { "name": "start_frame", - "tooltip": "The reference image used to generate the video." + "tooltip": "Reference Image - URL or Base64 encoded string, cannot exceed 10MB, resolution not less than 300*300px, aspect ratio between 1:2.5 ~ 2.5:1. Base64 should not include data:image prefix." }, "prompt": { "name": "prompt", @@ -3558,7 +2645,7 @@ }, "KlingLipSyncAudioToVideoNode": { "display_name": "Kling Lip Sync Video with Audio", - "description": "Kling Lip Sync Audio to Video Node. Syncs mouth movements in a video file to the audio content of an audio file. When using, ensure that the audio contains clearly distinguishable vocals and that the video contains a distinct face. The audio file should not be larger than 5MB. The video file should not be larger than 100MB, should have height/width between 720px and 1920px, and should be between 2s and 10s in length.", + "description": "Kling Lip Sync Audio to Video Node. Syncs mouth movements in a video file to the audio content of an audio file.", "inputs": { "video": { "name": "video" @@ -3581,7 +2668,7 @@ }, "KlingLipSyncTextToVideoNode": { "display_name": "Kling Lip Sync Video with Text", - "description": "Kling Lip Sync Text to Video Node. Syncs mouth movements in a video file to a text prompt. The video file should not be larger than 100MB, should have height/width between 720px and 1920px, and should be between 2s and 10s in length.", + "description": "Kling Lip Sync Text to Video Node. Syncs mouth movements in a video file to a text prompt.", "inputs": { "video": { "name": "video" @@ -3737,7 +2824,7 @@ }, "KlingVirtualTryOnNode": { "display_name": "Kling Virtual Try On", - "description": "Kling Virtual Try On Node. Input a human image and a cloth image to try on the cloth on the human. You can merge multiple clothing item pictures into one image with a white background.", + "description": "Kling Virtual Try On Node. Input a human image and a cloth image to try on the cloth on the human.", "inputs": { "human_image": { "name": "human_image" @@ -3991,20 +3078,6 @@ } } }, - "LatentConcat": { - "display_name": "LatentConcat", - "inputs": { - "samples1": { - "name": "samples1" - }, - "samples2": { - "name": "samples2" - }, - "dim": { - "name": "dim" - } - } - }, "LatentCrop": { "display_name": "Crop Latent", "inputs": { @@ -4025,23 +3098,6 @@ } } }, - "LatentCut": { - "display_name": "LatentCut", - "inputs": { - "samples": { - "name": "samples" - }, - "dim": { - "name": "dim" - }, - "index": { - "name": "index" - }, - "amount": { - "name": "amount" - } - } - }, "LatentFlip": { "display_name": "Flip Latent", "inputs": { @@ -4170,37 +3226,6 @@ } } }, - "LazyCache": { - "display_name": "LazyCache", - "description": "A homebrew version of EasyCache - even 'easier' version of EasyCache to implement. Overall works worse than EasyCache, but better in some rare cases AND universal compatibility with everything in ComfyUI.", - "inputs": { - "model": { - "name": "model", - "tooltip": "The model to add LazyCache to." - }, - "reuse_threshold": { - "name": "reuse_threshold", - "tooltip": "The threshold for reusing cached steps." - }, - "start_percent": { - "name": "start_percent", - "tooltip": "The relative sampling step to begin use of LazyCache." - }, - "end_percent": { - "name": "end_percent", - "tooltip": "The relative sampling step to end use of LazyCache." - }, - "verbose": { - "name": "verbose", - "tooltip": "Whether to log verbose information." - } - }, - "outputs": { - "0": { - "tooltip": "The model with LazyCache." - } - } - }, "Load3D": { "display_name": "Load 3D", "inputs": { @@ -4217,8 +3242,7 @@ "name": "height" }, "clear": {}, - "upload 3d model": {}, - "upload extra resources": {} + "upload 3d model": {} }, "outputs": { "0": { @@ -4238,9 +3262,6 @@ }, "5": { "name": "camera_info" - }, - "6": { - "name": "recording_video" } } }, @@ -4260,8 +3281,7 @@ "name": "height" }, "clear": {}, - "upload 3d model": {}, - "upload extra resources": {} + "upload 3d model": {} }, "outputs": { "0": { @@ -4278,14 +3298,11 @@ }, "4": { "name": "camera_info" - }, - "5": { - "name": "recording_video" } } }, "LoadAudio": { - "display_name": "Load Audio", + "display_name": "LoadAudio", "inputs": { "audio": { "name": "audio" @@ -4330,51 +3347,12 @@ "image": { "name": "image" }, - "Auto-refresh after generation": {}, "refresh": {}, "upload": { "name": "choose file to upload" } } }, - "LoadImageSetFromFolderNode": { - "display_name": "Load Image Dataset from Folder", - "description": "Loads a batch of images from a directory for training.", - "inputs": { - "folder": { - "name": "folder", - "tooltip": "The folder to load images from." - }, - "resize_method": { - "name": "resize_method" - } - } - }, - "LoadImageTextSetFromFolderNode": { - "display_name": "Load Image and Text Dataset from Folder", - "description": "Loads a batch of images and caption from a directory for training.", - "inputs": { - "folder": { - "name": "folder", - "tooltip": "The folder to load images from." - }, - "clip": { - "name": "clip", - "tooltip": "The CLIP model used for encoding the text." - }, - "resize_method": { - "name": "resize_method" - }, - "width": { - "name": "width", - "tooltip": "The width to resize the images to. -1 means use the original width." - }, - "height": { - "name": "height", - "tooltip": "The height to resize the images to. -1 means use the original height." - } - } - }, "LoadLatent": { "display_name": "LoadLatent", "inputs": { @@ -4392,11 +3370,6 @@ "upload": { "name": "choose file to upload" } - }, - "outputs": { - "0": { - "tooltip": null - } } }, "LoraLoader": { @@ -4453,29 +3426,6 @@ } } }, - "LoraModelLoader": { - "display_name": "Load LoRA Model", - "description": "Load Trained LoRA weights from Train LoRA node.", - "inputs": { - "model": { - "name": "model", - "tooltip": "The diffusion model the LoRA will be applied to." - }, - "lora": { - "name": "lora", - "tooltip": "The LoRA model to apply to the diffusion model." - }, - "strength_model": { - "name": "strength_model", - "tooltip": "How strongly to modify the diffusion model. This value can be negative." - } - }, - "outputs": { - "0": { - "tooltip": "The modified diffusion model." - } - } - }, "LoraSave": { "display_name": "Extract and Save Lora", "inputs": { @@ -4501,18 +3451,6 @@ } } }, - "LossGraphNode": { - "display_name": "Plot Loss Graph", - "description": "Plots the loss graph and saves it to the output directory.", - "inputs": { - "loss": { - "name": "loss" - }, - "filename_prefix": { - "name": "filename_prefix" - } - } - }, "LotusConditioning": { "display_name": "LotusConditioning", "outputs": { @@ -4935,47 +3873,9 @@ } } }, - "MinimaxHailuoVideoNode": { - "display_name": "MiniMax Hailuo Video", - "description": "Generates videos from prompt, with optional start frame using the new MiniMax Hailuo-02 model.", - "inputs": { - "prompt_text": { - "name": "prompt_text", - "tooltip": "Text prompt to guide the video generation." - }, - "seed": { - "name": "seed", - "tooltip": "The random seed used for creating the noise." - }, - "first_frame_image": { - "name": "first_frame_image", - "tooltip": "Optional image to use as the first frame to generate a video." - }, - "prompt_optimizer": { - "name": "prompt_optimizer", - "tooltip": "Optimize prompt to improve generation quality when needed." - }, - "duration": { - "name": "duration", - "tooltip": "The length of the output video in seconds." - }, - "resolution": { - "name": "resolution", - "tooltip": "The dimensions of the video display. 1080p is 1920x1080, 768p is 1366x768." - }, - "control_after_generate": { - "name": "control after generate" - } - }, - "outputs": { - "0": { - "tooltip": null - } - } - }, "MinimaxImageToVideoNode": { "display_name": "MiniMax Image to Video", - "description": "Generates videos synchronously based on an image and prompt, and optional parameters using MiniMax's API.", + "description": "Generates videos from an image and prompts using MiniMax's API", "inputs": { "image": { "name": "image", @@ -4996,16 +3896,11 @@ "control_after_generate": { "name": "control after generate" } - }, - "outputs": { - "0": { - "tooltip": null - } } }, "MinimaxTextToVideoNode": { "display_name": "MiniMax Text to Video", - "description": "Generates videos synchronously based on a prompt, and optional parameters using MiniMax's API.", + "description": "Generates videos from prompts using MiniMax's API", "inputs": { "prompt_text": { "name": "prompt_text", @@ -5022,11 +3917,6 @@ "control_after_generate": { "name": "control after generate" } - }, - "outputs": { - "0": { - "tooltip": null - } } }, "ModelComputeDtype": { @@ -5461,250 +4351,6 @@ } } }, - "ModelMergeCosmosPredict2_14B": { - "display_name": "ModelMergeCosmosPredict2_14B", - "inputs": { - "model1": { - "name": "model1" - }, - "model2": { - "name": "model2" - }, - "pos_embedder_": { - "name": "pos_embedder." - }, - "x_embedder_": { - "name": "x_embedder." - }, - "t_embedder_": { - "name": "t_embedder." - }, - "t_embedding_norm_": { - "name": "t_embedding_norm." - }, - "blocks_0_": { - "name": "blocks.0." - }, - "blocks_1_": { - "name": "blocks.1." - }, - "blocks_2_": { - "name": "blocks.2." - }, - "blocks_3_": { - "name": "blocks.3." - }, - "blocks_4_": { - "name": "blocks.4." - }, - "blocks_5_": { - "name": "blocks.5." - }, - "blocks_6_": { - "name": "blocks.6." - }, - "blocks_7_": { - "name": "blocks.7." - }, - "blocks_8_": { - "name": "blocks.8." - }, - "blocks_9_": { - "name": "blocks.9." - }, - "blocks_10_": { - "name": "blocks.10." - }, - "blocks_11_": { - "name": "blocks.11." - }, - "blocks_12_": { - "name": "blocks.12." - }, - "blocks_13_": { - "name": "blocks.13." - }, - "blocks_14_": { - "name": "blocks.14." - }, - "blocks_15_": { - "name": "blocks.15." - }, - "blocks_16_": { - "name": "blocks.16." - }, - "blocks_17_": { - "name": "blocks.17." - }, - "blocks_18_": { - "name": "blocks.18." - }, - "blocks_19_": { - "name": "blocks.19." - }, - "blocks_20_": { - "name": "blocks.20." - }, - "blocks_21_": { - "name": "blocks.21." - }, - "blocks_22_": { - "name": "blocks.22." - }, - "blocks_23_": { - "name": "blocks.23." - }, - "blocks_24_": { - "name": "blocks.24." - }, - "blocks_25_": { - "name": "blocks.25." - }, - "blocks_26_": { - "name": "blocks.26." - }, - "blocks_27_": { - "name": "blocks.27." - }, - "blocks_28_": { - "name": "blocks.28." - }, - "blocks_29_": { - "name": "blocks.29." - }, - "blocks_30_": { - "name": "blocks.30." - }, - "blocks_31_": { - "name": "blocks.31." - }, - "blocks_32_": { - "name": "blocks.32." - }, - "blocks_33_": { - "name": "blocks.33." - }, - "blocks_34_": { - "name": "blocks.34." - }, - "blocks_35_": { - "name": "blocks.35." - }, - "final_layer_": { - "name": "final_layer." - } - } - }, - "ModelMergeCosmosPredict2_2B": { - "display_name": "ModelMergeCosmosPredict2_2B", - "inputs": { - "model1": { - "name": "model1" - }, - "model2": { - "name": "model2" - }, - "pos_embedder_": { - "name": "pos_embedder." - }, - "x_embedder_": { - "name": "x_embedder." - }, - "t_embedder_": { - "name": "t_embedder." - }, - "t_embedding_norm_": { - "name": "t_embedding_norm." - }, - "blocks_0_": { - "name": "blocks.0." - }, - "blocks_1_": { - "name": "blocks.1." - }, - "blocks_2_": { - "name": "blocks.2." - }, - "blocks_3_": { - "name": "blocks.3." - }, - "blocks_4_": { - "name": "blocks.4." - }, - "blocks_5_": { - "name": "blocks.5." - }, - "blocks_6_": { - "name": "blocks.6." - }, - "blocks_7_": { - "name": "blocks.7." - }, - "blocks_8_": { - "name": "blocks.8." - }, - "blocks_9_": { - "name": "blocks.9." - }, - "blocks_10_": { - "name": "blocks.10." - }, - "blocks_11_": { - "name": "blocks.11." - }, - "blocks_12_": { - "name": "blocks.12." - }, - "blocks_13_": { - "name": "blocks.13." - }, - "blocks_14_": { - "name": "blocks.14." - }, - "blocks_15_": { - "name": "blocks.15." - }, - "blocks_16_": { - "name": "blocks.16." - }, - "blocks_17_": { - "name": "blocks.17." - }, - "blocks_18_": { - "name": "blocks.18." - }, - "blocks_19_": { - "name": "blocks.19." - }, - "blocks_20_": { - "name": "blocks.20." - }, - "blocks_21_": { - "name": "blocks.21." - }, - "blocks_22_": { - "name": "blocks.22." - }, - "blocks_23_": { - "name": "blocks.23." - }, - "blocks_24_": { - "name": "blocks.24." - }, - "blocks_25_": { - "name": "blocks.25." - }, - "blocks_26_": { - "name": "blocks.26." - }, - "blocks_27_": { - "name": "blocks.27." - }, - "final_layer_": { - "name": "final_layer." - } - } - }, "ModelMergeFlux1": { "display_name": "ModelMergeFlux1", "inputs": { @@ -6185,215 +4831,6 @@ } } }, - "ModelMergeQwenImage": { - "display_name": "ModelMergeQwenImage", - "inputs": { - "model1": { - "name": "model1" - }, - "model2": { - "name": "model2" - }, - "pos_embeds_": { - "name": "pos_embeds." - }, - "img_in_": { - "name": "img_in." - }, - "txt_norm_": { - "name": "txt_norm." - }, - "txt_in_": { - "name": "txt_in." - }, - "time_text_embed_": { - "name": "time_text_embed." - }, - "transformer_blocks_0_": { - "name": "transformer_blocks.0." - }, - "transformer_blocks_1_": { - "name": "transformer_blocks.1." - }, - "transformer_blocks_2_": { - "name": "transformer_blocks.2." - }, - "transformer_blocks_3_": { - "name": "transformer_blocks.3." - }, - "transformer_blocks_4_": { - "name": "transformer_blocks.4." - }, - "transformer_blocks_5_": { - "name": "transformer_blocks.5." - }, - "transformer_blocks_6_": { - "name": "transformer_blocks.6." - }, - "transformer_blocks_7_": { - "name": "transformer_blocks.7." - }, - "transformer_blocks_8_": { - "name": "transformer_blocks.8." - }, - "transformer_blocks_9_": { - "name": "transformer_blocks.9." - }, - "transformer_blocks_10_": { - "name": "transformer_blocks.10." - }, - "transformer_blocks_11_": { - "name": "transformer_blocks.11." - }, - "transformer_blocks_12_": { - "name": "transformer_blocks.12." - }, - "transformer_blocks_13_": { - "name": "transformer_blocks.13." - }, - "transformer_blocks_14_": { - "name": "transformer_blocks.14." - }, - "transformer_blocks_15_": { - "name": "transformer_blocks.15." - }, - "transformer_blocks_16_": { - "name": "transformer_blocks.16." - }, - "transformer_blocks_17_": { - "name": "transformer_blocks.17." - }, - "transformer_blocks_18_": { - "name": "transformer_blocks.18." - }, - "transformer_blocks_19_": { - "name": "transformer_blocks.19." - }, - "transformer_blocks_20_": { - "name": "transformer_blocks.20." - }, - "transformer_blocks_21_": { - "name": "transformer_blocks.21." - }, - "transformer_blocks_22_": { - "name": "transformer_blocks.22." - }, - "transformer_blocks_23_": { - "name": "transformer_blocks.23." - }, - "transformer_blocks_24_": { - "name": "transformer_blocks.24." - }, - "transformer_blocks_25_": { - "name": "transformer_blocks.25." - }, - "transformer_blocks_26_": { - "name": "transformer_blocks.26." - }, - "transformer_blocks_27_": { - "name": "transformer_blocks.27." - }, - "transformer_blocks_28_": { - "name": "transformer_blocks.28." - }, - "transformer_blocks_29_": { - "name": "transformer_blocks.29." - }, - "transformer_blocks_30_": { - "name": "transformer_blocks.30." - }, - "transformer_blocks_31_": { - "name": "transformer_blocks.31." - }, - "transformer_blocks_32_": { - "name": "transformer_blocks.32." - }, - "transformer_blocks_33_": { - "name": "transformer_blocks.33." - }, - "transformer_blocks_34_": { - "name": "transformer_blocks.34." - }, - "transformer_blocks_35_": { - "name": "transformer_blocks.35." - }, - "transformer_blocks_36_": { - "name": "transformer_blocks.36." - }, - "transformer_blocks_37_": { - "name": "transformer_blocks.37." - }, - "transformer_blocks_38_": { - "name": "transformer_blocks.38." - }, - "transformer_blocks_39_": { - "name": "transformer_blocks.39." - }, - "transformer_blocks_40_": { - "name": "transformer_blocks.40." - }, - "transformer_blocks_41_": { - "name": "transformer_blocks.41." - }, - "transformer_blocks_42_": { - "name": "transformer_blocks.42." - }, - "transformer_blocks_43_": { - "name": "transformer_blocks.43." - }, - "transformer_blocks_44_": { - "name": "transformer_blocks.44." - }, - "transformer_blocks_45_": { - "name": "transformer_blocks.45." - }, - "transformer_blocks_46_": { - "name": "transformer_blocks.46." - }, - "transformer_blocks_47_": { - "name": "transformer_blocks.47." - }, - "transformer_blocks_48_": { - "name": "transformer_blocks.48." - }, - "transformer_blocks_49_": { - "name": "transformer_blocks.49." - }, - "transformer_blocks_50_": { - "name": "transformer_blocks.50." - }, - "transformer_blocks_51_": { - "name": "transformer_blocks.51." - }, - "transformer_blocks_52_": { - "name": "transformer_blocks.52." - }, - "transformer_blocks_53_": { - "name": "transformer_blocks.53." - }, - "transformer_blocks_54_": { - "name": "transformer_blocks.54." - }, - "transformer_blocks_55_": { - "name": "transformer_blocks.55." - }, - "transformer_blocks_56_": { - "name": "transformer_blocks.56." - }, - "transformer_blocks_57_": { - "name": "transformer_blocks.57." - }, - "transformer_blocks_58_": { - "name": "transformer_blocks.58." - }, - "transformer_blocks_59_": { - "name": "transformer_blocks.59." - }, - "proj_out_": { - "name": "proj_out." - } - } - }, "ModelMergeSD1": { "display_name": "ModelMergeSD1", "inputs": { @@ -7101,14 +5538,6 @@ } } }, - "ModelPatchLoader": { - "display_name": "ModelPatchLoader", - "inputs": { - "name": { - "name": "name" - } - } - }, "ModelSamplingAuraFlow": { "display_name": "ModelSamplingAuraFlow", "inputs": { @@ -7238,116 +5667,6 @@ } } }, - "MoonvalleyImg2VideoNode": { - "display_name": "Moonvalley Marey Image to Video", - "description": "Moonvalley Marey Image to Video Node", - "inputs": { - "image": { - "name": "image", - "tooltip": "The reference image used to generate the video" - }, - "prompt": { - "name": "prompt" - }, - "negative_prompt": { - "name": "negative_prompt", - "tooltip": "Negative prompt text" - }, - "resolution": { - "name": "resolution", - "tooltip": "Resolution of the output video" - }, - "prompt_adherence": { - "name": "prompt_adherence", - "tooltip": "Guidance scale for generation control" - }, - "seed": { - "name": "seed", - "tooltip": "Random seed value" - }, - "steps": { - "name": "steps", - "tooltip": "Number of denoising steps" - }, - "control_after_generate": { - "name": "control after generate" - } - }, - "outputs": { - "0": { - "tooltip": null - } - } - }, - "MoonvalleyTxt2VideoNode": { - "display_name": "Moonvalley Marey Text to Video", - "inputs": { - "prompt": { - "name": "prompt" - }, - "negative_prompt": { - "name": "negative_prompt", - "tooltip": "Negative prompt text" - }, - "resolution": { - "name": "resolution", - "tooltip": "Resolution of the output video" - }, - "prompt_adherence": { - "name": "prompt_adherence", - "tooltip": "Guidance scale for generation control" - }, - "seed": { - "name": "seed", - "tooltip": "Random seed value" - }, - "steps": { - "name": "steps", - "tooltip": "Inference steps" - }, - "control_after_generate": { - "name": "control after generate" - } - }, - "outputs": { - "0": { - "tooltip": null - } - } - }, - "MoonvalleyVideo2VideoNode": { - "display_name": "Moonvalley Marey Video to Video", - "inputs": { - "prompt": { - "name": "prompt", - "tooltip": "Describes the video to generate" - }, - "negative_prompt": { - "name": "negative_prompt", - "tooltip": "Negative prompt text" - }, - "seed": { - "name": "seed", - "tooltip": "Random seed value" - }, - "video": { - "name": "video", - "tooltip": "The reference video used to generate the output video. Must be at least 5 seconds long. Videos longer than 5s will be automatically trimmed. Only MP4 format supported." - }, - "control_type": { - "name": "control_type" - }, - "motion_intensity": { - "name": "motion_intensity", - "tooltip": "Only used if control_type is 'Motion Transfer'" - } - }, - "outputs": { - "0": { - "tooltip": null - } - } - }, "Morphology": { "display_name": "ImageMorphology", "inputs": { @@ -7362,54 +5681,6 @@ } } }, - "OpenAIChatConfig": { - "display_name": "OpenAI ChatGPT Advanced Options", - "description": "Allows specifying advanced configuration options for the OpenAI Chat Nodes.", - "inputs": { - "truncation": { - "name": "truncation", - "tooltip": "The truncation strategy to use for the model response. auto: If the context of this response and previous ones exceeds the model's context window size, the model will truncate the response to fit the context window by dropping input items in the middle of the conversation.disabled: If a model response will exceed the context window size for a model, the request will fail with a 400 error" - }, - "max_output_tokens": { - "name": "max_output_tokens", - "tooltip": "An upper bound for the number of tokens that can be generated for a response, including visible output tokens" - }, - "instructions": { - "name": "instructions", - "tooltip": "Instructions for the model on how to generate the response" - } - } - }, - "OpenAIChatNode": { - "display_name": "OpenAI ChatGPT", - "description": "Generate text responses from an OpenAI model.", - "inputs": { - "prompt": { - "name": "prompt", - "tooltip": "Text inputs to the model, used to generate a response." - }, - "persist_context": { - "name": "persist_context", - "tooltip": "Persist chat context between calls (multi-turn conversation)" - }, - "model": { - "name": "model", - "tooltip": "The model used to generate the response" - }, - "images": { - "name": "images", - "tooltip": "Optional image(s) to use as context for the model. To include multiple images, you can use the Batch Images node." - }, - "files": { - "name": "files", - "tooltip": "Optional file(s) to use as context for the model. Accepts inputs from the OpenAI Chat Input Files node." - }, - "advanced_options": { - "name": "advanced_options", - "tooltip": "Optional configuration for the model. Accepts inputs from the OpenAI Chat Advanced Options node." - } - } - }, "OpenAIDalle2": { "display_name": "OpenAI DALL·E 2", "description": "Generates images synchronously via OpenAI's DALL·E 2 endpoint.", @@ -7513,20 +5784,6 @@ } } }, - "OpenAIInputFiles": { - "display_name": "OpenAI ChatGPT Input Files", - "description": "Loads and prepares input files (text, pdf, etc.) to include as inputs for the OpenAI Chat Node. The files will be read by the OpenAI model when generating a response. 🛈 TIP: Can be chained together with other OpenAI Input File nodes.", - "inputs": { - "file": { - "name": "file", - "tooltip": "Input files to include as context for the model. Only accepts text (.txt) and PDF (.pdf) files for now." - }, - "OPENAI_INPUT_FILES": { - "name": "OPENAI_INPUT_FILES", - "tooltip": "An optional additional file(s) to batch together with the file loaded from this node. Allows chaining of input files so that a single message can include multiple input files." - } - } - }, "OptimalStepsScheduler": { "display_name": "OptimalStepsScheduler", "inputs": { @@ -7772,7 +6029,7 @@ }, "Pikadditions": { "display_name": "Pikadditions (Video Object Insertion)", - "description": "Add any object or image into your video. Upload a video and specify what you'd like to add to create a seamlessly integrated result.", + "description": "Add any object or image into your video. Upload a video and specify what you’d like to add to create a seamlessly integrated result.", "inputs": { "video": { "name": "video", @@ -7992,7 +6249,7 @@ }, "PixverseImageToVideoNode": { "display_name": "PixVerse Image to Video", - "description": "Generates videos based on prompt and output_size.", + "description": "Generates videos synchronously based on prompt and output_size.", "inputs": { "image": { "name": "image" @@ -8042,7 +6299,7 @@ }, "PixverseTextToVideoNode": { "display_name": "PixVerse Text to Video", - "description": "Generates videos based on prompt and output_size.", + "description": "Generates videos synchronously based on prompt and output_size.", "inputs": { "prompt": { "name": "prompt", @@ -8079,7 +6336,7 @@ }, "PixverseTransitionVideoNode": { "display_name": "PixVerse Transition Video", - "description": "Generates videos based on prompt and output_size.", + "description": "Generates videos synchronously based on prompt and output_size.", "inputs": { "first_frame": { "name": "first_frame" @@ -8188,7 +6445,7 @@ } }, "PreviewAudio": { - "display_name": "Preview Audio", + "display_name": "PreviewAudio", "inputs": { "audio": { "name": "audio" @@ -8213,11 +6470,6 @@ "value": { "name": "value" } - }, - "outputs": { - "0": { - "tooltip": null - } } }, "PrimitiveFloat": { @@ -8226,11 +6478,6 @@ "value": { "name": "value" } - }, - "outputs": { - "0": { - "tooltip": null - } } }, "PrimitiveInt": { @@ -8242,11 +6489,6 @@ "control_after_generate": { "name": "control after generate" } - }, - "outputs": { - "0": { - "tooltip": null - } } }, "PrimitiveString": { @@ -8255,11 +6497,6 @@ "value": { "name": "value" } - }, - "outputs": { - "0": { - "tooltip": null - } } }, "PrimitiveStringMultiline": { @@ -8268,11 +6505,6 @@ "value": { "name": "value" } - }, - "outputs": { - "0": { - "tooltip": null - } } }, "QuadrupleCLIPLoader": { @@ -8293,29 +6525,6 @@ } } }, - "QwenImageDiffsynthControlnet": { - "display_name": "QwenImageDiffsynthControlnet", - "inputs": { - "model": { - "name": "model" - }, - "model_patch": { - "name": "model_patch" - }, - "vae": { - "name": "vae" - }, - "image": { - "name": "image" - }, - "strength": { - "name": "strength" - }, - "mask": { - "name": "mask" - } - } - }, "RandomNoise": { "display_name": "RandomNoise", "inputs": { @@ -8349,14 +6558,6 @@ } } }, - "RecordAudio": { - "display_name": "Record Audio", - "inputs": { - "audio": { - "name": "audio" - } - } - }, "RecraftColorRGB": { "display_name": "Recraft Color RGB", "description": "Create Recraft Color by choosing specific RGB values.", @@ -8669,109 +6870,6 @@ } } }, - "ReferenceLatent": { - "display_name": "ReferenceLatent", - "description": "This node sets the guiding latent for an edit model. If the model supports it you can chain multiple to set multiple reference images.", - "inputs": { - "conditioning": { - "name": "conditioning" - }, - "latent": { - "name": "latent" - } - } - }, - "RegexExtract": { - "display_name": "Regex Extract", - "inputs": { - "string": { - "name": "string" - }, - "regex_pattern": { - "name": "regex_pattern" - }, - "mode": { - "name": "mode" - }, - "case_insensitive": { - "name": "case_insensitive" - }, - "multiline": { - "name": "multiline" - }, - "dotall": { - "name": "dotall" - }, - "group_index": { - "name": "group_index" - } - }, - "outputs": { - "0": { - "tooltip": null - } - } - }, - "RegexMatch": { - "display_name": "Regex Match", - "inputs": { - "string": { - "name": "string" - }, - "regex_pattern": { - "name": "regex_pattern" - }, - "case_insensitive": { - "name": "case_insensitive" - }, - "multiline": { - "name": "multiline" - }, - "dotall": { - "name": "dotall" - } - }, - "outputs": { - "0": { - "name": "matches", - "tooltip": null - } - } - }, - "RegexReplace": { - "display_name": "Regex Replace", - "description": "Find and replace text using regex patterns.", - "inputs": { - "string": { - "name": "string" - }, - "regex_pattern": { - "name": "regex_pattern" - }, - "replace": { - "name": "replace" - }, - "case_insensitive": { - "name": "case_insensitive" - }, - "multiline": { - "name": "multiline" - }, - "dotall": { - "name": "dotall", - "tooltip": "When enabled, the dot (.) character will match any character including newline characters. When disabled, dots won't match newlines." - }, - "count": { - "name": "count", - "tooltip": "Maximum number of replacements to make. Set to 0 to replace all occurrences (default). Set to 1 to replace only the first match, 2 for the first two matches, etc." - } - }, - "outputs": { - "0": { - "tooltip": null - } - } - }, "RenormCFG": { "display_name": "RenormCFG", "inputs": { @@ -8819,234 +6917,6 @@ } } }, - "ResizeAndPadImage": { - "display_name": "ResizeAndPadImage", - "inputs": { - "image": { - "name": "image" - }, - "target_width": { - "name": "target_width" - }, - "target_height": { - "name": "target_height" - }, - "padding_color": { - "name": "padding_color" - }, - "interpolation": { - "name": "interpolation" - } - } - }, - "Rodin3D_Detail": { - "display_name": "Rodin 3D Generate - Detail Generate", - "description": "Generate 3D Assets using Rodin API", - "inputs": { - "Images": { - "name": "Images" - }, - "Seed": { - "name": "Seed" - }, - "Material_Type": { - "name": "Material_Type" - }, - "Polygon_count": { - "name": "Polygon_count" - } - }, - "outputs": { - "0": { - "name": "3D Model Path" - } - } - }, - "Rodin3D_Regular": { - "display_name": "Rodin 3D Generate - Regular Generate", - "description": "Generate 3D Assets using Rodin API", - "inputs": { - "Images": { - "name": "Images" - }, - "Seed": { - "name": "Seed" - }, - "Material_Type": { - "name": "Material_Type" - }, - "Polygon_count": { - "name": "Polygon_count" - } - }, - "outputs": { - "0": { - "name": "3D Model Path" - } - } - }, - "Rodin3D_Sketch": { - "display_name": "Rodin 3D Generate - Sketch Generate", - "description": "Generate 3D Assets using Rodin API", - "inputs": { - "Images": { - "name": "Images" - }, - "Seed": { - "name": "Seed" - } - }, - "outputs": { - "0": { - "name": "3D Model Path" - } - } - }, - "Rodin3D_Smooth": { - "display_name": "Rodin 3D Generate - Smooth Generate", - "description": "Generate 3D Assets using Rodin API", - "inputs": { - "Images": { - "name": "Images" - }, - "Seed": { - "name": "Seed" - }, - "Material_Type": { - "name": "Material_Type" - }, - "Polygon_count": { - "name": "Polygon_count" - } - }, - "outputs": { - "0": { - "name": "3D Model Path" - } - } - }, - "RunwayFirstLastFrameNode": { - "display_name": "Runway First-Last-Frame to Video", - "description": "Upload first and last keyframes, draft a prompt, and generate a video. More complex transitions, such as cases where the Last frame is completely different from the First frame, may benefit from the longer 10s duration. This would give the generation more time to smoothly transition between the two inputs. Before diving in, review these best practices to ensure that your input selections will set your generation up for success: https://help.runwayml.com/hc/en-us/articles/34170748696595-Creating-with-Keyframes-on-Gen-3.", - "inputs": { - "prompt": { - "name": "prompt", - "tooltip": "Text prompt for the generation" - }, - "start_frame": { - "name": "start_frame", - "tooltip": "Start frame to be used for the video" - }, - "end_frame": { - "name": "end_frame", - "tooltip": "End frame to be used for the video. Supported for gen3a_turbo only." - }, - "duration": { - "name": "duration" - }, - "ratio": { - "name": "ratio" - }, - "seed": { - "name": "seed", - "tooltip": "Random seed for generation" - }, - "control_after_generate": { - "name": "control after generate" - } - }, - "outputs": { - "0": { - "tooltip": null - } - } - }, - "RunwayImageToVideoNodeGen3a": { - "display_name": "Runway Image to Video (Gen3a Turbo)", - "description": "Generate a video from a single starting frame using Gen3a Turbo model. Before diving in, review these best practices to ensure that your input selections will set your generation up for success: https://help.runwayml.com/hc/en-us/articles/33927968552339-Creating-with-Act-One-on-Gen-3-Alpha-and-Turbo.", - "inputs": { - "prompt": { - "name": "prompt", - "tooltip": "Text prompt for the generation" - }, - "start_frame": { - "name": "start_frame", - "tooltip": "Start frame to be used for the video" - }, - "duration": { - "name": "duration" - }, - "ratio": { - "name": "ratio" - }, - "seed": { - "name": "seed", - "tooltip": "Random seed for generation" - }, - "control_after_generate": { - "name": "control after generate" - } - }, - "outputs": { - "0": { - "tooltip": null - } - } - }, - "RunwayImageToVideoNodeGen4": { - "display_name": "Runway Image to Video (Gen4 Turbo)", - "description": "Generate a video from a single starting frame using Gen4 Turbo model. Before diving in, review these best practices to ensure that your input selections will set your generation up for success: https://help.runwayml.com/hc/en-us/articles/37327109429011-Creating-with-Gen-4-Video.", - "inputs": { - "prompt": { - "name": "prompt", - "tooltip": "Text prompt for the generation" - }, - "start_frame": { - "name": "start_frame", - "tooltip": "Start frame to be used for the video" - }, - "duration": { - "name": "duration" - }, - "ratio": { - "name": "ratio" - }, - "seed": { - "name": "seed", - "tooltip": "Random seed for generation" - }, - "control_after_generate": { - "name": "control after generate" - } - }, - "outputs": { - "0": { - "tooltip": null - } - } - }, - "RunwayTextToImageNode": { - "display_name": "Runway Text to Image", - "description": "Generate an image from a text prompt using Runway's Gen 4 model. You can also include reference image to guide the generation.", - "inputs": { - "prompt": { - "name": "prompt", - "tooltip": "Text prompt for the generation" - }, - "ratio": { - "name": "ratio" - }, - "reference_image": { - "name": "reference_image", - "tooltip": "Optional reference image to guide the generation" - } - }, - "outputs": { - "0": { - "tooltip": null - } - } - }, "SamplerCustom": { "display_name": "SamplerCustom", "inputs": { @@ -9212,24 +7082,6 @@ } } }, - "SamplerER_SDE": { - "display_name": "SamplerER_SDE", - "inputs": { - "solver_type": { - "name": "solver_type" - }, - "max_stage": { - "name": "max_stage" - }, - "eta": { - "name": "eta", - "tooltip": "Stochastic strength of reverse-time SDE.\nWhen eta=0, it reduces to deterministic ODE. This setting doesn't apply to ER-SDE solver type." - }, - "s_noise": { - "name": "s_noise" - } - } - }, "SamplerEulerAncestral": { "display_name": "SamplerEulerAncestral", "inputs": { @@ -9258,11 +7110,6 @@ "version": { "name": "version" } - }, - "outputs": { - "0": { - "tooltip": null - } } }, "SamplerLCMUpscale": { @@ -9277,11 +7124,6 @@ "upscale_method": { "name": "upscale_method" } - }, - "outputs": { - "0": { - "tooltip": null - } } }, "SamplerLMS": { @@ -9292,58 +7134,6 @@ } } }, - "SamplerSASolver": { - "display_name": "SamplerSASolver", - "inputs": { - "model": { - "name": "model" - }, - "eta": { - "name": "eta" - }, - "sde_start_percent": { - "name": "sde_start_percent" - }, - "sde_end_percent": { - "name": "sde_end_percent" - }, - "s_noise": { - "name": "s_noise" - }, - "predictor_order": { - "name": "predictor_order" - }, - "corrector_order": { - "name": "corrector_order" - }, - "use_pece": { - "name": "use_pece" - }, - "simple_order_2": { - "name": "simple_order_2" - } - } - }, - "SamplingPercentToSigma": { - "display_name": "SamplingPercentToSigma", - "inputs": { - "model": { - "name": "model" - }, - "sampling_percent": { - "name": "sampling_percent" - }, - "return_actual_sigma": { - "name": "return_actual_sigma", - "tooltip": "Return the actual sigma value instead of the value used for interval checks.\nThis only affects results at 0.0 and 1.0." - } - }, - "outputs": { - "0": { - "name": "sigma_value" - } - } - }, "SaveAnimatedPNG": { "display_name": "SaveAnimatedPNG", "inputs": { @@ -9385,7 +7175,7 @@ } }, "SaveAudio": { - "display_name": "Save Audio (FLAC)", + "display_name": "SaveAudio", "inputs": { "audio": { "name": "audio" @@ -9398,40 +7188,6 @@ } } }, - "SaveAudioMP3": { - "display_name": "Save Audio (MP3)", - "inputs": { - "audio": { - "name": "audio" - }, - "filename_prefix": { - "name": "filename_prefix" - }, - "quality": { - "name": "quality" - }, - "audioUI": { - "name": "audioUI" - } - } - }, - "SaveAudioOpus": { - "display_name": "Save Audio (Opus)", - "inputs": { - "audio": { - "name": "audio" - }, - "filename_prefix": { - "name": "filename_prefix" - }, - "quality": { - "name": "quality" - }, - "audioUI": { - "name": "audioUI" - } - } - }, "SaveGLB": { "display_name": "SaveGLB", "inputs": { @@ -9479,25 +7235,8 @@ } } }, - "SaveLoRANode": { - "display_name": "Save LoRA Weights", - "inputs": { - "lora": { - "name": "lora", - "tooltip": "The LoRA model to save. Do not use the model with LoRA layers." - }, - "prefix": { - "name": "prefix", - "tooltip": "The prefix to use for the saved LoRA file." - }, - "steps": { - "name": "steps", - "tooltip": "Optional: The number of steps to LoRA has been trained for, used to name the saved file." - } - } - }, - "SaveSVGNode": { - "display_name": "SaveSVGNode", + "SaveSVG": { + "display_name": "Save SVG", "description": "Save SVG files on disk.", "inputs": { "svg": { @@ -9699,27 +7438,6 @@ } } }, - "SkipLayerGuidanceDiTSimple": { - "display_name": "SkipLayerGuidanceDiTSimple", - "description": "Simple version of the SkipLayerGuidanceDiT node that only modifies the uncond pass.", - "inputs": { - "model": { - "name": "model" - }, - "double_layers": { - "name": "double_layers" - }, - "single_layers": { - "name": "single_layers" - }, - "start_percent": { - "name": "start_percent" - }, - "end_percent": { - "name": "end_percent" - } - } - }, "SkipLayerGuidanceSD3": { "display_name": "SkipLayerGuidanceSD3", "description": "Generic version of SkipLayerGuidance node that can be used on every DiT model.", @@ -9801,88 +7519,6 @@ } } }, - "StabilityAudioInpaint": { - "display_name": "Stability AI Audio Inpaint", - "description": "Transforms part of existing audio sample using text instructions.", - "inputs": { - "model": { - "name": "model" - }, - "prompt": { - "name": "prompt" - }, - "audio": { - "name": "audio", - "tooltip": "Audio must be between 6 and 190 seconds long." - }, - "duration": { - "name": "duration", - "tooltip": "Controls the duration in seconds of the generated audio." - }, - "seed": { - "name": "seed", - "tooltip": "The random seed used for generation." - }, - "steps": { - "name": "steps", - "tooltip": "Controls the number of sampling steps." - }, - "mask_start": { - "name": "mask_start" - }, - "mask_end": { - "name": "mask_end" - }, - "control_after_generate": { - "name": "control after generate" - } - }, - "outputs": { - "0": { - "tooltip": null - } - } - }, - "StabilityAudioToAudio": { - "display_name": "Stability AI Audio To Audio", - "description": "Transforms existing audio samples into new high-quality compositions using text instructions.", - "inputs": { - "model": { - "name": "model" - }, - "prompt": { - "name": "prompt" - }, - "audio": { - "name": "audio", - "tooltip": "Audio must be between 6 and 190 seconds long." - }, - "duration": { - "name": "duration", - "tooltip": "Controls the duration in seconds of the generated audio." - }, - "seed": { - "name": "seed", - "tooltip": "The random seed used for generation." - }, - "steps": { - "name": "steps", - "tooltip": "Controls the number of sampling steps." - }, - "strength": { - "name": "strength", - "tooltip": "Parameter controls how much influence the audio parameter has on the generated audio." - }, - "control_after_generate": { - "name": "control after generate" - } - }, - "outputs": { - "0": { - "tooltip": null - } - } - }, "StabilityStableImageSD_3_5Node": { "display_name": "Stability AI Stable Diffusion 3.5 Image", "description": "Generates images synchronously based on prompt and resolution.", @@ -9924,11 +7560,6 @@ "control_after_generate": { "name": "control after generate" } - }, - "outputs": { - "0": { - "tooltip": null - } } }, "StabilityStableImageUltraNode": { @@ -9937,7 +7568,7 @@ "inputs": { "prompt": { "name": "prompt", - "tooltip": "What you wish to see in the output image. A strong, descriptive prompt that clearly defineselements, colors, and subjects will lead to better results. To control the weight of a given word use the format `(word:weight)`,where `word` is the word you'd like to control the weight of and `weight`is a value between 0 and 1. For example: `The sky was a crisp (blue:0.3) and (green:0.8)`would convey a sky that was blue and green, but more green than blue." + "tooltip": "What you wish to see in the output image. A strong, descriptive prompt that clearly definesWhat you wish to see in the output image. A strong, descriptive prompt that clearly defineselements, colors, and subjects will lead to better results. To control the weight of a given word use the format `(word:weight)`,where `word` is the word you'd like to control the weight of and `weight`is a value between 0 and 1. For example: `The sky was a crisp (blue:0.3) and (green:0.8)`would convey a sky that was blue and green, but more green than blue." }, "aspect_ratio": { "name": "aspect_ratio", @@ -9965,43 +7596,6 @@ "control_after_generate": { "name": "control after generate" } - }, - "outputs": { - "0": { - "tooltip": null - } - } - }, - "StabilityTextToAudio": { - "display_name": "Stability AI Text To Audio", - "description": "Generates high-quality music and sound effects from text descriptions.", - "inputs": { - "model": { - "name": "model" - }, - "prompt": { - "name": "prompt" - }, - "duration": { - "name": "duration", - "tooltip": "Controls the duration in seconds of the generated audio." - }, - "seed": { - "name": "seed", - "tooltip": "The random seed used for generation." - }, - "steps": { - "name": "steps", - "tooltip": "Controls the number of sampling steps." - }, - "control_after_generate": { - "name": "control after generate" - } - }, - "outputs": { - "0": { - "tooltip": null - } } }, "StabilityUpscaleConservativeNode": { @@ -10030,11 +7624,6 @@ "control_after_generate": { "name": "control after generate" } - }, - "outputs": { - "0": { - "tooltip": null - } } }, "StabilityUpscaleCreativeNode": { @@ -10067,11 +7656,6 @@ "control_after_generate": { "name": "control after generate" } - }, - "outputs": { - "0": { - "tooltip": null - } } }, "StabilityUpscaleFastNode": { @@ -10081,11 +7665,6 @@ "image": { "name": "image" } - }, - "outputs": { - "0": { - "tooltip": null - } } }, "StableCascade_EmptyLatentImage": { @@ -10106,12 +7685,10 @@ }, "outputs": { "0": { - "name": "stage_c", - "tooltip": null + "name": "stage_c" }, "1": { - "name": "stage_b", - "tooltip": null + "name": "stage_b" } } }, @@ -10124,11 +7701,6 @@ "stage_c": { "name": "stage_c" } - }, - "outputs": { - "0": { - "tooltip": null - } } }, "StableCascade_StageC_VAEEncode": { @@ -10146,12 +7718,10 @@ }, "outputs": { "0": { - "name": "stage_c", - "tooltip": null + "name": "stage_c" }, "1": { - "name": "stage_b", - "tooltip": null + "name": "stage_b" } } }, @@ -10167,16 +7737,13 @@ }, "outputs": { "0": { - "name": "controlnet_input", - "tooltip": null + "name": "controlnet_input" }, "1": { - "name": "stage_c", - "tooltip": null + "name": "stage_c" }, "2": { - "name": "stage_b", - "tooltip": null + "name": "stage_b" } } }, @@ -10266,135 +7833,6 @@ } } }, - "StringCompare": { - "display_name": "Compare", - "inputs": { - "string_a": { - "name": "string_a" - }, - "string_b": { - "name": "string_b" - }, - "mode": { - "name": "mode" - }, - "case_sensitive": { - "name": "case_sensitive" - } - }, - "outputs": { - "0": { - "tooltip": null - } - } - }, - "StringConcatenate": { - "display_name": "Concatenate", - "inputs": { - "string_a": { - "name": "string_a" - }, - "string_b": { - "name": "string_b" - }, - "delimiter": { - "name": "delimiter" - } - }, - "outputs": { - "0": { - "tooltip": null - } - } - }, - "StringContains": { - "display_name": "Contains", - "inputs": { - "string": { - "name": "string" - }, - "substring": { - "name": "substring" - }, - "case_sensitive": { - "name": "case_sensitive" - } - }, - "outputs": { - "0": { - "name": "contains", - "tooltip": null - } - } - }, - "StringLength": { - "display_name": "Length", - "inputs": { - "string": { - "name": "string" - } - }, - "outputs": { - "0": { - "name": "length", - "tooltip": null - } - } - }, - "StringReplace": { - "display_name": "Replace", - "inputs": { - "string": { - "name": "string" - }, - "find": { - "name": "find" - }, - "replace": { - "name": "replace" - } - }, - "outputs": { - "0": { - "tooltip": null - } - } - }, - "StringSubstring": { - "display_name": "Substring", - "inputs": { - "string": { - "name": "string" - }, - "start": { - "name": "start" - }, - "end": { - "name": "end" - } - }, - "outputs": { - "0": { - "tooltip": null - } - } - }, - "StringTrim": { - "display_name": "Trim", - "inputs": { - "string": { - "name": "string" - }, - "mode": { - "name": "mode" - } - }, - "outputs": { - "0": { - "tooltip": null - } - } - }, "StyleModelApply": { "display_name": "Apply Style Model", "inputs": { @@ -10515,47 +7953,6 @@ "min_length": { "name": "min_length" } - }, - "outputs": { - "0": { - "tooltip": null - } - } - }, - "TCFG": { - "display_name": "Tangential Damping CFG", - "description": "TCFG – Tangential Damping CFG (2503.18137)\n\nRefine the uncond (negative) to align with the cond (positive) for improving quality.", - "inputs": { - "model": { - "name": "model" - } - }, - "outputs": { - "0": { - "name": "patched_model" - } - } - }, - "TextEncodeAceStepAudio": { - "display_name": "TextEncodeAceStepAudio", - "inputs": { - "clip": { - "name": "clip" - }, - "tags": { - "name": "tags" - }, - "lyrics": { - "name": "lyrics" - }, - "lyrics_strength": { - "name": "lyrics_strength" - } - }, - "outputs": { - "0": { - "tooltip": null - } } }, "TextEncodeHunyuanVideo_ImageToVideo": { @@ -10576,23 +7973,6 @@ } } }, - "TextEncodeQwenImageEdit": { - "display_name": "TextEncodeQwenImageEdit", - "inputs": { - "clip": { - "name": "clip" - }, - "prompt": { - "name": "prompt" - }, - "vae": { - "name": "vae" - }, - "image": { - "name": "image" - } - } - }, "ThresholdMask": { "display_name": "ThresholdMask", "inputs": { @@ -10626,92 +8006,6 @@ } } }, - "TrainLoraNode": { - "display_name": "Train LoRA", - "inputs": { - "model": { - "name": "model", - "tooltip": "The model to train the LoRA on." - }, - "latents": { - "name": "latents", - "tooltip": "The Latents to use for training, serve as dataset/input of the model." - }, - "positive": { - "name": "positive", - "tooltip": "The positive conditioning to use for training." - }, - "batch_size": { - "name": "batch_size", - "tooltip": "The batch size to use for training." - }, - "grad_accumulation_steps": { - "name": "grad_accumulation_steps", - "tooltip": "The number of gradient accumulation steps to use for training." - }, - "steps": { - "name": "steps", - "tooltip": "The number of steps to train the LoRA for." - }, - "learning_rate": { - "name": "learning_rate", - "tooltip": "The learning rate to use for training." - }, - "rank": { - "name": "rank", - "tooltip": "The rank of the LoRA layers." - }, - "optimizer": { - "name": "optimizer", - "tooltip": "The optimizer to use for training." - }, - "loss_function": { - "name": "loss_function", - "tooltip": "The loss function to use for training." - }, - "seed": { - "name": "seed", - "tooltip": "The seed to use for training (used in generator for LoRA weight initialization and noise sampling)" - }, - "training_dtype": { - "name": "training_dtype", - "tooltip": "The dtype to use for training." - }, - "lora_dtype": { - "name": "lora_dtype", - "tooltip": "The dtype to use for lora." - }, - "algorithm": { - "name": "algorithm", - "tooltip": "The algorithm to use for training." - }, - "gradient_checkpointing": { - "name": "gradient_checkpointing", - "tooltip": "Use gradient checkpointing for training." - }, - "existing_lora": { - "name": "existing_lora", - "tooltip": "The existing LoRA to append to. Set to None for new LoRA." - }, - "control_after_generate": { - "name": "control after generate" - } - }, - "outputs": { - "0": { - "name": "model_with_lora" - }, - "1": { - "name": "lora" - }, - "2": { - "name": "loss" - }, - "3": { - "name": "steps" - } - } - }, "TrimVideoLatent": { "display_name": "TrimVideoLatent", "inputs": { @@ -10721,11 +8015,6 @@ "trim_amount": { "name": "trim_amount" } - }, - "outputs": { - "0": { - "tooltip": null - } } }, "TripleCLIPLoader": { @@ -10743,268 +8032,6 @@ } } }, - "TripoConversionNode": { - "display_name": "Tripo: Convert model", - "inputs": { - "original_model_task_id": { - "name": "original_model_task_id" - }, - "format": { - "name": "format" - }, - "quad": { - "name": "quad" - }, - "face_limit": { - "name": "face_limit" - }, - "texture_size": { - "name": "texture_size" - }, - "texture_format": { - "name": "texture_format" - } - } - }, - "TripoImageToModelNode": { - "display_name": "Tripo: Image to Model", - "inputs": { - "image": { - "name": "image" - }, - "model_version": { - "name": "model_version", - "tooltip": "The model version to use for generation" - }, - "style": { - "name": "style" - }, - "texture": { - "name": "texture" - }, - "pbr": { - "name": "pbr" - }, - "model_seed": { - "name": "model_seed" - }, - "orientation": { - "name": "orientation" - }, - "texture_seed": { - "name": "texture_seed" - }, - "texture_quality": { - "name": "texture_quality" - }, - "texture_alignment": { - "name": "texture_alignment" - }, - "face_limit": { - "name": "face_limit" - }, - "quad": { - "name": "quad" - } - }, - "outputs": { - "0": { - "name": "model_file" - }, - "1": { - "name": "model task_id" - } - } - }, - "TripoMultiviewToModelNode": { - "display_name": "Tripo: Multiview to Model", - "inputs": { - "image": { - "name": "image" - }, - "image_left": { - "name": "image_left" - }, - "image_back": { - "name": "image_back" - }, - "image_right": { - "name": "image_right" - }, - "model_version": { - "name": "model_version", - "tooltip": "The model version to use for generation" - }, - "orientation": { - "name": "orientation" - }, - "texture": { - "name": "texture" - }, - "pbr": { - "name": "pbr" - }, - "model_seed": { - "name": "model_seed" - }, - "texture_seed": { - "name": "texture_seed" - }, - "texture_quality": { - "name": "texture_quality" - }, - "texture_alignment": { - "name": "texture_alignment" - }, - "face_limit": { - "name": "face_limit" - }, - "quad": { - "name": "quad" - } - }, - "outputs": { - "0": { - "name": "model_file" - }, - "1": { - "name": "model task_id" - } - } - }, - "TripoRefineNode": { - "display_name": "Tripo: Refine Draft model", - "description": "Refine a draft model created by v1.4 Tripo models only.", - "inputs": { - "model_task_id": { - "name": "model_task_id", - "tooltip": "Must be a v1.4 Tripo model" - } - }, - "outputs": { - "0": { - "name": "model_file" - }, - "1": { - "name": "model task_id" - } - } - }, - "TripoRetargetNode": { - "display_name": "Tripo: Retarget rigged model", - "inputs": { - "original_model_task_id": { - "name": "original_model_task_id" - }, - "animation": { - "name": "animation" - } - }, - "outputs": { - "0": { - "name": "model_file" - }, - "1": { - "name": "retarget task_id" - } - } - }, - "TripoRigNode": { - "display_name": "Tripo: Rig model", - "inputs": { - "original_model_task_id": { - "name": "original_model_task_id" - } - }, - "outputs": { - "0": { - "name": "model_file" - }, - "1": { - "name": "rig task_id" - } - } - }, - "TripoTextToModelNode": { - "display_name": "Tripo: Text to Model", - "inputs": { - "prompt": { - "name": "prompt" - }, - "negative_prompt": { - "name": "negative_prompt" - }, - "model_version": { - "name": "model_version" - }, - "style": { - "name": "style" - }, - "texture": { - "name": "texture" - }, - "pbr": { - "name": "pbr" - }, - "image_seed": { - "name": "image_seed" - }, - "model_seed": { - "name": "model_seed" - }, - "texture_seed": { - "name": "texture_seed" - }, - "texture_quality": { - "name": "texture_quality" - }, - "face_limit": { - "name": "face_limit" - }, - "quad": { - "name": "quad" - } - }, - "outputs": { - "0": { - "name": "model_file" - }, - "1": { - "name": "model task_id" - } - } - }, - "TripoTextureNode": { - "display_name": "Tripo: Texture model", - "inputs": { - "model_task_id": { - "name": "model_task_id" - }, - "texture": { - "name": "texture" - }, - "pbr": { - "name": "pbr" - }, - "texture_seed": { - "name": "texture_seed" - }, - "texture_quality": { - "name": "texture_quality" - }, - "texture_alignment": { - "name": "texture_alignment" - } - }, - "outputs": { - "0": { - "name": "model_file" - }, - "1": { - "name": "model task_id" - } - } - }, "unCLIPCheckpointLoader": { "display_name": "unCLIPCheckpointLoader", "inputs": { @@ -11048,11 +8075,6 @@ "out": { "name": "out" } - }, - "outputs": { - "0": { - "tooltip": null - } } }, "UNETLoader": { @@ -11084,11 +8106,6 @@ "out": { "name": "out" } - }, - "outputs": { - "0": { - "tooltip": null - } } }, "UNetTemporalAttentionMultiply": { @@ -11109,11 +8126,6 @@ "cross_temporal": { "name": "cross_temporal" } - }, - "outputs": { - "0": { - "tooltip": null - } } }, "UpscaleModelLoader": { @@ -11124,20 +8136,6 @@ } } }, - "USOStyleReference": { - "display_name": "USOStyleReference", - "inputs": { - "model": { - "name": "model" - }, - "model_patch": { - "name": "model_patch" - }, - "clip_vision_output": { - "name": "clip_vision_output" - } - } - }, "VAEDecode": { "display_name": "VAE Decode", "description": "Decodes latent images back into pixel space images.", @@ -11158,7 +8156,7 @@ } }, "VAEDecodeAudio": { - "display_name": "VAE Decode Audio", + "display_name": "VAEDecodeAudio", "inputs": { "samples": { "name": "samples" @@ -11222,7 +8220,7 @@ } }, "VAEEncodeAudio": { - "display_name": "VAE Encode Audio", + "display_name": "VAEEncodeAudio", "inputs": { "audio": { "name": "audio" @@ -11293,63 +8291,9 @@ } } }, - "Veo3VideoGenerationNode": { - "display_name": "Google Veo 3 Video Generation", - "description": "Generates videos from text prompts using Google's Veo 3 API", - "inputs": { - "prompt": { - "name": "prompt", - "tooltip": "Text description of the video" - }, - "aspect_ratio": { - "name": "aspect_ratio", - "tooltip": "Aspect ratio of the output video" - }, - "negative_prompt": { - "name": "negative_prompt", - "tooltip": "Negative text prompt to guide what to avoid in the video" - }, - "duration_seconds": { - "name": "duration_seconds", - "tooltip": "Duration of the output video in seconds (Veo 3 only supports 8 seconds)" - }, - "enhance_prompt": { - "name": "enhance_prompt", - "tooltip": "Whether to enhance the prompt with AI assistance" - }, - "person_generation": { - "name": "person_generation", - "tooltip": "Whether to allow generating people in the video" - }, - "seed": { - "name": "seed", - "tooltip": "Seed for video generation (0 for random)" - }, - "image": { - "name": "image", - "tooltip": "Optional reference image to guide video generation" - }, - "model": { - "name": "model", - "tooltip": "Veo 3 model to use for video generation" - }, - "generate_audio": { - "name": "generate_audio", - "tooltip": "Generate audio for the video. Supported by all Veo 3 models." - }, - "control_after_generate": { - "name": "control after generate" - } - }, - "outputs": { - "0": { - "tooltip": null - } - } - }, "VeoVideoGenerationNode": { - "display_name": "Google Veo 2 Video Generation", - "description": "Generates videos from text prompts using Google's Veo 2 API", + "display_name": "Google Veo2 Video Generation", + "description": "Generates videos from text prompts using Google's Veo API", "inputs": { "prompt": { "name": "prompt", @@ -11383,58 +8327,9 @@ "name": "image", "tooltip": "Optional reference image to guide video generation" }, - "model": { - "name": "model", - "tooltip": "Veo 2 model to use for video generation" - }, "control_after_generate": { "name": "control after generate" } - }, - "outputs": { - "0": { - "tooltip": null - } - } - }, - "VideoCropNode": { - "display_name": "Video Crop (FFmpeg)", - "inputs": { - "video": { - "name": "video" - }, - "x": { - "name": "x" - }, - "y": { - "name": "y" - }, - "width": { - "name": "width" - }, - "height": { - "name": "height" - }, - "output_format": { - "name": "output_format" - }, - "codec": { - "name": "codec" - }, - "quality": { - "name": "quality" - }, - "fps": { - "name": "fps" - }, - "extra_ffmpeg_args": { - "name": "extra_ffmpeg_args" - } - }, - "outputs": { - "0": { - "name": "cropped_video" - } } }, "VideoLinearCFGGuidance": { @@ -11459,182 +8354,6 @@ } } }, - "ViduImageToVideoNode": { - "display_name": "Vidu Image To Video Generation", - "description": "Generate video from image and optional prompt", - "inputs": { - "model": { - "name": "model", - "tooltip": "Model name" - }, - "image": { - "name": "image", - "tooltip": "An image to be used as the start frame of the generated video" - }, - "prompt": { - "name": "prompt", - "tooltip": "A textual description for video generation" - }, - "duration": { - "name": "duration", - "tooltip": "Duration of the output video in seconds" - }, - "seed": { - "name": "seed", - "tooltip": "Seed for video generation (0 for random)" - }, - "resolution": { - "name": "resolution", - "tooltip": "Supported values may vary by model & duration" - }, - "movement_amplitude": { - "name": "movement_amplitude", - "tooltip": "The movement amplitude of objects in the frame" - }, - "control_after_generate": { - "name": "control after generate" - } - }, - "outputs": { - "0": { - "tooltip": null - } - } - }, - "ViduReferenceVideoNode": { - "display_name": "Vidu Reference To Video Generation", - "description": "Generate video from multiple images and prompt", - "inputs": { - "model": { - "name": "model", - "tooltip": "Model name" - }, - "images": { - "name": "images", - "tooltip": "Images to use as references to generate a video with consistent subjects (max 7 images)." - }, - "prompt": { - "name": "prompt", - "tooltip": "A textual description for video generation" - }, - "duration": { - "name": "duration", - "tooltip": "Duration of the output video in seconds" - }, - "seed": { - "name": "seed", - "tooltip": "Seed for video generation (0 for random)" - }, - "aspect_ratio": { - "name": "aspect_ratio", - "tooltip": "The aspect ratio of the output video" - }, - "resolution": { - "name": "resolution", - "tooltip": "Supported values may vary by model & duration" - }, - "movement_amplitude": { - "name": "movement_amplitude", - "tooltip": "The movement amplitude of objects in the frame" - }, - "control_after_generate": { - "name": "control after generate" - } - }, - "outputs": { - "0": { - "tooltip": null - } - } - }, - "ViduStartEndToVideoNode": { - "display_name": "Vidu Start End To Video Generation", - "description": "Generate a video from start and end frames and a prompt", - "inputs": { - "model": { - "name": "model", - "tooltip": "Model name" - }, - "first_frame": { - "name": "first_frame", - "tooltip": "Start frame" - }, - "end_frame": { - "name": "end_frame", - "tooltip": "End frame" - }, - "prompt": { - "name": "prompt", - "tooltip": "A textual description for video generation" - }, - "duration": { - "name": "duration", - "tooltip": "Duration of the output video in seconds" - }, - "seed": { - "name": "seed", - "tooltip": "Seed for video generation (0 for random)" - }, - "resolution": { - "name": "resolution", - "tooltip": "Supported values may vary by model & duration" - }, - "movement_amplitude": { - "name": "movement_amplitude", - "tooltip": "The movement amplitude of objects in the frame" - }, - "control_after_generate": { - "name": "control after generate" - } - }, - "outputs": { - "0": { - "tooltip": null - } - } - }, - "ViduTextToVideoNode": { - "display_name": "Vidu Text To Video Generation", - "description": "Generate video from text prompt", - "inputs": { - "model": { - "name": "model", - "tooltip": "Model name" - }, - "prompt": { - "name": "prompt", - "tooltip": "A textual description for video generation" - }, - "duration": { - "name": "duration", - "tooltip": "Duration of the output video in seconds" - }, - "seed": { - "name": "seed", - "tooltip": "Seed for video generation (0 for random)" - }, - "aspect_ratio": { - "name": "aspect_ratio", - "tooltip": "The aspect ratio of the output video" - }, - "resolution": { - "name": "resolution", - "tooltip": "Supported values may vary by model & duration" - }, - "movement_amplitude": { - "name": "movement_amplitude", - "tooltip": "The movement amplitude of objects in the frame" - }, - "control_after_generate": { - "name": "control after generate" - } - }, - "outputs": { - "0": { - "tooltip": null - } - } - }, "VoxelToMesh": { "display_name": "VoxelToMesh", "inputs": { @@ -11677,218 +8396,6 @@ } } }, - "Wan22FunControlToVideo": { - "display_name": "Wan22FunControlToVideo", - "inputs": { - "positive": { - "name": "positive" - }, - "negative": { - "name": "negative" - }, - "vae": { - "name": "vae" - }, - "width": { - "name": "width" - }, - "height": { - "name": "height" - }, - "length": { - "name": "length" - }, - "batch_size": { - "name": "batch_size" - }, - "ref_image": { - "name": "ref_image" - }, - "control_video": { - "name": "control_video" - } - }, - "outputs": { - "0": { - "name": "positive", - "tooltip": null - }, - "1": { - "name": "negative", - "tooltip": null - }, - "2": { - "name": "latent", - "tooltip": null - } - } - }, - "Wan22ImageToVideoLatent": { - "display_name": "Wan22ImageToVideoLatent", - "inputs": { - "vae": { - "name": "vae" - }, - "width": { - "name": "width" - }, - "height": { - "name": "height" - }, - "length": { - "name": "length" - }, - "batch_size": { - "name": "batch_size" - }, - "start_image": { - "name": "start_image" - } - }, - "outputs": { - "0": { - "tooltip": null - } - } - }, - "WanCameraEmbedding": { - "display_name": "WanCameraEmbedding", - "inputs": { - "camera_pose": { - "name": "camera_pose" - }, - "width": { - "name": "width" - }, - "height": { - "name": "height" - }, - "length": { - "name": "length" - }, - "speed": { - "name": "speed" - }, - "fx": { - "name": "fx" - }, - "fy": { - "name": "fy" - }, - "cx": { - "name": "cx" - }, - "cy": { - "name": "cy" - } - }, - "outputs": { - "0": { - "name": "camera_embedding", - "tooltip": null - }, - "1": { - "name": "width", - "tooltip": null - }, - "2": { - "name": "height", - "tooltip": null - }, - "3": { - "name": "length", - "tooltip": null - } - } - }, - "WanCameraImageToVideo": { - "display_name": "WanCameraImageToVideo", - "inputs": { - "positive": { - "name": "positive" - }, - "negative": { - "name": "negative" - }, - "vae": { - "name": "vae" - }, - "width": { - "name": "width" - }, - "height": { - "name": "height" - }, - "length": { - "name": "length" - }, - "batch_size": { - "name": "batch_size" - }, - "clip_vision_output": { - "name": "clip_vision_output" - }, - "start_image": { - "name": "start_image" - }, - "camera_conditions": { - "name": "camera_conditions" - } - }, - "outputs": { - "0": { - "name": "positive", - "tooltip": null - }, - "1": { - "name": "negative", - "tooltip": null - }, - "2": { - "name": "latent", - "tooltip": null - } - } - }, - "WanContextWindowsManual": { - "display_name": "WAN Context Windows (Manual)", - "description": "Manually set context windows for WAN-like models (dim=2).", - "inputs": { - "model": { - "name": "model", - "tooltip": "The model to apply context windows to during sampling." - }, - "context_length": { - "name": "context_length", - "tooltip": "The length of the context window." - }, - "context_overlap": { - "name": "context_overlap", - "tooltip": "The overlap of the context window." - }, - "context_schedule": { - "name": "context_schedule", - "tooltip": "The stride of the context window." - }, - "context_stride": { - "name": "context_stride", - "tooltip": "The stride of the context window; only applicable to uniform schedules." - }, - "closed_loop": { - "name": "closed_loop", - "tooltip": "Whether to close the context window loop; only applicable to looped schedules." - }, - "fuse_method": { - "name": "fuse_method", - "tooltip": "The method to use to fuse the context windows." - } - }, - "outputs": { - "0": { - "tooltip": "The model with context windows applied during sampling." - } - } - }, "WanFirstLastFrameToVideo": { "display_name": "WanFirstLastFrameToVideo", "inputs": { @@ -11928,16 +8435,13 @@ }, "outputs": { "0": { - "name": "positive", - "tooltip": null + "name": "positive" }, "1": { - "name": "negative", - "tooltip": null + "name": "negative" }, "2": { - "name": "latent", - "tooltip": null + "name": "latent" } } }, @@ -11977,16 +8481,13 @@ }, "outputs": { "0": { - "name": "positive", - "tooltip": null + "name": "positive" }, "1": { - "name": "negative", - "tooltip": null + "name": "negative" }, "2": { - "name": "latent", - "tooltip": null + "name": "latent" } } }, @@ -12026,16 +8527,13 @@ }, "outputs": { "0": { - "name": "positive", - "tooltip": null + "name": "positive" }, "1": { - "name": "negative", - "tooltip": null + "name": "negative" }, "2": { - "name": "latent", - "tooltip": null + "name": "latent" } } }, @@ -12072,213 +8570,13 @@ }, "outputs": { "0": { - "name": "positive", - "tooltip": null - }, - "1": { - "name": "negative", - "tooltip": null - }, - "2": { - "name": "latent", - "tooltip": null - } - } - }, - "WanPhantomSubjectToVideo": { - "display_name": "WanPhantomSubjectToVideo", - "inputs": { - "positive": { "name": "positive" }, - "negative": { + "1": { "name": "negative" }, - "vae": { - "name": "vae" - }, - "width": { - "name": "width" - }, - "height": { - "name": "height" - }, - "length": { - "name": "length" - }, - "batch_size": { - "name": "batch_size" - }, - "images": { - "name": "images" - } - }, - "outputs": { - "0": { - "name": "positive", - "tooltip": null - }, - "1": { - "name": "negative_text", - "tooltip": null - }, "2": { - "name": "negative_img_text", - "tooltip": null - }, - "3": { - "name": "latent", - "tooltip": null - } - } - }, - "WanSoundImageToVideo": { - "display_name": "WanSoundImageToVideo", - "inputs": { - "positive": { - "name": "positive" - }, - "negative": { - "name": "negative" - }, - "vae": { - "name": "vae" - }, - "width": { - "name": "width" - }, - "height": { - "name": "height" - }, - "length": { - "name": "length" - }, - "batch_size": { - "name": "batch_size" - }, - "audio_encoder_output": { - "name": "audio_encoder_output" - }, - "ref_image": { - "name": "ref_image" - }, - "control_video": { - "name": "control_video" - }, - "ref_motion": { - "name": "ref_motion" - } - }, - "outputs": { - "0": { - "name": "positive", - "tooltip": null - }, - "1": { - "name": "negative", - "tooltip": null - }, - "2": { - "name": "latent", - "tooltip": null - } - } - }, - "WanSoundImageToVideoExtend": { - "display_name": "WanSoundImageToVideoExtend", - "inputs": { - "positive": { - "name": "positive" - }, - "negative": { - "name": "negative" - }, - "vae": { - "name": "vae" - }, - "length": { - "name": "length" - }, - "video_latent": { - "name": "video_latent" - }, - "audio_encoder_output": { - "name": "audio_encoder_output" - }, - "ref_image": { - "name": "ref_image" - }, - "control_video": { - "name": "control_video" - } - }, - "outputs": { - "0": { - "name": "positive", - "tooltip": null - }, - "1": { - "name": "negative", - "tooltip": null - }, - "2": { - "name": "latent", - "tooltip": null - } - } - }, - "WanTrackToVideo": { - "display_name": "WanTrackToVideo", - "inputs": { - "positive": { - "name": "positive" - }, - "negative": { - "name": "negative" - }, - "vae": { - "name": "vae" - }, - "tracks": { - "name": "tracks" - }, - "width": { - "name": "width" - }, - "height": { - "name": "height" - }, - "length": { - "name": "length" - }, - "batch_size": { - "name": "batch_size" - }, - "temperature": { - "name": "temperature" - }, - "topk": { - "name": "topk" - }, - "start_image": { - "name": "start_image" - }, - "clip_vision_output": { - "name": "clip_vision_output" - } - }, - "outputs": { - "0": { - "name": "positive", - "tooltip": null - }, - "1": { - "name": "negative", - "tooltip": null - }, - "2": { - "name": "latent", - "tooltip": null + "name": "latent" } } }, @@ -12321,20 +8619,16 @@ }, "outputs": { "0": { - "name": "positive", - "tooltip": null + "name": "positive" }, "1": { - "name": "negative", - "tooltip": null + "name": "negative" }, "2": { - "name": "latent", - "tooltip": null + "name": "latent" }, "3": { - "name": "trim_latent", - "tooltip": null + "name": "trim_latent" } } }, diff --git a/src/locales/en/settings.json b/src/locales/en/settings.json index eefa59a6d..7c7cec305 100644 --- a/src/locales/en/settings.json +++ b/src/locales/en/settings.json @@ -1,7 +1,29 @@ { - "Comfy_Assets_UseAssetAPI": { - "name": "Use Asset API for model library", - "tooltip": "Use new Asset API for model browsing" + "Comfy-Desktop_AutoUpdate": { + "name": "Automatically check for updates" + }, + "Comfy-Desktop_SendStatistics": { + "name": "Send anonymous usage metrics" + }, + "Comfy-Desktop_UV_PypiInstallMirror": { + "name": "Pypi Install Mirror", + "tooltip": "Default pip install mirror" + }, + "Comfy-Desktop_UV_PythonInstallMirror": { + "name": "Python Install Mirror", + "tooltip": "Managed Python installations are downloaded from the Astral python-build-standalone project. This variable can be set to a mirror URL to use a different source for Python installations. The provided URL will replace https://github.com/astral-sh/python-build-standalone/releases/download in, e.g., https://github.com/astral-sh/python-build-standalone/releases/download/20240713/cpython-3.12.4%2B20240713-aarch64-apple-darwin-install_only.tar.gz. Distributions can be read from a local directory by using the file:// URL scheme." + }, + "Comfy-Desktop_UV_TorchInstallMirror": { + "name": "Torch Install Mirror", + "tooltip": "Pip install mirror for pytorch" + }, + "Comfy-Desktop_WindowStyle": { + "name": "Window Style", + "tooltip": "Custom: Replace the system title bar with ComfyUI's Top menu", + "options": { + "default": "default", + "custom": "custom" + } }, "Comfy_Canvas_BackgroundImage": { "name": "Canvas background image", @@ -321,6 +343,14 @@ "Comfy_Validation_Workflows": { "name": "Validate workflows" }, + "Comfy_VueNodes_Enabled": { + "name": "Enable Vue node rendering", + "tooltip": "Render nodes as Vue components instead of canvas elements. Experimental feature." + }, + "Comfy_VueNodes_Widgets": { + "name": "Enable Vue widgets", + "tooltip": "Render widgets as Vue components within Vue nodes." + }, "Comfy_WidgetControlMode": { "name": "Widget control mode", "tooltip": "Controls when widget values are updated (randomize/increment/decrement), either before the prompt is queued or after.", @@ -358,9 +388,6 @@ "Comfy_Workflow_SortNodeIdOnSave": { "name": "Sort node IDs when saving workflow" }, - "Comfy_Workflow_WarnBlueprintOverwrite": { - "name": "Require confirmation to overwrite an existing subgraph blueprint" - }, "Comfy_Workflow_WorkflowTabsPosition": { "name": "Opened workflows position", "options": { @@ -369,14 +396,14 @@ "Topbar (2nd-row)": "Topbar (2nd-row)" } }, - "LiteGraph_Canvas_MaximumFps": { - "name": "Maximum FPS", - "tooltip": "The maximum frames per second that the canvas is allowed to render. Caps GPU usage at the cost of smoothness. If 0, the screen refresh rate is used. Default: 0" - }, "LiteGraph_Canvas_MinFontSizeForLOD": { "name": "Zoom Node Level of Detail - font size threshold", "tooltip": "Controls when the nodes switch to low quality LOD rendering. Uses font size in pixels to determine when to switch. Set to 0 to disable. Values 1-24 set the minimum font size threshold for LOD - higher values (24px) = switch nodes to simplified rendering sooner when zooming out, lower values (1px) = maintain full node quality longer." }, + "LiteGraph_Canvas_MaximumFps": { + "name": "Maximum FPS", + "tooltip": "The maximum frames per second that the canvas is allowed to render. Caps GPU usage at the cost of smoothness. If 0, the screen refresh rate is used. Default: 0" + }, "LiteGraph_ContextMenu_Scaling": { "name": "Scale node combo widget menus (lists) when zoomed in" },