Added support for P-video replace
This commit is contained in:
@@ -1428,6 +1428,10 @@ function videoSettingsToggleHandler(settingsNode) {
|
||||
const audioWidget = settingsNode.widgets.find(w => w && w.name === "audio");
|
||||
const usePreserveAudioWidget = settingsNode.widgets.find(w => w && w.name === "usePreserveAudio");
|
||||
const preserveAudioWidget = settingsNode.widgets.find(w => w && w.name === "preserveAudio");
|
||||
const useSourceAudioSyncWidget = settingsNode.widgets.find(w => w && w.name === "useSourceAudioSync");
|
||||
const sourceAudioSyncWidget = settingsNode.widgets.find(w => w && w.name === "sourceAudioSync");
|
||||
const useTurboWidget = settingsNode.widgets.find(w => w && w.name === "useTurbo");
|
||||
const turboWidget = settingsNode.widgets.find(w => w && w.name === "turbo");
|
||||
const useVoicePromptWidget = settingsNode.widgets.find(w => w && w.name === "useVoicePrompt");
|
||||
const voicePromptWidget = settingsNode.widgets.find(w => w && w.name === "voicePrompt");
|
||||
const useSafetyFilterWidget = settingsNode.widgets.find(w => w && w.name === "useSafetyFilter");
|
||||
@@ -1488,6 +1492,8 @@ function videoSettingsToggleHandler(settingsNode) {
|
||||
if (useDraftWidget && draftWidget) toggleWidgetState(useDraftWidget, draftWidget, "draft");
|
||||
if (useAudioWidget && audioWidget) toggleWidgetState(useAudioWidget, audioWidget, "audio");
|
||||
if (usePreserveAudioWidget && preserveAudioWidget) toggleWidgetState(usePreserveAudioWidget, preserveAudioWidget, "preserveAudio");
|
||||
if (useSourceAudioSyncWidget && sourceAudioSyncWidget) toggleWidgetState(useSourceAudioSyncWidget, sourceAudioSyncWidget, "sourceAudioSync");
|
||||
if (useTurboWidget && turboWidget) toggleWidgetState(useTurboWidget, turboWidget, "turbo");
|
||||
if (useVoicePromptWidget && voicePromptWidget) toggleWidgetState(useVoicePromptWidget, voicePromptWidget, "voicePrompt");
|
||||
if (useSafetyFilterWidget && safetyFilterWidget) toggleWidgetState(useSafetyFilterWidget, safetyFilterWidget, "safetyFilter");
|
||||
if (usePromptUpsamplingWidget && promptUpsamplingWidget) toggleWidgetState(usePromptUpsamplingWidget, promptUpsamplingWidget, "promptUpsampling");
|
||||
@@ -2944,6 +2950,7 @@ function videoModelSearchFilterHandler(videoModelSearchNode) {
|
||||
"prunaai:p-video@0 (P-Video)",
|
||||
"prunaai:p-video@avatar (P-Video Avatar)",
|
||||
"prunaai:p-video@animate (P-Video Animate)",
|
||||
"prunaai:p-video@replace (P-Video Replace)",
|
||||
],
|
||||
"SkyReels": [
|
||||
"skywork:skyreels@v4 (SkyReels V4)",
|
||||
@@ -3046,6 +3053,7 @@ function videoModelSearchFilterHandler(videoModelSearchNode) {
|
||||
"prunaai:p-video@0": {"width": 1280, "height": 720},
|
||||
"prunaai:p-video@avatar": {"width": 1280, "height": 720},
|
||||
"prunaai:p-video@animate": {"width": 1280, "height": 720},
|
||||
"prunaai:p-video@replace": {"width": 1280, "height": 720},
|
||||
"heygen:avatar@4": {"width": 1280, "height": 720},
|
||||
"heygen:video-agent@0": {"width": 1280, "height": 720},
|
||||
"heygen:avatar@5": {"width": 1280, "height": 720},
|
||||
@@ -3148,6 +3156,7 @@ function videoModelSearchFilterHandler(videoModelSearchNode) {
|
||||
"prunaai:p-video@0": "720p",
|
||||
"prunaai:p-video@avatar": "720p",
|
||||
"prunaai:p-video@animate": "720p",
|
||||
"prunaai:p-video@replace": "720p",
|
||||
"heygen:avatar@4": "720p",
|
||||
"heygen:video-agent@0": "720p",
|
||||
"heygen:avatar@5": "720p",
|
||||
|
||||
@@ -106,7 +106,7 @@ class txt2vid:
|
||||
}),
|
||||
"useDuration": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include duration parameter in API request. Disable if your model doesn't support duration.",
|
||||
"default": True,
|
||||
"default": False,
|
||||
}),
|
||||
"duration": ("INT", {
|
||||
"tooltip": "The duration of the video in seconds.",
|
||||
@@ -116,7 +116,7 @@ class txt2vid:
|
||||
}),
|
||||
"useFps": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include fps parameter in API request. Disable if your model doesn't support fps.",
|
||||
"default": True,
|
||||
"default": False,
|
||||
}),
|
||||
"fps": ("INT", {
|
||||
"tooltip": "Frames per second for the generated video. Only used when 'Use FPS' is enabled.",
|
||||
@@ -130,7 +130,7 @@ class txt2vid:
|
||||
}),
|
||||
"useSeed": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include seed parameter in API request. Disable if your model doesn't support seed.",
|
||||
"default": True,
|
||||
"default": False,
|
||||
}),
|
||||
"seed": ("INT", {
|
||||
"tooltip": "A value used to randomize the video generation. If you want to make videos reproducible (generate the same video multiple times), you can use the same seed value.",
|
||||
@@ -263,13 +263,13 @@ class txt2vid:
|
||||
videoAdvancedFeatureInputs = kwargs.get("videoAdvancedFeatureInputs", None)
|
||||
runwareAccelerator = kwargs.get("Accelerator", None)
|
||||
settings = kwargs.get("settings", None)
|
||||
useDuration = kwargs.get("useDuration", True)
|
||||
useDuration = kwargs.get("useDuration", False)
|
||||
duration = kwargs.get("duration", 5)
|
||||
fps = kwargs.get("fps", 24)
|
||||
useFps = kwargs.get("useFps", True)
|
||||
useFps = kwargs.get("useFps", False)
|
||||
outputFormat = kwargs.get("outputFormat", "mp4")
|
||||
seed = kwargs.get("seed", 1)
|
||||
useSeed = kwargs.get("useSeed", True)
|
||||
useSeed = kwargs.get("useSeed", False)
|
||||
steps = kwargs.get("steps", 20)
|
||||
useSteps = kwargs.get("useSteps", False)
|
||||
useBatchSize = kwargs.get("useBatchSize", False)
|
||||
|
||||
@@ -142,6 +142,7 @@ class videoModelSearch:
|
||||
"prunaai:p-video@0 (P-Video)",
|
||||
"prunaai:p-video@avatar (P-Video Avatar)",
|
||||
"prunaai:p-video@animate (P-Video Animate)",
|
||||
"prunaai:p-video@replace (P-Video Replace)",
|
||||
],
|
||||
"SkyReels": [
|
||||
"skywork:skyreels@v4 (SkyReels V4)",
|
||||
@@ -284,6 +285,7 @@ class videoModelSearch:
|
||||
"prunaai:p-video@0": {"width": 1280, "height": 720},
|
||||
"prunaai:p-video@avatar": {"width": 1280, "height": 720},
|
||||
"prunaai:p-video@animate": {"width": 1280, "height": 720},
|
||||
"prunaai:p-video@replace": {"width": 1280, "height": 720},
|
||||
|
||||
# HeyGen Models (Model ID: heygen-avatar-iv, heygen-avatar-v)
|
||||
"heygen:avatar@4": {"width": 1280, "height": 720},
|
||||
@@ -430,6 +432,7 @@ class videoModelSearch:
|
||||
"prunaai:p-video@0": "720p",
|
||||
"prunaai:p-video@avatar": "720p",
|
||||
"prunaai:p-video@animate": "720p",
|
||||
"prunaai:p-video@replace": "720p",
|
||||
|
||||
# HeyGen Models
|
||||
"heygen:avatar@4": "720p",
|
||||
|
||||
@@ -235,6 +235,26 @@ class RunwareVideoSettings:
|
||||
"label_on": "Enabled",
|
||||
"label_off": "Disabled",
|
||||
}),
|
||||
"useSourceAudioSync": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include sourceAudioSync in video inference settings.",
|
||||
"default": False,
|
||||
}),
|
||||
"sourceAudioSync": ("BOOLEAN", {
|
||||
"tooltip": "When true, the source audio is used during generation (affects lip and motion sync).",
|
||||
"default": True,
|
||||
"label_on": "Enabled",
|
||||
"label_off": "Disabled",
|
||||
}),
|
||||
"useTurbo": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include turbo in video inference settings.",
|
||||
"default": False,
|
||||
}),
|
||||
"turbo": ("BOOLEAN", {
|
||||
"tooltip": "Turbo mode: faster generation for slightly lower quality.",
|
||||
"default": False,
|
||||
"label_on": "Enabled",
|
||||
"label_off": "Disabled",
|
||||
}),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -255,6 +275,10 @@ class RunwareVideoSettings:
|
||||
audio = kwargs.get("audio", False)
|
||||
use_preserve_audio = kwargs.get("usePreserveAudio", False)
|
||||
preserve_audio = kwargs.get("preserveAudio", True)
|
||||
use_source_audio_sync = kwargs.get("useSourceAudioSync", False)
|
||||
source_audio_sync = kwargs.get("sourceAudioSync", True)
|
||||
use_turbo = kwargs.get("useTurbo", False)
|
||||
turbo = kwargs.get("turbo", False)
|
||||
use_voice_prompt = kwargs.get("useVoicePrompt", False)
|
||||
voice_prompt = (kwargs.get("voicePrompt") or "").strip()
|
||||
use_safety_filter = kwargs.get("useSafetyFilter", False)
|
||||
@@ -307,6 +331,10 @@ class RunwareVideoSettings:
|
||||
settings["audio"] = bool(audio)
|
||||
if use_preserve_audio:
|
||||
settings["preserveAudio"] = bool(preserve_audio)
|
||||
if use_source_audio_sync:
|
||||
settings["sourceAudioSync"] = bool(source_audio_sync)
|
||||
if use_turbo:
|
||||
settings["turbo"] = bool(turbo)
|
||||
if use_voice_prompt and voice_prompt:
|
||||
settings["voicePrompt"] = voice_prompt
|
||||
if use_safety_filter:
|
||||
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user