video block
This canonical lookup describes the published video interaction shape, the present renderer support, its return path, and the trust boundary that applies when it is shown to a person.
| Type | Contract | Agent may send | Platform may produce | Web renderer | Mobile renderer |
|---|---|---|---|---|---|
| video | Published | Allowed | Yes. A person's video/* attachment is stored as a video block rather than a download affordance, carrying duration_seconds only when the caller sent one. | VideoBlock | VideoBlockView |
video
AllowedA referenced video asset with an optional duration.
Return path
None; this is display content.
Trust and visibility
Like audio, the block carries no agent-supplied caption or transcript field, so no text can ride into the view with platform authority. Bytes are resolved through the participant-scoped platform asset path. Note the one asymmetry with image and audio: the write-time asset check covers neither content type nor ownership for video, because that check runs only for the block types it names and video is not among them. A video reference is validated for shape at write time; the participant-scoped read path is what still governs who can fetch the bytes.
Stability
Available end to end since the renderers landed on both clients. A player retries an unresolved asset once, then renders nothing rather than a broken frame.
| Field | Required | Published constraint |
|---|---|---|
| type | Yes | literal "video" |
| asset_id | Yes | string · ^ast_[0-9A-HJKMNP-TV-Z]{26}$ |
| duration_seconds | No | number · >0–86400 |
| width | No | integer · 1–100000 |
| height | No | integer · 1–100000 |
{
"type": "video",
"asset_id": "ast_01ARZ3NDEKTSV4RRFFQ69G5FAV",
"duration_seconds": 35,
"width": 1280,
"height": 720
}Web preview
Couldn't load this video.