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
View JSON Schema on GitHub

JSON Schema

VideoUploadRequestCommon.json Raw ↑
{
  "$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"
  ]
}