universal-mcp 0.1.13rc1__py3-none-any.whl → 0.1.13rc2__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.
- {universal_mcp-0.1.13rc1.dist-info → universal_mcp-0.1.13rc2.dist-info}/METADATA +1 -1
- universal_mcp-0.1.13rc2.dist-info/RECORD +38 -0
- universal_mcp/applications/ahrefs/README.md +0 -76
- universal_mcp/applications/ahrefs/__init__.py +0 -0
- universal_mcp/applications/ahrefs/app.py +0 -2291
- universal_mcp/applications/cal_com_v2/README.md +0 -175
- universal_mcp/applications/cal_com_v2/__init__.py +0 -0
- universal_mcp/applications/cal_com_v2/app.py +0 -5390
- universal_mcp/applications/calendly/README.md +0 -78
- universal_mcp/applications/calendly/__init__.py +0 -0
- universal_mcp/applications/calendly/app.py +0 -1195
- universal_mcp/applications/clickup/README.md +0 -160
- universal_mcp/applications/clickup/__init__.py +0 -0
- universal_mcp/applications/clickup/app.py +0 -5009
- universal_mcp/applications/coda/README.md +0 -133
- universal_mcp/applications/coda/__init__.py +0 -0
- universal_mcp/applications/coda/app.py +0 -3671
- universal_mcp/applications/curstdata/README.md +0 -50
- universal_mcp/applications/curstdata/__init__.py +0 -0
- universal_mcp/applications/curstdata/app.py +0 -551
- universal_mcp/applications/e2b/README.md +0 -37
- universal_mcp/applications/e2b/app.py +0 -65
- universal_mcp/applications/elevenlabs/README.md +0 -84
- universal_mcp/applications/elevenlabs/__init__.py +0 -0
- universal_mcp/applications/elevenlabs/app.py +0 -1402
- universal_mcp/applications/falai/README.md +0 -42
- universal_mcp/applications/falai/__init__.py +0 -0
- universal_mcp/applications/falai/app.py +0 -332
- universal_mcp/applications/figma/README.md +0 -74
- universal_mcp/applications/figma/__init__.py +0 -0
- universal_mcp/applications/figma/app.py +0 -1261
- universal_mcp/applications/firecrawl/README.md +0 -45
- universal_mcp/applications/firecrawl/app.py +0 -268
- universal_mcp/applications/github/README.md +0 -47
- universal_mcp/applications/github/app.py +0 -429
- universal_mcp/applications/gong/README.md +0 -88
- universal_mcp/applications/gong/__init__.py +0 -0
- universal_mcp/applications/gong/app.py +0 -2297
- universal_mcp/applications/google_calendar/app.py +0 -442
- universal_mcp/applications/google_docs/README.md +0 -40
- universal_mcp/applications/google_docs/app.py +0 -88
- universal_mcp/applications/google_drive/README.md +0 -44
- universal_mcp/applications/google_drive/app.py +0 -286
- universal_mcp/applications/google_mail/README.md +0 -47
- universal_mcp/applications/google_mail/app.py +0 -664
- universal_mcp/applications/google_sheet/README.md +0 -42
- universal_mcp/applications/google_sheet/app.py +0 -150
- universal_mcp/applications/heygen/README.md +0 -69
- universal_mcp/applications/heygen/__init__.py +0 -0
- universal_mcp/applications/heygen/app.py +0 -956
- universal_mcp/applications/mailchimp/README.md +0 -306
- universal_mcp/applications/mailchimp/__init__.py +0 -0
- universal_mcp/applications/mailchimp/app.py +0 -10937
- universal_mcp/applications/markitdown/app.py +0 -44
- universal_mcp/applications/neon/README.md +0 -99
- universal_mcp/applications/neon/__init__.py +0 -0
- universal_mcp/applications/neon/app.py +0 -1924
- universal_mcp/applications/notion/README.md +0 -55
- universal_mcp/applications/notion/__init__.py +0 -0
- universal_mcp/applications/notion/app.py +0 -527
- universal_mcp/applications/perplexity/README.md +0 -37
- universal_mcp/applications/perplexity/app.py +0 -65
- universal_mcp/applications/reddit/README.md +0 -45
- universal_mcp/applications/reddit/app.py +0 -379
- universal_mcp/applications/replicate/README.md +0 -65
- universal_mcp/applications/replicate/__init__.py +0 -0
- universal_mcp/applications/replicate/app.py +0 -980
- universal_mcp/applications/resend/README.md +0 -38
- universal_mcp/applications/resend/app.py +0 -37
- universal_mcp/applications/retell_ai/README.md +0 -46
- universal_mcp/applications/retell_ai/__init__.py +0 -0
- universal_mcp/applications/retell_ai/app.py +0 -333
- universal_mcp/applications/rocketlane/README.md +0 -42
- universal_mcp/applications/rocketlane/__init__.py +0 -0
- universal_mcp/applications/rocketlane/app.py +0 -194
- universal_mcp/applications/serpapi/README.md +0 -37
- universal_mcp/applications/serpapi/app.py +0 -73
- universal_mcp/applications/shortcut/README.md +0 -153
- universal_mcp/applications/shortcut/__init__.py +0 -0
- universal_mcp/applications/shortcut/app.py +0 -3880
- universal_mcp/applications/spotify/README.md +0 -116
- universal_mcp/applications/spotify/__init__.py +0 -0
- universal_mcp/applications/spotify/app.py +0 -2526
- universal_mcp/applications/supabase/README.md +0 -112
- universal_mcp/applications/supabase/__init__.py +0 -0
- universal_mcp/applications/supabase/app.py +0 -2970
- universal_mcp/applications/tavily/README.md +0 -38
- universal_mcp/applications/tavily/app.py +0 -51
- universal_mcp/applications/wrike/README.md +0 -71
- universal_mcp/applications/wrike/__init__.py +0 -0
- universal_mcp/applications/wrike/app.py +0 -1372
- universal_mcp/applications/youtube/README.md +0 -82
- universal_mcp/applications/youtube/__init__.py +0 -0
- universal_mcp/applications/youtube/app.py +0 -1428
- universal_mcp/applications/zenquotes/README.md +0 -37
- universal_mcp/applications/zenquotes/app.py +0 -31
- universal_mcp-0.1.13rc1.dist-info/RECORD +0 -132
- {universal_mcp-0.1.13rc1.dist-info → universal_mcp-0.1.13rc2.dist-info}/WHEEL +0 -0
- {universal_mcp-0.1.13rc1.dist-info → universal_mcp-0.1.13rc2.dist-info}/entry_points.txt +0 -0
@@ -1,956 +0,0 @@
|
|
1
|
-
from typing import Any
|
2
|
-
|
3
|
-
from universal_mcp.applications import APIApplication
|
4
|
-
from universal_mcp.integrations import Integration
|
5
|
-
|
6
|
-
|
7
|
-
class HeygenApp(APIApplication):
|
8
|
-
def __init__(self, integration: Integration = None, **kwargs) -> None:
|
9
|
-
super().__init__(name="heygen", integration=integration, **kwargs)
|
10
|
-
self.base_url = "https://api.heygen.com"
|
11
|
-
|
12
|
-
def _get_headers(self) -> dict[str, Any]:
|
13
|
-
api_key = self.integration.get_credentials().get("api_key")
|
14
|
-
return {
|
15
|
-
"x-api-key": f"{api_key}",
|
16
|
-
"Content-Type": "application/json",
|
17
|
-
"Accept": "application/json",
|
18
|
-
}
|
19
|
-
|
20
|
-
def get_v1_voice_list(
|
21
|
-
self,
|
22
|
-
) -> Any:
|
23
|
-
"""
|
24
|
-
Retrieves the list of available voices from the v1 voice API endpoint.
|
25
|
-
|
26
|
-
Args:
|
27
|
-
None: This function takes no arguments
|
28
|
-
|
29
|
-
Returns:
|
30
|
-
dict: A dictionary containing the JSON response with details about the available voices.
|
31
|
-
|
32
|
-
Raises:
|
33
|
-
HTTPError: If the HTTP request to the voice API endpoint results in an unsuccessful status code.
|
34
|
-
|
35
|
-
Tags:
|
36
|
-
get, list, voice, api
|
37
|
-
"""
|
38
|
-
url = f"{self.base_url}/v1/voice.list"
|
39
|
-
query_params = {}
|
40
|
-
response = self._get(url, params=query_params)
|
41
|
-
response.raise_for_status()
|
42
|
-
return response.json()
|
43
|
-
|
44
|
-
def get_v1_avatar_list(
|
45
|
-
self,
|
46
|
-
) -> Any:
|
47
|
-
"""
|
48
|
-
Retrieves a list of available avatars from the v1 API endpoint.
|
49
|
-
|
50
|
-
Args:
|
51
|
-
None: This function takes no arguments
|
52
|
-
|
53
|
-
Returns:
|
54
|
-
A JSON-decoded object containing the list of avatars returned by the API.
|
55
|
-
|
56
|
-
Raises:
|
57
|
-
requests.exceptions.HTTPError: If the HTTP request to the avatar list endpoint fails, such as due to a non-2xx response.
|
58
|
-
|
59
|
-
Tags:
|
60
|
-
get, list, avatar, api, important
|
61
|
-
"""
|
62
|
-
url = f"{self.base_url}/v1/avatar.list"
|
63
|
-
query_params = {}
|
64
|
-
response = self._get(url, params=query_params)
|
65
|
-
response.raise_for_status()
|
66
|
-
return response.json()
|
67
|
-
|
68
|
-
def get_v2_voices(
|
69
|
-
self,
|
70
|
-
) -> Any:
|
71
|
-
"""
|
72
|
-
Retrieves the list of available v2 voices from the API endpoint.
|
73
|
-
|
74
|
-
Args:
|
75
|
-
None: This function takes no arguments
|
76
|
-
|
77
|
-
Returns:
|
78
|
-
A JSON-decoded object containing information about available v2 voices.
|
79
|
-
|
80
|
-
Raises:
|
81
|
-
requests.HTTPError: If the HTTP request to the voices endpoint returns an unsuccessful status code.
|
82
|
-
|
83
|
-
Tags:
|
84
|
-
get, list, voices, api, important
|
85
|
-
"""
|
86
|
-
url = f"{self.base_url}/v2/voices"
|
87
|
-
query_params = {}
|
88
|
-
response = self._get(url, params=query_params)
|
89
|
-
response.raise_for_status()
|
90
|
-
return response.json()
|
91
|
-
|
92
|
-
def get_v2_avatars(
|
93
|
-
self,
|
94
|
-
) -> Any:
|
95
|
-
"""
|
96
|
-
Retrieves a list of avatar objects from the /v2/avatars API endpoint.
|
97
|
-
|
98
|
-
Args:
|
99
|
-
None: This function takes no arguments
|
100
|
-
|
101
|
-
Returns:
|
102
|
-
A JSON-decoded object containing the list of avatars as returned by the API.
|
103
|
-
|
104
|
-
Raises:
|
105
|
-
requests.exceptions.HTTPError: If the HTTP request to the /v2/avatars endpoint returns an unsuccessful status code.
|
106
|
-
|
107
|
-
Tags:
|
108
|
-
get, list, avatars, api
|
109
|
-
"""
|
110
|
-
url = f"{self.base_url}/v2/avatars"
|
111
|
-
query_params = {}
|
112
|
-
response = self._get(url, params=query_params)
|
113
|
-
response.raise_for_status()
|
114
|
-
return response.json()
|
115
|
-
|
116
|
-
def get_v1_video_list(
|
117
|
-
self,
|
118
|
-
) -> Any:
|
119
|
-
"""
|
120
|
-
Retrieves a list of videos from the v1 API endpoint.
|
121
|
-
|
122
|
-
Args:
|
123
|
-
None: This function takes no arguments
|
124
|
-
|
125
|
-
Returns:
|
126
|
-
A JSON-decoded object containing the list of videos as returned by the API.
|
127
|
-
|
128
|
-
Raises:
|
129
|
-
requests.HTTPError: If the HTTP request to the API endpoint fails or returns an unsuccessful status code.
|
130
|
-
|
131
|
-
Tags:
|
132
|
-
get, list, video, api
|
133
|
-
"""
|
134
|
-
url = f"{self.base_url}/v1/video.list"
|
135
|
-
query_params = {}
|
136
|
-
response = self._get(url, params=query_params)
|
137
|
-
response.raise_for_status()
|
138
|
-
return response.json()
|
139
|
-
|
140
|
-
def post_v2_video_generate(
|
141
|
-
self,
|
142
|
-
video_inputs,
|
143
|
-
title=None,
|
144
|
-
test=None,
|
145
|
-
callback_id=None,
|
146
|
-
dimension=None,
|
147
|
-
aspect_ratio=None,
|
148
|
-
) -> Any:
|
149
|
-
"""
|
150
|
-
Submits a request to generate a video using specified input parameters via the v2 video generate API endpoint.
|
151
|
-
|
152
|
-
Args:
|
153
|
-
video_inputs: A required object or list containing the video inputs used for generation. Must not be None.
|
154
|
-
title: Optional; a string specifying the title of the generated video.
|
155
|
-
test: Optional; a flag or parameter used for testing purposes. Its type and effect depend on the API implementation.
|
156
|
-
callback_id: Optional; a string or identifier for callback tracking after video generation.
|
157
|
-
dimension: Optional; defines the desired dimensions for the generated video.
|
158
|
-
aspect_ratio: Optional; defines the desired aspect ratio for the generated video.
|
159
|
-
|
160
|
-
Returns:
|
161
|
-
A dictionary containing the API response parsed from JSON, typically including information about the video generation job.
|
162
|
-
|
163
|
-
Raises:
|
164
|
-
ValueError: Raised if 'video_inputs' is None.
|
165
|
-
requests.HTTPError: Raised if the HTTP request to the video generation endpoint fails (e.g., non-2xx response).
|
166
|
-
|
167
|
-
Tags:
|
168
|
-
create, video, generate, api, async-job
|
169
|
-
"""
|
170
|
-
if video_inputs is None:
|
171
|
-
raise ValueError("Missing required parameter 'video_inputs'")
|
172
|
-
request_body = {
|
173
|
-
"title": title,
|
174
|
-
"video_inputs": video_inputs,
|
175
|
-
"test": test,
|
176
|
-
"callback_id": callback_id,
|
177
|
-
"dimension": dimension,
|
178
|
-
"aspect_ratio": aspect_ratio,
|
179
|
-
}
|
180
|
-
request_body = {k: v for k, v in request_body.items() if v is not None}
|
181
|
-
url = f"{self.base_url}/v2/video/generate"
|
182
|
-
query_params = {}
|
183
|
-
response = self._post(url, data=request_body, params=query_params)
|
184
|
-
response.raise_for_status()
|
185
|
-
return response.json()
|
186
|
-
|
187
|
-
def delete_v1_video(self, video_id=None) -> Any:
|
188
|
-
"""
|
189
|
-
Deletes a video using the v1 API endpoint with the specified video ID.
|
190
|
-
|
191
|
-
Args:
|
192
|
-
video_id: Optional; The unique identifier of the video to delete. If None, no video is specified in the request.
|
193
|
-
|
194
|
-
Returns:
|
195
|
-
Parsed JSON response from the API indicating the result of the delete operation.
|
196
|
-
|
197
|
-
Raises:
|
198
|
-
requests.HTTPError: If the HTTP request fails or the server returns an error response.
|
199
|
-
|
200
|
-
Tags:
|
201
|
-
delete, video, api, v1, management
|
202
|
-
"""
|
203
|
-
url = f"{self.base_url}/v1/video.delete"
|
204
|
-
query_params = {k: v for k, v in [("video_id", video_id)] if v is not None}
|
205
|
-
response = self._delete(url, params=query_params)
|
206
|
-
response.raise_for_status()
|
207
|
-
return response.json()
|
208
|
-
|
209
|
-
def get_v2_templates(
|
210
|
-
self,
|
211
|
-
) -> Any:
|
212
|
-
"""
|
213
|
-
Retrieves the list of v2 templates from the API endpoint.
|
214
|
-
|
215
|
-
Args:
|
216
|
-
None: This function takes no arguments
|
217
|
-
|
218
|
-
Returns:
|
219
|
-
Parsed JSON data from the API response containing the v2 templates.
|
220
|
-
|
221
|
-
Raises:
|
222
|
-
HTTPError: If the HTTP request to the API endpoint fails or returns an error status.
|
223
|
-
|
224
|
-
Tags:
|
225
|
-
get, templates, api, http
|
226
|
-
"""
|
227
|
-
url = f"{self.base_url}/v2/templates"
|
228
|
-
query_params = {}
|
229
|
-
response = self._get(url, params=query_params)
|
230
|
-
response.raise_for_status()
|
231
|
-
return response.json()
|
232
|
-
|
233
|
-
def get_v2_template_by_id(self, id) -> Any:
|
234
|
-
"""
|
235
|
-
Retrieves a v2 template resource by its unique identifier.
|
236
|
-
|
237
|
-
Args:
|
238
|
-
id: The unique identifier of the v2 template to retrieve.
|
239
|
-
|
240
|
-
Returns:
|
241
|
-
The parsed JSON response containing the template data.
|
242
|
-
|
243
|
-
Raises:
|
244
|
-
ValueError: Raised if the 'id' parameter is None.
|
245
|
-
requests.HTTPError: Raised if the HTTP request to retrieve the template fails.
|
246
|
-
|
247
|
-
Tags:
|
248
|
-
get, template, id-lookup, api
|
249
|
-
"""
|
250
|
-
if id is None:
|
251
|
-
raise ValueError("Missing required parameter 'id'")
|
252
|
-
url = f"{self.base_url}/v2/template/{id}"
|
253
|
-
query_params = {}
|
254
|
-
response = self._get(url, params=query_params)
|
255
|
-
response.raise_for_status()
|
256
|
-
return response.json()
|
257
|
-
|
258
|
-
def post_v2_template_generate_by_id(
|
259
|
-
self, id, title, variables, test=None, caption=None, dimension=None
|
260
|
-
) -> Any:
|
261
|
-
"""
|
262
|
-
Generates content from a template specified by ID using the provided title and variables, and returns the generation result.
|
263
|
-
|
264
|
-
Args:
|
265
|
-
id: str. The unique identifier of the template to use for content generation. Required.
|
266
|
-
title: str. The title associated with the generated content. Required.
|
267
|
-
variables: dict. The variables to substitute into the template. Required.
|
268
|
-
test: bool, optional. If set, indicates whether to perform a test generation without committing changes.
|
269
|
-
caption: str, optional. Caption to include with the generated content.
|
270
|
-
dimension: str or dict, optional. Specifies dimensions or formatting options for generation.
|
271
|
-
|
272
|
-
Returns:
|
273
|
-
dict. The JSON response containing the generated content and metadata from the API.
|
274
|
-
|
275
|
-
Raises:
|
276
|
-
ValueError: If 'id', 'title', or 'variables' are not provided.
|
277
|
-
requests.HTTPError: If the API response contains an HTTP error status.
|
278
|
-
|
279
|
-
Tags:
|
280
|
-
generate, template, post, ai
|
281
|
-
"""
|
282
|
-
if id is None:
|
283
|
-
raise ValueError("Missing required parameter 'id'")
|
284
|
-
if title is None:
|
285
|
-
raise ValueError("Missing required parameter 'title'")
|
286
|
-
if variables is None:
|
287
|
-
raise ValueError("Missing required parameter 'variables'")
|
288
|
-
request_body = {
|
289
|
-
"title": title,
|
290
|
-
"variables": variables,
|
291
|
-
"test": test,
|
292
|
-
"caption": caption,
|
293
|
-
"dimension": dimension,
|
294
|
-
}
|
295
|
-
request_body = {k: v for k, v in request_body.items() if v is not None}
|
296
|
-
url = f"{self.base_url}/v2/template/{id}/generate"
|
297
|
-
query_params = {}
|
298
|
-
response = self._post(url, data=request_body, params=query_params)
|
299
|
-
response.raise_for_status()
|
300
|
-
return response.json()
|
301
|
-
|
302
|
-
def get_v2_video_translate_target_languages(
|
303
|
-
self,
|
304
|
-
) -> Any:
|
305
|
-
"""
|
306
|
-
Retrieves the list of supported target languages for video translation via the v2 API.
|
307
|
-
|
308
|
-
Args:
|
309
|
-
None: This function takes no arguments
|
310
|
-
|
311
|
-
Returns:
|
312
|
-
dict: A JSON-decoded dictionary containing the available target languages for video translation.
|
313
|
-
|
314
|
-
Raises:
|
315
|
-
requests.HTTPError: If the HTTP response indicates an unsuccessful status code.
|
316
|
-
|
317
|
-
Tags:
|
318
|
-
get, list, api, video-translation, languages
|
319
|
-
"""
|
320
|
-
url = f"{self.base_url}/v2/video_translate/target_languages"
|
321
|
-
query_params = {}
|
322
|
-
response = self._get(url, params=query_params)
|
323
|
-
response.raise_for_status()
|
324
|
-
return response.json()
|
325
|
-
|
326
|
-
def post_v2_video_translate(
|
327
|
-
self,
|
328
|
-
video_url,
|
329
|
-
output_language,
|
330
|
-
title=None,
|
331
|
-
translate_audio_only=None,
|
332
|
-
speaker_num=None,
|
333
|
-
) -> Any:
|
334
|
-
"""
|
335
|
-
Submits a video translation request and returns the API response as JSON.
|
336
|
-
|
337
|
-
Args:
|
338
|
-
video_url: str. The URL of the source video to translate. Must not be None.
|
339
|
-
output_language: str. The target language code for translation output. Must not be None.
|
340
|
-
title: Optional[str]. The title to assign to the translated video. Defaults to None.
|
341
|
-
translate_audio_only: Optional[bool]. If True, only translates audio (not on-screen text). Defaults to None.
|
342
|
-
speaker_num: Optional[int]. Number of speakers in the video, if known. Defaults to None.
|
343
|
-
|
344
|
-
Returns:
|
345
|
-
dict. The JSON response from the translation API containing the translation job details or result.
|
346
|
-
|
347
|
-
Raises:
|
348
|
-
ValueError: If 'video_url' or 'output_language' is not provided.
|
349
|
-
requests.HTTPError: If the HTTP request to the translation API fails (non-success status code).
|
350
|
-
|
351
|
-
Tags:
|
352
|
-
video, translate, ai, async-job, post
|
353
|
-
"""
|
354
|
-
if video_url is None:
|
355
|
-
raise ValueError("Missing required parameter 'video_url'")
|
356
|
-
if output_language is None:
|
357
|
-
raise ValueError("Missing required parameter 'output_language'")
|
358
|
-
request_body = {
|
359
|
-
"title": title,
|
360
|
-
"video_url": video_url,
|
361
|
-
"output_language": output_language,
|
362
|
-
"translate_audio_only": translate_audio_only,
|
363
|
-
"speaker_num": speaker_num,
|
364
|
-
}
|
365
|
-
request_body = {k: v for k, v in request_body.items() if v is not None}
|
366
|
-
url = f"{self.base_url}/v2/video_translate"
|
367
|
-
query_params = {}
|
368
|
-
response = self._post(url, data=request_body, params=query_params)
|
369
|
-
response.raise_for_status()
|
370
|
-
return response.json()
|
371
|
-
|
372
|
-
def get_v2_video_translate_status_by_id(self, id) -> Any:
|
373
|
-
"""
|
374
|
-
Retrieves the status of a video translation job by its unique identifier.
|
375
|
-
|
376
|
-
Args:
|
377
|
-
id: The unique identifier of the video translation job to check.
|
378
|
-
|
379
|
-
Returns:
|
380
|
-
A dictionary representing the status and details of the video translation job.
|
381
|
-
|
382
|
-
Raises:
|
383
|
-
ValueError: Raised if the 'id' parameter is None.
|
384
|
-
HTTPError: Raised if the HTTP request to retrieve the job status fails.
|
385
|
-
|
386
|
-
Tags:
|
387
|
-
get, video-translate, status, ai
|
388
|
-
"""
|
389
|
-
if id is None:
|
390
|
-
raise ValueError("Missing required parameter 'id'")
|
391
|
-
url = f"{self.base_url}/v2/video_translate/{id}"
|
392
|
-
query_params = {}
|
393
|
-
response = self._get(url, params=query_params)
|
394
|
-
response.raise_for_status()
|
395
|
-
return response.json()
|
396
|
-
|
397
|
-
def post_streaming_new(self, quality=None) -> Any:
|
398
|
-
"""
|
399
|
-
Initiates a new streaming session with optional quality parameter and returns the server's JSON response.
|
400
|
-
|
401
|
-
Args:
|
402
|
-
quality: Optional quality setting for the streaming session (type: Any). If None, the default server quality will be used.
|
403
|
-
|
404
|
-
Returns:
|
405
|
-
A JSON-decoded response (type: Any) from the server containing information about the newly created streaming session.
|
406
|
-
|
407
|
-
Raises:
|
408
|
-
requests.HTTPError: If the HTTP request to start the streaming session fails or returns a non-success status code.
|
409
|
-
|
410
|
-
Tags:
|
411
|
-
post, streaming, async-job, start, api
|
412
|
-
"""
|
413
|
-
request_body = {
|
414
|
-
"quality": quality,
|
415
|
-
}
|
416
|
-
request_body = {k: v for k, v in request_body.items() if v is not None}
|
417
|
-
url = f"{self.base_url}/v1/streaming.new"
|
418
|
-
query_params = {}
|
419
|
-
response = self._post(url, data=request_body, params=query_params)
|
420
|
-
response.raise_for_status()
|
421
|
-
return response.json()
|
422
|
-
|
423
|
-
def get_streaming_list(
|
424
|
-
self,
|
425
|
-
) -> Any:
|
426
|
-
"""
|
427
|
-
Retrieves the list of available streaming resources from the remote API.
|
428
|
-
|
429
|
-
Args:
|
430
|
-
None: This function takes no arguments
|
431
|
-
|
432
|
-
Returns:
|
433
|
-
The parsed JSON response containing the list of streaming resources.
|
434
|
-
|
435
|
-
Raises:
|
436
|
-
requests.HTTPError: If the HTTP request to the streaming list endpoint fails or returns an error status code.
|
437
|
-
|
438
|
-
Tags:
|
439
|
-
get, list, streaming, api
|
440
|
-
"""
|
441
|
-
url = f"{self.base_url}/v1/streaming.list"
|
442
|
-
query_params = {}
|
443
|
-
response = self._get(url, params=query_params)
|
444
|
-
response.raise_for_status()
|
445
|
-
return response.json()
|
446
|
-
|
447
|
-
def post_streaming_ice(self, session_id, candidate) -> Any:
|
448
|
-
"""
|
449
|
-
Sends an ICE candidate for a streaming session to the server and returns the JSON response.
|
450
|
-
|
451
|
-
Args:
|
452
|
-
session_id: Unique identifier for the streaming session. Must not be None.
|
453
|
-
candidate: ICE candidate information to be sent to the server. Must not be None.
|
454
|
-
|
455
|
-
Returns:
|
456
|
-
Parsed JSON response from the server as a Python object.
|
457
|
-
|
458
|
-
Raises:
|
459
|
-
ValueError: Raised if 'session_id' or 'candidate' is None.
|
460
|
-
requests.HTTPError: Raised if the HTTP request to the server fails.
|
461
|
-
|
462
|
-
Tags:
|
463
|
-
post, streaming, ice, async-job, ai
|
464
|
-
"""
|
465
|
-
if session_id is None:
|
466
|
-
raise ValueError("Missing required parameter 'session_id'")
|
467
|
-
if candidate is None:
|
468
|
-
raise ValueError("Missing required parameter 'candidate'")
|
469
|
-
request_body = {
|
470
|
-
"session_id": session_id,
|
471
|
-
"candidate": candidate,
|
472
|
-
}
|
473
|
-
request_body = {k: v for k, v in request_body.items() if v is not None}
|
474
|
-
url = f"{self.base_url}/v1/streaming.ice"
|
475
|
-
query_params = {}
|
476
|
-
response = self._post(url, data=request_body, params=query_params)
|
477
|
-
response.raise_for_status()
|
478
|
-
return response.json()
|
479
|
-
|
480
|
-
def post_streaming_task(self, session_id, text) -> Any:
|
481
|
-
"""
|
482
|
-
Submits a streaming task for the specified session and text input, returning the response from the remote API.
|
483
|
-
|
484
|
-
Args:
|
485
|
-
session_id: The unique identifier for the streaming session. Must not be None.
|
486
|
-
text: The text content to be processed in the streaming task. Must not be None.
|
487
|
-
|
488
|
-
Returns:
|
489
|
-
The parsed JSON response from the streaming task API call.
|
490
|
-
|
491
|
-
Raises:
|
492
|
-
ValueError: If either 'session_id' or 'text' is None.
|
493
|
-
requests.HTTPError: If the API request fails or returns an unsuccessful status code.
|
494
|
-
|
495
|
-
Tags:
|
496
|
-
post, streaming-task, api, start
|
497
|
-
"""
|
498
|
-
if session_id is None:
|
499
|
-
raise ValueError("Missing required parameter 'session_id'")
|
500
|
-
if text is None:
|
501
|
-
raise ValueError("Missing required parameter 'text'")
|
502
|
-
request_body = {
|
503
|
-
"session_id": session_id,
|
504
|
-
"text": text,
|
505
|
-
}
|
506
|
-
request_body = {k: v for k, v in request_body.items() if v is not None}
|
507
|
-
url = f"{self.base_url}/v1/streaming.task"
|
508
|
-
query_params = {}
|
509
|
-
response = self._post(url, data=request_body, params=query_params)
|
510
|
-
response.raise_for_status()
|
511
|
-
return response.json()
|
512
|
-
|
513
|
-
def post_streaming_stop(self, session_id) -> Any:
|
514
|
-
"""
|
515
|
-
Stops an ongoing streaming session by sending a stop request for the specified session ID.
|
516
|
-
|
517
|
-
Args:
|
518
|
-
session_id: The unique identifier of the streaming session to be stopped.
|
519
|
-
|
520
|
-
Returns:
|
521
|
-
The parsed JSON response from the stop request, typically containing the status or result of the streaming stop operation.
|
522
|
-
|
523
|
-
Raises:
|
524
|
-
ValueError: If 'session_id' is None.
|
525
|
-
requests.HTTPError: If the HTTP request to stop the streaming session fails or returns an error response.
|
526
|
-
|
527
|
-
Tags:
|
528
|
-
stop, streaming, management, async-job
|
529
|
-
"""
|
530
|
-
if session_id is None:
|
531
|
-
raise ValueError("Missing required parameter 'session_id'")
|
532
|
-
request_body = {
|
533
|
-
"session_id": session_id,
|
534
|
-
}
|
535
|
-
request_body = {k: v for k, v in request_body.items() if v is not None}
|
536
|
-
url = f"{self.base_url}/v1/streaming.stop"
|
537
|
-
query_params = {}
|
538
|
-
response = self._post(url, data=request_body, params=query_params)
|
539
|
-
response.raise_for_status()
|
540
|
-
return response.json()
|
541
|
-
|
542
|
-
def post_streaming_interrupt(self, session_id) -> Any:
|
543
|
-
"""
|
544
|
-
Sends a request to interrupt an active streaming session identified by the given session ID.
|
545
|
-
|
546
|
-
Args:
|
547
|
-
session_id: The unique identifier of the streaming session to be interrupted.
|
548
|
-
|
549
|
-
Returns:
|
550
|
-
A dictionary containing the server's response to the interrupt request.
|
551
|
-
|
552
|
-
Raises:
|
553
|
-
ValueError: Raised if 'session_id' is None.
|
554
|
-
requests.HTTPError: Raised if the HTTP request to interrupt the session fails.
|
555
|
-
|
556
|
-
Tags:
|
557
|
-
interrupt, streaming, management
|
558
|
-
"""
|
559
|
-
if session_id is None:
|
560
|
-
raise ValueError("Missing required parameter 'session_id'")
|
561
|
-
request_body = {
|
562
|
-
"session_id": session_id,
|
563
|
-
}
|
564
|
-
request_body = {k: v for k, v in request_body.items() if v is not None}
|
565
|
-
url = f"{self.base_url}/v1/streaming.interrupt"
|
566
|
-
query_params = {}
|
567
|
-
response = self._post(url, data=request_body, params=query_params)
|
568
|
-
response.raise_for_status()
|
569
|
-
return response.json()
|
570
|
-
|
571
|
-
def post_streaming_create_token(self, expiry=None) -> Any:
|
572
|
-
"""
|
573
|
-
Creates a new streaming token with an optional expiry time by sending a POST request to the streaming token API endpoint.
|
574
|
-
|
575
|
-
Args:
|
576
|
-
expiry: Optional expiry time for the token in seconds. If None, the token will not have an explicit expiration.
|
577
|
-
|
578
|
-
Returns:
|
579
|
-
dict: The JSON response from the API containing the new streaming token and related metadata.
|
580
|
-
|
581
|
-
Raises:
|
582
|
-
requests.exceptions.HTTPError: If the HTTP request returned an unsuccessful status code.
|
583
|
-
|
584
|
-
Tags:
|
585
|
-
create, streaming, token, api
|
586
|
-
"""
|
587
|
-
request_body = {
|
588
|
-
"expiry": expiry,
|
589
|
-
}
|
590
|
-
request_body = {k: v for k, v in request_body.items() if v is not None}
|
591
|
-
url = f"{self.base_url}/v1/streaming.create_token"
|
592
|
-
query_params = {}
|
593
|
-
response = self._post(url, data=request_body, params=query_params)
|
594
|
-
response.raise_for_status()
|
595
|
-
return response.json()
|
596
|
-
|
597
|
-
def get_streaming_avatar_list(
|
598
|
-
self,
|
599
|
-
) -> Any:
|
600
|
-
"""
|
601
|
-
Retrieves a list of available streaming avatars from the API endpoint.
|
602
|
-
|
603
|
-
Args:
|
604
|
-
None: This function takes no arguments
|
605
|
-
|
606
|
-
Returns:
|
607
|
-
A JSON-decoded object representing the list of streaming avatars.
|
608
|
-
|
609
|
-
Raises:
|
610
|
-
requests.exceptions.HTTPError: If the HTTP request to the streaming avatar endpoint returns an unsuccessful status code.
|
611
|
-
|
612
|
-
Tags:
|
613
|
-
list, streaming, avatar, api
|
614
|
-
"""
|
615
|
-
url = f"{self.base_url}/v1/streaming/avatar.list"
|
616
|
-
query_params = {}
|
617
|
-
response = self._get(url, params=query_params)
|
618
|
-
response.raise_for_status()
|
619
|
-
return response.json()
|
620
|
-
|
621
|
-
def get_v1_webhook_list(
|
622
|
-
self,
|
623
|
-
) -> Any:
|
624
|
-
"""
|
625
|
-
Retrieves a list of all registered webhooks via the v1 API endpoint.
|
626
|
-
|
627
|
-
Args:
|
628
|
-
None: This function takes no arguments
|
629
|
-
|
630
|
-
Returns:
|
631
|
-
The parsed JSON response containing webhook list data.
|
632
|
-
|
633
|
-
Raises:
|
634
|
-
requests.HTTPError: If the HTTP request fails or an error response is returned from the server.
|
635
|
-
|
636
|
-
Tags:
|
637
|
-
list, webhook, api, management
|
638
|
-
"""
|
639
|
-
url = f"{self.base_url}/v1/webhook/webhook.list"
|
640
|
-
query_params = {}
|
641
|
-
response = self._get(url, params=query_params)
|
642
|
-
response.raise_for_status()
|
643
|
-
return response.json()
|
644
|
-
|
645
|
-
def post_v1_webhook_endpoint_add(self, url, events) -> Any:
|
646
|
-
"""
|
647
|
-
Registers a new webhook endpoint with the specified URL and events.
|
648
|
-
|
649
|
-
Args:
|
650
|
-
url: str. The callback URL where webhook notifications will be sent. Must not be None.
|
651
|
-
events: list. A list of event types to subscribe the webhook to. Must not be None.
|
652
|
-
|
653
|
-
Returns:
|
654
|
-
dict. The JSON response from the API containing details about the created webhook endpoint.
|
655
|
-
|
656
|
-
Raises:
|
657
|
-
ValueError: Raised if the 'url' or 'events' parameter is None.
|
658
|
-
requests.HTTPError: Raised if the HTTP request to the endpoint fails.
|
659
|
-
|
660
|
-
Tags:
|
661
|
-
add, webhook, endpoint, api
|
662
|
-
"""
|
663
|
-
if url is None:
|
664
|
-
raise ValueError("Missing required parameter 'url'")
|
665
|
-
if events is None:
|
666
|
-
raise ValueError("Missing required parameter 'events'")
|
667
|
-
request_body = {
|
668
|
-
"url": url,
|
669
|
-
"events": events,
|
670
|
-
}
|
671
|
-
request_body = {k: v for k, v in request_body.items() if v is not None}
|
672
|
-
url = f"{self.base_url}/v1/webhook/endpoint.add"
|
673
|
-
query_params = {}
|
674
|
-
response = self._post(url, data=request_body, params=query_params)
|
675
|
-
response.raise_for_status()
|
676
|
-
return response.json()
|
677
|
-
|
678
|
-
def delete_v1_webhook_endpoint_by_id(self, endpoint_id) -> Any:
|
679
|
-
"""
|
680
|
-
Deletes a webhook endpoint identified by its ID via a DELETE request to the v1 API.
|
681
|
-
|
682
|
-
Args:
|
683
|
-
endpoint_id: The unique identifier of the webhook endpoint to delete. Must not be None.
|
684
|
-
|
685
|
-
Returns:
|
686
|
-
The response payload parsed as JSON from the DELETE request.
|
687
|
-
|
688
|
-
Raises:
|
689
|
-
ValueError: If the 'endpoint_id' parameter is None.
|
690
|
-
requests.HTTPError: If the DELETE request returns an unsuccessful HTTP status code.
|
691
|
-
|
692
|
-
Tags:
|
693
|
-
delete, webhook, endpoint, api
|
694
|
-
"""
|
695
|
-
if endpoint_id is None:
|
696
|
-
raise ValueError("Missing required parameter 'endpoint_id'")
|
697
|
-
url = f"{self.base_url}/v1/webhook/endpoint.delete/{endpoint_id}"
|
698
|
-
query_params = {}
|
699
|
-
response = self._delete(url, params=query_params)
|
700
|
-
response.raise_for_status()
|
701
|
-
return response.json()
|
702
|
-
|
703
|
-
def get_v1_webhook_endpoint_list(
|
704
|
-
self,
|
705
|
-
) -> Any:
|
706
|
-
"""
|
707
|
-
Retrieves a list of webhook endpoints from the v1 API.
|
708
|
-
|
709
|
-
Args:
|
710
|
-
None: This function takes no arguments
|
711
|
-
|
712
|
-
Returns:
|
713
|
-
A JSON-compatible object containing the list of webhook endpoints.
|
714
|
-
|
715
|
-
Raises:
|
716
|
-
requests.HTTPError: If the HTTP request to the webhook endpoint API fails or returns an unsuccessful status code.
|
717
|
-
|
718
|
-
Tags:
|
719
|
-
get, list, webhook, endpoint, api
|
720
|
-
"""
|
721
|
-
url = f"{self.base_url}/v1/webhook/endpoint.list"
|
722
|
-
query_params = {}
|
723
|
-
response = self._get(url, params=query_params)
|
724
|
-
response.raise_for_status()
|
725
|
-
return response.json()
|
726
|
-
|
727
|
-
def get_v1_talking_photo_list(
|
728
|
-
self,
|
729
|
-
) -> Any:
|
730
|
-
"""
|
731
|
-
Retrieves the list of talking photos from the v1 API endpoint.
|
732
|
-
|
733
|
-
Args:
|
734
|
-
None: This function takes no arguments
|
735
|
-
|
736
|
-
Returns:
|
737
|
-
The JSON-decoded response containing the list of talking photos.
|
738
|
-
|
739
|
-
Raises:
|
740
|
-
requests.HTTPError: If the HTTP request to the API endpoint returns an unsuccessful status code.
|
741
|
-
|
742
|
-
Tags:
|
743
|
-
get, list, api, talking-photo
|
744
|
-
"""
|
745
|
-
url = f"{self.base_url}/v1/talking_photo.list"
|
746
|
-
query_params = {}
|
747
|
-
response = self._get(url, params=query_params)
|
748
|
-
response.raise_for_status()
|
749
|
-
return response.json()
|
750
|
-
|
751
|
-
def delete_v2_talking_photo_by_id(self, id) -> Any:
|
752
|
-
"""
|
753
|
-
Deletes a v2 talking photo resource identified by its unique ID.
|
754
|
-
|
755
|
-
Args:
|
756
|
-
id: The unique identifier of the v2 talking photo to be deleted.
|
757
|
-
|
758
|
-
Returns:
|
759
|
-
The response data as a JSON object if the deletion is successful.
|
760
|
-
|
761
|
-
Raises:
|
762
|
-
ValueError: Raised if the 'id' parameter is None.
|
763
|
-
HTTPError: Raised if the HTTP request fails with an error status code.
|
764
|
-
|
765
|
-
Tags:
|
766
|
-
delete, talking-photo, v2, api, management
|
767
|
-
"""
|
768
|
-
if id is None:
|
769
|
-
raise ValueError("Missing required parameter 'id'")
|
770
|
-
url = f"{self.base_url}/v2/talking_photo/{id}"
|
771
|
-
query_params = {}
|
772
|
-
response = self._delete(url, params=query_params)
|
773
|
-
response.raise_for_status()
|
774
|
-
return response.json()
|
775
|
-
|
776
|
-
def post_personalized_video_add_contact(self, project_id, variables_list) -> Any:
|
777
|
-
"""
|
778
|
-
Adds a new contact to a personalized video project by sending the contact variables to the server.
|
779
|
-
|
780
|
-
Args:
|
781
|
-
project_id: The unique identifier for the personalized video project. Must not be None.
|
782
|
-
variables_list: A list containing variables for the new contact. Must not be None.
|
783
|
-
|
784
|
-
Returns:
|
785
|
-
A dictionary representing the JSON response from the server, usually containing details or status of the added contact.
|
786
|
-
|
787
|
-
Raises:
|
788
|
-
ValueError: Raised if either 'project_id' or 'variables_list' is None.
|
789
|
-
requests.HTTPError: Raised if the HTTP request fails or returns an error status code.
|
790
|
-
|
791
|
-
Tags:
|
792
|
-
add, contact, personalized-video, api, async_job
|
793
|
-
"""
|
794
|
-
if project_id is None:
|
795
|
-
raise ValueError("Missing required parameter 'project_id'")
|
796
|
-
if variables_list is None:
|
797
|
-
raise ValueError("Missing required parameter 'variables_list'")
|
798
|
-
request_body = {
|
799
|
-
"project_id": project_id,
|
800
|
-
"variables_list": variables_list,
|
801
|
-
}
|
802
|
-
request_body = {k: v for k, v in request_body.items() if v is not None}
|
803
|
-
url = f"{self.base_url}/v1/personalized_video/add_contact"
|
804
|
-
query_params = {}
|
805
|
-
response = self._post(url, data=request_body, params=query_params)
|
806
|
-
response.raise_for_status()
|
807
|
-
return response.json()
|
808
|
-
|
809
|
-
def get_personalized_video_audience_detail(self, id=None) -> Any:
|
810
|
-
"""
|
811
|
-
Retrieves detailed information about a personalized video audience by ID.
|
812
|
-
|
813
|
-
Args:
|
814
|
-
id: Optional; The unique identifier of the personalized video audience to retrieve details for. If None, details for all audiences may be returned depending on API behavior.
|
815
|
-
|
816
|
-
Returns:
|
817
|
-
A JSON-decoded Python object containing the audience detail information provided by the API.
|
818
|
-
|
819
|
-
Raises:
|
820
|
-
requests.HTTPError: If the HTTP request returned an unsuccessful status code.
|
821
|
-
|
822
|
-
Tags:
|
823
|
-
get, detail, audience, video, api
|
824
|
-
"""
|
825
|
-
url = f"{self.base_url}/v1/personalized_video/audience/detail"
|
826
|
-
query_params = {k: v for k, v in [("id", id)] if v is not None}
|
827
|
-
response = self._get(url, params=query_params)
|
828
|
-
response.raise_for_status()
|
829
|
-
return response.json()
|
830
|
-
|
831
|
-
def get_personalized_video_project_detail(self, id=None) -> Any:
|
832
|
-
"""
|
833
|
-
Retrieves the details of a personalized video project by its unique identifier.
|
834
|
-
|
835
|
-
Args:
|
836
|
-
id: Optional; The unique identifier of the personalized video project to retrieve. If None, no project ID is passed as a parameter.
|
837
|
-
|
838
|
-
Returns:
|
839
|
-
A JSON-decoded Python object containing the details of the personalized video project.
|
840
|
-
|
841
|
-
Raises:
|
842
|
-
requests.HTTPError: If the HTTP request fails or returns a non-success status code, an HTTPError is raised.
|
843
|
-
|
844
|
-
Tags:
|
845
|
-
get, personalized-video, project-detail, api
|
846
|
-
"""
|
847
|
-
url = f"{self.base_url}/v1/personalized_video/project/detail"
|
848
|
-
query_params = {k: v for k, v in [("id", id)] if v is not None}
|
849
|
-
response = self._get(url, params=query_params)
|
850
|
-
response.raise_for_status()
|
851
|
-
return response.json()
|
852
|
-
|
853
|
-
def get_v2_user_remaining_quota(
|
854
|
-
self,
|
855
|
-
) -> Any:
|
856
|
-
"""
|
857
|
-
Retrieves the current remaining quota information for the user from the v2 API endpoint.
|
858
|
-
|
859
|
-
Args:
|
860
|
-
None: This function takes no arguments
|
861
|
-
|
862
|
-
Returns:
|
863
|
-
dict: A dictionary containing remaining quota details for the user as returned by the API.
|
864
|
-
|
865
|
-
Raises:
|
866
|
-
requests.HTTPError: If the HTTP request to the quota endpoint fails or returns a non-success status code.
|
867
|
-
|
868
|
-
Tags:
|
869
|
-
get, quota, user-management, api
|
870
|
-
"""
|
871
|
-
url = f"{self.base_url}/v2/user/remaining_quota"
|
872
|
-
query_params = {}
|
873
|
-
response = self._get(url, params=query_params)
|
874
|
-
response.raise_for_status()
|
875
|
-
return response.json()
|
876
|
-
|
877
|
-
def post_v1_asset_upload(self, request_body=None) -> Any:
|
878
|
-
"""
|
879
|
-
Uploads an asset to the server using a POST request to the '/v1/asset' endpoint.
|
880
|
-
|
881
|
-
Args:
|
882
|
-
request_body: Optional. The data to include in the POST request body, typically representing the asset to upload.
|
883
|
-
|
884
|
-
Returns:
|
885
|
-
The parsed JSON response from the server, containing information about the uploaded asset.
|
886
|
-
|
887
|
-
Raises:
|
888
|
-
requests.HTTPError: If the HTTP request returned an unsuccessful status code.
|
889
|
-
|
890
|
-
Tags:
|
891
|
-
upload, asset, post, api
|
892
|
-
"""
|
893
|
-
url = f"{self.base_url}/v1/asset"
|
894
|
-
query_params = {}
|
895
|
-
response = self._post(url, data=request_body, params=query_params)
|
896
|
-
response.raise_for_status()
|
897
|
-
return response.json()
|
898
|
-
|
899
|
-
def get_v1_video_status(self, video_id=None) -> Any:
|
900
|
-
"""
|
901
|
-
Retrieves the status of a video by making a GET request to the v1 video_status endpoint.
|
902
|
-
|
903
|
-
Args:
|
904
|
-
video_id: Optional; The unique identifier of the video whose status is to be retrieved. If not provided, the request may fail or return an error depending on the API.
|
905
|
-
|
906
|
-
Returns:
|
907
|
-
A JSON-decoded object containing the status information of the requested video.
|
908
|
-
|
909
|
-
Raises:
|
910
|
-
requests.HTTPError: Raised if the HTTP request fails or the server returns an unsuccessful status code.
|
911
|
-
|
912
|
-
Tags:
|
913
|
-
get, video, status, api
|
914
|
-
"""
|
915
|
-
url = f"{self.base_url}/v1/video_status.get"
|
916
|
-
query_params = {k: v for k, v in [("video_id", video_id)] if v is not None}
|
917
|
-
response = self._get(url, params=query_params)
|
918
|
-
response.raise_for_status()
|
919
|
-
return response.json()
|
920
|
-
|
921
|
-
def list_tools(self):
|
922
|
-
return [
|
923
|
-
self.get_v1_voice_list,
|
924
|
-
self.get_v1_avatar_list,
|
925
|
-
self.get_v2_voices,
|
926
|
-
self.get_v2_avatars,
|
927
|
-
self.get_v1_video_list,
|
928
|
-
self.post_v2_video_generate,
|
929
|
-
self.delete_v1_video,
|
930
|
-
self.get_v2_templates,
|
931
|
-
self.get_v2_template_by_id,
|
932
|
-
self.post_v2_template_generate_by_id,
|
933
|
-
self.get_v2_video_translate_target_languages,
|
934
|
-
self.post_v2_video_translate,
|
935
|
-
self.get_v2_video_translate_status_by_id,
|
936
|
-
self.post_streaming_new,
|
937
|
-
self.get_streaming_list,
|
938
|
-
self.post_streaming_ice,
|
939
|
-
self.post_streaming_task,
|
940
|
-
self.post_streaming_stop,
|
941
|
-
self.post_streaming_interrupt,
|
942
|
-
self.post_streaming_create_token,
|
943
|
-
self.get_streaming_avatar_list,
|
944
|
-
self.get_v1_webhook_list,
|
945
|
-
self.post_v1_webhook_endpoint_add,
|
946
|
-
self.delete_v1_webhook_endpoint_by_id,
|
947
|
-
self.get_v1_webhook_endpoint_list,
|
948
|
-
self.get_v1_talking_photo_list,
|
949
|
-
self.delete_v2_talking_photo_by_id,
|
950
|
-
self.post_personalized_video_add_contact,
|
951
|
-
self.get_personalized_video_audience_detail,
|
952
|
-
self.get_personalized_video_project_detail,
|
953
|
-
self.get_v2_user_remaining_quota,
|
954
|
-
self.post_v1_asset_upload,
|
955
|
-
self.get_v1_video_status,
|
956
|
-
]
|