interface UploadMetadata {
    accessControlEntities?: (Omit<Entity, "id"> | Omit<Entity, "name">)[];
    categories?: string[];
    categoryIds?: string[];
    customFields?: Admin.CustomField.Request[];
    description?: string;
    doNotTranscode?: boolean;
    enableAutoShowChapterImages?: boolean;
    enableComments?: boolean;
    enableDownloads?: boolean;
    enableExternalApplicationAccess?: boolean;
    enableExternalViewersAccess?: boolean;
    enableRatings?: boolean;
    is360?: boolean;
    isActive?: boolean;
    legacyViewCount?: number;
    owner?: { email?: string; userId?: string; username?: string };
    password?: string;
    postUploadActions?: {
        metadataGenerationFields?: LiteralString<
            "title"
            | "chapters"
            | "description"
            | "tags",
        >[];
        transcribeLanguageId: string;
    };
    publishDate?: string;
    sensitiveContent?: boolean;
    sourceType?: SourceType;
    tags?: string[];
    title?: string;
    unlisted?: boolean;
    uploader: string;
    userTags?: string[];
    videoAccessControl?: Video.AccessControl;
    viewerIdEnabled?: boolean;
}

Properties

accessControlEntities?: (Omit<Entity, "id"> | Omit<Entity, "name">)[]

This provides explicit rights to a User/Group/Collection with/without CanEdit access to a This is an array with properties; Name (entity name), Type (User/Group/Collection), CanEdit (true/false). If any value is invalid, it will be rejected while valid values are still associated with the

categories?: string[]

list of category names

categoryIds?: string[]

An array of category IDs

customFields?: Admin.CustomField.Request[]

An array of customFields that is attached to the

description?: string

Description - safe html will be preserved

doNotTranscode?: boolean
enableAutoShowChapterImages?: boolean

When chapter images exist, the video playback can be enabled to show or hide the images by default.

enableComments?: boolean
{false}
enableDownloads?: boolean
{false}
enableExternalApplicationAccess?: boolean
enableExternalViewersAccess?: boolean
enableRatings?: boolean
{false}
is360?: boolean
isActive?: boolean
legacyViewCount?: number

Retain the total views count from an outside system as an optional param.

owner?: { email?: string; userId?: string; username?: string }

owner of video, defaults to uploader. only one key is necessary

password?: string

A Password for Public Video Access Control. Use this field when the videoAccessControl is set to Public. If not this field is ignored.

postUploadActions?: {
    metadataGenerationFields?: LiteralString<
        "title"
        | "chapters"
        | "description"
        | "tags",
    >[];
    transcribeLanguageId: string;
}

Transcribe the video once the upload is complete.

Type declaration

  • OptionalmetadataGenerationFields?: LiteralString<"title" | "chapters" | "description" | "tags">[]

    Creates AI-generated metadata for a given video based on the type specified. You must specify the field type you want to generate (description/title/tags/chapters). This feature requires English transcription and must also be enabled for your Rev account.

  • transcribeLanguageId: string

    Language code. View Supported Languages for source languages in Technical Requirements.

publishDate?: string

must be date-only YYYY-MM-DD

sensitiveContent?: boolean

This will prevent sensitive content from being indexed in Elastic Search. NOTE: Feature must be enabled (contact Vbrick Support)

sourceType?: SourceType
tags?: string[]

An array of strings that are tagged to the

title?: string

Title of the video being uploaded. If title is not specified, API will use uploaded filename as the title.

unlisted?: boolean
uploader: string

required - uploader of video

userTags?: string[]
videoAccessControl?: Video.AccessControl

This sets access control for the This is an enum and can have the following values: Public/AllUsers/Private/Channels.

viewerIdEnabled?: boolean

Default=false. Displays viewer information over the video for playback on the web.