Add BlackForest Labs Provider Settings feature

This commit is contained in:
Sirshendu Ganguly
2025-12-16 11:12:18 -05:00
parent d65e37d40a
commit c93f28b4aa
2 changed files with 68 additions and 0 deletions
+2
View File
@@ -55,6 +55,7 @@ from .modules.providerSettings.runwayProviderSettings import RunwareRunwayProvid
from .modules.providerSettings.lumaProviderSettings import RunwareLumaProviderSettings
from .modules.providerSettings.midjourneyProviderSettings import RunwareMidjourneyProviderSettings
from .modules.providerSettings.alibabaProviderSettings import RunwareAlibabaProviderSettings
from .modules.providerSettings.blackForestProviderSettings import RunwareBlackForestProviderSettings
from .modules.providerSettings.syncSegment import RunwareSyncSegment
from .modules.providerSettings.syncProviderSettings import RunwareSyncProviderSettings
from .modules.vectorize import vectorize
@@ -133,6 +134,7 @@ NODE_CLASS_MAPPINGS = {
"Runware Runway Provider Settings": RunwareRunwayProviderSettings,
"Runware Midjourney Provider Settings": RunwareMidjourneyProviderSettings,
"Runware Alibaba Provider Settings": RunwareAlibabaProviderSettings,
"Runware BlackForest Labs Provider Settings": RunwareBlackForestProviderSettings,
"Runware Sync Segment": RunwareSyncSegment,
"Runware Sync Provider Settings": RunwareSyncProviderSettings,
"Runware Vectorize": vectorize,
@@ -0,0 +1,66 @@
"""
Runware BlackForest Labs Provider Settings Node
Provides BlackForest Labs-specific settings for image generation
"""
from typing import Optional, Dict, Any
class RunwareBlackForestProviderSettings:
"""Runware BlackForest Labs Provider Settings Node"""
@classmethod
def INPUT_TYPES(cls):
return {
"required": {},
"optional": {
"useSafetyTolerance": ("BOOLEAN", {
"tooltip": "Enable to include safetyTolerance parameter in API request",
"default": False,
}),
"safetyTolerance": ("INT", {
"tooltip": "Safety tolerance value for generation. Only used when 'Use Safety Tolerance' is enabled.",
"default": 0,
"min": 0,
"max": 100,
}),
}
}
RETURN_TYPES = ("RUNWAREPROVIDERSETTINGS",)
RETURN_NAMES = ("Provider Settings",)
FUNCTION = "createProviderSettings"
CATEGORY = "Runware/Provider Settings"
DESCRIPTION = "Configure BlackForest Labs-specific provider settings for image generation including safety tolerance."
def createProviderSettings(self, **kwargs) -> tuple[Dict[str, Any]]:
"""Create BlackForest Labs provider settings"""
# Get control parameters
useSafetyTolerance = kwargs.get("useSafetyTolerance", False)
# Get value parameters
safetyTolerance = kwargs.get("safetyTolerance", 0)
# Build settings dictionary - only include what is enabled
blackForestSettings: Dict[str, Any] = {}
# Add safetyTolerance only if useSafetyTolerance is enabled
if useSafetyTolerance:
blackForestSettings["safetyTolerance"] = safetyTolerance
# Clean up None values
blackForestSettings = {k: v for k, v in blackForestSettings.items() if v is not None}
# Return flat dictionary - will be wrapped by inference node with provider name
return (blackForestSettings,)
# Node class mappings
NODE_CLASS_MAPPINGS = {
"RunwareBlackForestProviderSettings": RunwareBlackForestProviderSettings,
}
NODE_DISPLAY_NAME_MAPPINGS = {
"RunwareBlackForestProviderSettings": "Runware BlackForest Labs Provider Settings",
}