Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions runware/types.py
Original file line number Diff line number Diff line change
Expand Up @@ -1024,6 +1024,35 @@ class IPromptEnhancement(SerializableMixin):
topP: Optional[float] = None


@dataclass
class IScoringRubricScoreGuidance(SerializableMixin):
score: Optional[float] = None
description: Optional[str] = None


@dataclass
class IScoringRubric(SerializableMixin):
key: Optional[str] = None
label: Optional[str] = None
description: Optional[str] = None
weight: Optional[float] = None
passingScore: Optional[float] = None
scoreGuidance: Optional[List[Union[IScoringRubricScoreGuidance, Dict[str, Any]]]] = None

def __post_init__(self) -> None:
if self.scoreGuidance is not None:
self.scoreGuidance = [
IScoringRubricScoreGuidance(**item) if isinstance(item, dict) else item
for item in self.scoreGuidance
]


@dataclass
class IInputFont(SerializableMixin):
url: Optional[str] = None
text: Optional[str] = None


@dataclass
class ISettings(SerializableMixin):
activeSpeakerDetection: Optional[Union["IActiveSpeakerDetection", Dict[str, Any]]] = None
Expand All @@ -1035,6 +1064,7 @@ class ISettings(SerializableMixin):
autoSize: Optional[bool] = None
background: Optional[str] = None
backgroundColor: Optional[str] = None
backgroundMode: Optional[str] = None
boundingBox: Optional[List[int]] = None
bpm: Optional[int] = None
cache: Optional[Union[ITextInferenceCache, Dict[str, Any]]] = None
Expand All @@ -1061,6 +1091,7 @@ class ISettings(SerializableMixin):
earlyStopThreshold: Optional[float] = None
emotion: Optional[str] = None
enhanceDetails: Optional[bool] = None
enhancePrompt: Optional[bool] = None
exportUv: Optional[bool] = None
expressiveness: Optional[str] = None
faceCount: Optional[int] = None
Expand Down Expand Up @@ -1132,6 +1163,8 @@ class ISettings(SerializableMixin):
safetyFilter: Optional[bool] = None
savePreRemeshedModel: Optional[bool] = None
scheduler: Optional[str] = None
scoringPrompt: Optional[str] = None
scoringRubric: Optional[List[Union[IScoringRubric, Dict[str, Any]]]] = None
search: Optional[bool] = None
seed: Optional[int] = None
segments: Optional[List[Union["ISegment", Dict[str, Any]]]] = None
Expand Down Expand Up @@ -1230,6 +1263,11 @@ def __post_init__(self, toolChoice: Optional[Union["ITextInferenceToolChoice", D
self.activeSpeakerDetection = IActiveSpeakerDetection(**self.activeSpeakerDetection)
if isinstance(self.promptEnhancement, dict):
self.promptEnhancement = IPromptEnhancement(**self.promptEnhancement)
if self.scoringRubric is not None:
self.scoringRubric = [
IScoringRubric(**item) if isinstance(item, dict) else item
for item in self.scoringRubric
]
Comment thread
Sirsho1997 marked this conversation as resolved.
if isinstance(self.segments, dict):
self.segments = [ISegment(**self.segments)]
elif self.segments:
Expand Down Expand Up @@ -1282,6 +1320,7 @@ def serialize(self) -> Dict[str, Any]:
class IInputs(SerializableMixin):
references: Optional[List[Union[str, File]]] = None
referenceImages: Optional[List[Union[str, File, IInputReference]]] = None
fonts: Optional[List[Union[IInputFont, Dict[str, Any]]]] = None
image: Optional[Union[str, File]] = None
images: Optional[List[Union[str, File]]] = None
mask: Optional[Union[str, File]] = None
Expand All @@ -1300,6 +1339,11 @@ def __post_init__(self):
)
if self.referenceImages is None:
self.referenceImages = self.references
if self.fonts is not None:
self.fonts = [
IInputFont(**item) if isinstance(item, dict) else item
for item in self.fonts
]
Comment thread
Sirsho1997 marked this conversation as resolved.


@dataclass
Expand Down