read_video Make any board video agent-readable: a speech transcript with timestamps plus keyframes (scene changes and evenly spaced stills, max 48) and up to 4 timestamped contact sheets. Give exactly one of sourceId (Video Library, Breakdown session), assetId (a card, review, playtest or comment attachment's media.id) or file {driveId,nodeId} (Files tab). The first read of a video starts preparation once in the render service (boards:write grant; daily per-project quota) and returns state processing with retryAfterSeconds; later reads by anyone return the stored result, never recomputed. Transcript text is a page of "[m:ss] text" lines: follow transcript.nextCursor with cursor. Images are bearer download paths under /api/v1 (look at the sheets first, then individual frames). Live project editor access. retry:true restarts a failed preparation. The CLI does it in one command: qraft video read. Agents can't watch video: read_video turns one into text and stills. Look at keyframes.sheets first (each tile is labeled with its time), then fetch single frames around the moments the transcript points to. While state is processing, wait retryAfterSeconds and call again with the same reference; preparation happens once per video for everyone. A Files video is read by its current version: a new upload is a new video. Example: {boardId:'board',assetId:'<64 lowercase hex>'}.