channel_point_policy_image_upload
Uploads one image (PNG, JPEG or GIF up to 10 MiB, a bridge limit) from this computer, as the Channel Point terms editor image button does, and returns its URL to place in the terms text. image {kind:"local-file", filename, byteLength, sha256} returns a presigned PUT and the console terms editor link; send the file, then repeat with image {kind:"complete", uploadId, parts:[{partNumber:1, etag}]} to receive the URL. Called without confirmToken it previews and returns a confirmToken; repeating the same input with it executes once.
Inputs
| Field | Required here | Contract |
|---|---|---|
image |
Yes | one of: local-file, more-parts, complete, cancel (by kind) |
image.filename |
Yes | When image.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. |
image.byteLength |
Yes | When image.kind is local-file: integer; greater than 0; The exact file size in bytes (for example from wc -c < FILE or stat). |
image.sha256 |
No | When image.kind is local-file: string; pattern ^[0-9a-f]{64}$ |
image.uploadId |
Yes | When image.kind is more-parts: string; pattern ^upl_[A-Za-z0-9_-]{22}$ |
image.fromPart |
Yes | When image.kind is more-parts: integer; minimum 1; maximum 10000 |
image.uploadId |
Yes | When image.kind is complete: string; pattern ^upl_[A-Za-z0-9_-]{22}$ |
image.parts |
Yes | When image.kind is complete: array; min items 1; max items 10000 |
image.parts[].partNumber |
Yes | When image.kind is complete: integer; minimum 1; maximum 10000 |
image.parts[].etag |
Yes | When image.kind is complete: string; min length 1; max length 200 |
image.measured |
No | When image.kind is complete: object; What the video measures on this computer, read with measureCommand. |
image.measured.durationSeconds |
Yes | When image.kind is complete: number; maximum 1000000; greater than 0; Video duration in seconds (ffprobe format.duration). |
image.measured.frameRate |
Yes | When image.kind is complete: number; maximum 1000; greater than 0; Frames per second (ffprobe avg_frame_rate, for example 30000/1001 = 29.97). |
image.measured.width |
Yes | When image.kind is complete: integer; maximum 100000; greater than 0 |
image.measured.height |
Yes | When image.kind is complete: integer; maximum 100000; greater than 0 |
image.measured.frameRateMode |
No | When image.kind is complete: CFR, VFR |
image.measured.minFrameRate |
No | When image.kind is complete: number; maximum 1000; greater than 0 |
image.measured.maxFrameRate |
No | When image.kind is complete: number; maximum 1000; greater than 0 |
image.uploadId |
Yes | When image.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. |