diff --git a/CHANGELOG.md b/CHANGELOG.md index 532df82..ecf2d0b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ All notable changes to this project will be documented in this file. ### Added +- `IPromptEnhancement` dataclass for nested `settings.promptEnhancement` on image inference (`enabled`, `temperature`, `topP`). - `IMeshCluster` dataclass for `settings.meshCluster`: - `thresholdConeHalfAngleRad: Optional[float]` - `refineIterations: Optional[int]` @@ -17,6 +18,7 @@ All notable changes to this project will be documented in this file. - `remeshBand: Optional[float]` - `remeshProject: Optional[float]` - `meshCluster: Optional[Union[IMeshCluster, Dict[str, Any]]]` + - `promptEnhancement: Optional[Union[IPromptEnhancement, Dict[str, Any], bool]]` ## [0.5.14] diff --git a/runware/types.py b/runware/types.py index b5bbabc..1188f35 100644 --- a/runware/types.py +++ b/runware/types.py @@ -943,6 +943,13 @@ class IMoodboard(SerializableMixin): strength: Optional[float] = None +@dataclass +class IPromptEnhancement(SerializableMixin): + enabled: Optional[bool] = None + temperature: Optional[float] = None + topP: Optional[float] = None + + @dataclass class ISettings(SerializableMixin): activeSpeakerDetection: Optional[Union["IActiveSpeakerDetection", Dict[str, Any]]] = None @@ -1028,6 +1035,7 @@ class ISettings(SerializableMixin): positivePrompt: Optional[str] = None presencePenalty: Optional[float] = None promptExtend: Optional[bool] = None + promptEnhancement: Optional[Union[IPromptEnhancement, Dict[str, Any], bool]] = None promptUpsampling: Optional[bool] = None preserveAudio: Optional[bool] = None quad: Optional[bool] = None @@ -1141,6 +1149,8 @@ def __post_init__(self, toolChoice: Optional[Union["ITextInferenceToolChoice", D ] if isinstance(self.activeSpeakerDetection, dict): self.activeSpeakerDetection = IActiveSpeakerDetection(**self.activeSpeakerDetection) + if isinstance(self.promptEnhancement, dict): + self.promptEnhancement = IPromptEnhancement(**self.promptEnhancement) if isinstance(self.segments, dict): self.segments = [ISegment(**self.segments)] elif self.segments: