diff --git a/runware/types.py b/runware/types.py index 13f5f22..25debe6 100644 --- a/runware/types.py +++ b/runware/types.py @@ -925,6 +925,12 @@ class IEditRegion(SerializableMixin): y2: int +@dataclass +class IMoodboard(SerializableMixin): + id: str + strength: Optional[float] = None + + @dataclass class ISettings(SerializableMixin): activeSpeakerDetection: Optional[Union["IActiveSpeakerDetection", Dict[str, Any]]] = None @@ -951,6 +957,7 @@ class ISettings(SerializableMixin): conditionOnPreviousChunks: Optional[bool] = None controlNetWeight: Optional[float] = None coverConditioningScale: Optional[float] = None + creativity: Optional[str] = None decimation: Optional[int] = None decimationTarget: Optional[int] = None dilatePixels: Optional[int] = None @@ -992,6 +999,7 @@ class ISettings(SerializableMixin): minChunkLength: Optional[int] = None mode: Optional[str] = None moderation: Optional[bool] = None + moodboards: Optional[List[Union[IMoodboard, Dict[str, Any]]]] = None multiClip: Optional[bool] = None normalize: Optional[bool] = None normalizeLoudness: Optional[bool] = None @@ -1106,6 +1114,11 @@ def __post_init__(self, toolChoice: Optional[Union["ITextInferenceToolChoice", D IColorPaletteEntry(**item) if isinstance(item, dict) else item for item in self.colorPalette ] + if self.moodboards is not None: + self.moodboards = [ + IMoodboard(**item) if isinstance(item, dict) else item + for item in self.moodboards + ] if isinstance(self.activeSpeakerDetection, dict): self.activeSpeakerDetection = IActiveSpeakerDetection(**self.activeSpeakerDetection) if isinstance(self.segments, dict):