From 5214cbd09b8ac0f1a816b39f415e6c54ae69d7f0 Mon Sep 17 00:00:00 2001 From: Sirshendu Ganguly Date: Tue, 2 Jun 2026 22:07:24 +0530 Subject: [PATCH 1/4] Added support for promptEnhancement --- runware/types.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/runware/types.py b/runware/types.py index b5bbabc..bd9b4b0 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,7 +1035,7 @@ class ISettings(SerializableMixin): positivePrompt: Optional[str] = None presencePenalty: Optional[float] = None promptExtend: Optional[bool] = None - promptUpsampling: Optional[bool] = None + promptEnhancement: Optional[Union[IPromptEnhancement, Dict[str, Any], bool]] = None preserveAudio: Optional[bool] = None quad: Optional[bool] = None quality: Optional[str] = None @@ -1141,6 +1148,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: From a426e53d8dfacd5a9f576cce3311bf6eb5ef3af3 Mon Sep 17 00:00:00 2001 From: Sirshendu Ganguly Date: Tue, 2 Jun 2026 22:12:26 +0530 Subject: [PATCH 2/4] Addebackward comp --- CHANGELOG.md | 2 ++ runware/types.py | 1 + 2 files changed, 3 insertions(+) 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 bd9b4b0..1188f35 100644 --- a/runware/types.py +++ b/runware/types.py @@ -1036,6 +1036,7 @@ class ISettings(SerializableMixin): 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 quality: Optional[str] = None From f0dc1dbe786b032dab343cf8df2bf36c57fafa73 Mon Sep 17 00:00:00 2001 From: Sirshendu Ganguly Date: Wed, 3 Jun 2026 17:37:55 +0530 Subject: [PATCH 3/4] Revert CHANGELOG Ernie/promptEnhancement entries from this branch. --- CHANGELOG.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ecf2d0b..532df82 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,6 @@ 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]` @@ -18,7 +17,6 @@ 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] From 87b7e0bfc2a3ea25ec92ff6201987970d813420a Mon Sep 17 00:00:00 2001 From: Sirshendu Ganguly Date: Wed, 3 Jun 2026 18:06:38 +0530 Subject: [PATCH 4/4] Removed type Bool --- runware/types.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runware/types.py b/runware/types.py index 1188f35..aad5bea 100644 --- a/runware/types.py +++ b/runware/types.py @@ -1035,7 +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 + promptEnhancement: Optional[Union[IPromptEnhancement, Dict[str, Any]]] = None promptUpsampling: Optional[bool] = None preserveAudio: Optional[bool] = None quad: Optional[bool] = None