Merge pull request #138 from Runware/feature-pixverseModify

Adding support forPixverse Modify
This commit is contained in:
Sirshendu Ganguly
2026-04-29 00:14:23 +05:30
committed by GitHub
4 changed files with 25 additions and 1 deletions
+6 -1
View File
@@ -1422,6 +1422,8 @@ function videoSettingsToggleHandler(settingsNode) {
const temperatureWidget = settingsNode.widgets.find(w => w && w.name === "temperature");
const useOcclusionDetectionWidget = settingsNode.widgets.find(w => w && w.name === "useOcclusionDetection");
const occlusionDetectionWidget = settingsNode.widgets.find(w => w && w.name === "occlusionDetection");
const useKeyframeIdWidget = settingsNode.widgets.find(w => w && w.name === "useKeyframeId");
const keyframeIdWidget = settingsNode.widgets.find(w => w && w.name === "keyframeId");
function toggleWidgetState(useWidget, paramWidget, paramName) {
if (!useWidget || !paramWidget) return;
@@ -1456,6 +1458,7 @@ function videoSettingsToggleHandler(settingsNode) {
if (useEmotionWidget && emotionWidget) toggleWidgetState(useEmotionWidget, emotionWidget, "emotion");
if (useTemperatureWidget && temperatureWidget) toggleWidgetState(useTemperatureWidget, temperatureWidget, "temperature");
if (useOcclusionDetectionWidget && occlusionDetectionWidget) toggleWidgetState(useOcclusionDetectionWidget, occlusionDetectionWidget, "occlusionDetection");
if (useKeyframeIdWidget && keyframeIdWidget) toggleWidgetState(useKeyframeIdWidget, keyframeIdWidget, "keyframeId");
}
function videoInferenceSettingsTtsToggleHandler(node) {
@@ -2782,7 +2785,7 @@ function videoModelSearchFilterHandler(videoModelSearchNode) {
],
"PixVerse": [
"pixverse:1@1 (PixVerse v3.5)", "pixverse:1@2 (PixVerse v4)",
"pixverse:1@3 (PixVerse v4.5)", "pixverse:1@5-fast (PixVerse v5 Fast)", "pixverse:1@6 (PixVerse v5.5)", "pixverse:1@7 (PixVerse v5.6)", "pixverse:1@8 (PixVerse v6)", "pixverse:lipsync@1 (PixVerse LipSync)",
"pixverse:1@3 (PixVerse v4.5)", "pixverse:1@5-fast (PixVerse v5 Fast)", "pixverse:1@6 (PixVerse v5.5)", "pixverse:1@7 (PixVerse v5.6)", "pixverse:1@8 (PixVerse v6)", "pixverse:lipsync@1 (PixVerse LipSync)", "pixverse:modify@0 (PixVerse Modify)",
],
"Vidu": [
"vidu:1@0 (Vidu Q1 Classic)", "vidu:1@1 (Vidu Q1)",
@@ -2907,6 +2910,7 @@ function videoModelSearchFilterHandler(videoModelSearchNode) {
"pixverse:1@7": {"width": 640, "height": 360},
"pixverse:1@8": {"width": 640, "height": 360},
"pixverse:lipsync@1": {"width": 640, "height": 360},
"pixverse:modify@0": {"width": 640, "height": 360},
"vidu:1@0": {"width": 1920, "height": 1080},
"vidu:1@1": {"width": 1920, "height": 1080},
"vidu:1@5": {"width": 1920, "height": 1080},
@@ -3003,6 +3007,7 @@ function videoModelSearchFilterHandler(videoModelSearchNode) {
"pixverse:1@7": "360p",
"pixverse:1@8": "360p",
"pixverse:lipsync@1": "360p",
"pixverse:modify@0": "360p",
"vidu:1@0": "1080p",
"vidu:1@1": "1080p",
"vidu:1@5": "1080p",
+3
View File
@@ -61,6 +61,7 @@ class videoModelSearch:
"pixverse:1@7 (PixVerse v5.6)",
"pixverse:1@8 (PixVerse v6)",
"pixverse:lipsync@1 (PixVerse LipSync)",
"pixverse:modify@0 (PixVerse Modify)",
],
"Vidu": [
"vidu:1@0 (Vidu Q1 Classic)",
@@ -202,6 +203,7 @@ class videoModelSearch:
"pixverse:1@7": {"width": 640, "height": 360},
"pixverse:1@8": {"width": 640, "height": 360},
"pixverse:lipsync@1": {"width": 640, "height": 360},
"pixverse:modify@0": {"width": 640, "height": 360},
# Vidu Models
"vidu:1@0": {"width": 1920, "height": 1080},
@@ -342,6 +344,7 @@ class videoModelSearch:
"pixverse:1@7": "360p",
"pixverse:1@8": "360p",
"pixverse:lipsync@1": "360p",
"pixverse:modify@0": "360p",
# Vidu Models
"vidu:1@0": "1080p",
+15
View File
@@ -174,6 +174,17 @@ class RunwareVideoSettings:
"label_on": "true",
"label_off": "false",
}),
"useKeyframeId": ("BOOLEAN", {
"tooltip": "Enable to include settings.keyframe.keyframe_id in video inference settings.",
"default": False,
}),
"keyframeId": ("INT", {
"tooltip": "Keyframe ID for settings.keyframe.keyframe_id. Only used when 'Use Keyframe ID' is enabled.",
"default": 0,
"min": 0,
"max": 2147483647,
"step": 1,
}),
"segments": ("RUNWAREVIDEOINFERENCESETTINGSSEGMENTS", {
"tooltip": "Connect Runware Video Inference Settings Segments for settings.segments[] (startTime, endTime, audio, audioStartTime, audioEndTime).",
}),
@@ -227,6 +238,8 @@ class RunwareVideoSettings:
temperature = kwargs.get("temperature", 0.7)
use_occlusion_detection = kwargs.get("useOcclusionDetection", False)
occlusion_detection = kwargs.get("occlusionDetection", False)
use_keyframe_id = kwargs.get("useKeyframeId", False)
keyframe_id = kwargs.get("keyframeId", 0)
segments_cfg = kwargs.get("segments", None)
settings: Dict[str, Any] = {}
@@ -265,6 +278,8 @@ class RunwareVideoSettings:
settings["temperature"] = float(temperature)
if use_occlusion_detection:
settings["occlusionDetection"] = bool(occlusion_detection)
if use_keyframe_id:
settings["keyframe"] = int(keyframe_id)
if tts_cfg is not None and isinstance(tts_cfg, dict) and len(tts_cfg) > 0:
settings["tts"] = tts_cfg
File diff suppressed because one or more lines are too long