add optimizePromptMode Bytedance
This commit is contained in:
+276
-277
@@ -1,277 +1,276 @@
|
||||
"""
|
||||
Runware Bria Image Provider Settings Node
|
||||
Provides Bria-specific settings for image generation
|
||||
"""
|
||||
|
||||
import torch
|
||||
from typing import Optional, Dict, Any
|
||||
|
||||
class RunwareBriaProviderSettings:
|
||||
"""Runware Bria Image Provider Settings Node"""
|
||||
|
||||
@classmethod
|
||||
def INPUT_TYPES(cls):
|
||||
return {
|
||||
"required": {},
|
||||
"optional": {
|
||||
"useMedium": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include medium parameter in API request. Disable if not needed.",
|
||||
"default": False,
|
||||
}),
|
||||
"medium": (["None", "photography", "art"], {
|
||||
"tooltip": "Select the medium type for image generation. Only used when 'Use Medium' is enabled.",
|
||||
"default": "photography",
|
||||
}),
|
||||
"usePromptEnhancement": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include promptEnhancement parameter in API request.",
|
||||
"default": False,
|
||||
}),
|
||||
"promptEnhancement": ("BOOLEAN", {
|
||||
"tooltip": "When set to true, enhances the provided prompt by generating additional, more descriptive variations, resulting in more diverse and creative output images. Note that turning this flag on may result in a few additional seconds to the inference time. Only used when 'Use Prompt Enhancement' is enabled.",
|
||||
"default": False,
|
||||
"label_on": "Enabled",
|
||||
"label_off": "Disabled",
|
||||
}),
|
||||
"useEnhanceImage": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include enhanceImage parameter in API request.",
|
||||
"default": False,
|
||||
}),
|
||||
"enhanceImage": ("BOOLEAN", {
|
||||
"tooltip": "When set to true, generates images with richer details, sharper textures, and enhanced clarity. Slightly increases generation time per image. Only used when 'Use Enhance Image' is enabled.",
|
||||
"default": False,
|
||||
"label_on": "Enabled",
|
||||
"label_off": "Disabled",
|
||||
}),
|
||||
"usePromptContentModeration": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include promptContentModeration parameter in API request.",
|
||||
"default": False,
|
||||
}),
|
||||
"promptContentModeration": ("BOOLEAN", {
|
||||
"tooltip": "When enabled (default: true), the input prompt is scanned for NSFW or ethically restricted terms before image generation. If the prompt violates Bria's ethical guidelines, the request will be rejected with a 408 error. Only used when 'Use Prompt Content Moderation' is enabled.",
|
||||
"default": True,
|
||||
"label_on": "Enabled",
|
||||
"label_off": "Disabled",
|
||||
}),
|
||||
"useContentModeration": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include contentModeration parameter in API request.",
|
||||
"default": False,
|
||||
}),
|
||||
"contentModeration": ("BOOLEAN", {
|
||||
"tooltip": "When enabled, applies content moderation to both input visuals and generated outputs. Only used when 'Use Content Moderation' is enabled.",
|
||||
"default": True,
|
||||
"label_on": "Enabled",
|
||||
"label_off": "Disabled",
|
||||
}),
|
||||
"useIpSignal": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include ipSignal parameter in API request.",
|
||||
"default": False,
|
||||
}),
|
||||
"ipSignal": ("BOOLEAN", {
|
||||
"tooltip": "Flags prompts with potential IP content. If detected, a warning will be included in the response. Only used when 'Use IP Signal' is enabled.",
|
||||
"default": False,
|
||||
"label_on": "Enabled",
|
||||
"label_off": "Disabled",
|
||||
}),
|
||||
"usePreserveAlpha": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include preserveAlpha parameter in API request.",
|
||||
"default": False,
|
||||
}),
|
||||
"preserveAlpha": ("BOOLEAN", {
|
||||
"tooltip": "Preserve alpha channel in the image. Only used when 'Use Preserve Alpha' is enabled.",
|
||||
"default": False,
|
||||
"label_on": "Enabled",
|
||||
"label_off": "Disabled",
|
||||
}),
|
||||
"useMode": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include mode parameter in API request for Background Replace.",
|
||||
"default": False,
|
||||
}),
|
||||
"mode": (["None", "base", "high_control", "fast"], {
|
||||
"tooltip": "Selects the background-generation mode for Background Replace. Base: clean, high quality backgrounds. High_control: stronger prompt adherence and scene context, finer control over layout and details. Fast: same core capabilities as base, optimal speed and quality balance. Only used when 'Use Mode' is enabled.",
|
||||
"default": "base",
|
||||
}),
|
||||
"useEnhanceReferenceImages": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include enhanceReferenceImages parameter in API request.",
|
||||
"default": False,
|
||||
}),
|
||||
"enhanceReferenceImages": ("BOOLEAN", {
|
||||
"tooltip": "When set to true, additional logic processes the included reference image to make adjustments for optimal results. Only used when 'Use Enhance Reference Images' is enabled.",
|
||||
"default": True,
|
||||
"label_on": "Enabled",
|
||||
"label_off": "Disabled",
|
||||
}),
|
||||
"useRefinePrompt": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include refinePrompt parameter in API request.",
|
||||
"default": False,
|
||||
}),
|
||||
"refinePrompt": ("BOOLEAN", {
|
||||
"tooltip": "When true, an additional logic takes the prompt that was included and adjusts it to achieve optimal results. Only used when 'Use Refine Prompt' is enabled.",
|
||||
"default": True,
|
||||
"label_on": "Enabled",
|
||||
"label_off": "Disabled",
|
||||
}),
|
||||
"useOriginalQuality": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include originalQuality parameter in API request.",
|
||||
"default": False,
|
||||
}),
|
||||
"originalQuality": ("BOOLEAN", {
|
||||
"tooltip": "When true, the output image retains the original input image's size; otherwise, the image is scaled to 1 megapixel (1MP) while preserving its aspect ratio. Only used when 'Use Original Quality' is enabled.",
|
||||
"default": True,
|
||||
"label_on": "Enabled",
|
||||
"label_off": "Disabled",
|
||||
}),
|
||||
"useForceBackgroundDetection": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include forceBackgroundDetection parameter in API request.",
|
||||
"default": False,
|
||||
}),
|
||||
"forceBackgroundDetection": ("BOOLEAN", {
|
||||
"tooltip": "When true, forces background detection and removal, even if the original image already contains an alpha channel. Useful for refining existing foreground/background separation or ignoring unnecessary alpha channels. Only used when 'Use Force Background Detection' is enabled.",
|
||||
"default": False,
|
||||
"label_on": "Enabled",
|
||||
"label_off": "Disabled",
|
||||
}),
|
||||
"usePreserveAudio": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include preserveAudio parameter in API request.",
|
||||
"default": False,
|
||||
}),
|
||||
"preserveAudio": ("BOOLEAN", {
|
||||
"tooltip": "Whether to keep the original audio track. Only used when 'Use Preserve Audio' is enabled.",
|
||||
"default": True,
|
||||
"label_on": "Enabled",
|
||||
"label_off": "Disabled",
|
||||
}),
|
||||
"useAutoTrim": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include autoTrim parameter in API request.",
|
||||
"default": False,
|
||||
}),
|
||||
"autoTrim": ("BOOLEAN", {
|
||||
"tooltip": "If true, videos longer than 5 seconds are trimmed to the first 5 seconds. If false, videos longer than 5 seconds are rejected. Only used when 'Use Auto Trim' is enabled.",
|
||||
"default": False,
|
||||
"label_on": "Enabled",
|
||||
"label_off": "Disabled",
|
||||
}),
|
||||
"Bria Provider Setting Mask": ("RUNWAREBRIAPROVIDERMASK", {
|
||||
"tooltip": "Connect Runware Bria Provider Mask node to provide mask configuration for video eraser operations.",
|
||||
}),
|
||||
}
|
||||
}
|
||||
|
||||
RETURN_TYPES = ("RUNWAREPROVIDERSETTINGS",)
|
||||
RETURN_NAMES = ("providerSettings",)
|
||||
FUNCTION = "create_provider_settings"
|
||||
CATEGORY = "Runware/Provider Settings"
|
||||
DESCRIPTION = "Configure Bria-specific provider settings for image generation and background replacement including medium type, prompt enhancement, image enhancement, content moderation options, and background replace mode settings."
|
||||
|
||||
def create_provider_settings(self, **kwargs) -> tuple[Dict[str, Any]]:
|
||||
"""Create Bria provider settings"""
|
||||
|
||||
# Get use parameters
|
||||
useMedium = kwargs.get("useMedium", False)
|
||||
usePromptEnhancement = kwargs.get("usePromptEnhancement", False)
|
||||
useEnhanceImage = kwargs.get("useEnhanceImage", False)
|
||||
usePromptContentModeration = kwargs.get("usePromptContentModeration", False)
|
||||
useContentModeration = kwargs.get("useContentModeration", False)
|
||||
useIpSignal = kwargs.get("useIpSignal", False)
|
||||
usePreserveAlpha = kwargs.get("usePreserveAlpha", False)
|
||||
useMode = kwargs.get("useMode", False)
|
||||
useEnhanceReferenceImages = kwargs.get("useEnhanceReferenceImages", False)
|
||||
useRefinePrompt = kwargs.get("useRefinePrompt", False)
|
||||
useOriginalQuality = kwargs.get("useOriginalQuality", False)
|
||||
useForceBackgroundDetection = kwargs.get("useForceBackgroundDetection", False)
|
||||
usePreserveAudio = kwargs.get("usePreserveAudio", False)
|
||||
useAutoTrim = kwargs.get("useAutoTrim", False)
|
||||
|
||||
# Get actual parameters
|
||||
medium = kwargs.get("medium", "photography")
|
||||
promptEnhancement = kwargs.get("promptEnhancement", False)
|
||||
enhanceImage = kwargs.get("enhanceImage", False)
|
||||
promptContentModeration = kwargs.get("promptContentModeration", True)
|
||||
contentModeration = kwargs.get("contentModeration", True)
|
||||
ipSignal = kwargs.get("ipSignal", False)
|
||||
preserveAlpha = kwargs.get("preserveAlpha", False)
|
||||
mode = kwargs.get("mode", "base")
|
||||
enhanceReferenceImages = kwargs.get("enhanceReferenceImages", True)
|
||||
refinePrompt = kwargs.get("refinePrompt", True)
|
||||
originalQuality = kwargs.get("originalQuality", True)
|
||||
forceBackgroundDetection = kwargs.get("forceBackgroundDetection", False)
|
||||
preserveAudio = kwargs.get("preserveAudio", True)
|
||||
autoTrim = kwargs.get("autoTrim", False)
|
||||
mask = kwargs.get("Bria Provider Setting Mask", None)
|
||||
|
||||
# Build settings dictionary
|
||||
settings = {}
|
||||
|
||||
# Add medium only if useMedium is enabled
|
||||
if useMedium and medium is not None and medium != "None":
|
||||
settings["medium"] = medium
|
||||
|
||||
# Add promptEnhancement only if usePromptEnhancement is enabled
|
||||
if usePromptEnhancement:
|
||||
settings["promptEnhancement"] = promptEnhancement
|
||||
|
||||
# Add enhanceImage only if useEnhanceImage is enabled
|
||||
if useEnhanceImage:
|
||||
settings["enhanceImage"] = enhanceImage
|
||||
|
||||
# Add promptContentModeration only if usePromptContentModeration is enabled
|
||||
if usePromptContentModeration:
|
||||
settings["promptContentModeration"] = promptContentModeration
|
||||
|
||||
# Add contentModeration only if useContentModeration is enabled
|
||||
if useContentModeration:
|
||||
settings["contentModeration"] = contentModeration
|
||||
|
||||
# Add ipSignal only if useIpSignal is enabled
|
||||
if useIpSignal:
|
||||
settings["ipSignal"] = ipSignal
|
||||
|
||||
# Add preserveAlpha only if usePreserveAlpha is enabled
|
||||
if usePreserveAlpha:
|
||||
settings["preserveAlpha"] = preserveAlpha
|
||||
|
||||
# Add mode only if useMode is enabled (for Background Replace)
|
||||
if useMode and mode is not None and mode != "None":
|
||||
settings["mode"] = mode
|
||||
|
||||
# Add enhanceReferenceImages only if useEnhanceReferenceImages is enabled
|
||||
if useEnhanceReferenceImages:
|
||||
settings["enhanceReferenceImages"] = enhanceReferenceImages
|
||||
|
||||
# Add refinePrompt only if useRefinePrompt is enabled
|
||||
if useRefinePrompt:
|
||||
settings["refinePrompt"] = refinePrompt
|
||||
|
||||
# Add originalQuality only if useOriginalQuality is enabled
|
||||
if useOriginalQuality:
|
||||
settings["originalQuality"] = originalQuality
|
||||
|
||||
# Add forceBackgroundDetection only if useForceBackgroundDetection is enabled
|
||||
if useForceBackgroundDetection:
|
||||
settings["forceBackgroundDetection"] = forceBackgroundDetection
|
||||
|
||||
# Add preserveAudio only if usePreserveAudio is enabled
|
||||
if usePreserveAudio:
|
||||
settings["preserveAudio"] = preserveAudio
|
||||
|
||||
# Add autoTrim only if useAutoTrim is enabled
|
||||
if useAutoTrim:
|
||||
settings["autoTrim"] = autoTrim
|
||||
|
||||
# Add mask if provided from Mask node
|
||||
if mask is not None and isinstance(mask, dict) and len(mask) > 0:
|
||||
settings["mask"] = mask
|
||||
|
||||
# Clean up None values
|
||||
settings = {k: v for k, v in settings.items() if v is not None}
|
||||
|
||||
return (settings,)
|
||||
|
||||
# Node class mappings
|
||||
NODE_CLASS_MAPPINGS = {
|
||||
"RunwareBriaProviderSettings": RunwareBriaProviderSettings,
|
||||
}
|
||||
|
||||
NODE_DISPLAY_NAME_MAPPINGS = {
|
||||
"RunwareBriaProviderSettings": "Runware Bria Provider Settings",
|
||||
}
|
||||
|
||||
"""
|
||||
Runware Bria Provider Settings Node
|
||||
Provides Bria-specific settings for image/video generation
|
||||
"""
|
||||
|
||||
import torch
|
||||
from typing import Optional, Dict, Any
|
||||
|
||||
class RunwareBriaProviderSettings:
|
||||
"""Runware Bria Provider Settings Node"""
|
||||
|
||||
@classmethod
|
||||
def INPUT_TYPES(cls):
|
||||
return {
|
||||
"required": {},
|
||||
"optional": {
|
||||
"useMedium": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include medium parameter in API request. Disable if not needed.",
|
||||
"default": False,
|
||||
}),
|
||||
"medium": (["None", "photography", "art"], {
|
||||
"tooltip": "Select the medium type for image generation. Only used when 'Use Medium' is enabled.",
|
||||
"default": "photography",
|
||||
}),
|
||||
"usePromptEnhancement": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include promptEnhancement parameter in API request.",
|
||||
"default": False,
|
||||
}),
|
||||
"promptEnhancement": ("BOOLEAN", {
|
||||
"tooltip": "When set to true, enhances the provided prompt by generating additional, more descriptive variations, resulting in more diverse and creative output images. Note that turning this flag on may result in a few additional seconds to the inference time. Only used when 'Use Prompt Enhancement' is enabled.",
|
||||
"default": False,
|
||||
"label_on": "Enabled",
|
||||
"label_off": "Disabled",
|
||||
}),
|
||||
"useEnhanceImage": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include enhanceImage parameter in API request.",
|
||||
"default": False,
|
||||
}),
|
||||
"enhanceImage": ("BOOLEAN", {
|
||||
"tooltip": "When set to true, generates images with richer details, sharper textures, and enhanced clarity. Slightly increases generation time per image. Only used when 'Use Enhance Image' is enabled.",
|
||||
"default": False,
|
||||
"label_on": "Enabled",
|
||||
"label_off": "Disabled",
|
||||
}),
|
||||
"usePromptContentModeration": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include promptContentModeration parameter in API request.",
|
||||
"default": False,
|
||||
}),
|
||||
"promptContentModeration": ("BOOLEAN", {
|
||||
"tooltip": "When enabled (default: true), the input prompt is scanned for NSFW or ethically restricted terms before image generation. If the prompt violates Bria's ethical guidelines, the request will be rejected with a 408 error. Only used when 'Use Prompt Content Moderation' is enabled.",
|
||||
"default": True,
|
||||
"label_on": "Enabled",
|
||||
"label_off": "Disabled",
|
||||
}),
|
||||
"useContentModeration": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include contentModeration parameter in API request.",
|
||||
"default": False,
|
||||
}),
|
||||
"contentModeration": ("BOOLEAN", {
|
||||
"tooltip": "When enabled, applies content moderation to both input visuals and generated outputs. Only used when 'Use Content Moderation' is enabled.",
|
||||
"default": True,
|
||||
"label_on": "Enabled",
|
||||
"label_off": "Disabled",
|
||||
}),
|
||||
"useIpSignal": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include ipSignal parameter in API request.",
|
||||
"default": False,
|
||||
}),
|
||||
"ipSignal": ("BOOLEAN", {
|
||||
"tooltip": "Flags prompts with potential IP content. If detected, a warning will be included in the response. Only used when 'Use IP Signal' is enabled.",
|
||||
"default": False,
|
||||
"label_on": "Enabled",
|
||||
"label_off": "Disabled",
|
||||
}),
|
||||
"usePreserveAlpha": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include preserveAlpha parameter in API request.",
|
||||
"default": False,
|
||||
}),
|
||||
"preserveAlpha": ("BOOLEAN", {
|
||||
"tooltip": "Preserve alpha channel in the image. Only used when 'Use Preserve Alpha' is enabled.",
|
||||
"default": False,
|
||||
"label_on": "Enabled",
|
||||
"label_off": "Disabled",
|
||||
}),
|
||||
"useMode": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include mode parameter in API request for Background Replace.",
|
||||
"default": False,
|
||||
}),
|
||||
"mode": (["None", "base", "high_control", "fast"], {
|
||||
"tooltip": "Selects the background-generation mode for Background Replace. Base: clean, high quality backgrounds. High_control: stronger prompt adherence and scene context, finer control over layout and details. Fast: same core capabilities as base, optimal speed and quality balance. Only used when 'Use Mode' is enabled.",
|
||||
"default": "base",
|
||||
}),
|
||||
"useEnhanceReferenceImages": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include enhanceReferenceImages parameter in API request.",
|
||||
"default": False,
|
||||
}),
|
||||
"enhanceReferenceImages": ("BOOLEAN", {
|
||||
"tooltip": "When set to true, additional logic processes the included reference image to make adjustments for optimal results. Only used when 'Use Enhance Reference Images' is enabled.",
|
||||
"default": True,
|
||||
"label_on": "Enabled",
|
||||
"label_off": "Disabled",
|
||||
}),
|
||||
"useRefinePrompt": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include refinePrompt parameter in API request.",
|
||||
"default": False,
|
||||
}),
|
||||
"refinePrompt": ("BOOLEAN", {
|
||||
"tooltip": "When true, an additional logic takes the prompt that was included and adjusts it to achieve optimal results. Only used when 'Use Refine Prompt' is enabled.",
|
||||
"default": True,
|
||||
"label_on": "Enabled",
|
||||
"label_off": "Disabled",
|
||||
}),
|
||||
"useOriginalQuality": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include originalQuality parameter in API request.",
|
||||
"default": False,
|
||||
}),
|
||||
"originalQuality": ("BOOLEAN", {
|
||||
"tooltip": "When true, the output image retains the original input image's size; otherwise, the image is scaled to 1 megapixel (1MP) while preserving its aspect ratio. Only used when 'Use Original Quality' is enabled.",
|
||||
"default": True,
|
||||
"label_on": "Enabled",
|
||||
"label_off": "Disabled",
|
||||
}),
|
||||
"useForceBackgroundDetection": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include forceBackgroundDetection parameter in API request.",
|
||||
"default": False,
|
||||
}),
|
||||
"forceBackgroundDetection": ("BOOLEAN", {
|
||||
"tooltip": "When true, forces background detection and removal, even if the original image already contains an alpha channel. Useful for refining existing foreground/background separation or ignoring unnecessary alpha channels. Only used when 'Use Force Background Detection' is enabled.",
|
||||
"default": False,
|
||||
"label_on": "Enabled",
|
||||
"label_off": "Disabled",
|
||||
}),
|
||||
"usePreserveAudio": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include preserveAudio parameter in API request.",
|
||||
"default": False,
|
||||
}),
|
||||
"preserveAudio": ("BOOLEAN", {
|
||||
"tooltip": "Whether to keep the original audio track. Only used when 'Use Preserve Audio' is enabled.",
|
||||
"default": True,
|
||||
"label_on": "Enabled",
|
||||
"label_off": "Disabled",
|
||||
}),
|
||||
"useAutoTrim": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include autoTrim parameter in API request.",
|
||||
"default": False,
|
||||
}),
|
||||
"autoTrim": ("BOOLEAN", {
|
||||
"tooltip": "If true, videos longer than 5 seconds are trimmed to the first 5 seconds. If false, videos longer than 5 seconds are rejected. Only used when 'Use Auto Trim' is enabled.",
|
||||
"default": False,
|
||||
"label_on": "Enabled",
|
||||
"label_off": "Disabled",
|
||||
}),
|
||||
"Bria Provider Setting Mask": ("RUNWAREBRIAPROVIDERMASK", {
|
||||
"tooltip": "Connect Runware Bria Provider Mask node to provide mask configuration for video eraser operations.",
|
||||
}),
|
||||
}
|
||||
}
|
||||
|
||||
RETURN_TYPES = ("RUNWAREPROVIDERSETTINGS",)
|
||||
RETURN_NAMES = ("providerSettings",)
|
||||
FUNCTION = "create_provider_settings"
|
||||
CATEGORY = "Runware/Provider Settings"
|
||||
DESCRIPTION = "Configure Bria-specific provider settings for image generation, background replacement, and video operations including medium type, prompt enhancement, content moderation, and background replace mode."
|
||||
|
||||
def create_provider_settings(self, **kwargs) -> tuple[Dict[str, Any]]:
|
||||
"""Create Bria provider settings"""
|
||||
|
||||
# Get use parameters
|
||||
useMedium = kwargs.get("useMedium", False)
|
||||
usePromptEnhancement = kwargs.get("usePromptEnhancement", False)
|
||||
useEnhanceImage = kwargs.get("useEnhanceImage", False)
|
||||
usePromptContentModeration = kwargs.get("usePromptContentModeration", False)
|
||||
useContentModeration = kwargs.get("useContentModeration", False)
|
||||
useIpSignal = kwargs.get("useIpSignal", False)
|
||||
usePreserveAlpha = kwargs.get("usePreserveAlpha", False)
|
||||
useMode = kwargs.get("useMode", False)
|
||||
useEnhanceReferenceImages = kwargs.get("useEnhanceReferenceImages", False)
|
||||
useRefinePrompt = kwargs.get("useRefinePrompt", False)
|
||||
useOriginalQuality = kwargs.get("useOriginalQuality", False)
|
||||
useForceBackgroundDetection = kwargs.get("useForceBackgroundDetection", False)
|
||||
usePreserveAudio = kwargs.get("usePreserveAudio", False)
|
||||
useAutoTrim = kwargs.get("useAutoTrim", False)
|
||||
|
||||
# Get actual parameters
|
||||
medium = kwargs.get("medium", "photography")
|
||||
promptEnhancement = kwargs.get("promptEnhancement", False)
|
||||
enhanceImage = kwargs.get("enhanceImage", False)
|
||||
promptContentModeration = kwargs.get("promptContentModeration", True)
|
||||
contentModeration = kwargs.get("contentModeration", True)
|
||||
ipSignal = kwargs.get("ipSignal", False)
|
||||
preserveAlpha = kwargs.get("preserveAlpha", False)
|
||||
mode = kwargs.get("mode", "base")
|
||||
enhanceReferenceImages = kwargs.get("enhanceReferenceImages", True)
|
||||
refinePrompt = kwargs.get("refinePrompt", True)
|
||||
originalQuality = kwargs.get("originalQuality", True)
|
||||
forceBackgroundDetection = kwargs.get("forceBackgroundDetection", False)
|
||||
preserveAudio = kwargs.get("preserveAudio", True)
|
||||
autoTrim = kwargs.get("autoTrim", False)
|
||||
mask = kwargs.get("Bria Provider Setting Mask", None)
|
||||
|
||||
# Build settings dictionary
|
||||
settings = {}
|
||||
|
||||
# Add medium only if useMedium is enabled
|
||||
if useMedium and medium is not None and medium != "None":
|
||||
settings["medium"] = medium
|
||||
|
||||
# Add promptEnhancement only if usePromptEnhancement is enabled
|
||||
if usePromptEnhancement:
|
||||
settings["promptEnhancement"] = promptEnhancement
|
||||
|
||||
# Add enhanceImage only if useEnhanceImage is enabled
|
||||
if useEnhanceImage:
|
||||
settings["enhanceImage"] = enhanceImage
|
||||
|
||||
# Add promptContentModeration only if usePromptContentModeration is enabled
|
||||
if usePromptContentModeration:
|
||||
settings["promptContentModeration"] = promptContentModeration
|
||||
|
||||
# Add contentModeration only if useContentModeration is enabled
|
||||
if useContentModeration:
|
||||
settings["contentModeration"] = contentModeration
|
||||
|
||||
# Add ipSignal only if useIpSignal is enabled
|
||||
if useIpSignal:
|
||||
settings["ipSignal"] = ipSignal
|
||||
|
||||
# Add preserveAlpha only if usePreserveAlpha is enabled
|
||||
if usePreserveAlpha:
|
||||
settings["preserveAlpha"] = preserveAlpha
|
||||
|
||||
# Add mode only if useMode is enabled (for Background Replace)
|
||||
if useMode and mode is not None and mode != "None":
|
||||
settings["mode"] = mode
|
||||
|
||||
# Add enhanceReferenceImages only if useEnhanceReferenceImages is enabled
|
||||
if useEnhanceReferenceImages:
|
||||
settings["enhanceReferenceImages"] = enhanceReferenceImages
|
||||
|
||||
# Add refinePrompt only if useRefinePrompt is enabled
|
||||
if useRefinePrompt:
|
||||
settings["refinePrompt"] = refinePrompt
|
||||
|
||||
# Add originalQuality only if useOriginalQuality is enabled
|
||||
if useOriginalQuality:
|
||||
settings["originalQuality"] = originalQuality
|
||||
|
||||
# Add forceBackgroundDetection only if useForceBackgroundDetection is enabled
|
||||
if useForceBackgroundDetection:
|
||||
settings["forceBackgroundDetection"] = forceBackgroundDetection
|
||||
|
||||
# Add preserveAudio only if usePreserveAudio is enabled
|
||||
if usePreserveAudio:
|
||||
settings["preserveAudio"] = preserveAudio
|
||||
|
||||
# Add autoTrim only if useAutoTrim is enabled
|
||||
if useAutoTrim:
|
||||
settings["autoTrim"] = autoTrim
|
||||
|
||||
# Add mask if provided from Mask node
|
||||
if mask is not None and isinstance(mask, dict) and len(mask) > 0:
|
||||
settings["mask"] = mask
|
||||
|
||||
# Clean up None values
|
||||
settings = {k: v for k, v in settings.items() if v is not None}
|
||||
|
||||
return (settings,)
|
||||
|
||||
# Node class mappings
|
||||
NODE_CLASS_MAPPINGS = {
|
||||
"RunwareBriaProviderSettings": RunwareBriaProviderSettings,
|
||||
}
|
||||
|
||||
NODE_DISPLAY_NAME_MAPPINGS = {
|
||||
"RunwareBriaProviderSettings": "Runware Bria Provider Settings",
|
||||
}
|
||||
+132
-118
@@ -1,118 +1,132 @@
|
||||
"""
|
||||
Runware Bytedance Image Provider Settings Node
|
||||
Provides Bytedance-specific settings for image generation
|
||||
"""
|
||||
|
||||
from typing import Optional, Dict, Any
|
||||
|
||||
class RunwareBytedanceProviderSettings:
|
||||
"""Runware Bytedance Image Provider Settings Node"""
|
||||
|
||||
@classmethod
|
||||
def INPUT_TYPES(cls):
|
||||
return {
|
||||
"required": {},
|
||||
"optional": {
|
||||
"useCameraFixed": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include cameraFixed parameter in provider settings",
|
||||
"default": False,
|
||||
}),
|
||||
"cameraFixed": ("BOOLEAN", {
|
||||
"tooltip": "Enable to fix camera position during video generation",
|
||||
"default": False,
|
||||
}),
|
||||
"useMaxSequentialImages": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include maxSequentialImages parameter in provider settings",
|
||||
"default": False,
|
||||
}),
|
||||
"maxSequentialImages": ("INT", {
|
||||
"tooltip": "Maximum number of sequential images to generate (1-15)",
|
||||
"default": 1,
|
||||
"min": 1,
|
||||
"max": 15,
|
||||
}),
|
||||
"useFastMode": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include fastMode parameter in provider settings",
|
||||
"default": False,
|
||||
}),
|
||||
"fastMode": ("BOOLEAN", {
|
||||
"tooltip": "When enabled, speeds up generation by sacrificing some effects. Default: false. RTF: 25-28 (fast) vs 35 (normal). Supported by OmniHuman 1.5.",
|
||||
"default": False,
|
||||
}),
|
||||
"useAudio": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include audio parameter in provider settings.",
|
||||
"default": False,
|
||||
}),
|
||||
"audio": ("BOOLEAN", {
|
||||
"tooltip": "Enable audio generation support when available.",
|
||||
"default": False,
|
||||
}),
|
||||
"useDraft": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include draft parameter in provider settings",
|
||||
"default": False,
|
||||
}),
|
||||
"draft": ("BOOLEAN", {
|
||||
"tooltip": "Enable draft mode for Bytedance provider",
|
||||
"default": False,
|
||||
}),
|
||||
}
|
||||
}
|
||||
|
||||
RETURN_TYPES = ("RUNWAREPROVIDERSETTINGS",)
|
||||
RETURN_NAMES = ("providerSettings",)
|
||||
FUNCTION = "create_provider_settings"
|
||||
CATEGORY = "Runware/Provider Settings"
|
||||
|
||||
def create_provider_settings(self, **kwargs) -> tuple[Dict[str, Any]]:
|
||||
"""Create Bytedance provider settings"""
|
||||
|
||||
# Get control parameters
|
||||
useCameraFixed = kwargs.get("useCameraFixed", False)
|
||||
useMaxSequentialImages = kwargs.get("useMaxSequentialImages", False)
|
||||
useFastMode = kwargs.get("useFastMode", False)
|
||||
useAudio = kwargs.get("useAudio", False)
|
||||
useDraft = kwargs.get("useDraft", False)
|
||||
|
||||
# Get value parameters
|
||||
cameraFixed = kwargs.get("cameraFixed", False)
|
||||
maxSequentialImages = kwargs.get("maxSequentialImages", 1)
|
||||
fastMode = kwargs.get("fastMode", False)
|
||||
audio = kwargs.get("audio", False)
|
||||
draft = kwargs.get("draft", False)
|
||||
|
||||
# Build settings dictionary - only include what is enabled
|
||||
settings = {}
|
||||
|
||||
# Add cameraFixed only if useCameraFixed is enabled
|
||||
if useCameraFixed:
|
||||
settings["cameraFixed"] = cameraFixed
|
||||
|
||||
# Add maxSequentialImages only if useMaxSequentialImages is enabled
|
||||
if useMaxSequentialImages:
|
||||
settings["maxSequentialImages"] = maxSequentialImages
|
||||
|
||||
# Add fastMode only if useFastMode is enabled
|
||||
if useFastMode:
|
||||
settings["fastMode"] = fastMode
|
||||
|
||||
# Add audio only if useAudio is enabled
|
||||
if useAudio:
|
||||
settings["audio"] = audio
|
||||
|
||||
# Add draft only if useDraft is enabled
|
||||
if useDraft:
|
||||
settings["draft"] = draft
|
||||
|
||||
# Clean up None values
|
||||
settings = {k: v for k, v in settings.items() if v is not None}
|
||||
|
||||
return (settings,)
|
||||
|
||||
# Node class mappings
|
||||
NODE_CLASS_MAPPINGS = {
|
||||
"RunwareBytedanceProviderSettings": RunwareBytedanceProviderSettings,
|
||||
}
|
||||
|
||||
NODE_DISPLAY_NAME_MAPPINGS = {
|
||||
"RunwareBytedanceProviderSettings": "Runware Bytedance Provider Settings",
|
||||
}
|
||||
"""
|
||||
Runware Bytedance Provider Settings Node
|
||||
Provides Bytedance-specific settings for image/video generation
|
||||
"""
|
||||
|
||||
from typing import Optional, Dict, Any
|
||||
|
||||
class RunwareBytedanceProviderSettings:
|
||||
"""Runware Bytedance Provider Settings Node"""
|
||||
|
||||
@classmethod
|
||||
def INPUT_TYPES(cls):
|
||||
return {
|
||||
"required": {},
|
||||
"optional": {
|
||||
"useCameraFixed": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include cameraFixed parameter in provider settings",
|
||||
"default": False,
|
||||
}),
|
||||
"cameraFixed": ("BOOLEAN", {
|
||||
"tooltip": "Enable to fix camera position during video generation",
|
||||
"default": False,
|
||||
}),
|
||||
"useMaxSequentialImages": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include maxSequentialImages parameter in provider settings",
|
||||
"default": False,
|
||||
}),
|
||||
"maxSequentialImages": ("INT", {
|
||||
"tooltip": "Maximum number of sequential images to generate (1-15)",
|
||||
"default": 1,
|
||||
"min": 1,
|
||||
"max": 15,
|
||||
}),
|
||||
"useFastMode": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include fastMode parameter in provider settings",
|
||||
"default": False,
|
||||
}),
|
||||
"fastMode": ("BOOLEAN", {
|
||||
"tooltip": "When enabled, speeds up generation by sacrificing some effects. Default: false. RTF: 25-28 (fast) vs 35 (normal). Supported by OmniHuman 1.5.",
|
||||
"default": False,
|
||||
}),
|
||||
"useAudio": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include audio parameter in provider settings.",
|
||||
"default": False,
|
||||
}),
|
||||
"audio": ("BOOLEAN", {
|
||||
"tooltip": "Enable audio generation support when available.",
|
||||
"default": False,
|
||||
}),
|
||||
"useDraft": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include draft parameter in provider settings",
|
||||
"default": False,
|
||||
}),
|
||||
"draft": ("BOOLEAN", {
|
||||
"tooltip": "Enable draft mode for Bytedance provider",
|
||||
"default": False,
|
||||
}),
|
||||
"useOptimizePromptMode": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include optimizePromptMode parameter in provider settings",
|
||||
"default": False,
|
||||
}),
|
||||
"optimizePromptMode": (["standard", "fast"], {
|
||||
"tooltip": "Prompt optimization mode. standard: higher quality, longer time. fast: faster generation, average quality.",
|
||||
"default": "standard",
|
||||
}),
|
||||
}
|
||||
}
|
||||
|
||||
RETURN_TYPES = ("RUNWAREPROVIDERSETTINGS",)
|
||||
RETURN_NAMES = ("providerSettings",)
|
||||
FUNCTION = "create_provider_settings"
|
||||
CATEGORY = "Runware/Provider Settings"
|
||||
|
||||
def create_provider_settings(self, **kwargs) -> tuple[Dict[str, Any]]:
|
||||
"""Create Bytedance provider settings"""
|
||||
|
||||
# Get control parameters
|
||||
useCameraFixed = kwargs.get("useCameraFixed", False)
|
||||
useMaxSequentialImages = kwargs.get("useMaxSequentialImages", False)
|
||||
useFastMode = kwargs.get("useFastMode", False)
|
||||
useAudio = kwargs.get("useAudio", False)
|
||||
useDraft = kwargs.get("useDraft", False)
|
||||
useOptimizePromptMode = kwargs.get("useOptimizePromptMode", False)
|
||||
|
||||
# Get value parameters
|
||||
cameraFixed = kwargs.get("cameraFixed", False)
|
||||
maxSequentialImages = kwargs.get("maxSequentialImages", 1)
|
||||
fastMode = kwargs.get("fastMode", False)
|
||||
audio = kwargs.get("audio", False)
|
||||
draft = kwargs.get("draft", False)
|
||||
optimizePromptMode = kwargs.get("optimizePromptMode", "standard")
|
||||
|
||||
# Build settings dictionary - only include what is enabled
|
||||
settings = {}
|
||||
|
||||
# Add cameraFixed only if useCameraFixed is enabled
|
||||
if useCameraFixed:
|
||||
settings["cameraFixed"] = cameraFixed
|
||||
|
||||
# Add maxSequentialImages only if useMaxSequentialImages is enabled
|
||||
if useMaxSequentialImages:
|
||||
settings["maxSequentialImages"] = maxSequentialImages
|
||||
|
||||
# Add fastMode only if useFastMode is enabled
|
||||
if useFastMode:
|
||||
settings["fastMode"] = fastMode
|
||||
|
||||
# Add audio only if useAudio is enabled
|
||||
if useAudio:
|
||||
settings["audio"] = audio
|
||||
|
||||
# Add draft only if useDraft is enabled
|
||||
if useDraft:
|
||||
settings["draft"] = draft
|
||||
|
||||
# Add optimizePromptMode only if useOptimizePromptMode is enabled
|
||||
if useOptimizePromptMode:
|
||||
settings["optimizePromptMode"] = optimizePromptMode
|
||||
|
||||
# Clean up None values
|
||||
settings = {k: v for k, v in settings.items() if v is not None}
|
||||
|
||||
return (settings,)
|
||||
|
||||
# Node class mappings
|
||||
NODE_CLASS_MAPPINGS = {
|
||||
"RunwareBytedanceProviderSettings": RunwareBytedanceProviderSettings,
|
||||
}
|
||||
|
||||
NODE_DISPLAY_NAME_MAPPINGS = {
|
||||
"RunwareBytedanceProviderSettings": "Runware Bytedance Provider Settings",
|
||||
}
|
||||
Reference in New Issue
Block a user