publ betaReference (MCP guide)
Open publ console

publ Reference

messenger_room_thumbnail_get

Check a basic-group room image upload without uploading in the Messenger app (pApp D00003). Requires target upload {kind:"local-file", filename, byteLength, sha256} for a PNG, JPEG or GIF up to 10 MiB (bridge limit; the console sets none) on this computer, and roomUuid for an existing room or none for a new room. Returns the accepted types, size limit and console room screen link. Nothing is uploaded.

Inputs

Field Required here Contract
target Yes object; upload: start with {kind:"local-file", filename, byteLength, sha256} for a PNG, JPEG or GIF up to 10 MiB (bridge limit; the console sets none) on this computer, send it with the returned PUT, then finish with {kind:"complete", uploadId, parts}. A Google Drive or other link must be downloaded to this computer first. Add roomUuid for an existing basic group; omit it for a new room.
target.upload Yes one of: local-file, more-parts, complete, cancel (by kind)
target.upload.filename Yes When target.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.
target.upload.byteLength Yes When target.upload.kind is local-file: integer; greater than 0; The exact file size in bytes (for example from wc -c < FILE or stat).
target.upload.sha256 No When target.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.
target.upload.uploadId Yes When target.upload.kind is more-parts: string; pattern ^upl_[A-Za-z0-9_-]{22}$
target.upload.fromPart Yes When target.upload.kind is more-parts: integer; minimum 1; maximum 10000
target.upload.uploadId Yes When target.upload.kind is complete: string; pattern ^upl_[A-Za-z0-9_-]{22}$
target.upload.parts Yes When target.upload.kind is complete: array; min items 1; max items 10000
target.upload.parts[].partNumber Yes When target.upload.kind is complete: integer; minimum 1; maximum 10000
target.upload.parts[].etag Yes When target.upload.kind is complete: string; min length 1; max length 200
target.upload.measured No When target.upload.kind is complete: object; What the video measures on this computer, read with measureCommand.
target.upload.measured.durationSeconds Yes When target.upload.kind is complete: number; maximum 1000000; greater than 0; Video duration in seconds (ffprobe format.duration).
target.upload.measured.frameRate Yes When target.upload.kind is complete: number; maximum 1000; greater than 0; Frames per second (ffprobe avg_frame_rate, for example 30000/1001 = 29.97).
target.upload.measured.width Yes When target.upload.kind is complete: integer; maximum 100000; greater than 0
target.upload.measured.height Yes When target.upload.kind is complete: integer; maximum 100000; greater than 0
target.upload.measured.frameRateMode No When target.upload.kind is complete: CFR, VFR; Constant or variable frame rate, when the tool reports it.
target.upload.measured.minFrameRate No When target.upload.kind is complete: number; maximum 1000; greater than 0
target.upload.measured.maxFrameRate No When target.upload.kind is complete: number; maximum 1000; greater than 0
target.upload.uploadId Yes When target.upload.kind is cancel: string; pattern ^upl_[A-Za-z0-9_-]{22}$
target.roomUuid No string; pattern ^[A-Za-z0-9_-]{1,200}$