PeerTube · Schema
VideoUploadRequestCommon
VideoDecentralizedFederationOpen SourceActivityPubSelf-HostedStreaming
Properties
| Name | Type | Description |
|---|---|---|
| name | string | Video name |
| channelId | integer | Channel id that will contain this video |
| privacy | object | |
| category | object | |
| licence | object | |
| language | object | |
| description | string | Video description |
| waitTranscoding | boolean | Whether or not we wait transcoding before publish the video |
| generateTranscription | boolean | **PeerTube >= 6.2** If enabled by the admin, automatically generate a subtitle of the video |
| support | string | A text tell the audience how to support the video creator |
| nsfw | boolean | Whether or not this video contains sensitive content |
| nsfwSummary | object | More information about the sensitive content of the video |
| nsfwFlags | object | |
| tags | array | Video tags (maximum 5 tags each between 2 and 30 characters) |
| commentsPolicy | object | |
| downloadEnabled | boolean | Enable or disable downloading for this video |
| originallyPublishedAt | string | Date when the content was originally published |
| scheduleUpdate | object | |
| thumbnailfile | string | Video thumbnail file |
| previewfile | string | Deprecated in PeerTube v8.1, use thumbnailfile instead |
| videoPasswords | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/peertube/main/json-schema/VideoUploadRequestCommon.json",
"title": "VideoUploadRequestCommon",
"properties": {
"name": {
"description": "Video name",
"type": "string",
"example": "What is PeerTube?",
"minLength": 3,
"maxLength": 120
},
"channelId": {
"description": "Channel id that will contain this video",
"type": "integer",
"example": 3,
"minimum": 1
},
"privacy": {
"$ref": "#/components/schemas/VideoPrivacySet"
},
"category": {
"$ref": "#/components/schemas/VideoCategorySet"
},
"licence": {
"$ref": "#/components/schemas/VideoLicenceSet"
},
"language": {
"$ref": "#/components/schemas/VideoLanguageSet"
},
"description": {
"description": "Video description",
"type": "string",
"example": "**[Want to help to translate this video?](https://weblate.framasoft.org/projects/what-is-peertube-video/)**\\r\\n\\r\\n**Take back the control of your videos! [#JoinPeertube](https://joinpeertube.org)**\n"
},
"waitTranscoding": {
"description": "Whether or not we wait transcoding before publish the video",
"type": "boolean"
},
"generateTranscription": {
"description": "**PeerTube >= 6.2** If enabled by the admin, automatically generate a subtitle of the video",
"type": "boolean"
},
"support": {
"description": "A text tell the audience how to support the video creator",
"example": "Please support our work on https://soutenir.framasoft.org/en/ <3",
"type": "string"
},
"nsfw": {
"description": "Whether or not this video contains sensitive content",
"type": "boolean"
},
"nsfwSummary": {
"description": "More information about the sensitive content of the video"
},
"nsfwFlags": {
"$ref": "#/components/schemas/NSFWFlag"
},
"tags": {
"description": "Video tags (maximum 5 tags each between 2 and 30 characters)",
"type": "array",
"minItems": 1,
"maxItems": 5,
"uniqueItems": true,
"example": [
"framasoft",
"peertube"
],
"items": {
"type": "string",
"minLength": 2,
"maxLength": 30
}
},
"commentsPolicy": {
"$ref": "#/components/schemas/VideoCommentsPolicySet"
},
"downloadEnabled": {
"description": "Enable or disable downloading for this video",
"type": "boolean"
},
"originallyPublishedAt": {
"description": "Date when the content was originally published",
"type": "string",
"format": "date-time"
},
"scheduleUpdate": {
"$ref": "#/components/schemas/VideoScheduledUpdate"
},
"thumbnailfile": {
"description": "Video thumbnail file",
"type": "string",
"format": "binary"
},
"previewfile": {
"description": "Deprecated in PeerTube v8.1, use thumbnailfile instead",
"deprecated": true,
"type": "string",
"format": "binary"
},
"videoPasswords": {
"$ref": "#/components/schemas/AddVideoPasswords"
}
},
"required": [
"channelId",
"name"
]
}