# VideoUploadRequestCommon

Type: VideoUploadRequestCommon

Schema: [VideoUploadRequestCommon](https://sourcey-peertube.pages.dev/api-rest-reference/models/videouploadrequestcommon.md)

- `name` (required)
  Type: string
  
  Video name
  
  minLength: 3
  
  maxLength: 120
  
  Example:
  
  ```json
  "What is PeerTube?"
  ```

- `channelId` (required)
  Type: integer
  
  Channel id that will contain this video
  
  minimum: 1
  
  Example:
  
  ```json
  3
  ```

- `privacy` (optional)
  Reference: [VideoPrivacySet](https://sourcey-peertube.pages.dev/api-rest-reference/models/videoprivacyset.md); Type: VideoPrivacySet
  
  privacy id of the video (see [/videos/privacies](#operation/getVideoPrivacyPolicies))
  
  enum: [1,2,3,4,5]

- `category` (optional)
  Reference: [VideoCategorySet](https://sourcey-peertube.pages.dev/api-rest-reference/models/videocategoryset.md); Type: VideoCategorySet
  
  category id of the video (see [/videos/categories](#operation/getCategories))
  
  Example:
  
  ```json
  15
  ```

- `licence` (optional)
  Reference: [VideoLicenceSet](https://sourcey-peertube.pages.dev/api-rest-reference/models/videolicenceset.md); Type: VideoLicenceSet
  
  licence id of the video (see [/videos/licences](#operation/getLicences))
  
  Example:
  
  ```json
  2
  ```

- `language` (optional)
  Reference: [VideoLanguageSet](https://sourcey-peertube.pages.dev/api-rest-reference/models/videolanguageset.md); Type: VideoLanguageSet
  
  language id of the video (see [/videos/languages](#operation/getLanguages))
  
  Example:
  
  ```json
  "en"
  ```

- `description` (optional)
  Type: string
  
  Video description
  
  Example:
  
  ```json
  "**[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` (optional)
  Type: boolean
  
  Whether or not we wait transcoding before publish the video

- `generateTranscription` (optional)
  Type: boolean
  
  **PeerTube >= 6.2** If enabled by the admin, automatically generate a subtitle of the video

- `support` (optional)
  Type: string
  
  A text tell the audience how to support the video creator
  
  Example:
  
  ```json
  "Please support our work on https://soutenir.framasoft.org/en/ <3"
  ```

- `nsfw` (optional)
  Type: boolean
  
  Whether or not this video contains sensitive content

- `nsfwSummary` (optional)
  Type: any
  
  More information about the sensitive content of the video

- `nsfwFlags` (optional)
  Reference: [NSFWFlag](https://sourcey-peertube.pages.dev/api-rest-reference/models/nsfwflag.md); Type: NSFWFlag
  
  
  NSFW flags (can be combined using bitwise or operator)
  - `0` NONE
  - `1` VIOLENT
  - `2` EXPLICIT_SEX
  
  
  enum: [0,1,2,4]

- `tags` (optional)
  Type: Array<string>
  
  Video tags (maximum 5 tags each between 2 and 30 characters)
  
  minItems: 1
  
  maxItems: 5
  
  uniqueItems: true
  
  Example:
  
  ```json
  [
    "framasoft",
    "peertube"
  ]
  ```
  
  Items:
    Type: string
    
    minLength: 2
    
    maxLength: 30

- `commentsPolicy` (optional)
  Reference: [VideoCommentsPolicySet](https://sourcey-peertube.pages.dev/api-rest-reference/models/videocommentspolicyset.md); Type: VideoCommentsPolicySet
  
  Comments policy of the video (Enabled = `1`, Disabled = `2`, Requires Approval = `3`)
  
  enum: [1,2,3]

- `recommendationScope` (optional)
  Reference: [VideoRecommendationScopeSet](https://sourcey-peertube.pages.dev/api-rest-reference/models/videorecommendationscopeset.md); Type: VideoRecommendationScopeSet
  
  Videos that can be recommended next to a video:
    - `1` All videos
    - `2` Only videos of the platform that owns the reference video (or of the current platform if no video is given)
    - `3` Only videos of the account that owns the reference video
    - `4` Only videos of the channel of the reference video
  
  This is a preference of the video owner: applications displaying recommendations may not apply it
  
  
  enum: [1,2,3,4]

- `aiUsage` (optional)
  Reference: [VideoAIUsageSet](https://sourcey-peertube.pages.dev/api-rest-reference/models/videoaiusageset.md); Type: VideoAIUsageSet
  
  **PeerTube >= 9.0** Use of AI in the video, declared by the video creator:
    - `1` Not specified
    - `2` No AI-generated content: nothing seen or heard in the video has been generated by AI
    - `3` Contains AI-generated content: some parts of the video have been generated by AI
    - `4` AI-generated: the whole video, or most of it, has been generated by AI
  
  
  enum: [1,2,3,4]

- `commercialContent` (optional)
  Reference: [VideoCommercialContentSet](https://sourcey-peertube.pages.dev/api-rest-reference/models/videocommercialcontentset.md); Type: VideoCommercialContentSet
  
  **PeerTube >= 9.0** Commercial content in the video, declared by the video creator:
    - `1` None
    - `2` Promotional content: the creator promotes their own products, services or business
    - `3` Paid partnership: a third party paid, or provided goods or services, in exchange for the promotion
  
  
  enum: [1,2,3]

- `downloadEnabled` (optional)
  Type: boolean
  
  Enable or disable downloading for this video

- `originallyPublishedAt` (optional)
  Type: string, date-time
  
  Date when the content was originally published

- `scheduleUpdate` (optional)
  Reference: [VideoScheduledUpdate](https://sourcey-peertube.pages.dev/api-rest-reference/models/videoscheduledupdate.md); Type: VideoScheduledUpdate

- `thumbnailfile` (optional)
  Type: string, binary
  
  Video thumbnail file

- `previewfile` (optional)
  Type: string, binary
  
  Deprecated in PeerTube v8.1, use thumbnailfile instead
  
  deprecated: true

- `videoPasswords` (optional)
  Reference: [AddVideoPasswords](https://sourcey-peertube.pages.dev/api-rest-reference/models/addvideopasswords.md); Type: Array<password>
  
  uniqueItems: true