# peertube.VideoApi All URIs are relative to *https://peertube2.cpy.re* Method | HTTP request | Description ------------- | ------------- | ------------- [**add_live**](VideoApi.md#add_live) | **POST** /api/v1/videos/live | Create a live [**add_view**](VideoApi.md#add_view) | **POST** /api/v1/videos/{id}/views | Notify user is watching a video [**api_v1_videos_id_studio_edit_post**](VideoApi.md#api_v1_videos_id_studio_edit_post) | **POST** /api/v1/videos/{id}/studio/edit | Create a studio task [**api_v1_videos_id_watching_put**](VideoApi.md#api_v1_videos_id_watching_put) | **PUT** /api/v1/videos/{id}/watching | Set watching progress of a video [**del_video**](VideoApi.md#del_video) | **DELETE** /api/v1/videos/{id} | Delete a video [**get_account_videos**](VideoApi.md#get_account_videos) | **GET** /api/v1/accounts/{name}/videos | List videos of an account [**get_categories**](VideoApi.md#get_categories) | **GET** /api/v1/videos/categories | List available video categories [**get_languages**](VideoApi.md#get_languages) | **GET** /api/v1/videos/languages | List available video languages [**get_licences**](VideoApi.md#get_licences) | **GET** /api/v1/videos/licences | List available video licences [**get_live_id**](VideoApi.md#get_live_id) | **GET** /api/v1/videos/live/{id} | Get information about a live [**get_video**](VideoApi.md#get_video) | **GET** /api/v1/videos/{id} | Get a video [**get_video_channel_videos**](VideoApi.md#get_video_channel_videos) | **GET** /api/v1/video-channels/{channelHandle}/videos | List videos of a video channel [**get_video_desc**](VideoApi.md#get_video_desc) | **GET** /api/v1/videos/{id}/description | Get complete video description [**get_video_privacy_policies**](VideoApi.md#get_video_privacy_policies) | **GET** /api/v1/videos/privacies | List available video privacy policies [**get_video_source**](VideoApi.md#get_video_source) | **GET** /api/v1/videos/{id}/source | Get video source file metadata [**get_videos**](VideoApi.md#get_videos) | **GET** /api/v1/videos | List videos [**list_video_storyboards**](VideoApi.md#list_video_storyboards) | **GET** /api/v1/videos/{id}/storyboards | List storyboards of a video [**put_video**](VideoApi.md#put_video) | **PUT** /api/v1/videos/{id} | Update a video [**replace_video_source_resumable**](VideoApi.md#replace_video_source_resumable) | **PUT** /api/v1/videos/{id}/source/replace-resumable | Send chunk for the resumable replacement of a video [**replace_video_source_resumable_cancel**](VideoApi.md#replace_video_source_resumable_cancel) | **DELETE** /api/v1/videos/{id}/source/replace-resumable | Cancel the resumable replacement of a video [**replace_video_source_resumable_init**](VideoApi.md#replace_video_source_resumable_init) | **POST** /api/v1/videos/{id}/source/replace-resumable | Initialize the resumable replacement of a video [**request_video_token**](VideoApi.md#request_video_token) | **POST** /api/v1/videos/{id}/token | Request video token [**update_live_id**](VideoApi.md#update_live_id) | **PUT** /api/v1/videos/live/{id} | Update information about a live [**upload_legacy**](VideoApi.md#upload_legacy) | **POST** /api/v1/videos/upload | Upload a video [**upload_resumable**](VideoApi.md#upload_resumable) | **PUT** /api/v1/videos/upload-resumable | Send chunk for the resumable upload of a video [**upload_resumable_cancel**](VideoApi.md#upload_resumable_cancel) | **DELETE** /api/v1/videos/upload-resumable | Cancel the resumable upload of a video, deleting any data uploaded so far [**upload_resumable_init**](VideoApi.md#upload_resumable_init) | **POST** /api/v1/videos/upload-resumable | Initialize the resumable upload of a video # **add_live** > VideoUploadResponse add_live(channel_id, name, save_replay=save_replay, replay_settings=replay_settings, permanent_live=permanent_live, latency_mode=latency_mode, thumbnailfile=thumbnailfile, previewfile=previewfile, privacy=privacy, category=category, licence=licence, language=language, description=description, support=support, nsfw=nsfw, tags=tags, comments_enabled=comments_enabled, download_enabled=download_enabled) Create a live ### Example * OAuth Authentication (OAuth2): ```python import peertube from peertube.models.live_video_latency_mode import LiveVideoLatencyMode from peertube.models.live_video_replay_settings import LiveVideoReplaySettings from peertube.models.video_privacy_set import VideoPrivacySet from peertube.models.video_upload_response import VideoUploadResponse from peertube.rest import ApiException from pprint import pprint # Defining the host is optional and defaults to https://peertube2.cpy.re # See configuration.py for a list of all supported configuration parameters. configuration = peertube.Configuration( host = "https://peertube2.cpy.re" ) # The client must configure the authentication and authorization parameters # in accordance with the API server security policy. # Examples for each auth method are provided below, use the example that # satisfies your auth use case. configuration.access_token = os.environ["ACCESS_TOKEN"] # Enter a context with an instance of the API client with peertube.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = peertube.VideoApi(api_client) channel_id = 56 # int | Channel id that will contain this live video name = 'name_example' # str | Live video/replay name save_replay = True # bool | (optional) replay_settings = peertube.LiveVideoReplaySettings() # LiveVideoReplaySettings | (optional) permanent_live = True # bool | User can stream multiple times in a permanent live (optional) latency_mode = peertube.LiveVideoLatencyMode() # LiveVideoLatencyMode | (optional) thumbnailfile = None # bytearray | Live video/replay thumbnail file (optional) previewfile = None # bytearray | Live video/replay preview file (optional) privacy = peertube.VideoPrivacySet() # VideoPrivacySet | (optional) category = 56 # int | category id of the video (see [/videos/categories](#operation/getCategories)) (optional) licence = 56 # int | licence id of the video (see [/videos/licences](#operation/getLicences)) (optional) language = 'language_example' # str | language id of the video (see [/videos/languages](#operation/getLanguages)) (optional) description = 'description_example' # str | Live video/replay description (optional) support = 'support_example' # str | A text tell the audience how to support the creator (optional) nsfw = True # bool | Whether or not this live video/replay contains sensitive content (optional) tags = ['tags_example'] # List[str] | Live video/replay tags (maximum 5 tags each between 2 and 30 characters) (optional) comments_enabled = True # bool | Enable or disable comments for this live video/replay (optional) download_enabled = True # bool | Enable or disable downloading for the replay of this live video (optional) try: # Create a live api_response = api_instance.add_live(channel_id, name, save_replay=save_replay, replay_settings=replay_settings, permanent_live=permanent_live, latency_mode=latency_mode, thumbnailfile=thumbnailfile, previewfile=previewfile, privacy=privacy, category=category, licence=licence, language=language, description=description, support=support, nsfw=nsfw, tags=tags, comments_enabled=comments_enabled, download_enabled=download_enabled) print("The response of VideoApi->add_live:\n") pprint(api_response) except Exception as e: print("Exception when calling VideoApi->add_live: %s\n" % e) ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **channel_id** | **int**| Channel id that will contain this live video | **name** | **str**| Live video/replay name | **save_replay** | **bool**| | [optional] **replay_settings** | [**LiveVideoReplaySettings**](LiveVideoReplaySettings.md)| | [optional] **permanent_live** | **bool**| User can stream multiple times in a permanent live | [optional] **latency_mode** | [**LiveVideoLatencyMode**](LiveVideoLatencyMode.md)| | [optional] **thumbnailfile** | **bytearray**| Live video/replay thumbnail file | [optional] **previewfile** | **bytearray**| Live video/replay preview file | [optional] **privacy** | [**VideoPrivacySet**](VideoPrivacySet.md)| | [optional] **category** | **int**| category id of the video (see [/videos/categories](#operation/getCategories)) | [optional] **licence** | **int**| licence id of the video (see [/videos/licences](#operation/getLicences)) | [optional] **language** | **str**| language id of the video (see [/videos/languages](#operation/getLanguages)) | [optional] **description** | **str**| Live video/replay description | [optional] **support** | **str**| A text tell the audience how to support the creator | [optional] **nsfw** | **bool**| Whether or not this live video/replay contains sensitive content | [optional] **tags** | [**List[str]**](str.md)| Live video/replay tags (maximum 5 tags each between 2 and 30 characters) | [optional] **comments_enabled** | **bool**| Enable or disable comments for this live video/replay | [optional] **download_enabled** | **bool**| Enable or disable downloading for the replay of this live video | [optional] ### Return type [**VideoUploadResponse**](VideoUploadResponse.md) ### Authorization [OAuth2](../README.md#OAuth2) ### HTTP request headers - **Content-Type**: multipart/form-data - **Accept**: application/json ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | successful operation | - | **400** | Disambiguate via `type`: - default type for a validation error - `live_conflicting_permanent_and_save_replay` for conflicting parameters set | - | **403** | Disambiguate via `type`: - `live_not_enabled` for a disabled live feature - `live_not_allowing_replay` for a disabled replay feature - `max_instance_lives_limit_reached` for the absolute concurrent live limit - `max_user_lives_limit_reached` for the user concurrent live limit | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **add_view** > add_view(id, user_viewing_video) Notify user is watching a video Call this endpoint regularly (every 5-10 seconds for example) to notify the server the user is watching the video. After a while, PeerTube will increase video's viewers counter. If the user is authenticated, PeerTube will also store the current player time. ### Example ```python import peertube from peertube.models.user_viewing_video import UserViewingVideo from peertube.rest import ApiException from pprint import pprint # Defining the host is optional and defaults to https://peertube2.cpy.re # See configuration.py for a list of all supported configuration parameters. configuration = peertube.Configuration( host = "https://peertube2.cpy.re" ) # Enter a context with an instance of the API client with peertube.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = peertube.VideoApi(api_client) id = peertube.ApiV1VideosOwnershipIdAcceptPostIdParameter() # ApiV1VideosOwnershipIdAcceptPostIdParameter | The object id, uuid or short uuid user_viewing_video = peertube.UserViewingVideo() # UserViewingVideo | try: # Notify user is watching a video api_instance.add_view(id, user_viewing_video) except Exception as e: print("Exception when calling VideoApi->add_view: %s\n" % e) ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **id** | [**ApiV1VideosOwnershipIdAcceptPostIdParameter**](.md)| The object id, uuid or short uuid | **user_viewing_video** | [**UserViewingVideo**](UserViewingVideo.md)| | ### Return type void (empty response body) ### Authorization No authorization required ### HTTP request headers - **Content-Type**: application/json - **Accept**: Not defined ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| **204** | successful operation | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **api_v1_videos_id_studio_edit_post** > api_v1_videos_id_studio_edit_post(id) Create a studio task Create a task to edit a video (cut, add intro/outro etc) ### Example * OAuth Authentication (OAuth2): ```python import peertube from peertube.rest import ApiException from pprint import pprint # Defining the host is optional and defaults to https://peertube2.cpy.re # See configuration.py for a list of all supported configuration parameters. configuration = peertube.Configuration( host = "https://peertube2.cpy.re" ) # The client must configure the authentication and authorization parameters # in accordance with the API server security policy. # Examples for each auth method are provided below, use the example that # satisfies your auth use case. configuration.access_token = os.environ["ACCESS_TOKEN"] # Enter a context with an instance of the API client with peertube.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = peertube.VideoApi(api_client) id = peertube.ApiV1VideosOwnershipIdAcceptPostIdParameter() # ApiV1VideosOwnershipIdAcceptPostIdParameter | The object id, uuid or short uuid try: # Create a studio task api_instance.api_v1_videos_id_studio_edit_post(id) except Exception as e: print("Exception when calling VideoApi->api_v1_videos_id_studio_edit_post: %s\n" % e) ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **id** | [**ApiV1VideosOwnershipIdAcceptPostIdParameter**](.md)| The object id, uuid or short uuid | ### Return type void (empty response body) ### Authorization [OAuth2](../README.md#OAuth2) ### HTTP request headers - **Content-Type**: application/x-www-form-urlencoded - **Accept**: Not defined ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| **204** | successful operation | - | **400** | incorrect parameters | - | **404** | video not found | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **api_v1_videos_id_watching_put** > api_v1_videos_id_watching_put(id, user_viewing_video) Set watching progress of a video This endpoint has been deprecated. Use `/videos/{id}/views` instead ### Example * OAuth Authentication (OAuth2): ```python import peertube from peertube.models.user_viewing_video import UserViewingVideo from peertube.rest import ApiException from pprint import pprint # Defining the host is optional and defaults to https://peertube2.cpy.re # See configuration.py for a list of all supported configuration parameters. configuration = peertube.Configuration( host = "https://peertube2.cpy.re" ) # The client must configure the authentication and authorization parameters # in accordance with the API server security policy. # Examples for each auth method are provided below, use the example that # satisfies your auth use case. configuration.access_token = os.environ["ACCESS_TOKEN"] # Enter a context with an instance of the API client with peertube.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = peertube.VideoApi(api_client) id = peertube.ApiV1VideosOwnershipIdAcceptPostIdParameter() # ApiV1VideosOwnershipIdAcceptPostIdParameter | The object id, uuid or short uuid user_viewing_video = peertube.UserViewingVideo() # UserViewingVideo | try: # Set watching progress of a video api_instance.api_v1_videos_id_watching_put(id, user_viewing_video) except Exception as e: print("Exception when calling VideoApi->api_v1_videos_id_watching_put: %s\n" % e) ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **id** | [**ApiV1VideosOwnershipIdAcceptPostIdParameter**](.md)| The object id, uuid or short uuid | **user_viewing_video** | [**UserViewingVideo**](UserViewingVideo.md)| | ### Return type void (empty response body) ### Authorization [OAuth2](../README.md#OAuth2) ### HTTP request headers - **Content-Type**: application/json - **Accept**: Not defined ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| **204** | successful operation | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **del_video** > del_video(id) Delete a video ### Example * OAuth Authentication (OAuth2): ```python import peertube from peertube.rest import ApiException from pprint import pprint # Defining the host is optional and defaults to https://peertube2.cpy.re # See configuration.py for a list of all supported configuration parameters. configuration = peertube.Configuration( host = "https://peertube2.cpy.re" ) # The client must configure the authentication and authorization parameters # in accordance with the API server security policy. # Examples for each auth method are provided below, use the example that # satisfies your auth use case. configuration.access_token = os.environ["ACCESS_TOKEN"] # Enter a context with an instance of the API client with peertube.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = peertube.VideoApi(api_client) id = peertube.ApiV1VideosOwnershipIdAcceptPostIdParameter() # ApiV1VideosOwnershipIdAcceptPostIdParameter | The object id, uuid or short uuid try: # Delete a video api_instance.del_video(id) except Exception as e: print("Exception when calling VideoApi->del_video: %s\n" % e) ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **id** | [**ApiV1VideosOwnershipIdAcceptPostIdParameter**](.md)| The object id, uuid or short uuid | ### Return type void (empty response body) ### Authorization [OAuth2](../README.md#OAuth2) ### HTTP request headers - **Content-Type**: Not defined - **Accept**: Not defined ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| **204** | successful operation | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_account_videos** > VideoListResponse get_account_videos(name, category_one_of=category_one_of, is_live=is_live, tags_one_of=tags_one_of, tags_all_of=tags_all_of, licence_one_of=licence_one_of, language_one_of=language_one_of, nsfw=nsfw, is_local=is_local, include=include, privacy_one_of=privacy_one_of, has_hls_files=has_hls_files, has_web_video_files=has_web_video_files, skip_count=skip_count, start=start, count=count, sort=sort, exclude_already_watched=exclude_already_watched) List videos of an account ### Example ```python import peertube from peertube.models.video_list_response import VideoListResponse from peertube.models.video_privacy_set import VideoPrivacySet from peertube.rest import ApiException from pprint import pprint # Defining the host is optional and defaults to https://peertube2.cpy.re # See configuration.py for a list of all supported configuration parameters. configuration = peertube.Configuration( host = "https://peertube2.cpy.re" ) # Enter a context with an instance of the API client with peertube.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = peertube.VideoApi(api_client) name = 'chocobozzz | chocobozzz@example.org' # str | The username or handle of the account category_one_of = peertube.GetAccountVideosCategoryOneOfParameter() # GetAccountVideosCategoryOneOfParameter | category id of the video (see [/videos/categories](#operation/getCategories)) (optional) is_live = True # bool | whether or not the video is a live (optional) tags_one_of = peertube.GetAccountVideosTagsOneOfParameter() # GetAccountVideosTagsOneOfParameter | tag(s) of the video (optional) tags_all_of = peertube.GetAccountVideosTagsAllOfParameter() # GetAccountVideosTagsAllOfParameter | tag(s) of the video, where all should be present in the video (optional) licence_one_of = peertube.GetAccountVideosLicenceOneOfParameter() # GetAccountVideosLicenceOneOfParameter | licence id of the video (see [/videos/licences](#operation/getLicences)) (optional) language_one_of = peertube.GetAccountVideosLanguageOneOfParameter() # GetAccountVideosLanguageOneOfParameter | language id of the video (see [/videos/languages](#operation/getLanguages)). Use `_unknown` to filter on videos that don't have a video language (optional) nsfw = 'nsfw_example' # str | whether to include nsfw videos, if any (optional) is_local = True # bool | **PeerTube >= 4.0** Display only local or remote videos (optional) include = 56 # int | **PeerTube >= 4.0** Include additional videos in results (can be combined using bitwise or operator) - `0` NONE - `1` NOT_PUBLISHED_STATE - `2` BLACKLISTED - `4` BLOCKED_OWNER - `8` FILES (optional) privacy_one_of = peertube.VideoPrivacySet() # VideoPrivacySet | **PeerTube >= 4.0** Display only videos in this specific privacy/privacies (optional) has_hls_files = True # bool | **PeerTube >= 4.0** Display only videos that have HLS files (optional) has_web_video_files = True # bool | **PeerTube >= 6.0** Display only videos that have Web Video files (optional) skip_count = 'false' # str | if you don't need the `total` in the response (optional) (default to 'false') start = 56 # int | Offset used to paginate results (optional) count = 15 # int | Number of items to return (optional) (default to 15) sort = 'sort_example' # str | (optional) exclude_already_watched = True # bool | Whether or not to exclude videos that are in the user's video history (optional) try: # List videos of an account api_response = api_instance.get_account_videos(name, category_one_of=category_one_of, is_live=is_live, tags_one_of=tags_one_of, tags_all_of=tags_all_of, licence_one_of=licence_one_of, language_one_of=language_one_of, nsfw=nsfw, is_local=is_local, include=include, privacy_one_of=privacy_one_of, has_hls_files=has_hls_files, has_web_video_files=has_web_video_files, skip_count=skip_count, start=start, count=count, sort=sort, exclude_already_watched=exclude_already_watched) print("The response of VideoApi->get_account_videos:\n") pprint(api_response) except Exception as e: print("Exception when calling VideoApi->get_account_videos: %s\n" % e) ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **name** | **str**| The username or handle of the account | **category_one_of** | [**GetAccountVideosCategoryOneOfParameter**](.md)| category id of the video (see [/videos/categories](#operation/getCategories)) | [optional] **is_live** | **bool**| whether or not the video is a live | [optional] **tags_one_of** | [**GetAccountVideosTagsOneOfParameter**](.md)| tag(s) of the video | [optional] **tags_all_of** | [**GetAccountVideosTagsAllOfParameter**](.md)| tag(s) of the video, where all should be present in the video | [optional] **licence_one_of** | [**GetAccountVideosLicenceOneOfParameter**](.md)| licence id of the video (see [/videos/licences](#operation/getLicences)) | [optional] **language_one_of** | [**GetAccountVideosLanguageOneOfParameter**](.md)| language id of the video (see [/videos/languages](#operation/getLanguages)). Use `_unknown` to filter on videos that don't have a video language | [optional] **nsfw** | **str**| whether to include nsfw videos, if any | [optional] **is_local** | **bool**| **PeerTube >= 4.0** Display only local or remote videos | [optional] **include** | **int**| **PeerTube >= 4.0** Include additional videos in results (can be combined using bitwise or operator) - `0` NONE - `1` NOT_PUBLISHED_STATE - `2` BLACKLISTED - `4` BLOCKED_OWNER - `8` FILES | [optional] **privacy_one_of** | [**VideoPrivacySet**](.md)| **PeerTube >= 4.0** Display only videos in this specific privacy/privacies | [optional] **has_hls_files** | **bool**| **PeerTube >= 4.0** Display only videos that have HLS files | [optional] **has_web_video_files** | **bool**| **PeerTube >= 6.0** Display only videos that have Web Video files | [optional] **skip_count** | **str**| if you don't need the `total` in the response | [optional] [default to 'false'] **start** | **int**| Offset used to paginate results | [optional] **count** | **int**| Number of items to return | [optional] [default to 15] **sort** | **str**| | [optional] **exclude_already_watched** | **bool**| Whether or not to exclude videos that are in the user's video history | [optional] ### Return type [**VideoListResponse**](VideoListResponse.md) ### Authorization No authorization required ### HTTP request headers - **Content-Type**: Not defined - **Accept**: application/json ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | successful operation | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_categories** > List[str] get_categories() List available video categories ### Example ```python import peertube from peertube.rest import ApiException from pprint import pprint # Defining the host is optional and defaults to https://peertube2.cpy.re # See configuration.py for a list of all supported configuration parameters. configuration = peertube.Configuration( host = "https://peertube2.cpy.re" ) # Enter a context with an instance of the API client with peertube.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = peertube.VideoApi(api_client) try: # List available video categories api_response = api_instance.get_categories() print("The response of VideoApi->get_categories:\n") pprint(api_response) except Exception as e: print("Exception when calling VideoApi->get_categories: %s\n" % e) ``` ### Parameters This endpoint does not need any parameter. ### Return type **List[str]** ### Authorization No authorization required ### HTTP request headers - **Content-Type**: Not defined - **Accept**: application/json ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | successful operation | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_languages** > List[str] get_languages() List available video languages ### Example ```python import peertube from peertube.rest import ApiException from pprint import pprint # Defining the host is optional and defaults to https://peertube2.cpy.re # See configuration.py for a list of all supported configuration parameters. configuration = peertube.Configuration( host = "https://peertube2.cpy.re" ) # Enter a context with an instance of the API client with peertube.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = peertube.VideoApi(api_client) try: # List available video languages api_response = api_instance.get_languages() print("The response of VideoApi->get_languages:\n") pprint(api_response) except Exception as e: print("Exception when calling VideoApi->get_languages: %s\n" % e) ``` ### Parameters This endpoint does not need any parameter. ### Return type **List[str]** ### Authorization No authorization required ### HTTP request headers - **Content-Type**: Not defined - **Accept**: application/json ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | successful operation | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_licences** > List[str] get_licences() List available video licences ### Example ```python import peertube from peertube.rest import ApiException from pprint import pprint # Defining the host is optional and defaults to https://peertube2.cpy.re # See configuration.py for a list of all supported configuration parameters. configuration = peertube.Configuration( host = "https://peertube2.cpy.re" ) # Enter a context with an instance of the API client with peertube.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = peertube.VideoApi(api_client) try: # List available video licences api_response = api_instance.get_licences() print("The response of VideoApi->get_licences:\n") pprint(api_response) except Exception as e: print("Exception when calling VideoApi->get_licences: %s\n" % e) ``` ### Parameters This endpoint does not need any parameter. ### Return type **List[str]** ### Authorization No authorization required ### HTTP request headers - **Content-Type**: Not defined - **Accept**: application/json ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | successful operation | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_live_id** > LiveVideoResponse get_live_id(id) Get information about a live ### Example * OAuth Authentication (OAuth2): ```python import peertube from peertube.models.live_video_response import LiveVideoResponse from peertube.rest import ApiException from pprint import pprint # Defining the host is optional and defaults to https://peertube2.cpy.re # See configuration.py for a list of all supported configuration parameters. configuration = peertube.Configuration( host = "https://peertube2.cpy.re" ) # The client must configure the authentication and authorization parameters # in accordance with the API server security policy. # Examples for each auth method are provided below, use the example that # satisfies your auth use case. configuration.access_token = os.environ["ACCESS_TOKEN"] # Enter a context with an instance of the API client with peertube.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = peertube.VideoApi(api_client) id = peertube.ApiV1VideosOwnershipIdAcceptPostIdParameter() # ApiV1VideosOwnershipIdAcceptPostIdParameter | The object id, uuid or short uuid try: # Get information about a live api_response = api_instance.get_live_id(id) print("The response of VideoApi->get_live_id:\n") pprint(api_response) except Exception as e: print("Exception when calling VideoApi->get_live_id: %s\n" % e) ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **id** | [**ApiV1VideosOwnershipIdAcceptPostIdParameter**](.md)| The object id, uuid or short uuid | ### Return type [**LiveVideoResponse**](LiveVideoResponse.md) ### Authorization [OAuth2](../README.md#OAuth2) ### HTTP request headers - **Content-Type**: Not defined - **Accept**: application/json ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | successful operation | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_video** > VideoDetails get_video(id, x_peertube_video_password=x_peertube_video_password) Get a video ### Example ```python import peertube from peertube.models.video_details import VideoDetails from peertube.rest import ApiException from pprint import pprint # Defining the host is optional and defaults to https://peertube2.cpy.re # See configuration.py for a list of all supported configuration parameters. configuration = peertube.Configuration( host = "https://peertube2.cpy.re" ) # Enter a context with an instance of the API client with peertube.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = peertube.VideoApi(api_client) id = peertube.ApiV1VideosOwnershipIdAcceptPostIdParameter() # ApiV1VideosOwnershipIdAcceptPostIdParameter | The object id, uuid or short uuid x_peertube_video_password = 'x_peertube_video_password_example' # str | Required on password protected video (optional) try: # Get a video api_response = api_instance.get_video(id, x_peertube_video_password=x_peertube_video_password) print("The response of VideoApi->get_video:\n") pprint(api_response) except Exception as e: print("Exception when calling VideoApi->get_video: %s\n" % e) ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **id** | [**ApiV1VideosOwnershipIdAcceptPostIdParameter**](.md)| The object id, uuid or short uuid | **x_peertube_video_password** | **str**| Required on password protected video | [optional] ### Return type [**VideoDetails**](VideoDetails.md) ### Authorization No authorization required ### HTTP request headers - **Content-Type**: Not defined - **Accept**: application/json ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | successful operation | - | **403** | provide a correct password to access this password protected video | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_video_channel_videos** > VideoListResponse get_video_channel_videos(channel_handle, category_one_of=category_one_of, is_live=is_live, tags_one_of=tags_one_of, tags_all_of=tags_all_of, licence_one_of=licence_one_of, language_one_of=language_one_of, nsfw=nsfw, is_local=is_local, include=include, privacy_one_of=privacy_one_of, has_hls_files=has_hls_files, has_web_video_files=has_web_video_files, skip_count=skip_count, start=start, count=count, sort=sort, exclude_already_watched=exclude_already_watched) List videos of a video channel ### Example ```python import peertube from peertube.models.video_list_response import VideoListResponse from peertube.models.video_privacy_set import VideoPrivacySet from peertube.rest import ApiException from pprint import pprint # Defining the host is optional and defaults to https://peertube2.cpy.re # See configuration.py for a list of all supported configuration parameters. configuration = peertube.Configuration( host = "https://peertube2.cpy.re" ) # Enter a context with an instance of the API client with peertube.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = peertube.VideoApi(api_client) channel_handle = 'my_username | my_username@example.com' # str | The video channel handle category_one_of = peertube.GetAccountVideosCategoryOneOfParameter() # GetAccountVideosCategoryOneOfParameter | category id of the video (see [/videos/categories](#operation/getCategories)) (optional) is_live = True # bool | whether or not the video is a live (optional) tags_one_of = peertube.GetAccountVideosTagsOneOfParameter() # GetAccountVideosTagsOneOfParameter | tag(s) of the video (optional) tags_all_of = peertube.GetAccountVideosTagsAllOfParameter() # GetAccountVideosTagsAllOfParameter | tag(s) of the video, where all should be present in the video (optional) licence_one_of = peertube.GetAccountVideosLicenceOneOfParameter() # GetAccountVideosLicenceOneOfParameter | licence id of the video (see [/videos/licences](#operation/getLicences)) (optional) language_one_of = peertube.GetAccountVideosLanguageOneOfParameter() # GetAccountVideosLanguageOneOfParameter | language id of the video (see [/videos/languages](#operation/getLanguages)). Use `_unknown` to filter on videos that don't have a video language (optional) nsfw = 'nsfw_example' # str | whether to include nsfw videos, if any (optional) is_local = True # bool | **PeerTube >= 4.0** Display only local or remote videos (optional) include = 56 # int | **PeerTube >= 4.0** Include additional videos in results (can be combined using bitwise or operator) - `0` NONE - `1` NOT_PUBLISHED_STATE - `2` BLACKLISTED - `4` BLOCKED_OWNER - `8` FILES (optional) privacy_one_of = peertube.VideoPrivacySet() # VideoPrivacySet | **PeerTube >= 4.0** Display only videos in this specific privacy/privacies (optional) has_hls_files = True # bool | **PeerTube >= 4.0** Display only videos that have HLS files (optional) has_web_video_files = True # bool | **PeerTube >= 6.0** Display only videos that have Web Video files (optional) skip_count = 'false' # str | if you don't need the `total` in the response (optional) (default to 'false') start = 56 # int | Offset used to paginate results (optional) count = 15 # int | Number of items to return (optional) (default to 15) sort = 'sort_example' # str | (optional) exclude_already_watched = True # bool | Whether or not to exclude videos that are in the user's video history (optional) try: # List videos of a video channel api_response = api_instance.get_video_channel_videos(channel_handle, category_one_of=category_one_of, is_live=is_live, tags_one_of=tags_one_of, tags_all_of=tags_all_of, licence_one_of=licence_one_of, language_one_of=language_one_of, nsfw=nsfw, is_local=is_local, include=include, privacy_one_of=privacy_one_of, has_hls_files=has_hls_files, has_web_video_files=has_web_video_files, skip_count=skip_count, start=start, count=count, sort=sort, exclude_already_watched=exclude_already_watched) print("The response of VideoApi->get_video_channel_videos:\n") pprint(api_response) except Exception as e: print("Exception when calling VideoApi->get_video_channel_videos: %s\n" % e) ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **channel_handle** | **str**| The video channel handle | **category_one_of** | [**GetAccountVideosCategoryOneOfParameter**](.md)| category id of the video (see [/videos/categories](#operation/getCategories)) | [optional] **is_live** | **bool**| whether or not the video is a live | [optional] **tags_one_of** | [**GetAccountVideosTagsOneOfParameter**](.md)| tag(s) of the video | [optional] **tags_all_of** | [**GetAccountVideosTagsAllOfParameter**](.md)| tag(s) of the video, where all should be present in the video | [optional] **licence_one_of** | [**GetAccountVideosLicenceOneOfParameter**](.md)| licence id of the video (see [/videos/licences](#operation/getLicences)) | [optional] **language_one_of** | [**GetAccountVideosLanguageOneOfParameter**](.md)| language id of the video (see [/videos/languages](#operation/getLanguages)). Use `_unknown` to filter on videos that don't have a video language | [optional] **nsfw** | **str**| whether to include nsfw videos, if any | [optional] **is_local** | **bool**| **PeerTube >= 4.0** Display only local or remote videos | [optional] **include** | **int**| **PeerTube >= 4.0** Include additional videos in results (can be combined using bitwise or operator) - `0` NONE - `1` NOT_PUBLISHED_STATE - `2` BLACKLISTED - `4` BLOCKED_OWNER - `8` FILES | [optional] **privacy_one_of** | [**VideoPrivacySet**](.md)| **PeerTube >= 4.0** Display only videos in this specific privacy/privacies | [optional] **has_hls_files** | **bool**| **PeerTube >= 4.0** Display only videos that have HLS files | [optional] **has_web_video_files** | **bool**| **PeerTube >= 6.0** Display only videos that have Web Video files | [optional] **skip_count** | **str**| if you don't need the `total` in the response | [optional] [default to 'false'] **start** | **int**| Offset used to paginate results | [optional] **count** | **int**| Number of items to return | [optional] [default to 15] **sort** | **str**| | [optional] **exclude_already_watched** | **bool**| Whether or not to exclude videos that are in the user's video history | [optional] ### Return type [**VideoListResponse**](VideoListResponse.md) ### Authorization No authorization required ### HTTP request headers - **Content-Type**: Not defined - **Accept**: application/json ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | successful operation | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_video_desc** > str get_video_desc(id, x_peertube_video_password=x_peertube_video_password) Get complete video description ### Example ```python import peertube from peertube.rest import ApiException from pprint import pprint # Defining the host is optional and defaults to https://peertube2.cpy.re # See configuration.py for a list of all supported configuration parameters. configuration = peertube.Configuration( host = "https://peertube2.cpy.re" ) # Enter a context with an instance of the API client with peertube.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = peertube.VideoApi(api_client) id = peertube.ApiV1VideosOwnershipIdAcceptPostIdParameter() # ApiV1VideosOwnershipIdAcceptPostIdParameter | The object id, uuid or short uuid x_peertube_video_password = 'x_peertube_video_password_example' # str | Required on password protected video (optional) try: # Get complete video description api_response = api_instance.get_video_desc(id, x_peertube_video_password=x_peertube_video_password) print("The response of VideoApi->get_video_desc:\n") pprint(api_response) except Exception as e: print("Exception when calling VideoApi->get_video_desc: %s\n" % e) ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **id** | [**ApiV1VideosOwnershipIdAcceptPostIdParameter**](.md)| The object id, uuid or short uuid | **x_peertube_video_password** | **str**| Required on password protected video | [optional] ### Return type **str** ### Authorization No authorization required ### HTTP request headers - **Content-Type**: Not defined - **Accept**: application/json ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | successful operation | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_video_privacy_policies** > List[str] get_video_privacy_policies() List available video privacy policies ### Example ```python import peertube from peertube.rest import ApiException from pprint import pprint # Defining the host is optional and defaults to https://peertube2.cpy.re # See configuration.py for a list of all supported configuration parameters. configuration = peertube.Configuration( host = "https://peertube2.cpy.re" ) # Enter a context with an instance of the API client with peertube.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = peertube.VideoApi(api_client) try: # List available video privacy policies api_response = api_instance.get_video_privacy_policies() print("The response of VideoApi->get_video_privacy_policies:\n") pprint(api_response) except Exception as e: print("Exception when calling VideoApi->get_video_privacy_policies: %s\n" % e) ``` ### Parameters This endpoint does not need any parameter. ### Return type **List[str]** ### Authorization No authorization required ### HTTP request headers - **Content-Type**: Not defined - **Accept**: application/json ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | successful operation | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_video_source** > VideoSource get_video_source(id) Get video source file metadata ### Example ```python import peertube from peertube.models.video_source import VideoSource from peertube.rest import ApiException from pprint import pprint # Defining the host is optional and defaults to https://peertube2.cpy.re # See configuration.py for a list of all supported configuration parameters. configuration = peertube.Configuration( host = "https://peertube2.cpy.re" ) # Enter a context with an instance of the API client with peertube.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = peertube.VideoApi(api_client) id = peertube.ApiV1VideosOwnershipIdAcceptPostIdParameter() # ApiV1VideosOwnershipIdAcceptPostIdParameter | The object id, uuid or short uuid try: # Get video source file metadata api_response = api_instance.get_video_source(id) print("The response of VideoApi->get_video_source:\n") pprint(api_response) except Exception as e: print("Exception when calling VideoApi->get_video_source: %s\n" % e) ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **id** | [**ApiV1VideosOwnershipIdAcceptPostIdParameter**](.md)| The object id, uuid or short uuid | ### Return type [**VideoSource**](VideoSource.md) ### Authorization No authorization required ### HTTP request headers - **Content-Type**: Not defined - **Accept**: application/json ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | successful operation | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_videos** > VideoListResponse get_videos(category_one_of=category_one_of, is_live=is_live, tags_one_of=tags_one_of, tags_all_of=tags_all_of, licence_one_of=licence_one_of, language_one_of=language_one_of, nsfw=nsfw, is_local=is_local, include=include, privacy_one_of=privacy_one_of, has_hls_files=has_hls_files, has_web_video_files=has_web_video_files, skip_count=skip_count, start=start, count=count, sort=sort, exclude_already_watched=exclude_already_watched) List videos ### Example ```python import peertube from peertube.models.video_list_response import VideoListResponse from peertube.models.video_privacy_set import VideoPrivacySet from peertube.rest import ApiException from pprint import pprint # Defining the host is optional and defaults to https://peertube2.cpy.re # See configuration.py for a list of all supported configuration parameters. configuration = peertube.Configuration( host = "https://peertube2.cpy.re" ) # Enter a context with an instance of the API client with peertube.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = peertube.VideoApi(api_client) category_one_of = peertube.GetAccountVideosCategoryOneOfParameter() # GetAccountVideosCategoryOneOfParameter | category id of the video (see [/videos/categories](#operation/getCategories)) (optional) is_live = True # bool | whether or not the video is a live (optional) tags_one_of = peertube.GetAccountVideosTagsOneOfParameter() # GetAccountVideosTagsOneOfParameter | tag(s) of the video (optional) tags_all_of = peertube.GetAccountVideosTagsAllOfParameter() # GetAccountVideosTagsAllOfParameter | tag(s) of the video, where all should be present in the video (optional) licence_one_of = peertube.GetAccountVideosLicenceOneOfParameter() # GetAccountVideosLicenceOneOfParameter | licence id of the video (see [/videos/licences](#operation/getLicences)) (optional) language_one_of = peertube.GetAccountVideosLanguageOneOfParameter() # GetAccountVideosLanguageOneOfParameter | language id of the video (see [/videos/languages](#operation/getLanguages)). Use `_unknown` to filter on videos that don't have a video language (optional) nsfw = 'nsfw_example' # str | whether to include nsfw videos, if any (optional) is_local = True # bool | **PeerTube >= 4.0** Display only local or remote videos (optional) include = 56 # int | **PeerTube >= 4.0** Include additional videos in results (can be combined using bitwise or operator) - `0` NONE - `1` NOT_PUBLISHED_STATE - `2` BLACKLISTED - `4` BLOCKED_OWNER - `8` FILES (optional) privacy_one_of = peertube.VideoPrivacySet() # VideoPrivacySet | **PeerTube >= 4.0** Display only videos in this specific privacy/privacies (optional) has_hls_files = True # bool | **PeerTube >= 4.0** Display only videos that have HLS files (optional) has_web_video_files = True # bool | **PeerTube >= 6.0** Display only videos that have Web Video files (optional) skip_count = 'false' # str | if you don't need the `total` in the response (optional) (default to 'false') start = 56 # int | Offset used to paginate results (optional) count = 15 # int | Number of items to return (optional) (default to 15) sort = 'sort_example' # str | (optional) exclude_already_watched = True # bool | Whether or not to exclude videos that are in the user's video history (optional) try: # List videos api_response = api_instance.get_videos(category_one_of=category_one_of, is_live=is_live, tags_one_of=tags_one_of, tags_all_of=tags_all_of, licence_one_of=licence_one_of, language_one_of=language_one_of, nsfw=nsfw, is_local=is_local, include=include, privacy_one_of=privacy_one_of, has_hls_files=has_hls_files, has_web_video_files=has_web_video_files, skip_count=skip_count, start=start, count=count, sort=sort, exclude_already_watched=exclude_already_watched) print("The response of VideoApi->get_videos:\n") pprint(api_response) except Exception as e: print("Exception when calling VideoApi->get_videos: %s\n" % e) ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **category_one_of** | [**GetAccountVideosCategoryOneOfParameter**](.md)| category id of the video (see [/videos/categories](#operation/getCategories)) | [optional] **is_live** | **bool**| whether or not the video is a live | [optional] **tags_one_of** | [**GetAccountVideosTagsOneOfParameter**](.md)| tag(s) of the video | [optional] **tags_all_of** | [**GetAccountVideosTagsAllOfParameter**](.md)| tag(s) of the video, where all should be present in the video | [optional] **licence_one_of** | [**GetAccountVideosLicenceOneOfParameter**](.md)| licence id of the video (see [/videos/licences](#operation/getLicences)) | [optional] **language_one_of** | [**GetAccountVideosLanguageOneOfParameter**](.md)| language id of the video (see [/videos/languages](#operation/getLanguages)). Use `_unknown` to filter on videos that don't have a video language | [optional] **nsfw** | **str**| whether to include nsfw videos, if any | [optional] **is_local** | **bool**| **PeerTube >= 4.0** Display only local or remote videos | [optional] **include** | **int**| **PeerTube >= 4.0** Include additional videos in results (can be combined using bitwise or operator) - `0` NONE - `1` NOT_PUBLISHED_STATE - `2` BLACKLISTED - `4` BLOCKED_OWNER - `8` FILES | [optional] **privacy_one_of** | [**VideoPrivacySet**](.md)| **PeerTube >= 4.0** Display only videos in this specific privacy/privacies | [optional] **has_hls_files** | **bool**| **PeerTube >= 4.0** Display only videos that have HLS files | [optional] **has_web_video_files** | **bool**| **PeerTube >= 6.0** Display only videos that have Web Video files | [optional] **skip_count** | **str**| if you don't need the `total` in the response | [optional] [default to 'false'] **start** | **int**| Offset used to paginate results | [optional] **count** | **int**| Number of items to return | [optional] [default to 15] **sort** | **str**| | [optional] **exclude_already_watched** | **bool**| Whether or not to exclude videos that are in the user's video history | [optional] ### Return type [**VideoListResponse**](VideoListResponse.md) ### Authorization No authorization required ### HTTP request headers - **Content-Type**: Not defined - **Accept**: application/json ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | successful operation | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **list_video_storyboards** > ListVideoStoryboards200Response list_video_storyboards(id) List storyboards of a video **PeerTube** >= 6.0 ### Example ```python import peertube from peertube.models.list_video_storyboards200_response import ListVideoStoryboards200Response from peertube.rest import ApiException from pprint import pprint # Defining the host is optional and defaults to https://peertube2.cpy.re # See configuration.py for a list of all supported configuration parameters. configuration = peertube.Configuration( host = "https://peertube2.cpy.re" ) # Enter a context with an instance of the API client with peertube.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = peertube.VideoApi(api_client) id = peertube.ApiV1VideosOwnershipIdAcceptPostIdParameter() # ApiV1VideosOwnershipIdAcceptPostIdParameter | The object id, uuid or short uuid try: # List storyboards of a video api_response = api_instance.list_video_storyboards(id) print("The response of VideoApi->list_video_storyboards:\n") pprint(api_response) except Exception as e: print("Exception when calling VideoApi->list_video_storyboards: %s\n" % e) ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **id** | [**ApiV1VideosOwnershipIdAcceptPostIdParameter**](.md)| The object id, uuid or short uuid | ### Return type [**ListVideoStoryboards200Response**](ListVideoStoryboards200Response.md) ### Authorization No authorization required ### HTTP request headers - **Content-Type**: Not defined - **Accept**: application/json ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | successful operation | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **put_video** > put_video(id, thumbnailfile=thumbnailfile, previewfile=previewfile, category=category, licence=licence, language=language, privacy=privacy, description=description, wait_transcoding=wait_transcoding, support=support, nsfw=nsfw, name=name, tags=tags, comments_enabled=comments_enabled, download_enabled=download_enabled, originally_published_at=originally_published_at, schedule_update=schedule_update, video_passwords=video_passwords) Update a video ### Example * OAuth Authentication (OAuth2): ```python import peertube from peertube.models.video_privacy_set import VideoPrivacySet from peertube.models.video_scheduled_update import VideoScheduledUpdate from peertube.rest import ApiException from pprint import pprint # Defining the host is optional and defaults to https://peertube2.cpy.re # See configuration.py for a list of all supported configuration parameters. configuration = peertube.Configuration( host = "https://peertube2.cpy.re" ) # The client must configure the authentication and authorization parameters # in accordance with the API server security policy. # Examples for each auth method are provided below, use the example that # satisfies your auth use case. configuration.access_token = os.environ["ACCESS_TOKEN"] # Enter a context with an instance of the API client with peertube.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = peertube.VideoApi(api_client) id = peertube.ApiV1VideosOwnershipIdAcceptPostIdParameter() # ApiV1VideosOwnershipIdAcceptPostIdParameter | The object id, uuid or short uuid thumbnailfile = None # bytearray | Video thumbnail file (optional) previewfile = None # bytearray | Video preview file (optional) category = 56 # int | category id of the video (see [/videos/categories](#operation/getCategories)) (optional) licence = 56 # int | licence id of the video (see [/videos/licences](#operation/getLicences)) (optional) language = 'language_example' # str | language id of the video (see [/videos/languages](#operation/getLanguages)) (optional) privacy = peertube.VideoPrivacySet() # VideoPrivacySet | (optional) description = 'description_example' # str | Video description (optional) wait_transcoding = 'wait_transcoding_example' # str | Whether or not we wait transcoding before publish the video (optional) support = 'support_example' # str | A text tell the audience how to support the video creator (optional) nsfw = True # bool | Whether or not this video contains sensitive content (optional) name = 'name_example' # str | Video name (optional) tags = ['tags_example'] # List[str] | Video tags (maximum 5 tags each between 2 and 30 characters) (optional) comments_enabled = True # bool | Enable or disable comments for this video (optional) download_enabled = True # bool | Enable or disable downloading for this video (optional) originally_published_at = '2013-10-20T19:20:30+01:00' # datetime | Date when the content was originally published (optional) schedule_update = peertube.VideoScheduledUpdate() # VideoScheduledUpdate | (optional) video_passwords = ['video_passwords_example'] # List[str] | (optional) try: # Update a video api_instance.put_video(id, thumbnailfile=thumbnailfile, previewfile=previewfile, category=category, licence=licence, language=language, privacy=privacy, description=description, wait_transcoding=wait_transcoding, support=support, nsfw=nsfw, name=name, tags=tags, comments_enabled=comments_enabled, download_enabled=download_enabled, originally_published_at=originally_published_at, schedule_update=schedule_update, video_passwords=video_passwords) except Exception as e: print("Exception when calling VideoApi->put_video: %s\n" % e) ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **id** | [**ApiV1VideosOwnershipIdAcceptPostIdParameter**](.md)| The object id, uuid or short uuid | **thumbnailfile** | **bytearray**| Video thumbnail file | [optional] **previewfile** | **bytearray**| Video preview file | [optional] **category** | **int**| category id of the video (see [/videos/categories](#operation/getCategories)) | [optional] **licence** | **int**| licence id of the video (see [/videos/licences](#operation/getLicences)) | [optional] **language** | **str**| language id of the video (see [/videos/languages](#operation/getLanguages)) | [optional] **privacy** | [**VideoPrivacySet**](VideoPrivacySet.md)| | [optional] **description** | **str**| Video description | [optional] **wait_transcoding** | **str**| Whether or not we wait transcoding before publish the video | [optional] **support** | **str**| A text tell the audience how to support the video creator | [optional] **nsfw** | **bool**| Whether or not this video contains sensitive content | [optional] **name** | **str**| Video name | [optional] **tags** | [**List[str]**](str.md)| Video tags (maximum 5 tags each between 2 and 30 characters) | [optional] **comments_enabled** | **bool**| Enable or disable comments for this video | [optional] **download_enabled** | **bool**| Enable or disable downloading for this video | [optional] **originally_published_at** | **datetime**| Date when the content was originally published | [optional] **schedule_update** | [**VideoScheduledUpdate**](VideoScheduledUpdate.md)| | [optional] **video_passwords** | [**List[str]**](str.md)| | [optional] ### Return type void (empty response body) ### Authorization [OAuth2](../README.md#OAuth2) ### HTTP request headers - **Content-Type**: multipart/form-data - **Accept**: Not defined ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| **204** | successful operation | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **replace_video_source_resumable** > replace_video_source_resumable(upload_id, content_range, content_length, body=body) Send chunk for the resumable replacement of a video **PeerTube >= 6.0** Uses [a resumable protocol](https://github.com/kukhariev/node-uploadx/blob/master/proto.md) to continue, pause or resume the replacement of a video ### Example * OAuth Authentication (OAuth2): ```python import peertube from peertube.rest import ApiException from pprint import pprint # Defining the host is optional and defaults to https://peertube2.cpy.re # See configuration.py for a list of all supported configuration parameters. configuration = peertube.Configuration( host = "https://peertube2.cpy.re" ) # The client must configure the authentication and authorization parameters # in accordance with the API server security policy. # Examples for each auth method are provided below, use the example that # satisfies your auth use case. configuration.access_token = os.environ["ACCESS_TOKEN"] # Enter a context with an instance of the API client with peertube.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = peertube.VideoApi(api_client) upload_id = 'upload_id_example' # str | Created session id to proceed with. If you didn't send chunks in the last hour, it is not valid anymore and you need to initialize a new upload. content_range = 'bytes 0-262143/2469036' # str | Specifies the bytes in the file that the request is uploading. For example, a value of `bytes 0-262143/1000000` shows that the request is sending the first 262144 bytes (256 x 1024) in a 2,469,036 byte file. content_length = 262144 # float | Size of the chunk that the request is sending. Remember that larger chunks are more efficient. PeerTube's web client uses chunks varying from 1048576 bytes (~1MB) and increases or reduces size depending on connection health. body = None # bytearray | (optional) try: # Send chunk for the resumable replacement of a video api_instance.replace_video_source_resumable(upload_id, content_range, content_length, body=body) except Exception as e: print("Exception when calling VideoApi->replace_video_source_resumable: %s\n" % e) ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **upload_id** | **str**| Created session id to proceed with. If you didn't send chunks in the last hour, it is not valid anymore and you need to initialize a new upload. | **content_range** | **str**| Specifies the bytes in the file that the request is uploading. For example, a value of `bytes 0-262143/1000000` shows that the request is sending the first 262144 bytes (256 x 1024) in a 2,469,036 byte file. | **content_length** | **float**| Size of the chunk that the request is sending. Remember that larger chunks are more efficient. PeerTube's web client uses chunks varying from 1048576 bytes (~1MB) and increases or reduces size depending on connection health. | **body** | **bytearray**| | [optional] ### Return type void (empty response body) ### Authorization [OAuth2](../README.md#OAuth2) ### HTTP request headers - **Content-Type**: application/octet-stream - **Accept**: Not defined ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| **204** | last chunk received: successful operation | - | **308** | resume incomplete | * Range -
* Content-Length -
| **403** | video didn't pass file replacement filter | - | **404** | replace upload not found | - | **409** | chunk doesn't match range | - | **422** | video unreadable | - | **429** | too many concurrent requests | - | **503** | upload is already being processed | * Retry-After -
| [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **replace_video_source_resumable_cancel** > replace_video_source_resumable_cancel(upload_id, content_length) Cancel the resumable replacement of a video **PeerTube >= 6.0** Uses [a resumable protocol](https://github.com/kukhariev/node-uploadx/blob/master/proto.md) to cancel the replacement of a video ### Example * OAuth Authentication (OAuth2): ```python import peertube from peertube.rest import ApiException from pprint import pprint # Defining the host is optional and defaults to https://peertube2.cpy.re # See configuration.py for a list of all supported configuration parameters. configuration = peertube.Configuration( host = "https://peertube2.cpy.re" ) # The client must configure the authentication and authorization parameters # in accordance with the API server security policy. # Examples for each auth method are provided below, use the example that # satisfies your auth use case. configuration.access_token = os.environ["ACCESS_TOKEN"] # Enter a context with an instance of the API client with peertube.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = peertube.VideoApi(api_client) upload_id = 'upload_id_example' # str | Created session id to proceed with. If you didn't send chunks in the last hour, it is not valid anymore and you need to initialize a new upload. content_length = 0 # float | try: # Cancel the resumable replacement of a video api_instance.replace_video_source_resumable_cancel(upload_id, content_length) except Exception as e: print("Exception when calling VideoApi->replace_video_source_resumable_cancel: %s\n" % e) ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **upload_id** | **str**| Created session id to proceed with. If you didn't send chunks in the last hour, it is not valid anymore and you need to initialize a new upload. | **content_length** | **float**| | ### Return type void (empty response body) ### Authorization [OAuth2](../README.md#OAuth2) ### HTTP request headers - **Content-Type**: Not defined - **Accept**: Not defined ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| **204** | source file replacement cancelled | * Content-Length -
| **404** | source file replacement not found | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **replace_video_source_resumable_init** > replace_video_source_resumable_init(x_upload_content_length, x_upload_content_type, video_replace_source_request_resumable=video_replace_source_request_resumable) Initialize the resumable replacement of a video **PeerTube >= 6.0** Uses [a resumable protocol](https://github.com/kukhariev/node-uploadx/blob/master/proto.md) to initialize the replacement of a video ### Example * OAuth Authentication (OAuth2): ```python import peertube from peertube.models.video_replace_source_request_resumable import VideoReplaceSourceRequestResumable from peertube.rest import ApiException from pprint import pprint # Defining the host is optional and defaults to https://peertube2.cpy.re # See configuration.py for a list of all supported configuration parameters. configuration = peertube.Configuration( host = "https://peertube2.cpy.re" ) # The client must configure the authentication and authorization parameters # in accordance with the API server security policy. # Examples for each auth method are provided below, use the example that # satisfies your auth use case. configuration.access_token = os.environ["ACCESS_TOKEN"] # Enter a context with an instance of the API client with peertube.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = peertube.VideoApi(api_client) x_upload_content_length = 2469036 # float | Number of bytes that will be uploaded in subsequent requests. Set this value to the size of the file you are uploading. x_upload_content_type = 'video/mp4' # str | MIME type of the file that you are uploading. Depending on your instance settings, acceptable values might vary. video_replace_source_request_resumable = peertube.VideoReplaceSourceRequestResumable() # VideoReplaceSourceRequestResumable | (optional) try: # Initialize the resumable replacement of a video api_instance.replace_video_source_resumable_init(x_upload_content_length, x_upload_content_type, video_replace_source_request_resumable=video_replace_source_request_resumable) except Exception as e: print("Exception when calling VideoApi->replace_video_source_resumable_init: %s\n" % e) ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **x_upload_content_length** | **float**| Number of bytes that will be uploaded in subsequent requests. Set this value to the size of the file you are uploading. | **x_upload_content_type** | **str**| MIME type of the file that you are uploading. Depending on your instance settings, acceptable values might vary. | **video_replace_source_request_resumable** | [**VideoReplaceSourceRequestResumable**](VideoReplaceSourceRequestResumable.md)| | [optional] ### Return type void (empty response body) ### Authorization [OAuth2](../README.md#OAuth2) ### HTTP request headers - **Content-Type**: application/json - **Accept**: Not defined ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | file already exists, send a [`resume`](https://github.com/kukhariev/node-uploadx/blob/master/proto.md) request instead | - | **201** | created | * Location -
* Content-Length -
| **413** | Disambiguate via `type`: - `max_file_size_reached` for the absolute file size limit - `quota_reached` for quota limits whether daily or global | - | **415** | video type unsupported | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **request_video_token** > VideoTokenResponse request_video_token(id, x_peertube_video_password=x_peertube_video_password) Request video token Request special tokens that expire quickly to use them in some context (like accessing private static files) ### Example * OAuth Authentication (OAuth2): ```python import peertube from peertube.models.video_token_response import VideoTokenResponse from peertube.rest import ApiException from pprint import pprint # Defining the host is optional and defaults to https://peertube2.cpy.re # See configuration.py for a list of all supported configuration parameters. configuration = peertube.Configuration( host = "https://peertube2.cpy.re" ) # The client must configure the authentication and authorization parameters # in accordance with the API server security policy. # Examples for each auth method are provided below, use the example that # satisfies your auth use case. configuration.access_token = os.environ["ACCESS_TOKEN"] # Enter a context with an instance of the API client with peertube.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = peertube.VideoApi(api_client) id = peertube.ApiV1VideosOwnershipIdAcceptPostIdParameter() # ApiV1VideosOwnershipIdAcceptPostIdParameter | The object id, uuid or short uuid x_peertube_video_password = 'x_peertube_video_password_example' # str | Required on password protected video (optional) try: # Request video token api_response = api_instance.request_video_token(id, x_peertube_video_password=x_peertube_video_password) print("The response of VideoApi->request_video_token:\n") pprint(api_response) except Exception as e: print("Exception when calling VideoApi->request_video_token: %s\n" % e) ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **id** | [**ApiV1VideosOwnershipIdAcceptPostIdParameter**](.md)| The object id, uuid or short uuid | **x_peertube_video_password** | **str**| Required on password protected video | [optional] ### Return type [**VideoTokenResponse**](VideoTokenResponse.md) ### Authorization [OAuth2](../README.md#OAuth2) ### HTTP request headers - **Content-Type**: Not defined - **Accept**: application/json ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | successful operation | - | **400** | incorrect parameters | - | **404** | video not found | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **update_live_id** > update_live_id(id, live_video_update=live_video_update) Update information about a live ### Example * OAuth Authentication (OAuth2): ```python import peertube from peertube.models.live_video_update import LiveVideoUpdate from peertube.rest import ApiException from pprint import pprint # Defining the host is optional and defaults to https://peertube2.cpy.re # See configuration.py for a list of all supported configuration parameters. configuration = peertube.Configuration( host = "https://peertube2.cpy.re" ) # The client must configure the authentication and authorization parameters # in accordance with the API server security policy. # Examples for each auth method are provided below, use the example that # satisfies your auth use case. configuration.access_token = os.environ["ACCESS_TOKEN"] # Enter a context with an instance of the API client with peertube.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = peertube.VideoApi(api_client) id = peertube.ApiV1VideosOwnershipIdAcceptPostIdParameter() # ApiV1VideosOwnershipIdAcceptPostIdParameter | The object id, uuid or short uuid live_video_update = peertube.LiveVideoUpdate() # LiveVideoUpdate | (optional) try: # Update information about a live api_instance.update_live_id(id, live_video_update=live_video_update) except Exception as e: print("Exception when calling VideoApi->update_live_id: %s\n" % e) ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **id** | [**ApiV1VideosOwnershipIdAcceptPostIdParameter**](.md)| The object id, uuid or short uuid | **live_video_update** | [**LiveVideoUpdate**](LiveVideoUpdate.md)| | [optional] ### Return type void (empty response body) ### Authorization [OAuth2](../README.md#OAuth2) ### HTTP request headers - **Content-Type**: application/json - **Accept**: Not defined ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| **204** | successful operation | - | **400** | bad parameters or trying to update a live that has already started | - | **403** | trying to save replay of the live but saving replay is not enabled on the instance | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **upload_legacy** > VideoUploadResponse upload_legacy(name, videofile, channel_id=channel_id, privacy=privacy, category=category, licence=licence, language=language, description=description, wait_transcoding=wait_transcoding, support=support, nsfw=nsfw, tags=tags, comments_enabled=comments_enabled, download_enabled=download_enabled, originally_published_at=originally_published_at, schedule_update=schedule_update, thumbnailfile=thumbnailfile, previewfile=previewfile, video_passwords=video_passwords) Upload a video Uses a single request to upload a video. ### Example * OAuth Authentication (OAuth2): ```python import peertube from peertube.models.video_privacy_set import VideoPrivacySet from peertube.models.video_scheduled_update import VideoScheduledUpdate from peertube.models.video_upload_response import VideoUploadResponse from peertube.rest import ApiException from pprint import pprint # Defining the host is optional and defaults to https://peertube2.cpy.re # See configuration.py for a list of all supported configuration parameters. configuration = peertube.Configuration( host = "https://peertube2.cpy.re" ) # The client must configure the authentication and authorization parameters # in accordance with the API server security policy. # Examples for each auth method are provided below, use the example that # satisfies your auth use case. configuration.access_token = os.environ["ACCESS_TOKEN"] # Enter a context with an instance of the API client with peertube.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = peertube.VideoApi(api_client) name = 'name_example' # str | Video name videofile = None # bytearray | Video file channel_id = 56 # int | Channel id that will contain this video (optional) privacy = peertube.VideoPrivacySet() # VideoPrivacySet | (optional) category = 56 # int | category id of the video (see [/videos/categories](#operation/getCategories)) (optional) licence = 56 # int | licence id of the video (see [/videos/licences](#operation/getLicences)) (optional) language = 'language_example' # str | language id of the video (see [/videos/languages](#operation/getLanguages)) (optional) description = 'description_example' # str | Video description (optional) wait_transcoding = True # bool | Whether or not we wait transcoding before publish the video (optional) support = 'support_example' # str | A text tell the audience how to support the video creator (optional) nsfw = True # bool | Whether or not this video contains sensitive content (optional) tags = ['tags_example'] # List[str] | Video tags (maximum 5 tags each between 2 and 30 characters) (optional) comments_enabled = True # bool | Enable or disable comments for this video (optional) download_enabled = True # bool | Enable or disable downloading for this video (optional) originally_published_at = '2013-10-20T19:20:30+01:00' # datetime | Date when the content was originally published (optional) schedule_update = peertube.VideoScheduledUpdate() # VideoScheduledUpdate | (optional) thumbnailfile = None # bytearray | Video thumbnail file (optional) previewfile = None # bytearray | Video preview file (optional) video_passwords = ['video_passwords_example'] # List[str] | (optional) try: # Upload a video api_response = api_instance.upload_legacy(name, videofile, channel_id=channel_id, privacy=privacy, category=category, licence=licence, language=language, description=description, wait_transcoding=wait_transcoding, support=support, nsfw=nsfw, tags=tags, comments_enabled=comments_enabled, download_enabled=download_enabled, originally_published_at=originally_published_at, schedule_update=schedule_update, thumbnailfile=thumbnailfile, previewfile=previewfile, video_passwords=video_passwords) print("The response of VideoApi->upload_legacy:\n") pprint(api_response) except Exception as e: print("Exception when calling VideoApi->upload_legacy: %s\n" % e) ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **name** | **str**| Video name | **videofile** | **bytearray**| Video file | **channel_id** | **int**| Channel id that will contain this video | [optional] **privacy** | [**VideoPrivacySet**](VideoPrivacySet.md)| | [optional] **category** | **int**| category id of the video (see [/videos/categories](#operation/getCategories)) | [optional] **licence** | **int**| licence id of the video (see [/videos/licences](#operation/getLicences)) | [optional] **language** | **str**| language id of the video (see [/videos/languages](#operation/getLanguages)) | [optional] **description** | **str**| Video description | [optional] **wait_transcoding** | **bool**| Whether or not we wait transcoding before publish the video | [optional] **support** | **str**| A text tell the audience how to support the video creator | [optional] **nsfw** | **bool**| Whether or not this video contains sensitive content | [optional] **tags** | [**List[str]**](str.md)| Video tags (maximum 5 tags each between 2 and 30 characters) | [optional] **comments_enabled** | **bool**| Enable or disable comments for this video | [optional] **download_enabled** | **bool**| Enable or disable downloading for this video | [optional] **originally_published_at** | **datetime**| Date when the content was originally published | [optional] **schedule_update** | [**VideoScheduledUpdate**](VideoScheduledUpdate.md)| | [optional] **thumbnailfile** | **bytearray**| Video thumbnail file | [optional] **previewfile** | **bytearray**| Video preview file | [optional] **video_passwords** | [**List[str]**](str.md)| | [optional] ### Return type [**VideoUploadResponse**](VideoUploadResponse.md) ### Authorization [OAuth2](../README.md#OAuth2) ### HTTP request headers - **Content-Type**: multipart/form-data - **Accept**: application/json ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | successful operation | - | **403** | video didn't pass upload filter | - | **408** | upload has timed out | - | **413** | If the response has no body, it means the reverse-proxy didn't let it through. Otherwise disambiguate via `type`: - `quota_reached` for quota limits whether daily or global | * X-File-Maximum-Size - Maximum file size for the banner
| **415** | video type unsupported | - | **422** | video unreadable | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **upload_resumable** > VideoUploadResponse upload_resumable(upload_id, content_range, content_length, body=body) Send chunk for the resumable upload of a video Uses [a resumable protocol](https://github.com/kukhariev/node-uploadx/blob/master/proto.md) to continue, pause or resume the upload of a video ### Example * OAuth Authentication (OAuth2): ```python import peertube from peertube.models.video_upload_response import VideoUploadResponse from peertube.rest import ApiException from pprint import pprint # Defining the host is optional and defaults to https://peertube2.cpy.re # See configuration.py for a list of all supported configuration parameters. configuration = peertube.Configuration( host = "https://peertube2.cpy.re" ) # The client must configure the authentication and authorization parameters # in accordance with the API server security policy. # Examples for each auth method are provided below, use the example that # satisfies your auth use case. configuration.access_token = os.environ["ACCESS_TOKEN"] # Enter a context with an instance of the API client with peertube.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = peertube.VideoApi(api_client) upload_id = 'upload_id_example' # str | Created session id to proceed with. If you didn't send chunks in the last hour, it is not valid anymore and you need to initialize a new upload. content_range = 'bytes 0-262143/2469036' # str | Specifies the bytes in the file that the request is uploading. For example, a value of `bytes 0-262143/1000000` shows that the request is sending the first 262144 bytes (256 x 1024) in a 2,469,036 byte file. content_length = 262144 # float | Size of the chunk that the request is sending. Remember that larger chunks are more efficient. PeerTube's web client uses chunks varying from 1048576 bytes (~1MB) and increases or reduces size depending on connection health. body = None # bytearray | (optional) try: # Send chunk for the resumable upload of a video api_response = api_instance.upload_resumable(upload_id, content_range, content_length, body=body) print("The response of VideoApi->upload_resumable:\n") pprint(api_response) except Exception as e: print("Exception when calling VideoApi->upload_resumable: %s\n" % e) ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **upload_id** | **str**| Created session id to proceed with. If you didn't send chunks in the last hour, it is not valid anymore and you need to initialize a new upload. | **content_range** | **str**| Specifies the bytes in the file that the request is uploading. For example, a value of `bytes 0-262143/1000000` shows that the request is sending the first 262144 bytes (256 x 1024) in a 2,469,036 byte file. | **content_length** | **float**| Size of the chunk that the request is sending. Remember that larger chunks are more efficient. PeerTube's web client uses chunks varying from 1048576 bytes (~1MB) and increases or reduces size depending on connection health. | **body** | **bytearray**| | [optional] ### Return type [**VideoUploadResponse**](VideoUploadResponse.md) ### Authorization [OAuth2](../README.md#OAuth2) ### HTTP request headers - **Content-Type**: application/octet-stream - **Accept**: application/json ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | last chunk received | * Content-Length -
| **308** | resume incomplete | * Range -
* Content-Length -
| **403** | video didn't pass upload filter | - | **404** | upload not found | - | **409** | chunk doesn't match range | - | **422** | video unreadable | - | **429** | too many concurrent requests | - | **503** | upload is already being processed | * Retry-After -
| [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **upload_resumable_cancel** > upload_resumable_cancel(upload_id, content_length) Cancel the resumable upload of a video, deleting any data uploaded so far Uses [a resumable protocol](https://github.com/kukhariev/node-uploadx/blob/master/proto.md) to cancel the upload of a video ### Example * OAuth Authentication (OAuth2): ```python import peertube from peertube.rest import ApiException from pprint import pprint # Defining the host is optional and defaults to https://peertube2.cpy.re # See configuration.py for a list of all supported configuration parameters. configuration = peertube.Configuration( host = "https://peertube2.cpy.re" ) # The client must configure the authentication and authorization parameters # in accordance with the API server security policy. # Examples for each auth method are provided below, use the example that # satisfies your auth use case. configuration.access_token = os.environ["ACCESS_TOKEN"] # Enter a context with an instance of the API client with peertube.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = peertube.VideoApi(api_client) upload_id = 'upload_id_example' # str | Created session id to proceed with. If you didn't send chunks in the last hour, it is not valid anymore and you need to initialize a new upload. content_length = 0 # float | try: # Cancel the resumable upload of a video, deleting any data uploaded so far api_instance.upload_resumable_cancel(upload_id, content_length) except Exception as e: print("Exception when calling VideoApi->upload_resumable_cancel: %s\n" % e) ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **upload_id** | **str**| Created session id to proceed with. If you didn't send chunks in the last hour, it is not valid anymore and you need to initialize a new upload. | **content_length** | **float**| | ### Return type void (empty response body) ### Authorization [OAuth2](../README.md#OAuth2) ### HTTP request headers - **Content-Type**: Not defined - **Accept**: Not defined ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| **204** | upload cancelled | * Content-Length -
| **404** | upload not found | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **upload_resumable_init** > upload_resumable_init(x_upload_content_length, x_upload_content_type, video_upload_request_resumable=video_upload_request_resumable) Initialize the resumable upload of a video Uses [a resumable protocol](https://github.com/kukhariev/node-uploadx/blob/master/proto.md) to initialize the upload of a video ### Example * OAuth Authentication (OAuth2): ```python import peertube from peertube.models.video_upload_request_resumable import VideoUploadRequestResumable from peertube.rest import ApiException from pprint import pprint # Defining the host is optional and defaults to https://peertube2.cpy.re # See configuration.py for a list of all supported configuration parameters. configuration = peertube.Configuration( host = "https://peertube2.cpy.re" ) # The client must configure the authentication and authorization parameters # in accordance with the API server security policy. # Examples for each auth method are provided below, use the example that # satisfies your auth use case. configuration.access_token = os.environ["ACCESS_TOKEN"] # Enter a context with an instance of the API client with peertube.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = peertube.VideoApi(api_client) x_upload_content_length = 2469036 # float | Number of bytes that will be uploaded in subsequent requests. Set this value to the size of the file you are uploading. x_upload_content_type = 'video/mp4' # str | MIME type of the file that you are uploading. Depending on your instance settings, acceptable values might vary. video_upload_request_resumable = peertube.VideoUploadRequestResumable() # VideoUploadRequestResumable | (optional) try: # Initialize the resumable upload of a video api_instance.upload_resumable_init(x_upload_content_length, x_upload_content_type, video_upload_request_resumable=video_upload_request_resumable) except Exception as e: print("Exception when calling VideoApi->upload_resumable_init: %s\n" % e) ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **x_upload_content_length** | **float**| Number of bytes that will be uploaded in subsequent requests. Set this value to the size of the file you are uploading. | **x_upload_content_type** | **str**| MIME type of the file that you are uploading. Depending on your instance settings, acceptable values might vary. | **video_upload_request_resumable** | [**VideoUploadRequestResumable**](VideoUploadRequestResumable.md)| | [optional] ### Return type void (empty response body) ### Authorization [OAuth2](../README.md#OAuth2) ### HTTP request headers - **Content-Type**: application/json - **Accept**: Not defined ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | file already exists, send a [`resume`](https://github.com/kukhariev/node-uploadx/blob/master/proto.md) request instead | - | **201** | created | * Location -
* Content-Length -
| **413** | Disambiguate via `type`: - `max_file_size_reached` for the absolute file size limit - `quota_reached` for quota limits whether daily or global | - | **415** | video type unsupported | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)