alibabacloud-ice20201109 6.8.2__py3-none-any.whl → 6.8.4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  # This file is auto-generated, don't edit it. Thanks.
3
3
  from Tea.model import TeaModel
4
- from typing import List, Any, Dict
4
+ from typing import List, Dict, Any
5
5
 
6
6
 
7
7
  class AIAgentConfigAmbientSoundConfig(TeaModel):
@@ -94,6 +94,198 @@ class AIAgentConfigAsrConfig(TeaModel):
94
94
  return self
95
95
 
96
96
 
97
+ class AIAgentConfigAutoSpeechConfigLlmPendingMessages(TeaModel):
98
+ def __init__(
99
+ self,
100
+ probability: float = None,
101
+ text: str = None,
102
+ ):
103
+ self.probability = probability
104
+ self.text = text
105
+
106
+ def validate(self):
107
+ pass
108
+
109
+ def to_map(self):
110
+ _map = super().to_map()
111
+ if _map is not None:
112
+ return _map
113
+
114
+ result = dict()
115
+ if self.probability is not None:
116
+ result['Probability'] = self.probability
117
+ if self.text is not None:
118
+ result['Text'] = self.text
119
+ return result
120
+
121
+ def from_map(self, m: dict = None):
122
+ m = m or dict()
123
+ if m.get('Probability') is not None:
124
+ self.probability = m.get('Probability')
125
+ if m.get('Text') is not None:
126
+ self.text = m.get('Text')
127
+ return self
128
+
129
+
130
+ class AIAgentConfigAutoSpeechConfigLlmPending(TeaModel):
131
+ def __init__(
132
+ self,
133
+ messages: List[AIAgentConfigAutoSpeechConfigLlmPendingMessages] = None,
134
+ wait_time: int = None,
135
+ ):
136
+ self.messages = messages
137
+ self.wait_time = wait_time
138
+
139
+ def validate(self):
140
+ if self.messages:
141
+ for k in self.messages:
142
+ if k:
143
+ k.validate()
144
+
145
+ def to_map(self):
146
+ _map = super().to_map()
147
+ if _map is not None:
148
+ return _map
149
+
150
+ result = dict()
151
+ result['Messages'] = []
152
+ if self.messages is not None:
153
+ for k in self.messages:
154
+ result['Messages'].append(k.to_map() if k else None)
155
+ if self.wait_time is not None:
156
+ result['WaitTime'] = self.wait_time
157
+ return result
158
+
159
+ def from_map(self, m: dict = None):
160
+ m = m or dict()
161
+ self.messages = []
162
+ if m.get('Messages') is not None:
163
+ for k in m.get('Messages'):
164
+ temp_model = AIAgentConfigAutoSpeechConfigLlmPendingMessages()
165
+ self.messages.append(temp_model.from_map(k))
166
+ if m.get('WaitTime') is not None:
167
+ self.wait_time = m.get('WaitTime')
168
+ return self
169
+
170
+
171
+ class AIAgentConfigAutoSpeechConfigUserIdleMessages(TeaModel):
172
+ def __init__(
173
+ self,
174
+ probability: float = None,
175
+ text: str = None,
176
+ ):
177
+ self.probability = probability
178
+ self.text = text
179
+
180
+ def validate(self):
181
+ pass
182
+
183
+ def to_map(self):
184
+ _map = super().to_map()
185
+ if _map is not None:
186
+ return _map
187
+
188
+ result = dict()
189
+ if self.probability is not None:
190
+ result['Probability'] = self.probability
191
+ if self.text is not None:
192
+ result['Text'] = self.text
193
+ return result
194
+
195
+ def from_map(self, m: dict = None):
196
+ m = m or dict()
197
+ if m.get('Probability') is not None:
198
+ self.probability = m.get('Probability')
199
+ if m.get('Text') is not None:
200
+ self.text = m.get('Text')
201
+ return self
202
+
203
+
204
+ class AIAgentConfigAutoSpeechConfigUserIdle(TeaModel):
205
+ def __init__(
206
+ self,
207
+ max_repeats: int = None,
208
+ messages: List[AIAgentConfigAutoSpeechConfigUserIdleMessages] = None,
209
+ wait_time: int = None,
210
+ ):
211
+ self.max_repeats = max_repeats
212
+ self.messages = messages
213
+ self.wait_time = wait_time
214
+
215
+ def validate(self):
216
+ if self.messages:
217
+ for k in self.messages:
218
+ if k:
219
+ k.validate()
220
+
221
+ def to_map(self):
222
+ _map = super().to_map()
223
+ if _map is not None:
224
+ return _map
225
+
226
+ result = dict()
227
+ if self.max_repeats is not None:
228
+ result['MaxRepeats'] = self.max_repeats
229
+ result['Messages'] = []
230
+ if self.messages is not None:
231
+ for k in self.messages:
232
+ result['Messages'].append(k.to_map() if k else None)
233
+ if self.wait_time is not None:
234
+ result['WaitTime'] = self.wait_time
235
+ return result
236
+
237
+ def from_map(self, m: dict = None):
238
+ m = m or dict()
239
+ if m.get('MaxRepeats') is not None:
240
+ self.max_repeats = m.get('MaxRepeats')
241
+ self.messages = []
242
+ if m.get('Messages') is not None:
243
+ for k in m.get('Messages'):
244
+ temp_model = AIAgentConfigAutoSpeechConfigUserIdleMessages()
245
+ self.messages.append(temp_model.from_map(k))
246
+ if m.get('WaitTime') is not None:
247
+ self.wait_time = m.get('WaitTime')
248
+ return self
249
+
250
+
251
+ class AIAgentConfigAutoSpeechConfig(TeaModel):
252
+ def __init__(
253
+ self,
254
+ llm_pending: AIAgentConfigAutoSpeechConfigLlmPending = None,
255
+ user_idle: AIAgentConfigAutoSpeechConfigUserIdle = None,
256
+ ):
257
+ self.llm_pending = llm_pending
258
+ self.user_idle = user_idle
259
+
260
+ def validate(self):
261
+ if self.llm_pending:
262
+ self.llm_pending.validate()
263
+ if self.user_idle:
264
+ self.user_idle.validate()
265
+
266
+ def to_map(self):
267
+ _map = super().to_map()
268
+ if _map is not None:
269
+ return _map
270
+
271
+ result = dict()
272
+ if self.llm_pending is not None:
273
+ result['LlmPending'] = self.llm_pending.to_map()
274
+ if self.user_idle is not None:
275
+ result['UserIdle'] = self.user_idle.to_map()
276
+ return result
277
+
278
+ def from_map(self, m: dict = None):
279
+ m = m or dict()
280
+ if m.get('LlmPending') is not None:
281
+ temp_model = AIAgentConfigAutoSpeechConfigLlmPending()
282
+ self.llm_pending = temp_model.from_map(m['LlmPending'])
283
+ if m.get('UserIdle') is not None:
284
+ temp_model = AIAgentConfigAutoSpeechConfigUserIdle()
285
+ self.user_idle = temp_model.from_map(m['UserIdle'])
286
+ return self
287
+
288
+
97
289
  class AIAgentConfigAvatarConfig(TeaModel):
98
290
  def __init__(
99
291
  self,
@@ -225,6 +417,7 @@ class AIAgentConfigLlmConfig(TeaModel):
225
417
  self,
226
418
  bailian_app_params: str = None,
227
419
  function_map: List[AIAgentConfigLlmConfigFunctionMap] = None,
420
+ history_sync_with_tts: bool = None,
228
421
  llm_complete_reply: bool = None,
229
422
  llm_history: List[AIAgentConfigLlmConfigLlmHistory] = None,
230
423
  llm_history_limit: int = None,
@@ -235,6 +428,7 @@ class AIAgentConfigLlmConfig(TeaModel):
235
428
  ):
236
429
  self.bailian_app_params = bailian_app_params
237
430
  self.function_map = function_map
431
+ self.history_sync_with_tts = history_sync_with_tts
238
432
  self.llm_complete_reply = llm_complete_reply
239
433
  self.llm_history = llm_history
240
434
  self.llm_history_limit = llm_history_limit
@@ -265,6 +459,8 @@ class AIAgentConfigLlmConfig(TeaModel):
265
459
  if self.function_map is not None:
266
460
  for k in self.function_map:
267
461
  result['FunctionMap'].append(k.to_map() if k else None)
462
+ if self.history_sync_with_tts is not None:
463
+ result['HistorySyncWithTTS'] = self.history_sync_with_tts
268
464
  if self.llm_complete_reply is not None:
269
465
  result['LlmCompleteReply'] = self.llm_complete_reply
270
466
  result['LlmHistory'] = []
@@ -292,6 +488,8 @@ class AIAgentConfigLlmConfig(TeaModel):
292
488
  for k in m.get('FunctionMap'):
293
489
  temp_model = AIAgentConfigLlmConfigFunctionMap()
294
490
  self.function_map.append(temp_model.from_map(k))
491
+ if m.get('HistorySyncWithTTS') is not None:
492
+ self.history_sync_with_tts = m.get('HistorySyncWithTTS')
295
493
  if m.get('LlmCompleteReply') is not None:
296
494
  self.llm_complete_reply = m.get('LlmCompleteReply')
297
495
  self.llm_history = []
@@ -747,6 +945,7 @@ class AIAgentConfig(TeaModel):
747
945
  self,
748
946
  ambient_sound_config: AIAgentConfigAmbientSoundConfig = None,
749
947
  asr_config: AIAgentConfigAsrConfig = None,
948
+ auto_speech_config: AIAgentConfigAutoSpeechConfig = None,
750
949
  avatar_config: AIAgentConfigAvatarConfig = None,
751
950
  avatar_url: str = None,
752
951
  avatar_url_type: str = None,
@@ -770,6 +969,7 @@ class AIAgentConfig(TeaModel):
770
969
  ):
771
970
  self.ambient_sound_config = ambient_sound_config
772
971
  self.asr_config = asr_config
972
+ self.auto_speech_config = auto_speech_config
773
973
  self.avatar_config = avatar_config
774
974
  self.avatar_url = avatar_url
775
975
  self.avatar_url_type = avatar_url_type
@@ -796,6 +996,8 @@ class AIAgentConfig(TeaModel):
796
996
  self.ambient_sound_config.validate()
797
997
  if self.asr_config:
798
998
  self.asr_config.validate()
999
+ if self.auto_speech_config:
1000
+ self.auto_speech_config.validate()
799
1001
  if self.avatar_config:
800
1002
  self.avatar_config.validate()
801
1003
  if self.interrupt_config:
@@ -821,6 +1023,8 @@ class AIAgentConfig(TeaModel):
821
1023
  result['AmbientSoundConfig'] = self.ambient_sound_config.to_map()
822
1024
  if self.asr_config is not None:
823
1025
  result['AsrConfig'] = self.asr_config.to_map()
1026
+ if self.auto_speech_config is not None:
1027
+ result['AutoSpeechConfig'] = self.auto_speech_config.to_map()
824
1028
  if self.avatar_config is not None:
825
1029
  result['AvatarConfig'] = self.avatar_config.to_map()
826
1030
  if self.avatar_url is not None:
@@ -871,6 +1075,9 @@ class AIAgentConfig(TeaModel):
871
1075
  if m.get('AsrConfig') is not None:
872
1076
  temp_model = AIAgentConfigAsrConfig()
873
1077
  self.asr_config = temp_model.from_map(m['AsrConfig'])
1078
+ if m.get('AutoSpeechConfig') is not None:
1079
+ temp_model = AIAgentConfigAutoSpeechConfig()
1080
+ self.auto_speech_config = temp_model.from_map(m['AutoSpeechConfig'])
874
1081
  if m.get('AvatarConfig') is not None:
875
1082
  temp_model = AIAgentConfigAvatarConfig()
876
1083
  self.avatar_config = temp_model.from_map(m['AvatarConfig'])
@@ -1011,6 +1218,198 @@ class AIAgentOutboundCallConfigAsrConfig(TeaModel):
1011
1218
  return self
1012
1219
 
1013
1220
 
1221
+ class AIAgentOutboundCallConfigAutoSpeechConfigLlmPendingMessages(TeaModel):
1222
+ def __init__(
1223
+ self,
1224
+ probability: float = None,
1225
+ text: str = None,
1226
+ ):
1227
+ self.probability = probability
1228
+ self.text = text
1229
+
1230
+ def validate(self):
1231
+ pass
1232
+
1233
+ def to_map(self):
1234
+ _map = super().to_map()
1235
+ if _map is not None:
1236
+ return _map
1237
+
1238
+ result = dict()
1239
+ if self.probability is not None:
1240
+ result['Probability'] = self.probability
1241
+ if self.text is not None:
1242
+ result['Text'] = self.text
1243
+ return result
1244
+
1245
+ def from_map(self, m: dict = None):
1246
+ m = m or dict()
1247
+ if m.get('Probability') is not None:
1248
+ self.probability = m.get('Probability')
1249
+ if m.get('Text') is not None:
1250
+ self.text = m.get('Text')
1251
+ return self
1252
+
1253
+
1254
+ class AIAgentOutboundCallConfigAutoSpeechConfigLlmPending(TeaModel):
1255
+ def __init__(
1256
+ self,
1257
+ messages: List[AIAgentOutboundCallConfigAutoSpeechConfigLlmPendingMessages] = None,
1258
+ wait_time: int = None,
1259
+ ):
1260
+ self.messages = messages
1261
+ self.wait_time = wait_time
1262
+
1263
+ def validate(self):
1264
+ if self.messages:
1265
+ for k in self.messages:
1266
+ if k:
1267
+ k.validate()
1268
+
1269
+ def to_map(self):
1270
+ _map = super().to_map()
1271
+ if _map is not None:
1272
+ return _map
1273
+
1274
+ result = dict()
1275
+ result['Messages'] = []
1276
+ if self.messages is not None:
1277
+ for k in self.messages:
1278
+ result['Messages'].append(k.to_map() if k else None)
1279
+ if self.wait_time is not None:
1280
+ result['WaitTime'] = self.wait_time
1281
+ return result
1282
+
1283
+ def from_map(self, m: dict = None):
1284
+ m = m or dict()
1285
+ self.messages = []
1286
+ if m.get('Messages') is not None:
1287
+ for k in m.get('Messages'):
1288
+ temp_model = AIAgentOutboundCallConfigAutoSpeechConfigLlmPendingMessages()
1289
+ self.messages.append(temp_model.from_map(k))
1290
+ if m.get('WaitTime') is not None:
1291
+ self.wait_time = m.get('WaitTime')
1292
+ return self
1293
+
1294
+
1295
+ class AIAgentOutboundCallConfigAutoSpeechConfigUserIdleMessages(TeaModel):
1296
+ def __init__(
1297
+ self,
1298
+ probability: float = None,
1299
+ text: str = None,
1300
+ ):
1301
+ self.probability = probability
1302
+ self.text = text
1303
+
1304
+ def validate(self):
1305
+ pass
1306
+
1307
+ def to_map(self):
1308
+ _map = super().to_map()
1309
+ if _map is not None:
1310
+ return _map
1311
+
1312
+ result = dict()
1313
+ if self.probability is not None:
1314
+ result['Probability'] = self.probability
1315
+ if self.text is not None:
1316
+ result['Text'] = self.text
1317
+ return result
1318
+
1319
+ def from_map(self, m: dict = None):
1320
+ m = m or dict()
1321
+ if m.get('Probability') is not None:
1322
+ self.probability = m.get('Probability')
1323
+ if m.get('Text') is not None:
1324
+ self.text = m.get('Text')
1325
+ return self
1326
+
1327
+
1328
+ class AIAgentOutboundCallConfigAutoSpeechConfigUserIdle(TeaModel):
1329
+ def __init__(
1330
+ self,
1331
+ max_repeats: int = None,
1332
+ messages: List[AIAgentOutboundCallConfigAutoSpeechConfigUserIdleMessages] = None,
1333
+ wait_time: int = None,
1334
+ ):
1335
+ self.max_repeats = max_repeats
1336
+ self.messages = messages
1337
+ self.wait_time = wait_time
1338
+
1339
+ def validate(self):
1340
+ if self.messages:
1341
+ for k in self.messages:
1342
+ if k:
1343
+ k.validate()
1344
+
1345
+ def to_map(self):
1346
+ _map = super().to_map()
1347
+ if _map is not None:
1348
+ return _map
1349
+
1350
+ result = dict()
1351
+ if self.max_repeats is not None:
1352
+ result['MaxRepeats'] = self.max_repeats
1353
+ result['Messages'] = []
1354
+ if self.messages is not None:
1355
+ for k in self.messages:
1356
+ result['Messages'].append(k.to_map() if k else None)
1357
+ if self.wait_time is not None:
1358
+ result['WaitTime'] = self.wait_time
1359
+ return result
1360
+
1361
+ def from_map(self, m: dict = None):
1362
+ m = m or dict()
1363
+ if m.get('MaxRepeats') is not None:
1364
+ self.max_repeats = m.get('MaxRepeats')
1365
+ self.messages = []
1366
+ if m.get('Messages') is not None:
1367
+ for k in m.get('Messages'):
1368
+ temp_model = AIAgentOutboundCallConfigAutoSpeechConfigUserIdleMessages()
1369
+ self.messages.append(temp_model.from_map(k))
1370
+ if m.get('WaitTime') is not None:
1371
+ self.wait_time = m.get('WaitTime')
1372
+ return self
1373
+
1374
+
1375
+ class AIAgentOutboundCallConfigAutoSpeechConfig(TeaModel):
1376
+ def __init__(
1377
+ self,
1378
+ llm_pending: AIAgentOutboundCallConfigAutoSpeechConfigLlmPending = None,
1379
+ user_idle: AIAgentOutboundCallConfigAutoSpeechConfigUserIdle = None,
1380
+ ):
1381
+ self.llm_pending = llm_pending
1382
+ self.user_idle = user_idle
1383
+
1384
+ def validate(self):
1385
+ if self.llm_pending:
1386
+ self.llm_pending.validate()
1387
+ if self.user_idle:
1388
+ self.user_idle.validate()
1389
+
1390
+ def to_map(self):
1391
+ _map = super().to_map()
1392
+ if _map is not None:
1393
+ return _map
1394
+
1395
+ result = dict()
1396
+ if self.llm_pending is not None:
1397
+ result['LlmPending'] = self.llm_pending.to_map()
1398
+ if self.user_idle is not None:
1399
+ result['UserIdle'] = self.user_idle.to_map()
1400
+ return result
1401
+
1402
+ def from_map(self, m: dict = None):
1403
+ m = m or dict()
1404
+ if m.get('LlmPending') is not None:
1405
+ temp_model = AIAgentOutboundCallConfigAutoSpeechConfigLlmPending()
1406
+ self.llm_pending = temp_model.from_map(m['LlmPending'])
1407
+ if m.get('UserIdle') is not None:
1408
+ temp_model = AIAgentOutboundCallConfigAutoSpeechConfigUserIdle()
1409
+ self.user_idle = temp_model.from_map(m['UserIdle'])
1410
+ return self
1411
+
1412
+
1014
1413
  class AIAgentOutboundCallConfigInterruptConfig(TeaModel):
1015
1414
  def __init__(
1016
1415
  self,
@@ -1115,6 +1514,7 @@ class AIAgentOutboundCallConfigLlmConfig(TeaModel):
1115
1514
  self,
1116
1515
  bailian_app_params: str = None,
1117
1516
  function_map: List[AIAgentOutboundCallConfigLlmConfigFunctionMap] = None,
1517
+ history_sync_with_tts: bool = None,
1118
1518
  llm_complete_reply: bool = None,
1119
1519
  llm_history: List[AIAgentOutboundCallConfigLlmConfigLlmHistory] = None,
1120
1520
  llm_history_limit: int = None,
@@ -1125,6 +1525,7 @@ class AIAgentOutboundCallConfigLlmConfig(TeaModel):
1125
1525
  ):
1126
1526
  self.bailian_app_params = bailian_app_params
1127
1527
  self.function_map = function_map
1528
+ self.history_sync_with_tts = history_sync_with_tts
1128
1529
  self.llm_complete_reply = llm_complete_reply
1129
1530
  self.llm_history = llm_history
1130
1531
  self.llm_history_limit = llm_history_limit
@@ -1155,6 +1556,8 @@ class AIAgentOutboundCallConfigLlmConfig(TeaModel):
1155
1556
  if self.function_map is not None:
1156
1557
  for k in self.function_map:
1157
1558
  result['FunctionMap'].append(k.to_map() if k else None)
1559
+ if self.history_sync_with_tts is not None:
1560
+ result['HistorySyncWithTTS'] = self.history_sync_with_tts
1158
1561
  if self.llm_complete_reply is not None:
1159
1562
  result['LlmCompleteReply'] = self.llm_complete_reply
1160
1563
  result['LlmHistory'] = []
@@ -1182,6 +1585,8 @@ class AIAgentOutboundCallConfigLlmConfig(TeaModel):
1182
1585
  for k in m.get('FunctionMap'):
1183
1586
  temp_model = AIAgentOutboundCallConfigLlmConfigFunctionMap()
1184
1587
  self.function_map.append(temp_model.from_map(k))
1588
+ if m.get('HistorySyncWithTTS') is not None:
1589
+ self.history_sync_with_tts = m.get('HistorySyncWithTTS')
1185
1590
  if m.get('LlmCompleteReply') is not None:
1186
1591
  self.llm_complete_reply = m.get('LlmCompleteReply')
1187
1592
  self.llm_history = []
@@ -1356,23 +1761,27 @@ class AIAgentOutboundCallConfig(TeaModel):
1356
1761
  self,
1357
1762
  ambient_sound_config: AIAgentOutboundCallConfigAmbientSoundConfig = None,
1358
1763
  asr_config: AIAgentOutboundCallConfigAsrConfig = None,
1764
+ auto_speech_config: AIAgentOutboundCallConfigAutoSpeechConfig = None,
1359
1765
  enable_intelligent_segment: bool = None,
1360
1766
  experimental_config: str = None,
1361
1767
  greeting: str = None,
1362
1768
  greeting_delay: int = None,
1363
1769
  interrupt_config: AIAgentOutboundCallConfigInterruptConfig = None,
1364
1770
  llm_config: AIAgentOutboundCallConfigLlmConfig = None,
1771
+ max_idle_time: int = None,
1365
1772
  tts_config: AIAgentOutboundCallConfigTtsConfig = None,
1366
1773
  turn_detection_config: AIAgentOutboundCallConfigTurnDetectionConfig = None,
1367
1774
  ):
1368
1775
  self.ambient_sound_config = ambient_sound_config
1369
1776
  self.asr_config = asr_config
1777
+ self.auto_speech_config = auto_speech_config
1370
1778
  self.enable_intelligent_segment = enable_intelligent_segment
1371
1779
  self.experimental_config = experimental_config
1372
1780
  self.greeting = greeting
1373
1781
  self.greeting_delay = greeting_delay
1374
1782
  self.interrupt_config = interrupt_config
1375
1783
  self.llm_config = llm_config
1784
+ self.max_idle_time = max_idle_time
1376
1785
  self.tts_config = tts_config
1377
1786
  self.turn_detection_config = turn_detection_config
1378
1787
 
@@ -1381,6 +1790,8 @@ class AIAgentOutboundCallConfig(TeaModel):
1381
1790
  self.ambient_sound_config.validate()
1382
1791
  if self.asr_config:
1383
1792
  self.asr_config.validate()
1793
+ if self.auto_speech_config:
1794
+ self.auto_speech_config.validate()
1384
1795
  if self.interrupt_config:
1385
1796
  self.interrupt_config.validate()
1386
1797
  if self.llm_config:
@@ -1400,6 +1811,8 @@ class AIAgentOutboundCallConfig(TeaModel):
1400
1811
  result['AmbientSoundConfig'] = self.ambient_sound_config.to_map()
1401
1812
  if self.asr_config is not None:
1402
1813
  result['AsrConfig'] = self.asr_config.to_map()
1814
+ if self.auto_speech_config is not None:
1815
+ result['AutoSpeechConfig'] = self.auto_speech_config.to_map()
1403
1816
  if self.enable_intelligent_segment is not None:
1404
1817
  result['EnableIntelligentSegment'] = self.enable_intelligent_segment
1405
1818
  if self.experimental_config is not None:
@@ -1412,6 +1825,8 @@ class AIAgentOutboundCallConfig(TeaModel):
1412
1825
  result['InterruptConfig'] = self.interrupt_config.to_map()
1413
1826
  if self.llm_config is not None:
1414
1827
  result['LlmConfig'] = self.llm_config.to_map()
1828
+ if self.max_idle_time is not None:
1829
+ result['MaxIdleTime'] = self.max_idle_time
1415
1830
  if self.tts_config is not None:
1416
1831
  result['TtsConfig'] = self.tts_config.to_map()
1417
1832
  if self.turn_detection_config is not None:
@@ -1426,6 +1841,9 @@ class AIAgentOutboundCallConfig(TeaModel):
1426
1841
  if m.get('AsrConfig') is not None:
1427
1842
  temp_model = AIAgentOutboundCallConfigAsrConfig()
1428
1843
  self.asr_config = temp_model.from_map(m['AsrConfig'])
1844
+ if m.get('AutoSpeechConfig') is not None:
1845
+ temp_model = AIAgentOutboundCallConfigAutoSpeechConfig()
1846
+ self.auto_speech_config = temp_model.from_map(m['AutoSpeechConfig'])
1429
1847
  if m.get('EnableIntelligentSegment') is not None:
1430
1848
  self.enable_intelligent_segment = m.get('EnableIntelligentSegment')
1431
1849
  if m.get('ExperimentalConfig') is not None:
@@ -1440,6 +1858,8 @@ class AIAgentOutboundCallConfig(TeaModel):
1440
1858
  if m.get('LlmConfig') is not None:
1441
1859
  temp_model = AIAgentOutboundCallConfigLlmConfig()
1442
1860
  self.llm_config = temp_model.from_map(m['LlmConfig'])
1861
+ if m.get('MaxIdleTime') is not None:
1862
+ self.max_idle_time = m.get('MaxIdleTime')
1443
1863
  if m.get('TtsConfig') is not None:
1444
1864
  temp_model = AIAgentOutboundCallConfigTtsConfig()
1445
1865
  self.tts_config = temp_model.from_map(m['TtsConfig'])
@@ -3967,11 +4387,9 @@ class MediaObject(TeaModel):
3967
4387
  self,
3968
4388
  media: str = None,
3969
4389
  type: str = None,
3970
- url: str = None,
3971
4390
  ):
3972
4391
  self.media = media
3973
4392
  self.type = type
3974
- self.url = url
3975
4393
 
3976
4394
  def validate(self):
3977
4395
  pass
@@ -3986,8 +4404,6 @@ class MediaObject(TeaModel):
3986
4404
  result['Media'] = self.media
3987
4405
  if self.type is not None:
3988
4406
  result['Type'] = self.type
3989
- if self.url is not None:
3990
- result['Url'] = self.url
3991
4407
  return result
3992
4408
 
3993
4409
  def from_map(self, m: dict = None):
@@ -3996,8 +4412,6 @@ class MediaObject(TeaModel):
3996
4412
  self.media = m.get('Media')
3997
4413
  if m.get('Type') is not None:
3998
4414
  self.type = m.get('Type')
3999
- if m.get('Url') is not None:
4000
- self.url = m.get('Url')
4001
4415
  return self
4002
4416
 
4003
4417
 
@@ -4036,20 +4450,17 @@ class MediaConvertInput(TeaModel):
4036
4450
  return self
4037
4451
 
4038
4452
 
4039
- class MediaConvertOutputGroupConfig(TeaModel):
4453
+ class MediaConvertJobConfigInputsInputFile(TeaModel):
4040
4454
  def __init__(
4041
4455
  self,
4042
- manifest_name: str = None,
4043
- output_file_base: MediaObject = None,
4456
+ media: str = None,
4044
4457
  type: str = None,
4045
4458
  ):
4046
- self.manifest_name = manifest_name
4047
- self.output_file_base = output_file_base
4459
+ self.media = media
4048
4460
  self.type = type
4049
4461
 
4050
4462
  def validate(self):
4051
- if self.output_file_base:
4052
- self.output_file_base.validate()
4463
+ pass
4053
4464
 
4054
4465
  def to_map(self):
4055
4466
  _map = super().to_map()
@@ -4057,45 +4468,33 @@ class MediaConvertOutputGroupConfig(TeaModel):
4057
4468
  return _map
4058
4469
 
4059
4470
  result = dict()
4060
- if self.manifest_name is not None:
4061
- result['ManifestName'] = self.manifest_name
4062
- if self.output_file_base is not None:
4063
- result['OutputFileBase'] = self.output_file_base.to_map()
4471
+ if self.media is not None:
4472
+ result['Media'] = self.media
4064
4473
  if self.type is not None:
4065
4474
  result['Type'] = self.type
4066
4475
  return result
4067
4476
 
4068
4477
  def from_map(self, m: dict = None):
4069
4478
  m = m or dict()
4070
- if m.get('ManifestName') is not None:
4071
- self.manifest_name = m.get('ManifestName')
4072
- if m.get('OutputFileBase') is not None:
4073
- temp_model = MediaObject()
4074
- self.output_file_base = temp_model.from_map(m['OutputFileBase'])
4479
+ if m.get('Media') is not None:
4480
+ self.media = m.get('Media')
4075
4481
  if m.get('Type') is not None:
4076
4482
  self.type = m.get('Type')
4077
4483
  return self
4078
4484
 
4079
4485
 
4080
- class MediaConvertOutputGroupOutput(TeaModel):
4486
+ class MediaConvertJobConfigInputs(TeaModel):
4081
4487
  def __init__(
4082
4488
  self,
4083
- features: str = None,
4489
+ input_file: MediaConvertJobConfigInputsInputFile = None,
4084
4490
  name: str = None,
4085
- output_file_name: str = None,
4086
- override_params: str = None,
4087
- priority: int = None,
4088
- template_id: str = None,
4089
4491
  ):
4090
- self.features = features
4492
+ self.input_file = input_file
4091
4493
  self.name = name
4092
- self.output_file_name = output_file_name
4093
- self.override_params = override_params
4094
- self.priority = priority
4095
- self.template_id = template_id
4096
4494
 
4097
4495
  def validate(self):
4098
- pass
4496
+ if self.input_file:
4497
+ self.input_file.validate()
4099
4498
 
4100
4499
  def to_map(self):
4101
4500
  _map = super().to_map()
@@ -4103,55 +4502,35 @@ class MediaConvertOutputGroupOutput(TeaModel):
4103
4502
  return _map
4104
4503
 
4105
4504
  result = dict()
4106
- if self.features is not None:
4107
- result['Features'] = self.features
4505
+ if self.input_file is not None:
4506
+ result['InputFile'] = self.input_file.to_map()
4108
4507
  if self.name is not None:
4109
4508
  result['Name'] = self.name
4110
- if self.output_file_name is not None:
4111
- result['OutputFileName'] = self.output_file_name
4112
- if self.override_params is not None:
4113
- result['OverrideParams'] = self.override_params
4114
- if self.priority is not None:
4115
- result['Priority'] = self.priority
4116
- if self.template_id is not None:
4117
- result['TemplateId'] = self.template_id
4118
4509
  return result
4119
4510
 
4120
4511
  def from_map(self, m: dict = None):
4121
4512
  m = m or dict()
4122
- if m.get('Features') is not None:
4123
- self.features = m.get('Features')
4513
+ if m.get('InputFile') is not None:
4514
+ temp_model = MediaConvertJobConfigInputsInputFile()
4515
+ self.input_file = temp_model.from_map(m['InputFile'])
4124
4516
  if m.get('Name') is not None:
4125
4517
  self.name = m.get('Name')
4126
- if m.get('OutputFileName') is not None:
4127
- self.output_file_name = m.get('OutputFileName')
4128
- if m.get('OverrideParams') is not None:
4129
- self.override_params = m.get('OverrideParams')
4130
- if m.get('Priority') is not None:
4131
- self.priority = m.get('Priority')
4132
- if m.get('TemplateId') is not None:
4133
- self.template_id = m.get('TemplateId')
4134
4518
  return self
4135
4519
 
4136
4520
 
4137
- class MediaConvertOutputGroup(TeaModel):
4521
+ class MediaConvertJobConfigOutputGroupsGroupConfigManifestExtendExcludes(TeaModel):
4138
4522
  def __init__(
4139
4523
  self,
4140
- group_config: MediaConvertOutputGroupConfig = None,
4141
4524
  name: str = None,
4142
- outputs: List[MediaConvertOutputGroupOutput] = None,
4525
+ type: str = None,
4526
+ language: str = None,
4143
4527
  ):
4144
- self.group_config = group_config
4145
4528
  self.name = name
4146
- self.outputs = outputs
4529
+ self.type = type
4530
+ self.language = language
4147
4531
 
4148
4532
  def validate(self):
4149
- if self.group_config:
4150
- self.group_config.validate()
4151
- if self.outputs:
4152
- for k in self.outputs:
4153
- if k:
4154
- k.validate()
4533
+ pass
4155
4534
 
4156
4535
  def to_map(self):
4157
4536
  _map = super().to_map()
@@ -4159,51 +4538,39 @@ class MediaConvertOutputGroup(TeaModel):
4159
4538
  return _map
4160
4539
 
4161
4540
  result = dict()
4162
- if self.group_config is not None:
4163
- result['GroupConfig'] = self.group_config.to_map()
4164
4541
  if self.name is not None:
4165
4542
  result['Name'] = self.name
4166
- result['Outputs'] = []
4167
- if self.outputs is not None:
4168
- for k in self.outputs:
4169
- result['Outputs'].append(k.to_map() if k else None)
4543
+ if self.type is not None:
4544
+ result['Type'] = self.type
4545
+ if self.language is not None:
4546
+ result['language'] = self.language
4170
4547
  return result
4171
4548
 
4172
4549
  def from_map(self, m: dict = None):
4173
4550
  m = m or dict()
4174
- if m.get('GroupConfig') is not None:
4175
- temp_model = MediaConvertOutputGroupConfig()
4176
- self.group_config = temp_model.from_map(m['GroupConfig'])
4177
4551
  if m.get('Name') is not None:
4178
4552
  self.name = m.get('Name')
4179
- self.outputs = []
4180
- if m.get('Outputs') is not None:
4181
- for k in m.get('Outputs'):
4182
- temp_model = MediaConvertOutputGroupOutput()
4183
- self.outputs.append(temp_model.from_map(k))
4553
+ if m.get('Type') is not None:
4554
+ self.type = m.get('Type')
4555
+ if m.get('language') is not None:
4556
+ self.language = m.get('language')
4184
4557
  return self
4185
4558
 
4186
4559
 
4187
- class MediaConvertOutput(TeaModel):
4560
+ class MediaConvertJobConfigOutputGroupsGroupConfigManifestExtend(TeaModel):
4188
4561
  def __init__(
4189
4562
  self,
4190
- features: str = None,
4191
- name: str = None,
4192
- output_file: MediaObject = None,
4193
- override_params: str = None,
4194
- priority: int = None,
4195
- template_id: str = None,
4563
+ excludes: List[MediaConvertJobConfigOutputGroupsGroupConfigManifestExtendExcludes] = None,
4564
+ input_ref: str = None,
4196
4565
  ):
4197
- self.features = features
4198
- self.name = name
4199
- self.output_file = output_file
4200
- self.override_params = override_params
4201
- self.priority = priority
4202
- self.template_id = template_id
4566
+ self.excludes = excludes
4567
+ self.input_ref = input_ref
4203
4568
 
4204
4569
  def validate(self):
4205
- if self.output_file:
4206
- self.output_file.validate()
4570
+ if self.excludes:
4571
+ for k in self.excludes:
4572
+ if k:
4573
+ k.validate()
4207
4574
 
4208
4575
  def to_map(self):
4209
4576
  _map = super().to_map()
@@ -4211,64 +4578,37 @@ class MediaConvertOutput(TeaModel):
4211
4578
  return _map
4212
4579
 
4213
4580
  result = dict()
4214
- if self.features is not None:
4215
- result['Features'] = self.features
4216
- if self.name is not None:
4217
- result['Name'] = self.name
4218
- if self.output_file is not None:
4219
- result['OutputFile'] = self.output_file.to_map()
4220
- if self.override_params is not None:
4221
- result['OverrideParams'] = self.override_params
4222
- if self.priority is not None:
4223
- result['Priority'] = self.priority
4224
- if self.template_id is not None:
4225
- result['TemplateId'] = self.template_id
4581
+ result['Excludes'] = []
4582
+ if self.excludes is not None:
4583
+ for k in self.excludes:
4584
+ result['Excludes'].append(k.to_map() if k else None)
4585
+ if self.input_ref is not None:
4586
+ result['InputRef'] = self.input_ref
4226
4587
  return result
4227
4588
 
4228
4589
  def from_map(self, m: dict = None):
4229
4590
  m = m or dict()
4230
- if m.get('Features') is not None:
4231
- self.features = m.get('Features')
4232
- if m.get('Name') is not None:
4233
- self.name = m.get('Name')
4234
- if m.get('OutputFile') is not None:
4235
- temp_model = MediaObject()
4236
- self.output_file = temp_model.from_map(m['OutputFile'])
4237
- if m.get('OverrideParams') is not None:
4238
- self.override_params = m.get('OverrideParams')
4239
- if m.get('Priority') is not None:
4240
- self.priority = m.get('Priority')
4241
- if m.get('TemplateId') is not None:
4242
- self.template_id = m.get('TemplateId')
4591
+ self.excludes = []
4592
+ if m.get('Excludes') is not None:
4593
+ for k in m.get('Excludes'):
4594
+ temp_model = MediaConvertJobConfigOutputGroupsGroupConfigManifestExtendExcludes()
4595
+ self.excludes.append(temp_model.from_map(k))
4596
+ if m.get('InputRef') is not None:
4597
+ self.input_ref = m.get('InputRef')
4243
4598
  return self
4244
4599
 
4245
4600
 
4246
- class MediaConvertJobConfig(TeaModel):
4601
+ class MediaConvertJobConfigOutputGroupsGroupConfigOutputFileBase(TeaModel):
4247
4602
  def __init__(
4248
4603
  self,
4249
- inputs: List[MediaConvertInput] = None,
4250
- job_name: str = None,
4251
- output_groups: List[MediaConvertOutputGroup] = None,
4252
- outputs: List[MediaConvertOutput] = None,
4604
+ media: str = None,
4605
+ type: str = None,
4253
4606
  ):
4254
- self.inputs = inputs
4255
- self.job_name = job_name
4256
- self.output_groups = output_groups
4257
- self.outputs = outputs
4607
+ self.media = media
4608
+ self.type = type
4258
4609
 
4259
4610
  def validate(self):
4260
- if self.inputs:
4261
- for k in self.inputs:
4262
- if k:
4263
- k.validate()
4264
- if self.output_groups:
4265
- for k in self.output_groups:
4266
- if k:
4267
- k.validate()
4268
- if self.outputs:
4269
- for k in self.outputs:
4270
- if k:
4271
- k.validate()
4611
+ pass
4272
4612
 
4273
4613
  def to_map(self):
4274
4614
  _map = super().to_map()
@@ -4276,57 +4616,39 @@ class MediaConvertJobConfig(TeaModel):
4276
4616
  return _map
4277
4617
 
4278
4618
  result = dict()
4279
- result['Inputs'] = []
4280
- if self.inputs is not None:
4281
- for k in self.inputs:
4282
- result['Inputs'].append(k.to_map() if k else None)
4283
- if self.job_name is not None:
4284
- result['JobName'] = self.job_name
4285
- result['OutputGroups'] = []
4286
- if self.output_groups is not None:
4287
- for k in self.output_groups:
4288
- result['OutputGroups'].append(k.to_map() if k else None)
4289
- result['Outputs'] = []
4290
- if self.outputs is not None:
4291
- for k in self.outputs:
4292
- result['Outputs'].append(k.to_map() if k else None)
4619
+ if self.media is not None:
4620
+ result['Media'] = self.media
4621
+ if self.type is not None:
4622
+ result['Type'] = self.type
4293
4623
  return result
4294
4624
 
4295
4625
  def from_map(self, m: dict = None):
4296
4626
  m = m or dict()
4297
- self.inputs = []
4298
- if m.get('Inputs') is not None:
4299
- for k in m.get('Inputs'):
4300
- temp_model = MediaConvertInput()
4301
- self.inputs.append(temp_model.from_map(k))
4302
- if m.get('JobName') is not None:
4303
- self.job_name = m.get('JobName')
4304
- self.output_groups = []
4305
- if m.get('OutputGroups') is not None:
4306
- for k in m.get('OutputGroups'):
4307
- temp_model = MediaConvertOutputGroup()
4308
- self.output_groups.append(temp_model.from_map(k))
4309
- self.outputs = []
4310
- if m.get('Outputs') is not None:
4311
- for k in m.get('Outputs'):
4312
- temp_model = MediaConvertOutput()
4313
- self.outputs.append(temp_model.from_map(k))
4627
+ if m.get('Media') is not None:
4628
+ self.media = m.get('Media')
4629
+ if m.get('Type') is not None:
4630
+ self.type = m.get('Type')
4314
4631
  return self
4315
4632
 
4316
4633
 
4317
- class MediaConvertOutputDetailResultOutputFile(TeaModel):
4634
+ class MediaConvertJobConfigOutputGroupsGroupConfig(TeaModel):
4318
4635
  def __init__(
4319
4636
  self,
4320
- media: str = None,
4637
+ manifest_extend: MediaConvertJobConfigOutputGroupsGroupConfigManifestExtend = None,
4638
+ manifest_name: str = None,
4639
+ output_file_base: MediaConvertJobConfigOutputGroupsGroupConfigOutputFileBase = None,
4321
4640
  type: str = None,
4322
- url: str = None,
4323
4641
  ):
4324
- self.media = media
4642
+ self.manifest_extend = manifest_extend
4643
+ self.manifest_name = manifest_name
4644
+ self.output_file_base = output_file_base
4325
4645
  self.type = type
4326
- self.url = url
4327
4646
 
4328
4647
  def validate(self):
4329
- pass
4648
+ if self.manifest_extend:
4649
+ self.manifest_extend.validate()
4650
+ if self.output_file_base:
4651
+ self.output_file_base.validate()
4330
4652
 
4331
4653
  def to_map(self):
4332
4654
  _map = super().to_map()
@@ -4334,59 +4656,53 @@ class MediaConvertOutputDetailResultOutputFile(TeaModel):
4334
4656
  return _map
4335
4657
 
4336
4658
  result = dict()
4337
- if self.media is not None:
4338
- result['Media'] = self.media
4659
+ if self.manifest_extend is not None:
4660
+ result['ManifestExtend'] = self.manifest_extend.to_map()
4661
+ if self.manifest_name is not None:
4662
+ result['ManifestName'] = self.manifest_name
4663
+ if self.output_file_base is not None:
4664
+ result['OutputFileBase'] = self.output_file_base.to_map()
4339
4665
  if self.type is not None:
4340
4666
  result['Type'] = self.type
4341
- if self.url is not None:
4342
- result['Url'] = self.url
4343
4667
  return result
4344
4668
 
4345
4669
  def from_map(self, m: dict = None):
4346
4670
  m = m or dict()
4347
- if m.get('Media') is not None:
4348
- self.media = m.get('Media')
4671
+ if m.get('ManifestExtend') is not None:
4672
+ temp_model = MediaConvertJobConfigOutputGroupsGroupConfigManifestExtend()
4673
+ self.manifest_extend = temp_model.from_map(m['ManifestExtend'])
4674
+ if m.get('ManifestName') is not None:
4675
+ self.manifest_name = m.get('ManifestName')
4676
+ if m.get('OutputFileBase') is not None:
4677
+ temp_model = MediaConvertJobConfigOutputGroupsGroupConfigOutputFileBase()
4678
+ self.output_file_base = temp_model.from_map(m['OutputFileBase'])
4349
4679
  if m.get('Type') is not None:
4350
4680
  self.type = m.get('Type')
4351
- if m.get('Url') is not None:
4352
- self.url = m.get('Url')
4353
4681
  return self
4354
4682
 
4355
4683
 
4356
- class MediaConvertOutputDetailFileMetaAudioStreamInfoList(TeaModel):
4684
+ class MediaConvertJobConfigOutputGroupsOutputsHlsGroupConfig(TeaModel):
4357
4685
  def __init__(
4358
4686
  self,
4359
- bitrate: str = None,
4360
- channel_layout: str = None,
4361
- channels: str = None,
4362
- codec_long_name: str = None,
4363
- codec_name: str = None,
4364
- codec_tag: str = None,
4365
- codec_tag_string: str = None,
4366
- codec_time_base: str = None,
4367
- duration: str = None,
4368
- index: str = None,
4369
- lang: str = None,
4370
- sample_fmt: str = None,
4371
- sample_rate: str = None,
4372
- start_time: str = None,
4373
- timebase: str = None,
4687
+ audio_group: str = None,
4688
+ auto_select: str = None,
4689
+ forced: str = None,
4690
+ group: str = None,
4691
+ is_default: str = None,
4692
+ language: str = None,
4693
+ name: str = None,
4694
+ subtitle_group: str = None,
4695
+ type: str = None,
4374
4696
  ):
4375
- self.bitrate = bitrate
4376
- self.channel_layout = channel_layout
4377
- self.channels = channels
4378
- self.codec_long_name = codec_long_name
4379
- self.codec_name = codec_name
4380
- self.codec_tag = codec_tag
4381
- self.codec_tag_string = codec_tag_string
4382
- self.codec_time_base = codec_time_base
4383
- self.duration = duration
4384
- self.index = index
4385
- self.lang = lang
4386
- self.sample_fmt = sample_fmt
4387
- self.sample_rate = sample_rate
4388
- self.start_time = start_time
4389
- self.timebase = timebase
4697
+ self.audio_group = audio_group
4698
+ self.auto_select = auto_select
4699
+ self.forced = forced
4700
+ self.group = group
4701
+ self.is_default = is_default
4702
+ self.language = language
4703
+ self.name = name
4704
+ self.subtitle_group = subtitle_group
4705
+ self.type = type
4390
4706
 
4391
4707
  def validate(self):
4392
4708
  pass
@@ -4397,104 +4713,1043 @@ class MediaConvertOutputDetailFileMetaAudioStreamInfoList(TeaModel):
4397
4713
  return _map
4398
4714
 
4399
4715
  result = dict()
4400
- if self.bitrate is not None:
4401
- result['Bitrate'] = self.bitrate
4402
- if self.channel_layout is not None:
4403
- result['ChannelLayout'] = self.channel_layout
4404
- if self.channels is not None:
4716
+ if self.audio_group is not None:
4717
+ result['AudioGroup'] = self.audio_group
4718
+ if self.auto_select is not None:
4719
+ result['AutoSelect'] = self.auto_select
4720
+ if self.forced is not None:
4721
+ result['Forced'] = self.forced
4722
+ if self.group is not None:
4723
+ result['Group'] = self.group
4724
+ if self.is_default is not None:
4725
+ result['IsDefault'] = self.is_default
4726
+ if self.language is not None:
4727
+ result['Language'] = self.language
4728
+ if self.name is not None:
4729
+ result['Name'] = self.name
4730
+ if self.subtitle_group is not None:
4731
+ result['SubtitleGroup'] = self.subtitle_group
4732
+ if self.type is not None:
4733
+ result['Type'] = self.type
4734
+ return result
4735
+
4736
+ def from_map(self, m: dict = None):
4737
+ m = m or dict()
4738
+ if m.get('AudioGroup') is not None:
4739
+ self.audio_group = m.get('AudioGroup')
4740
+ if m.get('AutoSelect') is not None:
4741
+ self.auto_select = m.get('AutoSelect')
4742
+ if m.get('Forced') is not None:
4743
+ self.forced = m.get('Forced')
4744
+ if m.get('Group') is not None:
4745
+ self.group = m.get('Group')
4746
+ if m.get('IsDefault') is not None:
4747
+ self.is_default = m.get('IsDefault')
4748
+ if m.get('Language') is not None:
4749
+ self.language = m.get('Language')
4750
+ if m.get('Name') is not None:
4751
+ self.name = m.get('Name')
4752
+ if m.get('SubtitleGroup') is not None:
4753
+ self.subtitle_group = m.get('SubtitleGroup')
4754
+ if m.get('Type') is not None:
4755
+ self.type = m.get('Type')
4756
+ return self
4757
+
4758
+
4759
+ class MediaConvertJobConfigOutputGroupsOutputs(TeaModel):
4760
+ def __init__(
4761
+ self,
4762
+ features: str = None,
4763
+ hls_group_config: MediaConvertJobConfigOutputGroupsOutputsHlsGroupConfig = None,
4764
+ name: str = None,
4765
+ output_file_name: str = None,
4766
+ override_params: str = None,
4767
+ priority: int = None,
4768
+ template_id: str = None,
4769
+ ):
4770
+ self.features = features
4771
+ self.hls_group_config = hls_group_config
4772
+ self.name = name
4773
+ self.output_file_name = output_file_name
4774
+ self.override_params = override_params
4775
+ self.priority = priority
4776
+ self.template_id = template_id
4777
+
4778
+ def validate(self):
4779
+ if self.hls_group_config:
4780
+ self.hls_group_config.validate()
4781
+
4782
+ def to_map(self):
4783
+ _map = super().to_map()
4784
+ if _map is not None:
4785
+ return _map
4786
+
4787
+ result = dict()
4788
+ if self.features is not None:
4789
+ result['Features'] = self.features
4790
+ if self.hls_group_config is not None:
4791
+ result['HlsGroupConfig'] = self.hls_group_config.to_map()
4792
+ if self.name is not None:
4793
+ result['Name'] = self.name
4794
+ if self.output_file_name is not None:
4795
+ result['OutputFileName'] = self.output_file_name
4796
+ if self.override_params is not None:
4797
+ result['OverrideParams'] = self.override_params
4798
+ if self.priority is not None:
4799
+ result['Priority'] = self.priority
4800
+ if self.template_id is not None:
4801
+ result['TemplateId'] = self.template_id
4802
+ return result
4803
+
4804
+ def from_map(self, m: dict = None):
4805
+ m = m or dict()
4806
+ if m.get('Features') is not None:
4807
+ self.features = m.get('Features')
4808
+ if m.get('HlsGroupConfig') is not None:
4809
+ temp_model = MediaConvertJobConfigOutputGroupsOutputsHlsGroupConfig()
4810
+ self.hls_group_config = temp_model.from_map(m['HlsGroupConfig'])
4811
+ if m.get('Name') is not None:
4812
+ self.name = m.get('Name')
4813
+ if m.get('OutputFileName') is not None:
4814
+ self.output_file_name = m.get('OutputFileName')
4815
+ if m.get('OverrideParams') is not None:
4816
+ self.override_params = m.get('OverrideParams')
4817
+ if m.get('Priority') is not None:
4818
+ self.priority = m.get('Priority')
4819
+ if m.get('TemplateId') is not None:
4820
+ self.template_id = m.get('TemplateId')
4821
+ return self
4822
+
4823
+
4824
+ class MediaConvertJobConfigOutputGroups(TeaModel):
4825
+ def __init__(
4826
+ self,
4827
+ group_config: MediaConvertJobConfigOutputGroupsGroupConfig = None,
4828
+ name: str = None,
4829
+ outputs: List[MediaConvertJobConfigOutputGroupsOutputs] = None,
4830
+ ):
4831
+ self.group_config = group_config
4832
+ self.name = name
4833
+ self.outputs = outputs
4834
+
4835
+ def validate(self):
4836
+ if self.group_config:
4837
+ self.group_config.validate()
4838
+ if self.outputs:
4839
+ for k in self.outputs:
4840
+ if k:
4841
+ k.validate()
4842
+
4843
+ def to_map(self):
4844
+ _map = super().to_map()
4845
+ if _map is not None:
4846
+ return _map
4847
+
4848
+ result = dict()
4849
+ if self.group_config is not None:
4850
+ result['GroupConfig'] = self.group_config.to_map()
4851
+ if self.name is not None:
4852
+ result['Name'] = self.name
4853
+ result['Outputs'] = []
4854
+ if self.outputs is not None:
4855
+ for k in self.outputs:
4856
+ result['Outputs'].append(k.to_map() if k else None)
4857
+ return result
4858
+
4859
+ def from_map(self, m: dict = None):
4860
+ m = m or dict()
4861
+ if m.get('GroupConfig') is not None:
4862
+ temp_model = MediaConvertJobConfigOutputGroupsGroupConfig()
4863
+ self.group_config = temp_model.from_map(m['GroupConfig'])
4864
+ if m.get('Name') is not None:
4865
+ self.name = m.get('Name')
4866
+ self.outputs = []
4867
+ if m.get('Outputs') is not None:
4868
+ for k in m.get('Outputs'):
4869
+ temp_model = MediaConvertJobConfigOutputGroupsOutputs()
4870
+ self.outputs.append(temp_model.from_map(k))
4871
+ return self
4872
+
4873
+
4874
+ class MediaConvertJobConfig(TeaModel):
4875
+ def __init__(
4876
+ self,
4877
+ inputs: List[MediaConvertJobConfigInputs] = None,
4878
+ job_name: str = None,
4879
+ output_groups: List[MediaConvertJobConfigOutputGroups] = None,
4880
+ ):
4881
+ self.inputs = inputs
4882
+ self.job_name = job_name
4883
+ self.output_groups = output_groups
4884
+
4885
+ def validate(self):
4886
+ if self.inputs:
4887
+ for k in self.inputs:
4888
+ if k:
4889
+ k.validate()
4890
+ if self.output_groups:
4891
+ for k in self.output_groups:
4892
+ if k:
4893
+ k.validate()
4894
+
4895
+ def to_map(self):
4896
+ _map = super().to_map()
4897
+ if _map is not None:
4898
+ return _map
4899
+
4900
+ result = dict()
4901
+ result['Inputs'] = []
4902
+ if self.inputs is not None:
4903
+ for k in self.inputs:
4904
+ result['Inputs'].append(k.to_map() if k else None)
4905
+ if self.job_name is not None:
4906
+ result['JobName'] = self.job_name
4907
+ result['OutputGroups'] = []
4908
+ if self.output_groups is not None:
4909
+ for k in self.output_groups:
4910
+ result['OutputGroups'].append(k.to_map() if k else None)
4911
+ return result
4912
+
4913
+ def from_map(self, m: dict = None):
4914
+ m = m or dict()
4915
+ self.inputs = []
4916
+ if m.get('Inputs') is not None:
4917
+ for k in m.get('Inputs'):
4918
+ temp_model = MediaConvertJobConfigInputs()
4919
+ self.inputs.append(temp_model.from_map(k))
4920
+ if m.get('JobName') is not None:
4921
+ self.job_name = m.get('JobName')
4922
+ self.output_groups = []
4923
+ if m.get('OutputGroups') is not None:
4924
+ for k in m.get('OutputGroups'):
4925
+ temp_model = MediaConvertJobConfigOutputGroups()
4926
+ self.output_groups.append(temp_model.from_map(k))
4927
+ return self
4928
+
4929
+
4930
+ class MediaConvertOutputDetailResultOutputFile(TeaModel):
4931
+ def __init__(
4932
+ self,
4933
+ media: str = None,
4934
+ type: str = None,
4935
+ url: str = None,
4936
+ ):
4937
+ self.media = media
4938
+ self.type = type
4939
+ self.url = url
4940
+
4941
+ def validate(self):
4942
+ pass
4943
+
4944
+ def to_map(self):
4945
+ _map = super().to_map()
4946
+ if _map is not None:
4947
+ return _map
4948
+
4949
+ result = dict()
4950
+ if self.media is not None:
4951
+ result['Media'] = self.media
4952
+ if self.type is not None:
4953
+ result['Type'] = self.type
4954
+ if self.url is not None:
4955
+ result['Url'] = self.url
4956
+ return result
4957
+
4958
+ def from_map(self, m: dict = None):
4959
+ m = m or dict()
4960
+ if m.get('Media') is not None:
4961
+ self.media = m.get('Media')
4962
+ if m.get('Type') is not None:
4963
+ self.type = m.get('Type')
4964
+ if m.get('Url') is not None:
4965
+ self.url = m.get('Url')
4966
+ return self
4967
+
4968
+
4969
+ class MediaConvertOutputDetailFileMetaAudioStreamInfoList(TeaModel):
4970
+ def __init__(
4971
+ self,
4972
+ bitrate: str = None,
4973
+ channel_layout: str = None,
4974
+ channels: str = None,
4975
+ codec_long_name: str = None,
4976
+ codec_name: str = None,
4977
+ codec_tag: str = None,
4978
+ codec_tag_string: str = None,
4979
+ codec_time_base: str = None,
4980
+ duration: str = None,
4981
+ index: str = None,
4982
+ lang: str = None,
4983
+ sample_fmt: str = None,
4984
+ sample_rate: str = None,
4985
+ start_time: str = None,
4986
+ timebase: str = None,
4987
+ ):
4988
+ self.bitrate = bitrate
4989
+ self.channel_layout = channel_layout
4990
+ self.channels = channels
4991
+ self.codec_long_name = codec_long_name
4992
+ self.codec_name = codec_name
4993
+ self.codec_tag = codec_tag
4994
+ self.codec_tag_string = codec_tag_string
4995
+ self.codec_time_base = codec_time_base
4996
+ self.duration = duration
4997
+ self.index = index
4998
+ self.lang = lang
4999
+ self.sample_fmt = sample_fmt
5000
+ self.sample_rate = sample_rate
5001
+ self.start_time = start_time
5002
+ self.timebase = timebase
5003
+
5004
+ def validate(self):
5005
+ pass
5006
+
5007
+ def to_map(self):
5008
+ _map = super().to_map()
5009
+ if _map is not None:
5010
+ return _map
5011
+
5012
+ result = dict()
5013
+ if self.bitrate is not None:
5014
+ result['Bitrate'] = self.bitrate
5015
+ if self.channel_layout is not None:
5016
+ result['ChannelLayout'] = self.channel_layout
5017
+ if self.channels is not None:
4405
5018
  result['Channels'] = self.channels
4406
5019
  if self.codec_long_name is not None:
4407
- result['CodecLongName'] = self.codec_long_name
5020
+ result['CodecLongName'] = self.codec_long_name
5021
+ if self.codec_name is not None:
5022
+ result['CodecName'] = self.codec_name
5023
+ if self.codec_tag is not None:
5024
+ result['CodecTag'] = self.codec_tag
5025
+ if self.codec_tag_string is not None:
5026
+ result['CodecTagString'] = self.codec_tag_string
5027
+ if self.codec_time_base is not None:
5028
+ result['CodecTimeBase'] = self.codec_time_base
5029
+ if self.duration is not None:
5030
+ result['Duration'] = self.duration
5031
+ if self.index is not None:
5032
+ result['Index'] = self.index
5033
+ if self.lang is not None:
5034
+ result['Lang'] = self.lang
5035
+ if self.sample_fmt is not None:
5036
+ result['SampleFmt'] = self.sample_fmt
5037
+ if self.sample_rate is not None:
5038
+ result['SampleRate'] = self.sample_rate
5039
+ if self.start_time is not None:
5040
+ result['StartTime'] = self.start_time
5041
+ if self.timebase is not None:
5042
+ result['Timebase'] = self.timebase
5043
+ return result
5044
+
5045
+ def from_map(self, m: dict = None):
5046
+ m = m or dict()
5047
+ if m.get('Bitrate') is not None:
5048
+ self.bitrate = m.get('Bitrate')
5049
+ if m.get('ChannelLayout') is not None:
5050
+ self.channel_layout = m.get('ChannelLayout')
5051
+ if m.get('Channels') is not None:
5052
+ self.channels = m.get('Channels')
5053
+ if m.get('CodecLongName') is not None:
5054
+ self.codec_long_name = m.get('CodecLongName')
5055
+ if m.get('CodecName') is not None:
5056
+ self.codec_name = m.get('CodecName')
5057
+ if m.get('CodecTag') is not None:
5058
+ self.codec_tag = m.get('CodecTag')
5059
+ if m.get('CodecTagString') is not None:
5060
+ self.codec_tag_string = m.get('CodecTagString')
5061
+ if m.get('CodecTimeBase') is not None:
5062
+ self.codec_time_base = m.get('CodecTimeBase')
5063
+ if m.get('Duration') is not None:
5064
+ self.duration = m.get('Duration')
5065
+ if m.get('Index') is not None:
5066
+ self.index = m.get('Index')
5067
+ if m.get('Lang') is not None:
5068
+ self.lang = m.get('Lang')
5069
+ if m.get('SampleFmt') is not None:
5070
+ self.sample_fmt = m.get('SampleFmt')
5071
+ if m.get('SampleRate') is not None:
5072
+ self.sample_rate = m.get('SampleRate')
5073
+ if m.get('StartTime') is not None:
5074
+ self.start_time = m.get('StartTime')
5075
+ if m.get('Timebase') is not None:
5076
+ self.timebase = m.get('Timebase')
5077
+ return self
5078
+
5079
+
5080
+ class MediaConvertOutputDetailFileMetaFileBasicInfo(TeaModel):
5081
+ def __init__(
5082
+ self,
5083
+ bitrate: str = None,
5084
+ duration: str = None,
5085
+ file_name: str = None,
5086
+ file_size: str = None,
5087
+ file_status: str = None,
5088
+ file_type: str = None,
5089
+ file_url: str = None,
5090
+ format_name: str = None,
5091
+ height: str = None,
5092
+ media_id: str = None,
5093
+ region: str = None,
5094
+ width: str = None,
5095
+ ):
5096
+ self.bitrate = bitrate
5097
+ self.duration = duration
5098
+ self.file_name = file_name
5099
+ self.file_size = file_size
5100
+ self.file_status = file_status
5101
+ self.file_type = file_type
5102
+ self.file_url = file_url
5103
+ self.format_name = format_name
5104
+ self.height = height
5105
+ self.media_id = media_id
5106
+ self.region = region
5107
+ self.width = width
5108
+
5109
+ def validate(self):
5110
+ pass
5111
+
5112
+ def to_map(self):
5113
+ _map = super().to_map()
5114
+ if _map is not None:
5115
+ return _map
5116
+
5117
+ result = dict()
5118
+ if self.bitrate is not None:
5119
+ result['Bitrate'] = self.bitrate
5120
+ if self.duration is not None:
5121
+ result['Duration'] = self.duration
5122
+ if self.file_name is not None:
5123
+ result['FileName'] = self.file_name
5124
+ if self.file_size is not None:
5125
+ result['FileSize'] = self.file_size
5126
+ if self.file_status is not None:
5127
+ result['FileStatus'] = self.file_status
5128
+ if self.file_type is not None:
5129
+ result['FileType'] = self.file_type
5130
+ if self.file_url is not None:
5131
+ result['FileUrl'] = self.file_url
5132
+ if self.format_name is not None:
5133
+ result['FormatName'] = self.format_name
5134
+ if self.height is not None:
5135
+ result['Height'] = self.height
5136
+ if self.media_id is not None:
5137
+ result['MediaId'] = self.media_id
5138
+ if self.region is not None:
5139
+ result['Region'] = self.region
5140
+ if self.width is not None:
5141
+ result['Width'] = self.width
5142
+ return result
5143
+
5144
+ def from_map(self, m: dict = None):
5145
+ m = m or dict()
5146
+ if m.get('Bitrate') is not None:
5147
+ self.bitrate = m.get('Bitrate')
5148
+ if m.get('Duration') is not None:
5149
+ self.duration = m.get('Duration')
5150
+ if m.get('FileName') is not None:
5151
+ self.file_name = m.get('FileName')
5152
+ if m.get('FileSize') is not None:
5153
+ self.file_size = m.get('FileSize')
5154
+ if m.get('FileStatus') is not None:
5155
+ self.file_status = m.get('FileStatus')
5156
+ if m.get('FileType') is not None:
5157
+ self.file_type = m.get('FileType')
5158
+ if m.get('FileUrl') is not None:
5159
+ self.file_url = m.get('FileUrl')
5160
+ if m.get('FormatName') is not None:
5161
+ self.format_name = m.get('FormatName')
5162
+ if m.get('Height') is not None:
5163
+ self.height = m.get('Height')
5164
+ if m.get('MediaId') is not None:
5165
+ self.media_id = m.get('MediaId')
5166
+ if m.get('Region') is not None:
5167
+ self.region = m.get('Region')
5168
+ if m.get('Width') is not None:
5169
+ self.width = m.get('Width')
5170
+ return self
5171
+
5172
+
5173
+ class MediaConvertOutputDetailFileMetaVideoStreamInfoList(TeaModel):
5174
+ def __init__(
5175
+ self,
5176
+ avg_fps: str = None,
5177
+ bit_rate: str = None,
5178
+ codec_long_name: str = None,
5179
+ codec_name: str = None,
5180
+ codec_tag: str = None,
5181
+ codec_tag_string: str = None,
5182
+ codec_time_base: str = None,
5183
+ dar: str = None,
5184
+ duration: str = None,
5185
+ fps: str = None,
5186
+ has_bframes: str = None,
5187
+ height: str = None,
5188
+ index: str = None,
5189
+ lang: str = None,
5190
+ level: str = None,
5191
+ num_frames: str = None,
5192
+ pix_fmt: str = None,
5193
+ profile: str = None,
5194
+ rotate: str = None,
5195
+ sar: str = None,
5196
+ start_time: str = None,
5197
+ time_base: str = None,
5198
+ width: str = None,
5199
+ ):
5200
+ self.avg_fps = avg_fps
5201
+ self.bit_rate = bit_rate
5202
+ self.codec_long_name = codec_long_name
5203
+ self.codec_name = codec_name
5204
+ self.codec_tag = codec_tag
5205
+ self.codec_tag_string = codec_tag_string
5206
+ self.codec_time_base = codec_time_base
5207
+ self.dar = dar
5208
+ self.duration = duration
5209
+ self.fps = fps
5210
+ self.has_bframes = has_bframes
5211
+ self.height = height
5212
+ self.index = index
5213
+ self.lang = lang
5214
+ self.level = level
5215
+ self.num_frames = num_frames
5216
+ self.pix_fmt = pix_fmt
5217
+ self.profile = profile
5218
+ self.rotate = rotate
5219
+ self.sar = sar
5220
+ self.start_time = start_time
5221
+ self.time_base = time_base
5222
+ self.width = width
5223
+
5224
+ def validate(self):
5225
+ pass
5226
+
5227
+ def to_map(self):
5228
+ _map = super().to_map()
5229
+ if _map is not None:
5230
+ return _map
5231
+
5232
+ result = dict()
5233
+ if self.avg_fps is not None:
5234
+ result['Avg_fps'] = self.avg_fps
5235
+ if self.bit_rate is not None:
5236
+ result['Bit_rate'] = self.bit_rate
5237
+ if self.codec_long_name is not None:
5238
+ result['Codec_long_name'] = self.codec_long_name
4408
5239
  if self.codec_name is not None:
4409
- result['CodecName'] = self.codec_name
5240
+ result['Codec_name'] = self.codec_name
4410
5241
  if self.codec_tag is not None:
4411
- result['CodecTag'] = self.codec_tag
5242
+ result['Codec_tag'] = self.codec_tag
4412
5243
  if self.codec_tag_string is not None:
4413
- result['CodecTagString'] = self.codec_tag_string
5244
+ result['Codec_tag_string'] = self.codec_tag_string
4414
5245
  if self.codec_time_base is not None:
4415
- result['CodecTimeBase'] = self.codec_time_base
5246
+ result['Codec_time_base'] = self.codec_time_base
5247
+ if self.dar is not None:
5248
+ result['Dar'] = self.dar
4416
5249
  if self.duration is not None:
4417
5250
  result['Duration'] = self.duration
5251
+ if self.fps is not None:
5252
+ result['Fps'] = self.fps
5253
+ if self.has_bframes is not None:
5254
+ result['Has_b_frames'] = self.has_bframes
5255
+ if self.height is not None:
5256
+ result['Height'] = self.height
4418
5257
  if self.index is not None:
4419
5258
  result['Index'] = self.index
4420
5259
  if self.lang is not None:
4421
5260
  result['Lang'] = self.lang
4422
- if self.sample_fmt is not None:
4423
- result['SampleFmt'] = self.sample_fmt
4424
- if self.sample_rate is not None:
4425
- result['SampleRate'] = self.sample_rate
5261
+ if self.level is not None:
5262
+ result['Level'] = self.level
5263
+ if self.num_frames is not None:
5264
+ result['NumFrames'] = self.num_frames
5265
+ if self.pix_fmt is not None:
5266
+ result['PixFmt'] = self.pix_fmt
5267
+ if self.profile is not None:
5268
+ result['Profile'] = self.profile
5269
+ if self.rotate is not None:
5270
+ result['Rotate'] = self.rotate
5271
+ if self.sar is not None:
5272
+ result['Sar'] = self.sar
4426
5273
  if self.start_time is not None:
4427
- result['StartTime'] = self.start_time
4428
- if self.timebase is not None:
4429
- result['Timebase'] = self.timebase
5274
+ result['Start_time'] = self.start_time
5275
+ if self.time_base is not None:
5276
+ result['Time_base'] = self.time_base
5277
+ if self.width is not None:
5278
+ result['Width'] = self.width
5279
+ return result
5280
+
5281
+ def from_map(self, m: dict = None):
5282
+ m = m or dict()
5283
+ if m.get('Avg_fps') is not None:
5284
+ self.avg_fps = m.get('Avg_fps')
5285
+ if m.get('Bit_rate') is not None:
5286
+ self.bit_rate = m.get('Bit_rate')
5287
+ if m.get('Codec_long_name') is not None:
5288
+ self.codec_long_name = m.get('Codec_long_name')
5289
+ if m.get('Codec_name') is not None:
5290
+ self.codec_name = m.get('Codec_name')
5291
+ if m.get('Codec_tag') is not None:
5292
+ self.codec_tag = m.get('Codec_tag')
5293
+ if m.get('Codec_tag_string') is not None:
5294
+ self.codec_tag_string = m.get('Codec_tag_string')
5295
+ if m.get('Codec_time_base') is not None:
5296
+ self.codec_time_base = m.get('Codec_time_base')
5297
+ if m.get('Dar') is not None:
5298
+ self.dar = m.get('Dar')
5299
+ if m.get('Duration') is not None:
5300
+ self.duration = m.get('Duration')
5301
+ if m.get('Fps') is not None:
5302
+ self.fps = m.get('Fps')
5303
+ if m.get('Has_b_frames') is not None:
5304
+ self.has_bframes = m.get('Has_b_frames')
5305
+ if m.get('Height') is not None:
5306
+ self.height = m.get('Height')
5307
+ if m.get('Index') is not None:
5308
+ self.index = m.get('Index')
5309
+ if m.get('Lang') is not None:
5310
+ self.lang = m.get('Lang')
5311
+ if m.get('Level') is not None:
5312
+ self.level = m.get('Level')
5313
+ if m.get('NumFrames') is not None:
5314
+ self.num_frames = m.get('NumFrames')
5315
+ if m.get('PixFmt') is not None:
5316
+ self.pix_fmt = m.get('PixFmt')
5317
+ if m.get('Profile') is not None:
5318
+ self.profile = m.get('Profile')
5319
+ if m.get('Rotate') is not None:
5320
+ self.rotate = m.get('Rotate')
5321
+ if m.get('Sar') is not None:
5322
+ self.sar = m.get('Sar')
5323
+ if m.get('Start_time') is not None:
5324
+ self.start_time = m.get('Start_time')
5325
+ if m.get('Time_base') is not None:
5326
+ self.time_base = m.get('Time_base')
5327
+ if m.get('Width') is not None:
5328
+ self.width = m.get('Width')
5329
+ return self
5330
+
5331
+
5332
+ class MediaConvertOutputDetailFileMeta(TeaModel):
5333
+ def __init__(
5334
+ self,
5335
+ audio_stream_info_list: List[MediaConvertOutputDetailFileMetaAudioStreamInfoList] = None,
5336
+ file_basic_info: MediaConvertOutputDetailFileMetaFileBasicInfo = None,
5337
+ video_stream_info_list: List[MediaConvertOutputDetailFileMetaVideoStreamInfoList] = None,
5338
+ ):
5339
+ self.audio_stream_info_list = audio_stream_info_list
5340
+ self.file_basic_info = file_basic_info
5341
+ self.video_stream_info_list = video_stream_info_list
5342
+
5343
+ def validate(self):
5344
+ if self.audio_stream_info_list:
5345
+ for k in self.audio_stream_info_list:
5346
+ if k:
5347
+ k.validate()
5348
+ if self.file_basic_info:
5349
+ self.file_basic_info.validate()
5350
+ if self.video_stream_info_list:
5351
+ for k in self.video_stream_info_list:
5352
+ if k:
5353
+ k.validate()
5354
+
5355
+ def to_map(self):
5356
+ _map = super().to_map()
5357
+ if _map is not None:
5358
+ return _map
5359
+
5360
+ result = dict()
5361
+ result['AudioStreamInfoList'] = []
5362
+ if self.audio_stream_info_list is not None:
5363
+ for k in self.audio_stream_info_list:
5364
+ result['AudioStreamInfoList'].append(k.to_map() if k else None)
5365
+ if self.file_basic_info is not None:
5366
+ result['FileBasicInfo'] = self.file_basic_info.to_map()
5367
+ result['VideoStreamInfoList'] = []
5368
+ if self.video_stream_info_list is not None:
5369
+ for k in self.video_stream_info_list:
5370
+ result['VideoStreamInfoList'].append(k.to_map() if k else None)
5371
+ return result
5372
+
5373
+ def from_map(self, m: dict = None):
5374
+ m = m or dict()
5375
+ self.audio_stream_info_list = []
5376
+ if m.get('AudioStreamInfoList') is not None:
5377
+ for k in m.get('AudioStreamInfoList'):
5378
+ temp_model = MediaConvertOutputDetailFileMetaAudioStreamInfoList()
5379
+ self.audio_stream_info_list.append(temp_model.from_map(k))
5380
+ if m.get('FileBasicInfo') is not None:
5381
+ temp_model = MediaConvertOutputDetailFileMetaFileBasicInfo()
5382
+ self.file_basic_info = temp_model.from_map(m['FileBasicInfo'])
5383
+ self.video_stream_info_list = []
5384
+ if m.get('VideoStreamInfoList') is not None:
5385
+ for k in m.get('VideoStreamInfoList'):
5386
+ temp_model = MediaConvertOutputDetailFileMetaVideoStreamInfoList()
5387
+ self.video_stream_info_list.append(temp_model.from_map(k))
5388
+ return self
5389
+
5390
+
5391
+ class MediaConvertOutputDetailResult(TeaModel):
5392
+ def __init__(
5393
+ self,
5394
+ out_file_meta: MediaConvertOutputDetailFileMeta = None,
5395
+ output_file: MediaConvertOutputDetailResultOutputFile = None,
5396
+ ):
5397
+ self.out_file_meta = out_file_meta
5398
+ self.output_file = output_file
5399
+
5400
+ def validate(self):
5401
+ if self.out_file_meta:
5402
+ self.out_file_meta.validate()
5403
+ if self.output_file:
5404
+ self.output_file.validate()
5405
+
5406
+ def to_map(self):
5407
+ _map = super().to_map()
5408
+ if _map is not None:
5409
+ return _map
5410
+
5411
+ result = dict()
5412
+ if self.out_file_meta is not None:
5413
+ result['OutFileMeta'] = self.out_file_meta.to_map()
5414
+ if self.output_file is not None:
5415
+ result['OutputFile'] = self.output_file.to_map()
5416
+ return result
5417
+
5418
+ def from_map(self, m: dict = None):
5419
+ m = m or dict()
5420
+ if m.get('OutFileMeta') is not None:
5421
+ temp_model = MediaConvertOutputDetailFileMeta()
5422
+ self.out_file_meta = temp_model.from_map(m['OutFileMeta'])
5423
+ if m.get('OutputFile') is not None:
5424
+ temp_model = MediaConvertOutputDetailResultOutputFile()
5425
+ self.output_file = temp_model.from_map(m['OutputFile'])
5426
+ return self
5427
+
5428
+
5429
+ class MediaConvertOutputDetail(TeaModel):
5430
+ def __init__(
5431
+ self,
5432
+ code: str = None,
5433
+ create_time: str = None,
5434
+ finish_time: str = None,
5435
+ message: str = None,
5436
+ name: str = None,
5437
+ result: MediaConvertOutputDetailResult = None,
5438
+ status: str = None,
5439
+ task_id: str = None,
5440
+ ):
5441
+ self.code = code
5442
+ self.create_time = create_time
5443
+ self.finish_time = finish_time
5444
+ self.message = message
5445
+ self.name = name
5446
+ self.result = result
5447
+ self.status = status
5448
+ self.task_id = task_id
5449
+
5450
+ def validate(self):
5451
+ if self.result:
5452
+ self.result.validate()
5453
+
5454
+ def to_map(self):
5455
+ _map = super().to_map()
5456
+ if _map is not None:
5457
+ return _map
5458
+
5459
+ result = dict()
5460
+ if self.code is not None:
5461
+ result['Code'] = self.code
5462
+ if self.create_time is not None:
5463
+ result['CreateTime'] = self.create_time
5464
+ if self.finish_time is not None:
5465
+ result['FinishTime'] = self.finish_time
5466
+ if self.message is not None:
5467
+ result['Message'] = self.message
5468
+ if self.name is not None:
5469
+ result['Name'] = self.name
5470
+ if self.result is not None:
5471
+ result['Result'] = self.result.to_map()
5472
+ if self.status is not None:
5473
+ result['Status'] = self.status
5474
+ if self.task_id is not None:
5475
+ result['TaskId'] = self.task_id
5476
+ return result
5477
+
5478
+ def from_map(self, m: dict = None):
5479
+ m = m or dict()
5480
+ if m.get('Code') is not None:
5481
+ self.code = m.get('Code')
5482
+ if m.get('CreateTime') is not None:
5483
+ self.create_time = m.get('CreateTime')
5484
+ if m.get('FinishTime') is not None:
5485
+ self.finish_time = m.get('FinishTime')
5486
+ if m.get('Message') is not None:
5487
+ self.message = m.get('Message')
5488
+ if m.get('Name') is not None:
5489
+ self.name = m.get('Name')
5490
+ if m.get('Result') is not None:
5491
+ temp_model = MediaConvertOutputDetailResult()
5492
+ self.result = temp_model.from_map(m['Result'])
5493
+ if m.get('Status') is not None:
5494
+ self.status = m.get('Status')
5495
+ if m.get('TaskId') is not None:
5496
+ self.task_id = m.get('TaskId')
5497
+ return self
5498
+
5499
+
5500
+ class MediaConvertOutputGroupDetail(TeaModel):
5501
+ def __init__(
5502
+ self,
5503
+ code: str = None,
5504
+ create_time: str = None,
5505
+ finish_time: str = None,
5506
+ message: str = None,
5507
+ name: str = None,
5508
+ outputs: List[MediaConvertOutputDetail] = None,
5509
+ status: str = None,
5510
+ task_id: str = None,
5511
+ ):
5512
+ self.code = code
5513
+ self.create_time = create_time
5514
+ self.finish_time = finish_time
5515
+ self.message = message
5516
+ self.name = name
5517
+ self.outputs = outputs
5518
+ self.status = status
5519
+ self.task_id = task_id
5520
+
5521
+ def validate(self):
5522
+ if self.outputs:
5523
+ for k in self.outputs:
5524
+ if k:
5525
+ k.validate()
5526
+
5527
+ def to_map(self):
5528
+ _map = super().to_map()
5529
+ if _map is not None:
5530
+ return _map
5531
+
5532
+ result = dict()
5533
+ if self.code is not None:
5534
+ result['Code'] = self.code
5535
+ if self.create_time is not None:
5536
+ result['CreateTime'] = self.create_time
5537
+ if self.finish_time is not None:
5538
+ result['FinishTime'] = self.finish_time
5539
+ if self.message is not None:
5540
+ result['Message'] = self.message
5541
+ if self.name is not None:
5542
+ result['Name'] = self.name
5543
+ result['Outputs'] = []
5544
+ if self.outputs is not None:
5545
+ for k in self.outputs:
5546
+ result['Outputs'].append(k.to_map() if k else None)
5547
+ if self.status is not None:
5548
+ result['Status'] = self.status
5549
+ if self.task_id is not None:
5550
+ result['TaskId'] = self.task_id
5551
+ return result
5552
+
5553
+ def from_map(self, m: dict = None):
5554
+ m = m or dict()
5555
+ if m.get('Code') is not None:
5556
+ self.code = m.get('Code')
5557
+ if m.get('CreateTime') is not None:
5558
+ self.create_time = m.get('CreateTime')
5559
+ if m.get('FinishTime') is not None:
5560
+ self.finish_time = m.get('FinishTime')
5561
+ if m.get('Message') is not None:
5562
+ self.message = m.get('Message')
5563
+ if m.get('Name') is not None:
5564
+ self.name = m.get('Name')
5565
+ self.outputs = []
5566
+ if m.get('Outputs') is not None:
5567
+ for k in m.get('Outputs'):
5568
+ temp_model = MediaConvertOutputDetail()
5569
+ self.outputs.append(temp_model.from_map(k))
5570
+ if m.get('Status') is not None:
5571
+ self.status = m.get('Status')
5572
+ if m.get('TaskId') is not None:
5573
+ self.task_id = m.get('TaskId')
5574
+ return self
5575
+
5576
+
5577
+ class MediaConvertJob(TeaModel):
5578
+ def __init__(
5579
+ self,
5580
+ client_token: str = None,
5581
+ code: str = None,
5582
+ config: MediaConvertJobConfig = None,
5583
+ create_time: str = None,
5584
+ finish_time: str = None,
5585
+ job_id: str = None,
5586
+ message: str = None,
5587
+ output_details: List[MediaConvertOutputDetail] = None,
5588
+ output_group_details: List[MediaConvertOutputGroupDetail] = None,
5589
+ percent: int = None,
5590
+ pipeline_id: str = None,
5591
+ request_id: str = None,
5592
+ state: str = None,
5593
+ user_data: str = None,
5594
+ ):
5595
+ self.client_token = client_token
5596
+ self.code = code
5597
+ self.config = config
5598
+ self.create_time = create_time
5599
+ self.finish_time = finish_time
5600
+ self.job_id = job_id
5601
+ self.message = message
5602
+ self.output_details = output_details
5603
+ self.output_group_details = output_group_details
5604
+ self.percent = percent
5605
+ self.pipeline_id = pipeline_id
5606
+ self.request_id = request_id
5607
+ self.state = state
5608
+ self.user_data = user_data
5609
+
5610
+ def validate(self):
5611
+ if self.config:
5612
+ self.config.validate()
5613
+ if self.output_details:
5614
+ for k in self.output_details:
5615
+ if k:
5616
+ k.validate()
5617
+ if self.output_group_details:
5618
+ for k in self.output_group_details:
5619
+ if k:
5620
+ k.validate()
5621
+
5622
+ def to_map(self):
5623
+ _map = super().to_map()
5624
+ if _map is not None:
5625
+ return _map
5626
+
5627
+ result = dict()
5628
+ if self.client_token is not None:
5629
+ result['ClientToken'] = self.client_token
5630
+ if self.code is not None:
5631
+ result['Code'] = self.code
5632
+ if self.config is not None:
5633
+ result['Config'] = self.config.to_map()
5634
+ if self.create_time is not None:
5635
+ result['CreateTime'] = self.create_time
5636
+ if self.finish_time is not None:
5637
+ result['FinishTime'] = self.finish_time
5638
+ if self.job_id is not None:
5639
+ result['JobId'] = self.job_id
5640
+ if self.message is not None:
5641
+ result['Message'] = self.message
5642
+ result['OutputDetails'] = []
5643
+ if self.output_details is not None:
5644
+ for k in self.output_details:
5645
+ result['OutputDetails'].append(k.to_map() if k else None)
5646
+ result['OutputGroupDetails'] = []
5647
+ if self.output_group_details is not None:
5648
+ for k in self.output_group_details:
5649
+ result['OutputGroupDetails'].append(k.to_map() if k else None)
5650
+ if self.percent is not None:
5651
+ result['Percent'] = self.percent
5652
+ if self.pipeline_id is not None:
5653
+ result['PipelineId'] = self.pipeline_id
5654
+ if self.request_id is not None:
5655
+ result['RequestId'] = self.request_id
5656
+ if self.state is not None:
5657
+ result['State'] = self.state
5658
+ if self.user_data is not None:
5659
+ result['UserData'] = self.user_data
5660
+ return result
5661
+
5662
+ def from_map(self, m: dict = None):
5663
+ m = m or dict()
5664
+ if m.get('ClientToken') is not None:
5665
+ self.client_token = m.get('ClientToken')
5666
+ if m.get('Code') is not None:
5667
+ self.code = m.get('Code')
5668
+ if m.get('Config') is not None:
5669
+ temp_model = MediaConvertJobConfig()
5670
+ self.config = temp_model.from_map(m['Config'])
5671
+ if m.get('CreateTime') is not None:
5672
+ self.create_time = m.get('CreateTime')
5673
+ if m.get('FinishTime') is not None:
5674
+ self.finish_time = m.get('FinishTime')
5675
+ if m.get('JobId') is not None:
5676
+ self.job_id = m.get('JobId')
5677
+ if m.get('Message') is not None:
5678
+ self.message = m.get('Message')
5679
+ self.output_details = []
5680
+ if m.get('OutputDetails') is not None:
5681
+ for k in m.get('OutputDetails'):
5682
+ temp_model = MediaConvertOutputDetail()
5683
+ self.output_details.append(temp_model.from_map(k))
5684
+ self.output_group_details = []
5685
+ if m.get('OutputGroupDetails') is not None:
5686
+ for k in m.get('OutputGroupDetails'):
5687
+ temp_model = MediaConvertOutputGroupDetail()
5688
+ self.output_group_details.append(temp_model.from_map(k))
5689
+ if m.get('Percent') is not None:
5690
+ self.percent = m.get('Percent')
5691
+ if m.get('PipelineId') is not None:
5692
+ self.pipeline_id = m.get('PipelineId')
5693
+ if m.get('RequestId') is not None:
5694
+ self.request_id = m.get('RequestId')
5695
+ if m.get('State') is not None:
5696
+ self.state = m.get('State')
5697
+ if m.get('UserData') is not None:
5698
+ self.user_data = m.get('UserData')
5699
+ return self
5700
+
5701
+
5702
+ class MediaConvertJobFeatureClipTimeSpan(TeaModel):
5703
+ def __init__(
5704
+ self,
5705
+ duration: str = None,
5706
+ end: str = None,
5707
+ seek: str = None,
5708
+ ):
5709
+ self.duration = duration
5710
+ self.end = end
5711
+ self.seek = seek
5712
+
5713
+ def validate(self):
5714
+ pass
5715
+
5716
+ def to_map(self):
5717
+ _map = super().to_map()
5718
+ if _map is not None:
5719
+ return _map
5720
+
5721
+ result = dict()
5722
+ if self.duration is not None:
5723
+ result['Duration'] = self.duration
5724
+ if self.end is not None:
5725
+ result['End'] = self.end
5726
+ if self.seek is not None:
5727
+ result['Seek'] = self.seek
4430
5728
  return result
4431
5729
 
4432
5730
  def from_map(self, m: dict = None):
4433
5731
  m = m or dict()
4434
- if m.get('Bitrate') is not None:
4435
- self.bitrate = m.get('Bitrate')
4436
- if m.get('ChannelLayout') is not None:
4437
- self.channel_layout = m.get('ChannelLayout')
4438
- if m.get('Channels') is not None:
4439
- self.channels = m.get('Channels')
4440
- if m.get('CodecLongName') is not None:
4441
- self.codec_long_name = m.get('CodecLongName')
4442
- if m.get('CodecName') is not None:
4443
- self.codec_name = m.get('CodecName')
4444
- if m.get('CodecTag') is not None:
4445
- self.codec_tag = m.get('CodecTag')
4446
- if m.get('CodecTagString') is not None:
4447
- self.codec_tag_string = m.get('CodecTagString')
4448
- if m.get('CodecTimeBase') is not None:
4449
- self.codec_time_base = m.get('CodecTimeBase')
4450
5732
  if m.get('Duration') is not None:
4451
5733
  self.duration = m.get('Duration')
4452
- if m.get('Index') is not None:
4453
- self.index = m.get('Index')
4454
- if m.get('Lang') is not None:
4455
- self.lang = m.get('Lang')
4456
- if m.get('SampleFmt') is not None:
4457
- self.sample_fmt = m.get('SampleFmt')
4458
- if m.get('SampleRate') is not None:
4459
- self.sample_rate = m.get('SampleRate')
4460
- if m.get('StartTime') is not None:
4461
- self.start_time = m.get('StartTime')
4462
- if m.get('Timebase') is not None:
4463
- self.timebase = m.get('Timebase')
5734
+ if m.get('End') is not None:
5735
+ self.end = m.get('End')
5736
+ if m.get('Seek') is not None:
5737
+ self.seek = m.get('Seek')
4464
5738
  return self
4465
5739
 
4466
5740
 
4467
- class MediaConvertOutputDetailFileMetaFileBasicInfo(TeaModel):
5741
+ class MediaConvertJobFeatureClip(TeaModel):
4468
5742
  def __init__(
4469
5743
  self,
4470
- bitrate: str = None,
4471
- duration: str = None,
4472
- file_name: str = None,
4473
- file_size: str = None,
4474
- file_status: str = None,
4475
- file_type: str = None,
4476
- file_url: str = None,
4477
- format_name: str = None,
4478
- height: str = None,
4479
- media_id: str = None,
4480
- region: str = None,
4481
- width: str = None,
5744
+ config_to_clip_first_part: str = None,
5745
+ time_span: MediaConvertJobFeatureClipTimeSpan = None,
4482
5746
  ):
4483
- self.bitrate = bitrate
4484
- self.duration = duration
4485
- self.file_name = file_name
4486
- self.file_size = file_size
4487
- self.file_status = file_status
4488
- self.file_type = file_type
4489
- self.file_url = file_url
4490
- self.format_name = format_name
4491
- self.height = height
4492
- self.media_id = media_id
4493
- self.region = region
4494
- self.width = width
5747
+ self.config_to_clip_first_part = config_to_clip_first_part
5748
+ self.time_span = time_span
4495
5749
 
4496
5750
  def validate(self):
4497
- pass
5751
+ if self.time_span:
5752
+ self.time_span.validate()
4498
5753
 
4499
5754
  def to_map(self):
4500
5755
  _map = super().to_map()
@@ -4502,111 +5757,54 @@ class MediaConvertOutputDetailFileMetaFileBasicInfo(TeaModel):
4502
5757
  return _map
4503
5758
 
4504
5759
  result = dict()
4505
- if self.bitrate is not None:
4506
- result['Bitrate'] = self.bitrate
4507
- if self.duration is not None:
4508
- result['Duration'] = self.duration
4509
- if self.file_name is not None:
4510
- result['FileName'] = self.file_name
4511
- if self.file_size is not None:
4512
- result['FileSize'] = self.file_size
4513
- if self.file_status is not None:
4514
- result['FileStatus'] = self.file_status
4515
- if self.file_type is not None:
4516
- result['FileType'] = self.file_type
4517
- if self.file_url is not None:
4518
- result['FileUrl'] = self.file_url
4519
- if self.format_name is not None:
4520
- result['FormatName'] = self.format_name
4521
- if self.height is not None:
4522
- result['Height'] = self.height
4523
- if self.media_id is not None:
4524
- result['MediaId'] = self.media_id
4525
- if self.region is not None:
4526
- result['Region'] = self.region
4527
- if self.width is not None:
4528
- result['Width'] = self.width
5760
+ if self.config_to_clip_first_part is not None:
5761
+ result['ConfigToClipFirstPart'] = self.config_to_clip_first_part
5762
+ if self.time_span is not None:
5763
+ result['TimeSpan'] = self.time_span.to_map()
4529
5764
  return result
4530
5765
 
4531
5766
  def from_map(self, m: dict = None):
4532
5767
  m = m or dict()
4533
- if m.get('Bitrate') is not None:
4534
- self.bitrate = m.get('Bitrate')
4535
- if m.get('Duration') is not None:
4536
- self.duration = m.get('Duration')
4537
- if m.get('FileName') is not None:
4538
- self.file_name = m.get('FileName')
4539
- if m.get('FileSize') is not None:
4540
- self.file_size = m.get('FileSize')
4541
- if m.get('FileStatus') is not None:
4542
- self.file_status = m.get('FileStatus')
4543
- if m.get('FileType') is not None:
4544
- self.file_type = m.get('FileType')
4545
- if m.get('FileUrl') is not None:
4546
- self.file_url = m.get('FileUrl')
4547
- if m.get('FormatName') is not None:
4548
- self.format_name = m.get('FormatName')
4549
- if m.get('Height') is not None:
4550
- self.height = m.get('Height')
4551
- if m.get('MediaId') is not None:
4552
- self.media_id = m.get('MediaId')
4553
- if m.get('Region') is not None:
4554
- self.region = m.get('Region')
4555
- if m.get('Width') is not None:
4556
- self.width = m.get('Width')
5768
+ if m.get('ConfigToClipFirstPart') is not None:
5769
+ self.config_to_clip_first_part = m.get('ConfigToClipFirstPart')
5770
+ if m.get('TimeSpan') is not None:
5771
+ temp_model = MediaConvertJobFeatureClipTimeSpan()
5772
+ self.time_span = temp_model.from_map(m['TimeSpan'])
4557
5773
  return self
4558
5774
 
4559
5775
 
4560
- class MediaConvertOutputDetailFileMetaVideoStreamInfoList(TeaModel):
5776
+ class MediaConvertJobFeatureWatermarks(TeaModel):
4561
5777
  def __init__(
4562
5778
  self,
4563
- avg_fps: str = None,
4564
- bit_rate: str = None,
4565
- codec_long_name: str = None,
4566
- codec_name: str = None,
4567
- codec_tag: str = None,
4568
- codec_tag_string: str = None,
4569
- codec_time_base: str = None,
4570
- dar: str = None,
4571
- duration: str = None,
4572
- fps: str = None,
4573
- has_bframes: str = None,
5779
+ adaptive: str = None,
5780
+ border_color: str = None,
5781
+ border_width: str = None,
5782
+ content: str = None,
5783
+ font_alpha: str = None,
5784
+ font_color: str = None,
5785
+ font_name: str = None,
5786
+ font_size: str = None,
4574
5787
  height: str = None,
4575
- index: str = None,
4576
- lang: str = None,
4577
- level: str = None,
4578
- num_frames: str = None,
4579
- pix_fmt: str = None,
4580
- profile: str = None,
4581
- rotate: str = None,
4582
- sar: str = None,
4583
- start_time: str = None,
4584
- time_base: str = None,
5788
+ template_id: str = None,
5789
+ type: str = None,
4585
5790
  width: str = None,
5791
+ x: str = None,
5792
+ y: str = None,
4586
5793
  ):
4587
- self.avg_fps = avg_fps
4588
- self.bit_rate = bit_rate
4589
- self.codec_long_name = codec_long_name
4590
- self.codec_name = codec_name
4591
- self.codec_tag = codec_tag
4592
- self.codec_tag_string = codec_tag_string
4593
- self.codec_time_base = codec_time_base
4594
- self.dar = dar
4595
- self.duration = duration
4596
- self.fps = fps
4597
- self.has_bframes = has_bframes
5794
+ self.adaptive = adaptive
5795
+ self.border_color = border_color
5796
+ self.border_width = border_width
5797
+ self.content = content
5798
+ self.font_alpha = font_alpha
5799
+ self.font_color = font_color
5800
+ self.font_name = font_name
5801
+ self.font_size = font_size
4598
5802
  self.height = height
4599
- self.index = index
4600
- self.lang = lang
4601
- self.level = level
4602
- self.num_frames = num_frames
4603
- self.pix_fmt = pix_fmt
4604
- self.profile = profile
4605
- self.rotate = rotate
4606
- self.sar = sar
4607
- self.start_time = start_time
4608
- self.time_base = time_base
5803
+ self.template_id = template_id
5804
+ self.type = type
4609
5805
  self.width = width
5806
+ self.x = x
5807
+ self.y = y
4610
5808
 
4611
5809
  def validate(self):
4612
5810
  pass
@@ -4617,125 +5815,156 @@ class MediaConvertOutputDetailFileMetaVideoStreamInfoList(TeaModel):
4617
5815
  return _map
4618
5816
 
4619
5817
  result = dict()
4620
- if self.avg_fps is not None:
4621
- result['Avg_fps'] = self.avg_fps
4622
- if self.bit_rate is not None:
4623
- result['Bit_rate'] = self.bit_rate
4624
- if self.codec_long_name is not None:
4625
- result['Codec_long_name'] = self.codec_long_name
4626
- if self.codec_name is not None:
4627
- result['Codec_name'] = self.codec_name
4628
- if self.codec_tag is not None:
4629
- result['Codec_tag'] = self.codec_tag
4630
- if self.codec_tag_string is not None:
4631
- result['Codec_tag_string'] = self.codec_tag_string
4632
- if self.codec_time_base is not None:
4633
- result['Codec_time_base'] = self.codec_time_base
4634
- if self.dar is not None:
4635
- result['Dar'] = self.dar
4636
- if self.duration is not None:
4637
- result['Duration'] = self.duration
4638
- if self.fps is not None:
4639
- result['Fps'] = self.fps
4640
- if self.has_bframes is not None:
4641
- result['Has_b_frames'] = self.has_bframes
5818
+ if self.adaptive is not None:
5819
+ result['Adaptive'] = self.adaptive
5820
+ if self.border_color is not None:
5821
+ result['BorderColor'] = self.border_color
5822
+ if self.border_width is not None:
5823
+ result['BorderWidth'] = self.border_width
5824
+ if self.content is not None:
5825
+ result['Content'] = self.content
5826
+ if self.font_alpha is not None:
5827
+ result['FontAlpha'] = self.font_alpha
5828
+ if self.font_color is not None:
5829
+ result['FontColor'] = self.font_color
5830
+ if self.font_name is not None:
5831
+ result['FontName'] = self.font_name
5832
+ if self.font_size is not None:
5833
+ result['FontSize'] = self.font_size
4642
5834
  if self.height is not None:
4643
5835
  result['Height'] = self.height
4644
- if self.index is not None:
4645
- result['Index'] = self.index
4646
- if self.lang is not None:
4647
- result['Lang'] = self.lang
4648
- if self.level is not None:
4649
- result['Level'] = self.level
4650
- if self.num_frames is not None:
4651
- result['NumFrames'] = self.num_frames
4652
- if self.pix_fmt is not None:
4653
- result['PixFmt'] = self.pix_fmt
4654
- if self.profile is not None:
4655
- result['Profile'] = self.profile
4656
- if self.rotate is not None:
4657
- result['Rotate'] = self.rotate
4658
- if self.sar is not None:
4659
- result['Sar'] = self.sar
4660
- if self.start_time is not None:
4661
- result['Start_time'] = self.start_time
4662
- if self.time_base is not None:
4663
- result['Time_base'] = self.time_base
5836
+ if self.template_id is not None:
5837
+ result['TemplateId'] = self.template_id
5838
+ if self.type is not None:
5839
+ result['Type'] = self.type
4664
5840
  if self.width is not None:
4665
5841
  result['Width'] = self.width
5842
+ if self.x is not None:
5843
+ result['X'] = self.x
5844
+ if self.y is not None:
5845
+ result['Y'] = self.y
4666
5846
  return result
4667
5847
 
4668
5848
  def from_map(self, m: dict = None):
4669
5849
  m = m or dict()
4670
- if m.get('Avg_fps') is not None:
4671
- self.avg_fps = m.get('Avg_fps')
4672
- if m.get('Bit_rate') is not None:
4673
- self.bit_rate = m.get('Bit_rate')
4674
- if m.get('Codec_long_name') is not None:
4675
- self.codec_long_name = m.get('Codec_long_name')
4676
- if m.get('Codec_name') is not None:
4677
- self.codec_name = m.get('Codec_name')
4678
- if m.get('Codec_tag') is not None:
4679
- self.codec_tag = m.get('Codec_tag')
4680
- if m.get('Codec_tag_string') is not None:
4681
- self.codec_tag_string = m.get('Codec_tag_string')
4682
- if m.get('Codec_time_base') is not None:
4683
- self.codec_time_base = m.get('Codec_time_base')
4684
- if m.get('Dar') is not None:
4685
- self.dar = m.get('Dar')
4686
- if m.get('Duration') is not None:
4687
- self.duration = m.get('Duration')
4688
- if m.get('Fps') is not None:
4689
- self.fps = m.get('Fps')
4690
- if m.get('Has_b_frames') is not None:
4691
- self.has_bframes = m.get('Has_b_frames')
5850
+ if m.get('Adaptive') is not None:
5851
+ self.adaptive = m.get('Adaptive')
5852
+ if m.get('BorderColor') is not None:
5853
+ self.border_color = m.get('BorderColor')
5854
+ if m.get('BorderWidth') is not None:
5855
+ self.border_width = m.get('BorderWidth')
5856
+ if m.get('Content') is not None:
5857
+ self.content = m.get('Content')
5858
+ if m.get('FontAlpha') is not None:
5859
+ self.font_alpha = m.get('FontAlpha')
5860
+ if m.get('FontColor') is not None:
5861
+ self.font_color = m.get('FontColor')
5862
+ if m.get('FontName') is not None:
5863
+ self.font_name = m.get('FontName')
5864
+ if m.get('FontSize') is not None:
5865
+ self.font_size = m.get('FontSize')
4692
5866
  if m.get('Height') is not None:
4693
5867
  self.height = m.get('Height')
4694
- if m.get('Index') is not None:
4695
- self.index = m.get('Index')
4696
- if m.get('Lang') is not None:
4697
- self.lang = m.get('Lang')
4698
- if m.get('Level') is not None:
4699
- self.level = m.get('Level')
4700
- if m.get('NumFrames') is not None:
4701
- self.num_frames = m.get('NumFrames')
4702
- if m.get('PixFmt') is not None:
4703
- self.pix_fmt = m.get('PixFmt')
4704
- if m.get('Profile') is not None:
4705
- self.profile = m.get('Profile')
4706
- if m.get('Rotate') is not None:
4707
- self.rotate = m.get('Rotate')
4708
- if m.get('Sar') is not None:
4709
- self.sar = m.get('Sar')
4710
- if m.get('Start_time') is not None:
4711
- self.start_time = m.get('Start_time')
4712
- if m.get('Time_base') is not None:
4713
- self.time_base = m.get('Time_base')
5868
+ if m.get('TemplateId') is not None:
5869
+ self.template_id = m.get('TemplateId')
5870
+ if m.get('Type') is not None:
5871
+ self.type = m.get('Type')
4714
5872
  if m.get('Width') is not None:
4715
5873
  self.width = m.get('Width')
5874
+ if m.get('X') is not None:
5875
+ self.x = m.get('X')
5876
+ if m.get('Y') is not None:
5877
+ self.y = m.get('Y')
4716
5878
  return self
4717
5879
 
4718
5880
 
4719
- class MediaConvertOutputDetailFileMeta(TeaModel):
5881
+ class MediaConvertJobFeature(TeaModel):
4720
5882
  def __init__(
4721
5883
  self,
4722
- audio_stream_info_list: List[MediaConvertOutputDetailFileMetaAudioStreamInfoList] = None,
4723
- file_basic_info: MediaConvertOutputDetailFileMetaFileBasicInfo = None,
4724
- video_stream_info_list: List[MediaConvertOutputDetailFileMetaVideoStreamInfoList] = None,
5884
+ clip: MediaConvertJobFeatureClip = None,
5885
+ metadata: Dict[str, str] = None,
5886
+ watermarks: List[MediaConvertJobFeatureWatermarks] = None,
4725
5887
  ):
4726
- self.audio_stream_info_list = audio_stream_info_list
4727
- self.file_basic_info = file_basic_info
4728
- self.video_stream_info_list = video_stream_info_list
5888
+ self.clip = clip
5889
+ self.metadata = metadata
5890
+ self.watermarks = watermarks
4729
5891
 
4730
5892
  def validate(self):
4731
- if self.audio_stream_info_list:
4732
- for k in self.audio_stream_info_list:
5893
+ if self.clip:
5894
+ self.clip.validate()
5895
+ if self.watermarks:
5896
+ for k in self.watermarks:
4733
5897
  if k:
4734
5898
  k.validate()
4735
- if self.file_basic_info:
4736
- self.file_basic_info.validate()
4737
- if self.video_stream_info_list:
4738
- for k in self.video_stream_info_list:
5899
+
5900
+ def to_map(self):
5901
+ _map = super().to_map()
5902
+ if _map is not None:
5903
+ return _map
5904
+
5905
+ result = dict()
5906
+ if self.clip is not None:
5907
+ result['Clip'] = self.clip.to_map()
5908
+ if self.metadata is not None:
5909
+ result['Metadata'] = self.metadata
5910
+ result['Watermarks'] = []
5911
+ if self.watermarks is not None:
5912
+ for k in self.watermarks:
5913
+ result['Watermarks'].append(k.to_map() if k else None)
5914
+ return result
5915
+
5916
+ def from_map(self, m: dict = None):
5917
+ m = m or dict()
5918
+ if m.get('Clip') is not None:
5919
+ temp_model = MediaConvertJobFeatureClip()
5920
+ self.clip = temp_model.from_map(m['Clip'])
5921
+ if m.get('Metadata') is not None:
5922
+ self.metadata = m.get('Metadata')
5923
+ self.watermarks = []
5924
+ if m.get('Watermarks') is not None:
5925
+ for k in m.get('Watermarks'):
5926
+ temp_model = MediaConvertJobFeatureWatermarks()
5927
+ self.watermarks.append(temp_model.from_map(k))
5928
+ return self
5929
+
5930
+
5931
+ class MediaConvertJobOverwiteParamsSubtitles(TeaModel):
5932
+ def __init__(
5933
+ self,
5934
+ codec: str = None,
5935
+ ):
5936
+ self.codec = codec
5937
+
5938
+ def validate(self):
5939
+ pass
5940
+
5941
+ def to_map(self):
5942
+ _map = super().to_map()
5943
+ if _map is not None:
5944
+ return _map
5945
+
5946
+ result = dict()
5947
+ if self.codec is not None:
5948
+ result['Codec'] = self.codec
5949
+ return result
5950
+
5951
+ def from_map(self, m: dict = None):
5952
+ m = m or dict()
5953
+ if m.get('Codec') is not None:
5954
+ self.codec = m.get('Codec')
5955
+ return self
5956
+
5957
+
5958
+ class MediaConvertJobOverwiteParams(TeaModel):
5959
+ def __init__(
5960
+ self,
5961
+ subtitles: List[MediaConvertJobOverwiteParamsSubtitles] = None,
5962
+ ):
5963
+ self.subtitles = subtitles
5964
+
5965
+ def validate(self):
5966
+ if self.subtitles:
5967
+ for k in self.subtitles:
4739
5968
  if k:
4740
5969
  k.validate()
4741
5970
 
@@ -4745,50 +5974,36 @@ class MediaConvertOutputDetailFileMeta(TeaModel):
4745
5974
  return _map
4746
5975
 
4747
5976
  result = dict()
4748
- result['AudioStreamInfoList'] = []
4749
- if self.audio_stream_info_list is not None:
4750
- for k in self.audio_stream_info_list:
4751
- result['AudioStreamInfoList'].append(k.to_map() if k else None)
4752
- if self.file_basic_info is not None:
4753
- result['FileBasicInfo'] = self.file_basic_info.to_map()
4754
- result['VideoStreamInfoList'] = []
4755
- if self.video_stream_info_list is not None:
4756
- for k in self.video_stream_info_list:
4757
- result['VideoStreamInfoList'].append(k.to_map() if k else None)
5977
+ result['Subtitles'] = []
5978
+ if self.subtitles is not None:
5979
+ for k in self.subtitles:
5980
+ result['Subtitles'].append(k.to_map() if k else None)
4758
5981
  return result
4759
5982
 
4760
5983
  def from_map(self, m: dict = None):
4761
5984
  m = m or dict()
4762
- self.audio_stream_info_list = []
4763
- if m.get('AudioStreamInfoList') is not None:
4764
- for k in m.get('AudioStreamInfoList'):
4765
- temp_model = MediaConvertOutputDetailFileMetaAudioStreamInfoList()
4766
- self.audio_stream_info_list.append(temp_model.from_map(k))
4767
- if m.get('FileBasicInfo') is not None:
4768
- temp_model = MediaConvertOutputDetailFileMetaFileBasicInfo()
4769
- self.file_basic_info = temp_model.from_map(m['FileBasicInfo'])
4770
- self.video_stream_info_list = []
4771
- if m.get('VideoStreamInfoList') is not None:
4772
- for k in m.get('VideoStreamInfoList'):
4773
- temp_model = MediaConvertOutputDetailFileMetaVideoStreamInfoList()
4774
- self.video_stream_info_list.append(temp_model.from_map(k))
5985
+ self.subtitles = []
5986
+ if m.get('Subtitles') is not None:
5987
+ for k in m.get('Subtitles'):
5988
+ temp_model = MediaConvertJobOverwiteParamsSubtitles()
5989
+ self.subtitles.append(temp_model.from_map(k))
4775
5990
  return self
4776
5991
 
4777
5992
 
4778
- class MediaConvertOutputDetailResult(TeaModel):
5993
+ class MediaConvertOutputGroupConfig(TeaModel):
4779
5994
  def __init__(
4780
5995
  self,
4781
- out_file_meta: MediaConvertOutputDetailFileMeta = None,
4782
- output_file: MediaConvertOutputDetailResultOutputFile = None,
5996
+ manifest_name: str = None,
5997
+ output_file_base: MediaObject = None,
5998
+ type: str = None,
4783
5999
  ):
4784
- self.out_file_meta = out_file_meta
4785
- self.output_file = output_file
6000
+ self.manifest_name = manifest_name
6001
+ self.output_file_base = output_file_base
6002
+ self.type = type
4786
6003
 
4787
6004
  def validate(self):
4788
- if self.out_file_meta:
4789
- self.out_file_meta.validate()
4790
- if self.output_file:
4791
- self.output_file.validate()
6005
+ if self.output_file_base:
6006
+ self.output_file_base.validate()
4792
6007
 
4793
6008
  def to_map(self):
4794
6009
  _map = super().to_map()
@@ -4796,47 +6011,45 @@ class MediaConvertOutputDetailResult(TeaModel):
4796
6011
  return _map
4797
6012
 
4798
6013
  result = dict()
4799
- if self.out_file_meta is not None:
4800
- result['OutFileMeta'] = self.out_file_meta.to_map()
4801
- if self.output_file is not None:
4802
- result['OutputFile'] = self.output_file.to_map()
6014
+ if self.manifest_name is not None:
6015
+ result['ManifestName'] = self.manifest_name
6016
+ if self.output_file_base is not None:
6017
+ result['OutputFileBase'] = self.output_file_base.to_map()
6018
+ if self.type is not None:
6019
+ result['Type'] = self.type
4803
6020
  return result
4804
6021
 
4805
6022
  def from_map(self, m: dict = None):
4806
6023
  m = m or dict()
4807
- if m.get('OutFileMeta') is not None:
4808
- temp_model = MediaConvertOutputDetailFileMeta()
4809
- self.out_file_meta = temp_model.from_map(m['OutFileMeta'])
4810
- if m.get('OutputFile') is not None:
4811
- temp_model = MediaConvertOutputDetailResultOutputFile()
4812
- self.output_file = temp_model.from_map(m['OutputFile'])
6024
+ if m.get('ManifestName') is not None:
6025
+ self.manifest_name = m.get('ManifestName')
6026
+ if m.get('OutputFileBase') is not None:
6027
+ temp_model = MediaObject()
6028
+ self.output_file_base = temp_model.from_map(m['OutputFileBase'])
6029
+ if m.get('Type') is not None:
6030
+ self.type = m.get('Type')
4813
6031
  return self
4814
6032
 
4815
6033
 
4816
- class MediaConvertOutputDetail(TeaModel):
6034
+ class MediaConvertOutputGroupOutput(TeaModel):
4817
6035
  def __init__(
4818
6036
  self,
4819
- code: str = None,
4820
- create_time: str = None,
4821
- finish_time: str = None,
4822
- message: str = None,
6037
+ features: str = None,
4823
6038
  name: str = None,
4824
- result: MediaConvertOutputDetailResult = None,
4825
- status: str = None,
4826
- task_id: str = None,
6039
+ output_file_name: str = None,
6040
+ override_params: str = None,
6041
+ priority: int = None,
6042
+ template_id: str = None,
4827
6043
  ):
4828
- self.code = code
4829
- self.create_time = create_time
4830
- self.finish_time = finish_time
4831
- self.message = message
6044
+ self.features = features
4832
6045
  self.name = name
4833
- self.result = result
4834
- self.status = status
4835
- self.task_id = task_id
6046
+ self.output_file_name = output_file_name
6047
+ self.override_params = override_params
6048
+ self.priority = priority
6049
+ self.template_id = template_id
4836
6050
 
4837
6051
  def validate(self):
4838
- if self.result:
4839
- self.result.validate()
6052
+ pass
4840
6053
 
4841
6054
  def to_map(self):
4842
6055
  _map = super().to_map()
@@ -4844,68 +6057,51 @@ class MediaConvertOutputDetail(TeaModel):
4844
6057
  return _map
4845
6058
 
4846
6059
  result = dict()
4847
- if self.code is not None:
4848
- result['Code'] = self.code
4849
- if self.create_time is not None:
4850
- result['CreateTime'] = self.create_time
4851
- if self.finish_time is not None:
4852
- result['FinishTime'] = self.finish_time
4853
- if self.message is not None:
4854
- result['Message'] = self.message
6060
+ if self.features is not None:
6061
+ result['Features'] = self.features
4855
6062
  if self.name is not None:
4856
6063
  result['Name'] = self.name
4857
- if self.result is not None:
4858
- result['Result'] = self.result.to_map()
4859
- if self.status is not None:
4860
- result['Status'] = self.status
4861
- if self.task_id is not None:
4862
- result['TaskId'] = self.task_id
6064
+ if self.output_file_name is not None:
6065
+ result['OutputFileName'] = self.output_file_name
6066
+ if self.override_params is not None:
6067
+ result['OverrideParams'] = self.override_params
6068
+ if self.priority is not None:
6069
+ result['Priority'] = self.priority
6070
+ if self.template_id is not None:
6071
+ result['TemplateId'] = self.template_id
4863
6072
  return result
4864
6073
 
4865
6074
  def from_map(self, m: dict = None):
4866
6075
  m = m or dict()
4867
- if m.get('Code') is not None:
4868
- self.code = m.get('Code')
4869
- if m.get('CreateTime') is not None:
4870
- self.create_time = m.get('CreateTime')
4871
- if m.get('FinishTime') is not None:
4872
- self.finish_time = m.get('FinishTime')
4873
- if m.get('Message') is not None:
4874
- self.message = m.get('Message')
6076
+ if m.get('Features') is not None:
6077
+ self.features = m.get('Features')
4875
6078
  if m.get('Name') is not None:
4876
6079
  self.name = m.get('Name')
4877
- if m.get('Result') is not None:
4878
- temp_model = MediaConvertOutputDetailResult()
4879
- self.result = temp_model.from_map(m['Result'])
4880
- if m.get('Status') is not None:
4881
- self.status = m.get('Status')
4882
- if m.get('TaskId') is not None:
4883
- self.task_id = m.get('TaskId')
6080
+ if m.get('OutputFileName') is not None:
6081
+ self.output_file_name = m.get('OutputFileName')
6082
+ if m.get('OverrideParams') is not None:
6083
+ self.override_params = m.get('OverrideParams')
6084
+ if m.get('Priority') is not None:
6085
+ self.priority = m.get('Priority')
6086
+ if m.get('TemplateId') is not None:
6087
+ self.template_id = m.get('TemplateId')
4884
6088
  return self
4885
6089
 
4886
6090
 
4887
- class MediaConvertOutputGroupDetail(TeaModel):
6091
+ class MediaConvertOutputGroup(TeaModel):
4888
6092
  def __init__(
4889
- self,
4890
- code: str = None,
4891
- create_time: str = None,
4892
- finish_time: str = None,
4893
- message: str = None,
6093
+ self,
6094
+ group_config: MediaConvertOutputGroupConfig = None,
4894
6095
  name: str = None,
4895
- outputs: List[MediaConvertOutputDetail] = None,
4896
- status: str = None,
4897
- task_id: str = None,
6096
+ outputs: List[MediaConvertOutputGroupOutput] = None,
4898
6097
  ):
4899
- self.code = code
4900
- self.create_time = create_time
4901
- self.finish_time = finish_time
4902
- self.message = message
6098
+ self.group_config = group_config
4903
6099
  self.name = name
4904
6100
  self.outputs = outputs
4905
- self.status = status
4906
- self.task_id = task_id
4907
6101
 
4908
6102
  def validate(self):
6103
+ if self.group_config:
6104
+ self.group_config.validate()
4909
6105
  if self.outputs:
4910
6106
  for k in self.outputs:
4911
6107
  if k:
@@ -4917,94 +6113,51 @@ class MediaConvertOutputGroupDetail(TeaModel):
4917
6113
  return _map
4918
6114
 
4919
6115
  result = dict()
4920
- if self.code is not None:
4921
- result['Code'] = self.code
4922
- if self.create_time is not None:
4923
- result['CreateTime'] = self.create_time
4924
- if self.finish_time is not None:
4925
- result['FinishTime'] = self.finish_time
4926
- if self.message is not None:
4927
- result['Message'] = self.message
6116
+ if self.group_config is not None:
6117
+ result['GroupConfig'] = self.group_config.to_map()
4928
6118
  if self.name is not None:
4929
6119
  result['Name'] = self.name
4930
6120
  result['Outputs'] = []
4931
6121
  if self.outputs is not None:
4932
6122
  for k in self.outputs:
4933
6123
  result['Outputs'].append(k.to_map() if k else None)
4934
- if self.status is not None:
4935
- result['Status'] = self.status
4936
- if self.task_id is not None:
4937
- result['TaskId'] = self.task_id
4938
6124
  return result
4939
6125
 
4940
6126
  def from_map(self, m: dict = None):
4941
6127
  m = m or dict()
4942
- if m.get('Code') is not None:
4943
- self.code = m.get('Code')
4944
- if m.get('CreateTime') is not None:
4945
- self.create_time = m.get('CreateTime')
4946
- if m.get('FinishTime') is not None:
4947
- self.finish_time = m.get('FinishTime')
4948
- if m.get('Message') is not None:
4949
- self.message = m.get('Message')
6128
+ if m.get('GroupConfig') is not None:
6129
+ temp_model = MediaConvertOutputGroupConfig()
6130
+ self.group_config = temp_model.from_map(m['GroupConfig'])
4950
6131
  if m.get('Name') is not None:
4951
6132
  self.name = m.get('Name')
4952
6133
  self.outputs = []
4953
6134
  if m.get('Outputs') is not None:
4954
6135
  for k in m.get('Outputs'):
4955
- temp_model = MediaConvertOutputDetail()
6136
+ temp_model = MediaConvertOutputGroupOutput()
4956
6137
  self.outputs.append(temp_model.from_map(k))
4957
- if m.get('Status') is not None:
4958
- self.status = m.get('Status')
4959
- if m.get('TaskId') is not None:
4960
- self.task_id = m.get('TaskId')
4961
6138
  return self
4962
6139
 
4963
6140
 
4964
- class MediaConvertJob(TeaModel):
6141
+ class MediaConvertOutput(TeaModel):
4965
6142
  def __init__(
4966
6143
  self,
4967
- client_token: str = None,
4968
- code: str = None,
4969
- config: MediaConvertJobConfig = None,
4970
- create_time: str = None,
4971
- finish_time: str = None,
4972
- job_id: str = None,
4973
- message: str = None,
4974
- output_details: List[MediaConvertOutputDetail] = None,
4975
- output_group_details: List[MediaConvertOutputGroupDetail] = None,
4976
- percent: int = None,
4977
- pipeline_id: str = None,
4978
- request_id: str = None,
4979
- state: str = None,
4980
- user_data: str = None,
6144
+ features: str = None,
6145
+ name: str = None,
6146
+ output_file: MediaObject = None,
6147
+ override_params: str = None,
6148
+ priority: int = None,
6149
+ template_id: str = None,
4981
6150
  ):
4982
- self.client_token = client_token
4983
- self.code = code
4984
- self.config = config
4985
- self.create_time = create_time
4986
- self.finish_time = finish_time
4987
- self.job_id = job_id
4988
- self.message = message
4989
- self.output_details = output_details
4990
- self.output_group_details = output_group_details
4991
- self.percent = percent
4992
- self.pipeline_id = pipeline_id
4993
- self.request_id = request_id
4994
- self.state = state
4995
- self.user_data = user_data
6151
+ self.features = features
6152
+ self.name = name
6153
+ self.output_file = output_file
6154
+ self.override_params = override_params
6155
+ self.priority = priority
6156
+ self.template_id = template_id
4996
6157
 
4997
6158
  def validate(self):
4998
- if self.config:
4999
- self.config.validate()
5000
- if self.output_details:
5001
- for k in self.output_details:
5002
- if k:
5003
- k.validate()
5004
- if self.output_group_details:
5005
- for k in self.output_group_details:
5006
- if k:
5007
- k.validate()
6159
+ if self.output_file:
6160
+ self.output_file.validate()
5008
6161
 
5009
6162
  def to_map(self):
5010
6163
  _map = super().to_map()
@@ -5012,77 +6165,35 @@ class MediaConvertJob(TeaModel):
5012
6165
  return _map
5013
6166
 
5014
6167
  result = dict()
5015
- if self.client_token is not None:
5016
- result['ClientToken'] = self.client_token
5017
- if self.code is not None:
5018
- result['Code'] = self.code
5019
- if self.config is not None:
5020
- result['Config'] = self.config.to_map()
5021
- if self.create_time is not None:
5022
- result['CreateTime'] = self.create_time
5023
- if self.finish_time is not None:
5024
- result['FinishTime'] = self.finish_time
5025
- if self.job_id is not None:
5026
- result['JobId'] = self.job_id
5027
- if self.message is not None:
5028
- result['Message'] = self.message
5029
- result['OutputDetails'] = []
5030
- if self.output_details is not None:
5031
- for k in self.output_details:
5032
- result['OutputDetails'].append(k.to_map() if k else None)
5033
- result['OutputGroupDetails'] = []
5034
- if self.output_group_details is not None:
5035
- for k in self.output_group_details:
5036
- result['OutputGroupDetails'].append(k.to_map() if k else None)
5037
- if self.percent is not None:
5038
- result['Percent'] = self.percent
5039
- if self.pipeline_id is not None:
5040
- result['PipelineId'] = self.pipeline_id
5041
- if self.request_id is not None:
5042
- result['RequestId'] = self.request_id
5043
- if self.state is not None:
5044
- result['State'] = self.state
5045
- if self.user_data is not None:
5046
- result['UserData'] = self.user_data
6168
+ if self.features is not None:
6169
+ result['Features'] = self.features
6170
+ if self.name is not None:
6171
+ result['Name'] = self.name
6172
+ if self.output_file is not None:
6173
+ result['OutputFile'] = self.output_file.to_map()
6174
+ if self.override_params is not None:
6175
+ result['OverrideParams'] = self.override_params
6176
+ if self.priority is not None:
6177
+ result['Priority'] = self.priority
6178
+ if self.template_id is not None:
6179
+ result['TemplateId'] = self.template_id
5047
6180
  return result
5048
6181
 
5049
6182
  def from_map(self, m: dict = None):
5050
6183
  m = m or dict()
5051
- if m.get('ClientToken') is not None:
5052
- self.client_token = m.get('ClientToken')
5053
- if m.get('Code') is not None:
5054
- self.code = m.get('Code')
5055
- if m.get('Config') is not None:
5056
- temp_model = MediaConvertJobConfig()
5057
- self.config = temp_model.from_map(m['Config'])
5058
- if m.get('CreateTime') is not None:
5059
- self.create_time = m.get('CreateTime')
5060
- if m.get('FinishTime') is not None:
5061
- self.finish_time = m.get('FinishTime')
5062
- if m.get('JobId') is not None:
5063
- self.job_id = m.get('JobId')
5064
- if m.get('Message') is not None:
5065
- self.message = m.get('Message')
5066
- self.output_details = []
5067
- if m.get('OutputDetails') is not None:
5068
- for k in m.get('OutputDetails'):
5069
- temp_model = MediaConvertOutputDetail()
5070
- self.output_details.append(temp_model.from_map(k))
5071
- self.output_group_details = []
5072
- if m.get('OutputGroupDetails') is not None:
5073
- for k in m.get('OutputGroupDetails'):
5074
- temp_model = MediaConvertOutputGroupDetail()
5075
- self.output_group_details.append(temp_model.from_map(k))
5076
- if m.get('Percent') is not None:
5077
- self.percent = m.get('Percent')
5078
- if m.get('PipelineId') is not None:
5079
- self.pipeline_id = m.get('PipelineId')
5080
- if m.get('RequestId') is not None:
5081
- self.request_id = m.get('RequestId')
5082
- if m.get('State') is not None:
5083
- self.state = m.get('State')
5084
- if m.get('UserData') is not None:
5085
- self.user_data = m.get('UserData')
6184
+ if m.get('Features') is not None:
6185
+ self.features = m.get('Features')
6186
+ if m.get('Name') is not None:
6187
+ self.name = m.get('Name')
6188
+ if m.get('OutputFile') is not None:
6189
+ temp_model = MediaObject()
6190
+ self.output_file = temp_model.from_map(m['OutputFile'])
6191
+ if m.get('OverrideParams') is not None:
6192
+ self.override_params = m.get('OverrideParams')
6193
+ if m.get('Priority') is not None:
6194
+ self.priority = m.get('Priority')
6195
+ if m.get('TemplateId') is not None:
6196
+ self.template_id = m.get('TemplateId')
5086
6197
  return self
5087
6198
 
5088
6199
 
@@ -9449,17 +10560,75 @@ class BatchGetMediaInfosResponseBodyMediaInfosMediaBasicInfo(TeaModel):
9449
10560
  return self
9450
10561
 
9451
10562
 
10563
+ class BatchGetMediaInfosResponseBodyMediaInfosMediaDynamicInfoDynamicMetaData(TeaModel):
10564
+ def __init__(
10565
+ self,
10566
+ data: str = None,
10567
+ ):
10568
+ self.data = data
10569
+
10570
+ def validate(self):
10571
+ pass
10572
+
10573
+ def to_map(self):
10574
+ _map = super().to_map()
10575
+ if _map is not None:
10576
+ return _map
10577
+
10578
+ result = dict()
10579
+ if self.data is not None:
10580
+ result['Data'] = self.data
10581
+ return result
10582
+
10583
+ def from_map(self, m: dict = None):
10584
+ m = m or dict()
10585
+ if m.get('Data') is not None:
10586
+ self.data = m.get('Data')
10587
+ return self
10588
+
10589
+
10590
+ class BatchGetMediaInfosResponseBodyMediaInfosMediaDynamicInfo(TeaModel):
10591
+ def __init__(
10592
+ self,
10593
+ dynamic_meta_data: BatchGetMediaInfosResponseBodyMediaInfosMediaDynamicInfoDynamicMetaData = None,
10594
+ ):
10595
+ self.dynamic_meta_data = dynamic_meta_data
10596
+
10597
+ def validate(self):
10598
+ if self.dynamic_meta_data:
10599
+ self.dynamic_meta_data.validate()
10600
+
10601
+ def to_map(self):
10602
+ _map = super().to_map()
10603
+ if _map is not None:
10604
+ return _map
10605
+
10606
+ result = dict()
10607
+ if self.dynamic_meta_data is not None:
10608
+ result['DynamicMetaData'] = self.dynamic_meta_data.to_map()
10609
+ return result
10610
+
10611
+ def from_map(self, m: dict = None):
10612
+ m = m or dict()
10613
+ if m.get('DynamicMetaData') is not None:
10614
+ temp_model = BatchGetMediaInfosResponseBodyMediaInfosMediaDynamicInfoDynamicMetaData()
10615
+ self.dynamic_meta_data = temp_model.from_map(m['DynamicMetaData'])
10616
+ return self
10617
+
10618
+
9452
10619
  class BatchGetMediaInfosResponseBodyMediaInfos(TeaModel):
9453
10620
  def __init__(
9454
10621
  self,
9455
10622
  file_info_list: List[BatchGetMediaInfosResponseBodyMediaInfosFileInfoList] = None,
9456
10623
  media_basic_info: BatchGetMediaInfosResponseBodyMediaInfosMediaBasicInfo = None,
10624
+ media_dynamic_info: BatchGetMediaInfosResponseBodyMediaInfosMediaDynamicInfo = None,
9457
10625
  media_id: str = None,
9458
10626
  ):
9459
10627
  # FileInfos
9460
10628
  self.file_info_list = file_info_list
9461
10629
  # The basic information of the media asset.
9462
10630
  self.media_basic_info = media_basic_info
10631
+ self.media_dynamic_info = media_dynamic_info
9463
10632
  # The ID of the media asset.
9464
10633
  self.media_id = media_id
9465
10634
 
@@ -9470,6 +10639,8 @@ class BatchGetMediaInfosResponseBodyMediaInfos(TeaModel):
9470
10639
  k.validate()
9471
10640
  if self.media_basic_info:
9472
10641
  self.media_basic_info.validate()
10642
+ if self.media_dynamic_info:
10643
+ self.media_dynamic_info.validate()
9473
10644
 
9474
10645
  def to_map(self):
9475
10646
  _map = super().to_map()
@@ -9483,6 +10654,8 @@ class BatchGetMediaInfosResponseBodyMediaInfos(TeaModel):
9483
10654
  result['FileInfoList'].append(k.to_map() if k else None)
9484
10655
  if self.media_basic_info is not None:
9485
10656
  result['MediaBasicInfo'] = self.media_basic_info.to_map()
10657
+ if self.media_dynamic_info is not None:
10658
+ result['MediaDynamicInfo'] = self.media_dynamic_info.to_map()
9486
10659
  if self.media_id is not None:
9487
10660
  result['MediaId'] = self.media_id
9488
10661
  return result
@@ -9497,6 +10670,9 @@ class BatchGetMediaInfosResponseBodyMediaInfos(TeaModel):
9497
10670
  if m.get('MediaBasicInfo') is not None:
9498
10671
  temp_model = BatchGetMediaInfosResponseBodyMediaInfosMediaBasicInfo()
9499
10672
  self.media_basic_info = temp_model.from_map(m['MediaBasicInfo'])
10673
+ if m.get('MediaDynamicInfo') is not None:
10674
+ temp_model = BatchGetMediaInfosResponseBodyMediaInfosMediaDynamicInfo()
10675
+ self.media_dynamic_info = temp_model.from_map(m['MediaDynamicInfo'])
9500
10676
  if m.get('MediaId') is not None:
9501
10677
  self.media_id = m.get('MediaId')
9502
10678
  return self
@@ -9505,9 +10681,11 @@ class BatchGetMediaInfosResponseBodyMediaInfos(TeaModel):
9505
10681
  class BatchGetMediaInfosResponseBody(TeaModel):
9506
10682
  def __init__(
9507
10683
  self,
10684
+ ignored_list: List[str] = None,
9508
10685
  media_infos: List[BatchGetMediaInfosResponseBodyMediaInfos] = None,
9509
10686
  request_id: str = None,
9510
10687
  ):
10688
+ self.ignored_list = ignored_list
9511
10689
  # The queried media assets.
9512
10690
  self.media_infos = media_infos
9513
10691
  # The request ID.
@@ -9525,6 +10703,8 @@ class BatchGetMediaInfosResponseBody(TeaModel):
9525
10703
  return _map
9526
10704
 
9527
10705
  result = dict()
10706
+ if self.ignored_list is not None:
10707
+ result['IgnoredList'] = self.ignored_list
9528
10708
  result['MediaInfos'] = []
9529
10709
  if self.media_infos is not None:
9530
10710
  for k in self.media_infos:
@@ -9535,6 +10715,8 @@ class BatchGetMediaInfosResponseBody(TeaModel):
9535
10715
 
9536
10716
  def from_map(self, m: dict = None):
9537
10717
  m = m or dict()
10718
+ if m.get('IgnoredList') is not None:
10719
+ self.ignored_list = m.get('IgnoredList')
9538
10720
  self.media_infos = []
9539
10721
  if m.get('MediaInfos') is not None:
9540
10722
  for k in m.get('MediaInfos'):
@@ -25506,11 +26688,13 @@ class ForwardAIAgentCallRequest(TeaModel):
25506
26688
  def __init__(
25507
26689
  self,
25508
26690
  called_number: str = None,
26691
+ caller_number: str = None,
25509
26692
  error_prompt: str = None,
25510
26693
  instance_id: str = None,
25511
26694
  transfer_prompt: str = None,
25512
26695
  ):
25513
26696
  self.called_number = called_number
26697
+ self.caller_number = caller_number
25514
26698
  self.error_prompt = error_prompt
25515
26699
  self.instance_id = instance_id
25516
26700
  self.transfer_prompt = transfer_prompt
@@ -25526,6 +26710,8 @@ class ForwardAIAgentCallRequest(TeaModel):
25526
26710
  result = dict()
25527
26711
  if self.called_number is not None:
25528
26712
  result['CalledNumber'] = self.called_number
26713
+ if self.caller_number is not None:
26714
+ result['CallerNumber'] = self.caller_number
25529
26715
  if self.error_prompt is not None:
25530
26716
  result['ErrorPrompt'] = self.error_prompt
25531
26717
  if self.instance_id is not None:
@@ -25538,6 +26724,8 @@ class ForwardAIAgentCallRequest(TeaModel):
25538
26724
  m = m or dict()
25539
26725
  if m.get('CalledNumber') is not None:
25540
26726
  self.called_number = m.get('CalledNumber')
26727
+ if m.get('CallerNumber') is not None:
26728
+ self.caller_number = m.get('CallerNumber')
25541
26729
  if m.get('ErrorPrompt') is not None:
25542
26730
  self.error_prompt = m.get('ErrorPrompt')
25543
26731
  if m.get('InstanceId') is not None: