Added suuport for HeyGen Avatar V
This commit is contained in:
@@ -1431,6 +1431,10 @@ function videoSettingsToggleHandler(settingsNode) {
|
||||
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");
|
||||
const useFitWidget = settingsNode.widgets.find(w => w && w.name === "useFit");
|
||||
const fitWidget = settingsNode.widgets.find(w => w && w.name === "fit");
|
||||
const useCaptionWidget = settingsNode.widgets.find(w => w && w.name === "useCaption");
|
||||
const captionWidget = settingsNode.widgets.find(w => w && w.name === "caption");
|
||||
|
||||
function toggleWidgetState(useWidget, paramWidget, paramName) {
|
||||
if (!useWidget || !paramWidget) return;
|
||||
@@ -1468,6 +1472,8 @@ function videoSettingsToggleHandler(settingsNode) {
|
||||
if (useTemperatureWidget && temperatureWidget) toggleWidgetState(useTemperatureWidget, temperatureWidget, "temperature");
|
||||
if (useOcclusionDetectionWidget && occlusionDetectionWidget) toggleWidgetState(useOcclusionDetectionWidget, occlusionDetectionWidget, "occlusionDetection");
|
||||
if (useKeyframeIdWidget && keyframeIdWidget) toggleWidgetState(useKeyframeIdWidget, keyframeIdWidget, "keyframeId");
|
||||
if (useFitWidget && fitWidget) toggleWidgetState(useFitWidget, fitWidget, "fit");
|
||||
if (useCaptionWidget && captionWidget) toggleWidgetState(useCaptionWidget, captionWidget, "caption");
|
||||
}
|
||||
|
||||
function videoInferenceSettingsTtsToggleHandler(node) {
|
||||
@@ -2848,6 +2854,7 @@ function videoModelSearchFilterHandler(videoModelSearchNode) {
|
||||
"HeyGen": [
|
||||
"heygen:avatar@4 (HeyGen Avatar IV)",
|
||||
"heygen:video-agent@0 (HeyGen Video Agent)",
|
||||
"heygen:avatar@5 (HeyGen Avatar V)",
|
||||
],
|
||||
"Hunyuan": [
|
||||
"runware:hunyuanvideo@1.5 (HunyuanVideo-1.5)",
|
||||
@@ -2965,6 +2972,7 @@ function videoModelSearchFilterHandler(videoModelSearchNode) {
|
||||
"prunaai:p-video@avatar": {"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},
|
||||
"skywork:skyreels@v4": {"width": 1280, "height": 720},
|
||||
};
|
||||
|
||||
@@ -3063,6 +3071,7 @@ function videoModelSearchFilterHandler(videoModelSearchNode) {
|
||||
"prunaai:p-video@avatar": "720p",
|
||||
"heygen:avatar@4": "720p",
|
||||
"heygen:video-agent@0": "720p",
|
||||
"heygen:avatar@5": "720p",
|
||||
"skywork:skyreels@v4": "720p",
|
||||
};
|
||||
|
||||
|
||||
@@ -122,6 +122,7 @@ class videoModelSearch:
|
||||
"HeyGen": [
|
||||
"heygen:avatar@4 (HeyGen Avatar IV)",
|
||||
"heygen:video-agent@0 (HeyGen Video Agent)",
|
||||
"heygen:avatar@5 (HeyGen Avatar V)",
|
||||
],
|
||||
"Hunyuan": [
|
||||
"runware:hunyuanvideo@1.5 (HunyuanVideo-1.5)",
|
||||
@@ -278,9 +279,10 @@ class videoModelSearch:
|
||||
"prunaai:p-video@0": {"width": 1280, "height": 720},
|
||||
"prunaai:p-video@avatar": {"width": 1280, "height": 720},
|
||||
|
||||
# HeyGen Models (Model ID: heygen-avatar-iv)
|
||||
# HeyGen Models (Model ID: heygen-avatar-iv, heygen-avatar-v)
|
||||
"heygen:avatar@4": {"width": 1280, "height": 720},
|
||||
"heygen:video-agent@0": {"width": 1280, "height": 720},
|
||||
"heygen:avatar@5": {"width": 1280, "height": 720},
|
||||
|
||||
# SkyReels Models
|
||||
"skywork:skyreels@v4": {"width": 1280, "height": 720},
|
||||
@@ -423,6 +425,7 @@ class videoModelSearch:
|
||||
# HeyGen Models
|
||||
"heygen:avatar@4": "720p",
|
||||
"heygen:video-agent@0": "720p",
|
||||
"heygen:avatar@5": "720p",
|
||||
|
||||
# SkyReels Models
|
||||
"skywork:skyreels@v4": "720p",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
"""
|
||||
Runware Video Inference Settings Node
|
||||
Provides settings (draft, audio, voicePrompt, safetyFilter, promptUpsampling, voiceDescription, style, thinking, multiClip, shotType, promptExtend, syncMode, mode, emotion, temperature, occlusionDetection, tts, activeSpeakerDetection, segments, etc.) for Runware Video Inference.
|
||||
Provides settings (draft, audio, voicePrompt, safetyFilter, promptUpsampling, voiceDescription, style, thinking, multiClip, shotType, promptExtend, syncMode, mode, emotion, temperature, occlusionDetection, fit, caption, tts, activeSpeakerDetection, segments, etc.) for Runware Video Inference.
|
||||
"""
|
||||
|
||||
from typing import Dict, Any
|
||||
@@ -207,6 +207,24 @@ class RunwareVideoSettings:
|
||||
"label_on": "true",
|
||||
"label_off": "false",
|
||||
}),
|
||||
"useFit": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include fit (avatar scaling on output canvas) in video inference settings.",
|
||||
"default": False,
|
||||
}),
|
||||
"fit": (["auto", "cover", "contain"], {
|
||||
"tooltip": "How the avatar is scaled to the output canvas. cover: scale to fill (may crop edges). contain: scale to fit entirely (may show background). auto: server picks based on source and canvas orientations. Only used when 'Use Fit' is enabled.",
|
||||
"default": "auto",
|
||||
}),
|
||||
"useCaption": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include caption in video inference settings.",
|
||||
"default": False,
|
||||
}),
|
||||
"caption": ("BOOLEAN", {
|
||||
"tooltip": "Caption flag. Only used when 'Use Caption' is enabled.",
|
||||
"default": False,
|
||||
"label_on": "true",
|
||||
"label_off": "false",
|
||||
}),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -215,7 +233,7 @@ class RunwareVideoSettings:
|
||||
FUNCTION = "createSettings"
|
||||
CATEGORY = "Runware"
|
||||
DESCRIPTION = (
|
||||
"Configure video inference settings (draft, audio, voicePrompt, safetyFilter, promptUpsampling, voiceDescription, style, thinking, multiClip, shotType, promptExtend, syncMode, mode, emotion, temperature, occlusionDetection, tts, activeSpeakerDetection, segments, etc.) for Runware Video Inference. "
|
||||
"Configure video inference settings (draft, audio, voicePrompt, safetyFilter, promptUpsampling, voiceDescription, style, thinking, multiClip, shotType, promptExtend, syncMode, mode, emotion, temperature, occlusionDetection, fit, caption, tts, activeSpeakerDetection, segments, etc.) for Runware Video Inference. "
|
||||
"Connect to Runware Video Inference node."
|
||||
)
|
||||
|
||||
@@ -229,6 +247,10 @@ class RunwareVideoSettings:
|
||||
voice_prompt = (kwargs.get("voicePrompt") or "").strip()
|
||||
use_safety_filter = kwargs.get("useSafetyFilter", False)
|
||||
safety_filter = kwargs.get("safetyFilter", False)
|
||||
use_fit = kwargs.get("useFit", False)
|
||||
fit = kwargs.get("fit", "auto")
|
||||
use_caption = kwargs.get("useCaption", False)
|
||||
caption = kwargs.get("caption", False)
|
||||
use_prompt_upsampling = kwargs.get("usePromptUpsampling", False)
|
||||
prompt_upsampling = kwargs.get("promptUpsampling", False)
|
||||
use_background_color = kwargs.get("useBackgroundColor", False)
|
||||
@@ -275,6 +297,10 @@ class RunwareVideoSettings:
|
||||
settings["voicePrompt"] = voice_prompt
|
||||
if use_safety_filter:
|
||||
settings["safetyFilter"] = bool(safety_filter)
|
||||
if use_fit:
|
||||
settings["fit"] = str(fit)
|
||||
if use_caption:
|
||||
settings["caption"] = bool(caption)
|
||||
if use_prompt_upsampling:
|
||||
settings["promptUpsampling"] = bool(prompt_upsampling)
|
||||
if use_background_color and background_color:
|
||||
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user