publ betaReference (MCP guide)
Open publ console

publ Reference

vod_appearance_apply

Changes the hero title, the hero detail text, one banner link, or the hero or a banner image of the appearance editor in the Basic VOD app (pApp C00001). One field per call, as the original editor saves it. An image (jpg or png; hero up to 2 MB, banners up to 1 MB as the editor counts) is uploaded from this computer: action image with upload local-file returns the presigned upload and the console editor link, then upload complete saves it. Switch the hero or a banner on or off with vod_settings_apply. Shows a preview first; the change runs only after confirmation. Called without confirmToken it previews and returns a confirmToken; repeating the same input with it executes once.

Inputs

Field Required here Contract
action Yes one of: hero-title, hero-description, banner-link, image (by kind)
action.title Yes When action.kind is hero-title: string; Hero title, at most 20 characters.
action.description Yes When action.kind is hero-description: string; Hero detail text, at most 40 characters.
action.slot Yes When action.kind is banner-link: banner1, banner2
action.conversionLinkSrc Yes When action.kind is banner-link: string; min length 1; max length 2048; pattern (?:https?):\/\/(\w+:?\w*)?(\S+)(:\d+)?(\/|\/([\w#!:.?+=&%!\-\/]))?; Link opened by the banner (http or https).
action.slot Yes When action.kind is image: hero, banner1, banner2
action.upload Yes When action.kind is image: one of: local-file, more-parts, complete, cancel (by kind); Upload a jpg or png from this computer, as the appearance editor does (hero up to 2 MB, banners up to 1 MB as the editor counts): {kind:"local-file", filename, byteLength} returns the presigned upload and the console editor link; send the file, then call again with upload {kind:"complete", uploadId, parts} to save it as the image.
action.upload.filename Yes When action.kind is image and action.upload.kind is local-file: string; min length 1; max length 240; pattern ^[^/\\:\x00-\x1f\x7f]+$; The name of the file on this computer, with its extension.
action.upload.byteLength Yes When action.kind is image and action.upload.kind is local-file: integer; greater than 0; The exact file size in bytes (for example from wc -c < FILE or stat).
action.upload.sha256 No When action.kind is image and action.upload.kind is local-file: string; pattern ^[0-9a-f]{64}$; The SHA-256 of the file in lowercase hex (shasum -a 256 FILE). Required when the upload answers UPLOAD_CHECKSUM_REQUIRED.
action.upload.uploadId Yes When action.kind is image and action.upload.kind is more-parts: string; pattern ^upl_[A-Za-z0-9_-]{22}$
action.upload.fromPart Yes When action.kind is image and action.upload.kind is more-parts: integer; minimum 1; maximum 10000
action.upload.uploadId Yes When action.kind is image and action.upload.kind is complete: string; pattern ^upl_[A-Za-z0-9_-]{22}$
action.upload.parts Yes When action.kind is image and action.upload.kind is complete: array; min items 1; max items 10000
action.upload.parts[].partNumber Yes When action.kind is image and action.upload.kind is complete: integer; minimum 1; maximum 10000
action.upload.parts[].etag Yes When action.kind is image and action.upload.kind is complete: string; min length 1; max length 200
action.upload.measured No When action.kind is image and action.upload.kind is complete: object; What the video measures on this computer, read with measureCommand.
action.upload.measured.durationSeconds Yes When action.kind is image and action.upload.kind is complete: number; maximum 1000000; greater than 0; Video duration in seconds (ffprobe format.duration).
action.upload.measured.frameRate Yes When action.kind is image and action.upload.kind is complete: number; maximum 1000; greater than 0; Frames per second (ffprobe avg_frame_rate, for example 30000/1001 = 29.97).
action.upload.measured.width Yes When action.kind is image and action.upload.kind is complete: integer; maximum 100000; greater than 0
action.upload.measured.height Yes When action.kind is image and action.upload.kind is complete: integer; maximum 100000; greater than 0
action.upload.measured.frameRateMode No When action.kind is image and action.upload.kind is complete: CFR, VFR; Constant or variable frame rate, when the tool reports it.
action.upload.measured.minFrameRate No When action.kind is image and action.upload.kind is complete: number; maximum 1000; greater than 0
action.upload.measured.maxFrameRate No When action.kind is image and action.upload.kind is complete: number; maximum 1000; greater than 0
action.upload.uploadId Yes When action.kind is image and action.upload.kind is cancel: string; pattern ^upl_[A-Za-z0-9_-]{22}$
confirmToken No string; pattern ^ct[a-f\d]{32}$; The confirmToken from this tool's preview result. Omit it to preview; repeat the same input with it to execute.