gcore 0.13.0__py3-none-any.whl → 0.14.0__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.
Potentially problematic release.
This version of gcore might be problematic. Click here for more details.
- gcore/__init__.py +3 -1
- gcore/_base_client.py +9 -9
- gcore/_client.py +25 -10
- gcore/_models.py +10 -4
- gcore/_qs.py +7 -7
- gcore/_types.py +18 -11
- gcore/_utils/_transform.py +2 -2
- gcore/_utils/_utils.py +4 -4
- gcore/_version.py +1 -1
- gcore/pagination.py +137 -0
- gcore/resources/__init__.py +14 -0
- gcore/resources/cdn/__init__.py +201 -0
- gcore/resources/cdn/audit_log.py +406 -0
- gcore/resources/cdn/cdn.py +957 -0
- gcore/resources/cdn/certificates.py +1062 -0
- gcore/resources/cdn/ip_ranges.py +224 -0
- gcore/resources/cdn/logs/__init__.py +33 -0
- gcore/resources/cdn/logs/logs.py +1424 -0
- gcore/resources/cdn/logs/settings.py +1081 -0
- gcore/resources/cdn/logs_uploader/__init__.py +61 -0
- gcore/resources/cdn/logs_uploader/configs.py +868 -0
- gcore/resources/cdn/logs_uploader/logs_uploader.py +166 -0
- gcore/resources/cdn/logs_uploader/policies.py +1060 -0
- gcore/resources/cdn/logs_uploader/targets.py +811 -0
- gcore/resources/cdn/metrics.py +419 -0
- gcore/resources/cdn/network_capacity.py +139 -0
- gcore/resources/cdn/origin_groups.py +1496 -0
- gcore/resources/cdn/resources/__init__.py +47 -0
- gcore/resources/cdn/resources/resources.py +2060 -0
- gcore/resources/cdn/resources/rules.py +1027 -0
- gcore/resources/cdn/resources/shield.py +259 -0
- gcore/resources/cdn/rule_templates.py +883 -0
- gcore/resources/cdn/shields.py +139 -0
- gcore/resources/cdn/statistics.py +1408 -0
- gcore/resources/cdn/trusted_ca_certificates.py +592 -0
- gcore/resources/cloud/audit_logs.py +33 -29
- gcore/resources/cloud/baremetal/flavors.py +21 -17
- gcore/resources/cloud/baremetal/images.py +19 -15
- gcore/resources/cloud/baremetal/servers.py +141 -119
- gcore/resources/cloud/billing_reservations.py +41 -33
- gcore/resources/cloud/cloud.py +24 -0
- gcore/resources/cloud/cost_reports.py +149 -119
- gcore/resources/cloud/file_shares/access_rules.py +25 -13
- gcore/resources/cloud/file_shares/file_shares.py +107 -71
- gcore/resources/cloud/floating_ips.py +101 -59
- gcore/resources/cloud/gpu_baremetal_clusters/flavors.py +13 -9
- gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +275 -65
- gcore/resources/cloud/gpu_baremetal_clusters/images.py +69 -53
- gcore/resources/cloud/gpu_baremetal_clusters/interfaces.py +9 -5
- gcore/resources/cloud/gpu_baremetal_clusters/servers.py +151 -127
- gcore/resources/cloud/inference/api_keys.py +51 -31
- gcore/resources/cloud/inference/applications/deployments.py +49 -31
- gcore/resources/cloud/inference/applications/templates.py +17 -9
- gcore/resources/cloud/inference/deployments/deployments.py +171 -139
- gcore/resources/cloud/inference/deployments/logs.py +17 -13
- gcore/resources/cloud/inference/flavors.py +21 -13
- gcore/resources/cloud/inference/inference.py +9 -5
- gcore/resources/cloud/inference/registry_credentials.py +45 -25
- gcore/resources/cloud/inference/secrets.py +45 -25
- gcore/resources/cloud/instances/flavors.py +17 -13
- gcore/resources/cloud/instances/images.py +153 -129
- gcore/resources/cloud/instances/instances.py +287 -213
- gcore/resources/cloud/instances/interfaces.py +165 -161
- gcore/resources/cloud/instances/metrics.py +9 -5
- gcore/resources/cloud/ip_ranges.py +25 -15
- gcore/resources/cloud/k8s/clusters/clusters.py +151 -87
- gcore/resources/cloud/k8s/clusters/nodes.py +19 -11
- gcore/resources/cloud/k8s/clusters/pools/nodes.py +19 -11
- gcore/resources/cloud/k8s/clusters/pools/pools.py +83 -59
- gcore/resources/cloud/k8s/flavors.py +13 -9
- gcore/resources/cloud/k8s/k8s.py +9 -5
- gcore/resources/cloud/load_balancers/flavors.py +11 -7
- gcore/resources/cloud/load_balancers/l7_policies/l7_policies.py +103 -83
- gcore/resources/cloud/load_balancers/l7_policies/rules.py +77 -57
- gcore/resources/cloud/load_balancers/listeners.py +125 -105
- gcore/resources/cloud/load_balancers/load_balancers.py +155 -123
- gcore/resources/cloud/load_balancers/metrics.py +9 -5
- gcore/resources/cloud/load_balancers/pools/health_monitors.py +25 -17
- gcore/resources/cloud/load_balancers/pools/members.py +31 -23
- gcore/resources/cloud/load_balancers/pools/pools.py +155 -129
- gcore/resources/cloud/load_balancers/statuses.py +17 -9
- gcore/resources/cloud/networks/networks.py +79 -55
- gcore/resources/cloud/networks/routers.py +75 -47
- gcore/resources/cloud/networks/subnets.py +105 -81
- gcore/resources/cloud/placement_groups.py +33 -17
- gcore/resources/cloud/projects.py +53 -41
- gcore/resources/cloud/quotas/quotas.py +25 -13
- gcore/resources/cloud/quotas/requests.py +41 -25
- gcore/resources/cloud/regions.py +25 -23
- gcore/resources/cloud/registries/artifacts.py +17 -9
- gcore/resources/cloud/registries/registries.py +55 -29
- gcore/resources/cloud/registries/repositories.py +17 -9
- gcore/resources/cloud/registries/tags.py +9 -5
- gcore/resources/cloud/registries/users.py +65 -35
- gcore/resources/cloud/reserved_fixed_ips/reserved_fixed_ips.py +123 -107
- gcore/resources/cloud/reserved_fixed_ips/vip.py +45 -25
- gcore/resources/cloud/secrets.py +43 -27
- gcore/resources/cloud/security_groups/rules.py +55 -43
- gcore/resources/cloud/security_groups/security_groups.py +79 -47
- gcore/resources/cloud/ssh_keys.py +51 -31
- gcore/resources/cloud/tasks.py +57 -45
- gcore/resources/cloud/usage_reports.py +27 -23
- gcore/resources/cloud/users/role_assignments.py +49 -33
- gcore/resources/cloud/volumes.py +237 -201
- gcore/resources/dns/dns.py +17 -13
- gcore/resources/dns/locations.py +29 -17
- gcore/resources/dns/metrics.py +13 -9
- gcore/resources/dns/pickers/pickers.py +5 -5
- gcore/resources/dns/pickers/presets.py +9 -5
- gcore/resources/dns/zones/dnssec.py +19 -11
- gcore/resources/dns/zones/rrsets.py +149 -91
- gcore/resources/dns/zones/zones.py +245 -187
- gcore/resources/fastedge/apps/apps.py +105 -89
- gcore/resources/fastedge/apps/logs.py +25 -21
- gcore/resources/fastedge/binaries.py +33 -17
- gcore/resources/fastedge/fastedge.py +5 -5
- gcore/resources/fastedge/kv_stores.py +43 -31
- gcore/resources/fastedge/secrets.py +69 -45
- gcore/resources/fastedge/statistics.py +25 -17
- gcore/resources/fastedge/templates.py +59 -39
- gcore/resources/iam/api_tokens.py +43 -27
- gcore/resources/iam/iam.py +5 -5
- gcore/resources/iam/users.py +97 -65
- gcore/resources/security/bgp_announces.py +27 -19
- gcore/resources/security/events.py +23 -19
- gcore/resources/security/profile_templates.py +9 -5
- gcore/resources/security/profiles.py +69 -45
- gcore/resources/storage/buckets/buckets.py +37 -25
- gcore/resources/storage/buckets/cors.py +19 -11
- gcore/resources/storage/buckets/lifecycle.py +19 -11
- gcore/resources/storage/buckets/policy.py +25 -13
- gcore/resources/storage/credentials.py +19 -15
- gcore/resources/storage/locations.py +13 -9
- gcore/resources/storage/statistics.py +39 -31
- gcore/resources/storage/storage.py +105 -69
- gcore/resources/streaming/ai_tasks.py +307 -197
- gcore/resources/streaming/broadcasts.py +63 -35
- gcore/resources/streaming/directories.py +65 -39
- gcore/resources/streaming/players.py +47 -31
- gcore/resources/streaming/playlists.py +189 -123
- gcore/resources/streaming/quality_sets.py +69 -39
- gcore/resources/streaming/restreams.py +47 -27
- gcore/resources/streaming/statistics.py +613 -407
- gcore/resources/streaming/streams/overlays.py +107 -67
- gcore/resources/streaming/streams/streams.py +403 -263
- gcore/resources/streaming/videos/subtitles.py +131 -75
- gcore/resources/streaming/videos/videos.py +429 -279
- gcore/resources/waap/advanced_rules.py +9 -5
- gcore/resources/waap/custom_page_sets.py +99 -75
- gcore/resources/waap/domains/advanced_rules.py +157 -99
- gcore/resources/waap/domains/api_discovery.py +71 -47
- gcore/resources/waap/domains/api_path_groups.py +9 -5
- gcore/resources/waap/domains/api_paths.py +79 -83
- gcore/resources/waap/domains/custom_rules.py +89 -59
- gcore/resources/waap/domains/domains.py +59 -41
- gcore/resources/waap/domains/firewall_rules.py +83 -55
- gcore/resources/waap/domains/insight_silences.py +59 -39
- gcore/resources/waap/domains/insights.py +39 -27
- gcore/resources/waap/domains/settings.py +21 -13
- gcore/resources/waap/domains/statistics.py +99 -75
- gcore/resources/waap/insights.py +23 -21
- gcore/resources/waap/ip_info/ip_info.py +65 -33
- gcore/resources/waap/ip_info/metrics.py +11 -7
- gcore/resources/waap/organizations.py +17 -13
- gcore/resources/waap/statistics.py +9 -5
- gcore/resources/waap/tags.py +17 -17
- gcore/resources/waap/waap.py +5 -5
- gcore/types/cdn/__init__.py +80 -0
- gcore/types/cdn/audit_log_list_params.py +73 -0
- gcore/types/cdn/ca_certificate.py +53 -0
- gcore/types/cdn/ca_certificate_list.py +10 -0
- gcore/types/cdn/cdn_account.py +86 -0
- gcore/types/cdn/cdn_account_limits.py +27 -0
- gcore/types/cdn/cdn_audit_log_entry.py +66 -0
- gcore/types/cdn/cdn_available_features.py +46 -0
- gcore/types/cdn/cdn_list_purge_statuses_params.py +67 -0
- gcore/types/cdn/cdn_log_entry.py +70 -0
- gcore/types/cdn/cdn_metrics.py +22 -0
- gcore/types/cdn/cdn_metrics_groups.py +13 -0
- gcore/types/cdn/cdn_metrics_values.py +19 -0
- gcore/types/cdn/cdn_resource.py +1977 -0
- gcore/types/cdn/cdn_resource_list.py +10 -0
- gcore/types/cdn/cdn_update_account_params.py +15 -0
- gcore/types/cdn/certificate_create_params.py +51 -0
- gcore/types/cdn/certificate_get_status_params.py +14 -0
- gcore/types/cdn/certificate_list_params.py +29 -0
- gcore/types/cdn/certificate_replace_params.py +39 -0
- gcore/types/cdn/log_download_params.py +279 -0
- gcore/types/cdn/log_list_params.py +273 -0
- gcore/types/cdn/logs/__init__.py +7 -0
- gcore/types/cdn/logs/log_settings.py +172 -0
- gcore/types/cdn/logs/setting_create_params.py +200 -0
- gcore/types/cdn/logs/setting_update_params.py +200 -0
- gcore/types/cdn/logs_aggregated_stats.py +23 -0
- gcore/types/cdn/logs_uploader/__init__.py +23 -0
- gcore/types/cdn/logs_uploader/config_create_params.py +32 -0
- gcore/types/cdn/logs_uploader/config_list_params.py +16 -0
- gcore/types/cdn/logs_uploader/config_replace_params.py +32 -0
- gcore/types/cdn/logs_uploader/config_update_params.py +32 -0
- gcore/types/cdn/logs_uploader/logs_uploader_config.py +51 -0
- gcore/types/cdn/logs_uploader/logs_uploader_config_list.py +10 -0
- gcore/types/cdn/logs_uploader/logs_uploader_policy.py +73 -0
- gcore/types/cdn/logs_uploader/logs_uploader_policy_list.py +10 -0
- gcore/types/cdn/logs_uploader/logs_uploader_target.py +236 -0
- gcore/types/cdn/logs_uploader/logs_uploader_target_list.py +10 -0
- gcore/types/cdn/logs_uploader/policy_create_params.py +61 -0
- gcore/types/cdn/logs_uploader/policy_list_fields_response.py +8 -0
- gcore/types/cdn/logs_uploader/policy_list_params.py +16 -0
- gcore/types/cdn/logs_uploader/policy_replace_params.py +61 -0
- gcore/types/cdn/logs_uploader/policy_update_params.py +61 -0
- gcore/types/cdn/logs_uploader/target_create_params.py +249 -0
- gcore/types/cdn/logs_uploader/target_list_params.py +16 -0
- gcore/types/cdn/logs_uploader/target_replace_params.py +249 -0
- gcore/types/cdn/logs_uploader/target_update_params.py +249 -0
- gcore/types/cdn/logs_uploader_validation.py +23 -0
- gcore/types/cdn/metric_list_params.py +168 -0
- gcore/types/cdn/network_capacity.py +22 -0
- gcore/types/cdn/origin_group_create_params.py +184 -0
- gcore/types/cdn/origin_group_list_params.py +24 -0
- gcore/types/cdn/origin_group_replace_params.py +190 -0
- gcore/types/cdn/origin_group_update_params.py +190 -0
- gcore/types/cdn/origin_groups.py +212 -0
- gcore/types/cdn/origin_groups_list.py +10 -0
- gcore/types/cdn/public_ip_list.py +15 -0
- gcore/types/cdn/public_network_list.py +15 -0
- gcore/types/cdn/purge_status.py +55 -0
- gcore/types/cdn/resource_aggregated_stats.py +80 -0
- gcore/types/cdn/resource_create_params.py +1825 -0
- gcore/types/cdn/resource_list_params.py +107 -0
- gcore/types/cdn/resource_prefetch_params.py +17 -0
- gcore/types/cdn/resource_purge_params.py +71 -0
- gcore/types/cdn/resource_replace_params.py +1803 -0
- gcore/types/cdn/resource_update_params.py +1794 -0
- gcore/types/cdn/resource_usage_stats.py +111 -0
- gcore/types/cdn/resources/__init__.py +11 -0
- gcore/types/cdn/resources/cdn_resource_rule.py +1695 -0
- gcore/types/cdn/resources/origin_shielding.py +15 -0
- gcore/types/cdn/resources/rule_create_params.py +1652 -0
- gcore/types/cdn/resources/rule_list_response.py +10 -0
- gcore/types/cdn/resources/rule_replace_params.py +1654 -0
- gcore/types/cdn/resources/rule_update_params.py +1654 -0
- gcore/types/cdn/resources/shield_replace_params.py +16 -0
- gcore/types/cdn/rule_template.py +1666 -0
- gcore/types/cdn/rule_template_create_params.py +1636 -0
- gcore/types/cdn/rule_template_list.py +10 -0
- gcore/types/cdn/rule_template_replace_params.py +1636 -0
- gcore/types/cdn/rule_template_update_params.py +1636 -0
- gcore/types/cdn/shield_aggregated_stats.py +23 -0
- gcore/types/cdn/shield_list_response.py +25 -0
- gcore/types/cdn/ssl_detail.py +62 -0
- gcore/types/cdn/ssl_detail_list.py +10 -0
- gcore/types/cdn/ssl_request_status.py +135 -0
- gcore/types/cdn/statistic_get_logs_usage_aggregated_params.py +42 -0
- gcore/types/cdn/statistic_get_logs_usage_series_params.py +35 -0
- gcore/types/cdn/statistic_get_resource_usage_aggregated_params.py +151 -0
- gcore/types/cdn/statistic_get_resource_usage_series_params.py +131 -0
- gcore/types/cdn/statistic_get_shield_usage_aggregated_params.py +42 -0
- gcore/types/cdn/statistic_get_shield_usage_series_params.py +25 -0
- gcore/types/cdn/trusted_ca_certificate_create_params.py +23 -0
- gcore/types/cdn/trusted_ca_certificate_list_params.py +29 -0
- gcore/types/cdn/trusted_ca_certificate_replace_params.py +15 -0
- gcore/types/cdn/usage_series_stats.py +31 -0
- gcore/types/cloud/__init__.py +1 -0
- gcore/types/cloud/file_share.py +4 -0
- gcore/types/cloud/file_share_create_params.py +20 -0
- gcore/types/cloud/file_share_update_params.py +40 -3
- gcore/types/cloud/floating_ip_update_params.py +3 -1
- gcore/types/cloud/gpu_baremetal_cluster_action_params.py +46 -0
- gcore/types/cloud/inference/inference_deployment.py +3 -1
- gcore/types/cloud/instance_create_params.py +3 -1
- gcore/types/cloud/k8s/cluster_create_params.py +46 -4
- gcore/types/cloud/k8s/cluster_update_params.py +60 -6
- gcore/types/cloud/k8s/clusters/pool_update_params.py +1 -1
- gcore/types/cloud/k8s/k8s_cluster.py +40 -3
- gcore/types/cloud/load_balancer_update_params.py +3 -1
- gcore/types/cloud/network_update_params.py +3 -1
- gcore/types/cloud/networks/subnet_update_params.py +3 -1
- gcore/types/cloud/registries/user_create_multiple_params.py +5 -3
- gcore/types/cloud/registries/user_create_params.py +5 -3
- gcore/types/cloud/registry_create_params.py +5 -3
- gcore/types/cloud/security_group_update_params.py +3 -1
- gcore/types/cloud/ssh_key_created.py +6 -3
- gcore/types/cloud/volume_update_params.py +3 -1
- gcore/types/dns/zone_get_statistics_params.py +12 -9
- gcore/types/dns/zone_get_statistics_response.py +3 -1
- gcore/types/dns/zone_import_params.py +21 -15
- gcore/types/dns/zones/dns_output_rrset.py +7 -3
- gcore/types/iam/account_overview.py +7 -2
- gcore/types/iam/user.py +7 -2
- gcore/types/iam/user_detailed.py +7 -2
- gcore/types/iam/user_invite_params.py +4 -1
- gcore/types/iam/user_update.py +7 -2
- gcore/types/iam/user_update_params.py +7 -2
- gcore/types/streaming/ai_contentmoderation_hardnudity.py +6 -4
- gcore/types/streaming/ai_contentmoderation_nsfw.py +6 -4
- gcore/types/streaming/ai_contentmoderation_softnudity.py +6 -4
- gcore/types/streaming/ai_contentmoderation_sport.py +6 -4
- gcore/types/streaming/ai_task.py +20 -11
- gcore/types/streaming/ai_task_create_params.py +20 -11
- gcore/types/streaming/ai_task_get_response.py +5 -4
- gcore/types/streaming/ai_task_list_params.py +11 -5
- gcore/types/streaming/clip.py +33 -22
- gcore/types/streaming/create_video_param.py +75 -43
- gcore/types/streaming/playlist.py +7 -5
- gcore/types/streaming/playlist_create_params.py +7 -5
- gcore/types/streaming/playlist_update_params.py +7 -5
- gcore/types/streaming/playlist_video.py +75 -43
- gcore/types/streaming/statistic_get_unique_viewers_cdn_params.py +7 -4
- gcore/types/streaming/stream.py +207 -136
- gcore/types/streaming/stream_create_clip_params.py +33 -22
- gcore/types/streaming/stream_create_params.py +41 -24
- gcore/types/streaming/stream_update_params.py +41 -24
- gcore/types/streaming/video.py +138 -76
- gcore/types/streaming/video_list_params.py +4 -2
- gcore/types/streaming/video_update_params.py +75 -43
- gcore/types/waap/domain_update_params.py +2 -2
- gcore/types/waap/domains/advanced_rule_create_params.py +26 -18
- gcore/types/waap/domains/advanced_rule_list_params.py +10 -7
- gcore/types/waap/domains/advanced_rule_update_params.py +22 -17
- gcore/types/waap/domains/api_path_create_params.py +0 -3
- gcore/types/waap/domains/api_path_update_params.py +1 -3
- gcore/types/waap/domains/custom_rule_create_params.py +36 -35
- gcore/types/waap/domains/custom_rule_update_params.py +31 -33
- gcore/types/waap/domains/firewall_rule_create_params.py +6 -6
- gcore/types/waap/domains/firewall_rule_update_params.py +5 -5
- gcore/types/waap/domains/waap_advanced_rule.py +17 -9
- gcore/types/waap/domains/waap_custom_rule.py +5 -2
- gcore/types/waap/domains/waap_firewall_rule.py +1 -1
- gcore/types/waap/domains/waap_insight.py +1 -1
- gcore/types/waap/insight_list_types_params.py +1 -1
- {gcore-0.13.0.dist-info → gcore-0.14.0.dist-info}/METADATA +1 -1
- {gcore-0.13.0.dist-info → gcore-0.14.0.dist-info}/RECORD +334 -214
- {gcore-0.13.0.dist-info → gcore-0.14.0.dist-info}/WHEEL +0 -0
- {gcore-0.13.0.dist-info → gcore-0.14.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -4,7 +4,7 @@ from __future__ import annotations
|
|
|
4
4
|
|
|
5
5
|
import httpx
|
|
6
6
|
|
|
7
|
-
from ...._types import
|
|
7
|
+
from ...._types import Body, Omit, Query, Headers, NoneType, NotGiven, omit, not_given
|
|
8
8
|
from ...._utils import maybe_transform, async_maybe_transform
|
|
9
9
|
from ...._compat import cached_property
|
|
10
10
|
from ...._resource import SyncAPIResource, AsyncAPIResource
|
|
@@ -53,13 +53,14 @@ class SubtitlesResource(SyncAPIResource):
|
|
|
53
53
|
extra_headers: Headers | None = None,
|
|
54
54
|
extra_query: Query | None = None,
|
|
55
55
|
extra_body: Body | None = None,
|
|
56
|
-
timeout: float | httpx.Timeout | None | NotGiven =
|
|
56
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
57
57
|
) -> Subtitle:
|
|
58
58
|
"""
|
|
59
59
|
Add new subtitle/captions to a video entity.
|
|
60
60
|
|
|
61
|
-
**Add already exist subtitles**
|
|
62
|
-
|
|
61
|
+
**Add already exist subtitles**
|
|
62
|
+
|
|
63
|
+
Subtitles must be in one of the following formats:
|
|
63
64
|
|
|
64
65
|
- SRT – SubRip Text is described on
|
|
65
66
|
[wikipedia.org](https://en.wikipedia.org/wiki/SubRip#SubRip_file_format). Must
|
|
@@ -69,19 +70,26 @@ class SubtitlesResource(SyncAPIResource):
|
|
|
69
70
|
- WebVTT – Web Video Text Tracks Format is described on
|
|
70
71
|
[developer.mozilla.org](https://developer.mozilla.org/en-US/docs/Web/API/WebVTT_API).
|
|
71
72
|
Must start from "WEBVTT" header. Use validators to check the subtitles, like
|
|
72
|
-
[W3C](https://w3c.github.io/webvtt.js/parser.html).
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
73
|
+
[W3C](https://w3c.github.io/webvtt.js/parser.html).
|
|
74
|
+
|
|
75
|
+
Language is 3-letter language code according to ISO-639-2 (bibliographic code).
|
|
76
|
+
Specify language you need, or just look at our list in the attribute
|
|
77
|
+
"`audio_language`" of section
|
|
78
|
+
["AI Speech Recognition"](/docs/api-reference/streaming/ai/create-ai-asr-task).
|
|
79
|
+
|
|
80
|
+
You can add multiple subtitles in the same language, language uniqueness is not
|
|
81
|
+
required.
|
|
82
|
+
|
|
83
|
+
Size must be up to 5Mb.
|
|
79
84
|
|
|
80
85
|
The update time for added or changed subtitles is up to 30 seconds. Just like
|
|
81
86
|
videos, subtitles are cached, so it takes time to update the data.
|
|
82
87
|
|
|
83
|
-
**AI subtitles and transcribing**
|
|
84
|
-
|
|
88
|
+
**AI subtitles and transcribing**
|
|
89
|
+
|
|
90
|
+
It is also possible to automatically create subtitles based on AI.
|
|
91
|
+
|
|
92
|
+
Read more:
|
|
85
93
|
|
|
86
94
|
- What is
|
|
87
95
|
["AI Speech Recognition"](/docs/api-reference/streaming/ai/create-ai-asr-task).
|
|
@@ -95,14 +103,20 @@ class SubtitlesResource(SyncAPIResource):
|
|
|
95
103
|
that. Also you can point several languages to translate to, then a separate
|
|
96
104
|
subtitle will be generated for each specified language. The created AI-task(s)
|
|
97
105
|
will be automatically executed, and result will also be automatically attached
|
|
98
|
-
to this video as subtitle(s).
|
|
99
|
-
receive code 422 in response.
|
|
106
|
+
to this video as subtitle(s).
|
|
100
107
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
108
|
+
If AI is disabled in your account, you will receive code 422 in response.
|
|
109
|
+
|
|
110
|
+
**Where and how subtitles are displayed?**
|
|
111
|
+
|
|
112
|
+
Subtitles are became available in the API response and in playback manifests.
|
|
113
|
+
|
|
114
|
+
All added subtitles are automatically inserted into the output manifest .m3u8.
|
|
115
|
+
This way, subtitles become available to any player: our player, OS built-in, or
|
|
116
|
+
other specialized ones. You don't need to do anything else. Read more
|
|
117
|
+
information in the Knowledge Base.
|
|
118
|
+
|
|
119
|
+
Example:
|
|
106
120
|
|
|
107
121
|
```
|
|
108
122
|
# EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs0",NAME="English",LANGUAGE="en",AUTOSELECT=YES,URI="subs-0.m3u8"
|
|
@@ -120,7 +134,9 @@ class SubtitlesResource(SyncAPIResource):
|
|
|
120
134
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
121
135
|
"""
|
|
122
136
|
return self._post(
|
|
123
|
-
f"/streaming/videos/{video_id}/subtitles"
|
|
137
|
+
f"/streaming/videos/{video_id}/subtitles"
|
|
138
|
+
if self._client._base_url_overridden
|
|
139
|
+
else f"https://api.gcore.com//streaming/videos/{video_id}/subtitles",
|
|
124
140
|
body=maybe_transform(body, subtitle_create_params.SubtitleCreateParams),
|
|
125
141
|
options=make_request_options(
|
|
126
142
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
@@ -133,26 +149,30 @@ class SubtitlesResource(SyncAPIResource):
|
|
|
133
149
|
id: int,
|
|
134
150
|
*,
|
|
135
151
|
video_id: int,
|
|
136
|
-
language: str |
|
|
137
|
-
name: str |
|
|
138
|
-
vtt: str |
|
|
152
|
+
language: str | Omit = omit,
|
|
153
|
+
name: str | Omit = omit,
|
|
154
|
+
vtt: str | Omit = omit,
|
|
139
155
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
140
156
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
141
157
|
extra_headers: Headers | None = None,
|
|
142
158
|
extra_query: Query | None = None,
|
|
143
159
|
extra_body: Body | None = None,
|
|
144
|
-
timeout: float | httpx.Timeout | None | NotGiven =
|
|
160
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
145
161
|
) -> SubtitleBase:
|
|
146
|
-
"""
|
|
162
|
+
"""
|
|
163
|
+
Method to update subtitle of a video.
|
|
164
|
+
|
|
165
|
+
You can update all or only some of fields you need.
|
|
147
166
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
text, or the timing in the video changed), then:
|
|
167
|
+
If you want to replace the text of subtitles (i.e. found a typo in the text, or
|
|
168
|
+
the timing in the video changed), then:
|
|
151
169
|
|
|
152
170
|
- download it using GET method,
|
|
153
171
|
- change it in an external editor,
|
|
154
|
-
- and update it using this PATCH method.
|
|
155
|
-
|
|
172
|
+
- and update it using this PATCH method.
|
|
173
|
+
|
|
174
|
+
Just like videos, subtitles are cached, so it takes time to update the data. See
|
|
175
|
+
POST method for details.
|
|
156
176
|
|
|
157
177
|
Args:
|
|
158
178
|
language: 3-letter language code according to ISO-639-2 (bibliographic code)
|
|
@@ -170,7 +190,9 @@ class SubtitlesResource(SyncAPIResource):
|
|
|
170
190
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
171
191
|
"""
|
|
172
192
|
return self._patch(
|
|
173
|
-
f"/streaming/videos/{video_id}/subtitles/{id}"
|
|
193
|
+
f"/streaming/videos/{video_id}/subtitles/{id}"
|
|
194
|
+
if self._client._base_url_overridden
|
|
195
|
+
else f"https://api.gcore.com//streaming/videos/{video_id}/subtitles/{id}",
|
|
174
196
|
body=maybe_transform(
|
|
175
197
|
{
|
|
176
198
|
"language": language,
|
|
@@ -194,7 +216,7 @@ class SubtitlesResource(SyncAPIResource):
|
|
|
194
216
|
extra_headers: Headers | None = None,
|
|
195
217
|
extra_query: Query | None = None,
|
|
196
218
|
extra_body: Body | None = None,
|
|
197
|
-
timeout: float | httpx.Timeout | None | NotGiven =
|
|
219
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
198
220
|
) -> SubtitleListResponse:
|
|
199
221
|
"""
|
|
200
222
|
Method returns a list of all subtitles that are already attached to a video.
|
|
@@ -209,7 +231,9 @@ class SubtitlesResource(SyncAPIResource):
|
|
|
209
231
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
210
232
|
"""
|
|
211
233
|
return self._get(
|
|
212
|
-
f"/streaming/videos/{video_id}/subtitles"
|
|
234
|
+
f"/streaming/videos/{video_id}/subtitles"
|
|
235
|
+
if self._client._base_url_overridden
|
|
236
|
+
else f"https://api.gcore.com//streaming/videos/{video_id}/subtitles",
|
|
213
237
|
options=make_request_options(
|
|
214
238
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
215
239
|
),
|
|
@@ -226,7 +250,7 @@ class SubtitlesResource(SyncAPIResource):
|
|
|
226
250
|
extra_headers: Headers | None = None,
|
|
227
251
|
extra_query: Query | None = None,
|
|
228
252
|
extra_body: Body | None = None,
|
|
229
|
-
timeout: float | httpx.Timeout | None | NotGiven =
|
|
253
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
230
254
|
) -> None:
|
|
231
255
|
"""
|
|
232
256
|
Delete specified video subtitle
|
|
@@ -242,7 +266,9 @@ class SubtitlesResource(SyncAPIResource):
|
|
|
242
266
|
"""
|
|
243
267
|
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
|
|
244
268
|
return self._delete(
|
|
245
|
-
f"/streaming/videos/{video_id}/subtitles/{id}"
|
|
269
|
+
f"/streaming/videos/{video_id}/subtitles/{id}"
|
|
270
|
+
if self._client._base_url_overridden
|
|
271
|
+
else f"https://api.gcore.com//streaming/videos/{video_id}/subtitles/{id}",
|
|
246
272
|
options=make_request_options(
|
|
247
273
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
248
274
|
),
|
|
@@ -259,7 +285,7 @@ class SubtitlesResource(SyncAPIResource):
|
|
|
259
285
|
extra_headers: Headers | None = None,
|
|
260
286
|
extra_query: Query | None = None,
|
|
261
287
|
extra_body: Body | None = None,
|
|
262
|
-
timeout: float | httpx.Timeout | None | NotGiven =
|
|
288
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
263
289
|
) -> Subtitle:
|
|
264
290
|
"""
|
|
265
291
|
Returns information about a specific subtitle for a video.
|
|
@@ -274,7 +300,9 @@ class SubtitlesResource(SyncAPIResource):
|
|
|
274
300
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
275
301
|
"""
|
|
276
302
|
return self._get(
|
|
277
|
-
f"/streaming/videos/{video_id}/subtitles/{id}"
|
|
303
|
+
f"/streaming/videos/{video_id}/subtitles/{id}"
|
|
304
|
+
if self._client._base_url_overridden
|
|
305
|
+
else f"https://api.gcore.com//streaming/videos/{video_id}/subtitles/{id}",
|
|
278
306
|
options=make_request_options(
|
|
279
307
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
280
308
|
),
|
|
@@ -312,13 +340,14 @@ class AsyncSubtitlesResource(AsyncAPIResource):
|
|
|
312
340
|
extra_headers: Headers | None = None,
|
|
313
341
|
extra_query: Query | None = None,
|
|
314
342
|
extra_body: Body | None = None,
|
|
315
|
-
timeout: float | httpx.Timeout | None | NotGiven =
|
|
343
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
316
344
|
) -> Subtitle:
|
|
317
345
|
"""
|
|
318
346
|
Add new subtitle/captions to a video entity.
|
|
319
347
|
|
|
320
|
-
**Add already exist subtitles**
|
|
321
|
-
|
|
348
|
+
**Add already exist subtitles**
|
|
349
|
+
|
|
350
|
+
Subtitles must be in one of the following formats:
|
|
322
351
|
|
|
323
352
|
- SRT – SubRip Text is described on
|
|
324
353
|
[wikipedia.org](https://en.wikipedia.org/wiki/SubRip#SubRip_file_format). Must
|
|
@@ -328,19 +357,26 @@ class AsyncSubtitlesResource(AsyncAPIResource):
|
|
|
328
357
|
- WebVTT – Web Video Text Tracks Format is described on
|
|
329
358
|
[developer.mozilla.org](https://developer.mozilla.org/en-US/docs/Web/API/WebVTT_API).
|
|
330
359
|
Must start from "WEBVTT" header. Use validators to check the subtitles, like
|
|
331
|
-
[W3C](https://w3c.github.io/webvtt.js/parser.html).
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
360
|
+
[W3C](https://w3c.github.io/webvtt.js/parser.html).
|
|
361
|
+
|
|
362
|
+
Language is 3-letter language code according to ISO-639-2 (bibliographic code).
|
|
363
|
+
Specify language you need, or just look at our list in the attribute
|
|
364
|
+
"`audio_language`" of section
|
|
365
|
+
["AI Speech Recognition"](/docs/api-reference/streaming/ai/create-ai-asr-task).
|
|
366
|
+
|
|
367
|
+
You can add multiple subtitles in the same language, language uniqueness is not
|
|
368
|
+
required.
|
|
369
|
+
|
|
370
|
+
Size must be up to 5Mb.
|
|
338
371
|
|
|
339
372
|
The update time for added or changed subtitles is up to 30 seconds. Just like
|
|
340
373
|
videos, subtitles are cached, so it takes time to update the data.
|
|
341
374
|
|
|
342
|
-
**AI subtitles and transcribing**
|
|
343
|
-
|
|
375
|
+
**AI subtitles and transcribing**
|
|
376
|
+
|
|
377
|
+
It is also possible to automatically create subtitles based on AI.
|
|
378
|
+
|
|
379
|
+
Read more:
|
|
344
380
|
|
|
345
381
|
- What is
|
|
346
382
|
["AI Speech Recognition"](/docs/api-reference/streaming/ai/create-ai-asr-task).
|
|
@@ -354,14 +390,20 @@ class AsyncSubtitlesResource(AsyncAPIResource):
|
|
|
354
390
|
that. Also you can point several languages to translate to, then a separate
|
|
355
391
|
subtitle will be generated for each specified language. The created AI-task(s)
|
|
356
392
|
will be automatically executed, and result will also be automatically attached
|
|
357
|
-
to this video as subtitle(s).
|
|
358
|
-
receive code 422 in response.
|
|
393
|
+
to this video as subtitle(s).
|
|
359
394
|
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
395
|
+
If AI is disabled in your account, you will receive code 422 in response.
|
|
396
|
+
|
|
397
|
+
**Where and how subtitles are displayed?**
|
|
398
|
+
|
|
399
|
+
Subtitles are became available in the API response and in playback manifests.
|
|
400
|
+
|
|
401
|
+
All added subtitles are automatically inserted into the output manifest .m3u8.
|
|
402
|
+
This way, subtitles become available to any player: our player, OS built-in, or
|
|
403
|
+
other specialized ones. You don't need to do anything else. Read more
|
|
404
|
+
information in the Knowledge Base.
|
|
405
|
+
|
|
406
|
+
Example:
|
|
365
407
|
|
|
366
408
|
```
|
|
367
409
|
# EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs0",NAME="English",LANGUAGE="en",AUTOSELECT=YES,URI="subs-0.m3u8"
|
|
@@ -379,7 +421,9 @@ class AsyncSubtitlesResource(AsyncAPIResource):
|
|
|
379
421
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
380
422
|
"""
|
|
381
423
|
return await self._post(
|
|
382
|
-
f"/streaming/videos/{video_id}/subtitles"
|
|
424
|
+
f"/streaming/videos/{video_id}/subtitles"
|
|
425
|
+
if self._client._base_url_overridden
|
|
426
|
+
else f"https://api.gcore.com//streaming/videos/{video_id}/subtitles",
|
|
383
427
|
body=await async_maybe_transform(body, subtitle_create_params.SubtitleCreateParams),
|
|
384
428
|
options=make_request_options(
|
|
385
429
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
@@ -392,26 +436,30 @@ class AsyncSubtitlesResource(AsyncAPIResource):
|
|
|
392
436
|
id: int,
|
|
393
437
|
*,
|
|
394
438
|
video_id: int,
|
|
395
|
-
language: str |
|
|
396
|
-
name: str |
|
|
397
|
-
vtt: str |
|
|
439
|
+
language: str | Omit = omit,
|
|
440
|
+
name: str | Omit = omit,
|
|
441
|
+
vtt: str | Omit = omit,
|
|
398
442
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
399
443
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
400
444
|
extra_headers: Headers | None = None,
|
|
401
445
|
extra_query: Query | None = None,
|
|
402
446
|
extra_body: Body | None = None,
|
|
403
|
-
timeout: float | httpx.Timeout | None | NotGiven =
|
|
447
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
404
448
|
) -> SubtitleBase:
|
|
405
|
-
"""
|
|
449
|
+
"""
|
|
450
|
+
Method to update subtitle of a video.
|
|
451
|
+
|
|
452
|
+
You can update all or only some of fields you need.
|
|
406
453
|
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
text, or the timing in the video changed), then:
|
|
454
|
+
If you want to replace the text of subtitles (i.e. found a typo in the text, or
|
|
455
|
+
the timing in the video changed), then:
|
|
410
456
|
|
|
411
457
|
- download it using GET method,
|
|
412
458
|
- change it in an external editor,
|
|
413
|
-
- and update it using this PATCH method.
|
|
414
|
-
|
|
459
|
+
- and update it using this PATCH method.
|
|
460
|
+
|
|
461
|
+
Just like videos, subtitles are cached, so it takes time to update the data. See
|
|
462
|
+
POST method for details.
|
|
415
463
|
|
|
416
464
|
Args:
|
|
417
465
|
language: 3-letter language code according to ISO-639-2 (bibliographic code)
|
|
@@ -429,7 +477,9 @@ class AsyncSubtitlesResource(AsyncAPIResource):
|
|
|
429
477
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
430
478
|
"""
|
|
431
479
|
return await self._patch(
|
|
432
|
-
f"/streaming/videos/{video_id}/subtitles/{id}"
|
|
480
|
+
f"/streaming/videos/{video_id}/subtitles/{id}"
|
|
481
|
+
if self._client._base_url_overridden
|
|
482
|
+
else f"https://api.gcore.com//streaming/videos/{video_id}/subtitles/{id}",
|
|
433
483
|
body=await async_maybe_transform(
|
|
434
484
|
{
|
|
435
485
|
"language": language,
|
|
@@ -453,7 +503,7 @@ class AsyncSubtitlesResource(AsyncAPIResource):
|
|
|
453
503
|
extra_headers: Headers | None = None,
|
|
454
504
|
extra_query: Query | None = None,
|
|
455
505
|
extra_body: Body | None = None,
|
|
456
|
-
timeout: float | httpx.Timeout | None | NotGiven =
|
|
506
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
457
507
|
) -> SubtitleListResponse:
|
|
458
508
|
"""
|
|
459
509
|
Method returns a list of all subtitles that are already attached to a video.
|
|
@@ -468,7 +518,9 @@ class AsyncSubtitlesResource(AsyncAPIResource):
|
|
|
468
518
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
469
519
|
"""
|
|
470
520
|
return await self._get(
|
|
471
|
-
f"/streaming/videos/{video_id}/subtitles"
|
|
521
|
+
f"/streaming/videos/{video_id}/subtitles"
|
|
522
|
+
if self._client._base_url_overridden
|
|
523
|
+
else f"https://api.gcore.com//streaming/videos/{video_id}/subtitles",
|
|
472
524
|
options=make_request_options(
|
|
473
525
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
474
526
|
),
|
|
@@ -485,7 +537,7 @@ class AsyncSubtitlesResource(AsyncAPIResource):
|
|
|
485
537
|
extra_headers: Headers | None = None,
|
|
486
538
|
extra_query: Query | None = None,
|
|
487
539
|
extra_body: Body | None = None,
|
|
488
|
-
timeout: float | httpx.Timeout | None | NotGiven =
|
|
540
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
489
541
|
) -> None:
|
|
490
542
|
"""
|
|
491
543
|
Delete specified video subtitle
|
|
@@ -501,7 +553,9 @@ class AsyncSubtitlesResource(AsyncAPIResource):
|
|
|
501
553
|
"""
|
|
502
554
|
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
|
|
503
555
|
return await self._delete(
|
|
504
|
-
f"/streaming/videos/{video_id}/subtitles/{id}"
|
|
556
|
+
f"/streaming/videos/{video_id}/subtitles/{id}"
|
|
557
|
+
if self._client._base_url_overridden
|
|
558
|
+
else f"https://api.gcore.com//streaming/videos/{video_id}/subtitles/{id}",
|
|
505
559
|
options=make_request_options(
|
|
506
560
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
507
561
|
),
|
|
@@ -518,7 +572,7 @@ class AsyncSubtitlesResource(AsyncAPIResource):
|
|
|
518
572
|
extra_headers: Headers | None = None,
|
|
519
573
|
extra_query: Query | None = None,
|
|
520
574
|
extra_body: Body | None = None,
|
|
521
|
-
timeout: float | httpx.Timeout | None | NotGiven =
|
|
575
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
522
576
|
) -> Subtitle:
|
|
523
577
|
"""
|
|
524
578
|
Returns information about a specific subtitle for a video.
|
|
@@ -533,7 +587,9 @@ class AsyncSubtitlesResource(AsyncAPIResource):
|
|
|
533
587
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
534
588
|
"""
|
|
535
589
|
return await self._get(
|
|
536
|
-
f"/streaming/videos/{video_id}/subtitles/{id}"
|
|
590
|
+
f"/streaming/videos/{video_id}/subtitles/{id}"
|
|
591
|
+
if self._client._base_url_overridden
|
|
592
|
+
else f"https://api.gcore.com//streaming/videos/{video_id}/subtitles/{id}",
|
|
537
593
|
options=make_request_options(
|
|
538
594
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
539
595
|
),
|