Skip to content

Commit 35de80e

Browse files
authored
Add OutputConfig option in JobConfig for batch sdk (#80)
1 parent 34f2cba commit 35de80e

2 files changed

Lines changed: 18 additions & 0 deletions

File tree

sdk/batch/speechmatics/batch/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
from ._models import NotificationContents
2525
from ._models import NotificationMethod
2626
from ._models import OperatingPoint
27+
from ._models import OutputConfig
2728
from ._models import SentimentAnalysisConfig
2829
from ._models import SummarizationConfig
2930
from ._models import TopicDetectionConfig
@@ -61,5 +62,6 @@
6162
"Transcript",
6263
"TranscriptionConfig",
6364
"TranslationConfig",
65+
"OutputConfig",
6466
"TransportError",
6567
]

sdk/batch/speechmatics/batch/_models.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,18 @@ def to_dict(self) -> dict[str, Any]:
118118
return {k: v for k, v in asdict(self).items() if v is not None}
119119

120120

121+
@dataclass
122+
class OutputConfig:
123+
"""Configuration for output formatting."""
124+
125+
generate_lattice: Optional[bool] = None
126+
srt_overrides: Optional[dict[str, Any]] = None
127+
128+
def to_dict(self) -> dict[str, Any]:
129+
"""Convert to dictionary, excluding None values."""
130+
return {k: v for k, v in asdict(self).items() if v is not None}
131+
132+
121133
@dataclass
122134
class AlignmentConfig:
123135
"""Configuration for alignment jobs."""
@@ -277,6 +289,7 @@ class JobConfig:
277289
topic_detection_config: Topic detection settings.
278290
auto_chapters_config: Auto chapters settings.
279291
audio_events_config: Audio events detection settings.
292+
output_config: Output configuration.
280293
"""
281294

282295
type: JobType
@@ -292,6 +305,7 @@ class JobConfig:
292305
topic_detection_config: Optional[TopicDetectionConfig] = None
293306
auto_chapters_config: Optional[AutoChaptersConfig] = None
294307
audio_events_config: Optional[AudioEventsConfig] = None
308+
output_config: Optional[OutputConfig] = None
295309

296310
def to_dict(self) -> dict[str, Any]:
297311
"""Convert job config to dictionary for API submission."""
@@ -321,6 +335,8 @@ def to_dict(self) -> dict[str, Any]:
321335
config["auto_chapters_config"] = self.auto_chapters_config.to_dict()
322336
if self.audio_events_config:
323337
config["audio_events_config"] = self.audio_events_config.to_dict()
338+
if self.output_config:
339+
config["output_config"] = self.output_config.to_dict()
324340

325341
return config
326342

0 commit comments

Comments
 (0)