inspect_asset
Inspect one source asset, not a timeline instance. Find assets with browse_assets; builtin:* and library:* IDs belong to browse_library.
External MCP frame note: source frames require full projectId and timelineId UUIDs and a connected authenticated browser executor with access to the media. The visible page need not show that project or timeline. No cloud fallback. Frames return as one inline labeled contact sheet, no saved file: judge its pixels, not the metadata.
Browser execution requires the full timelineId UUID, never a shortened ID. Get it from editor state, read_project, or manage_timelines action="list". External calls also require full projectId; internal agents may omit it. Non-execution reads need no browser scope. Never switches the visible timeline or silently falls back to cloud.
Always returns metadata. AI assets add generationRecord with original submit params and FULL prompt/text for reuse; browse_assets/read_project show a short preview. record:"missing" means the job record is gone.
Audio/video metadata includes transcript state, a short preview and segmentCount, not rows. transcript.readyForEditing=true is authoritative for transcript, Script and captions even without a cloud copy or while upload is processing.
Request sourceFrameCount samples, exact sourceTimesMs, or transcriptRangesMs rows in original source-asset time, never timeline time. Samples prove only sampled moments; refine bounded exact timestamps before claiming every occurrence was checked.
Images/SVGs include an inline preview when timelineId is supplied unless includeImagePreview:false. includeImagePreview:true requires timelineId; metadata/transcript-only reads do not. Source assets may be unplaced. Browser inspection never uploads local media. Project-stored motion graphics, effects and transitions return schema/defaults. Pass includeCode:true for source and a Motion Graphic's asset.revision. Motion Graphics and effects return chatcutSpecialEffectUsed.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"assetId": "<assetId>"
},
"name": "inspect_asset"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| assetId | Yes | Exactly one project source asset ID or unambiguous ID prefix. Use browse_assets to find and compare project assets. Library IDs (builtin:* or library:*) belong to browse_library. Template source asset IDs use manage_template action:list_assets with templateId. | |
| projectId | No | Full project UUID. Required for external browser work; internal agents may omit. Execution/explicit-timeline calls never change later calls' target. | |
| timelineId | No | Full timeline UUID, never a shortened ID. Required with sourceFrameCount, sourceTimesMs, or includeImagePreview:true; optional for metadata/transcript-only reads. Copy the full target ID from editor state, read_project, or manage_timelines action="list". The source asset may be unplaced; this timeline scopes the execution and result. | |
| includeCode | No | Include stored source code for code-backed assets. Motion Graphic source includes asset.revision for guarded inline updates. | |
| sourceTimesMs | No | Requires the full timelineId UUID. Exact timestamps in the original source asset, in milliseconds; these are not timeline times. Times before the first video frame use its first valid timestamp, reported in sourceTimesMs alongside requestedSourceTimesMs. Timestamps at or after the known source duration are skipped and listed; the call fails only when none is before it. Cannot be combined with sourceFrameCount. | |
| idempotencyKey | No | Stable key for this browser execution. Reuse only with identical scope and parameters after a lost acknowledgement; applies only to this call. | |
| includeTimecode | No | For source-frame screenshots assembled by the editor, set false to omit the caption strip below each image. Exact source timestamps remain available in the returned metadata. Defaults to true. | |
| browserProfileId | No | Optional browser profile override. Omit to select automatically; do not ask the user to choose. | |
| sourceFrameCount | No | Requires the full timelineId UUID. Uniform coarse overview across most of the source duration, up to 25 frames. For a broad visual survey, batch 12-20 frames in one call, then use exact sourceTimesMs for details. It avoids the final 1-5 seconds for decoder safety and cannot prove that short visual events were absent; use exact sourceTimesMs to scan or refine specific intervals. Cannot be combined with sourceTimesMs. | |
| transcriptRangesMs | No | Request transcript text that overlaps these original source-asset ranges. This is the only input that requests transcript rows; omit it to receive only transcript state and, when available, a preview of up to 60 characters plus segmentCount in asset metadata. When provided, pass 1-6 objects, for example [{"startMs":0,"endMs":1000}], not tuples such as [[0,1000]]. Each object defines a half-open range: startMs is inclusive, endMs is exclusive, and startMs must be less than endMs. Ranges past the known source duration are clamped to it, and ranges starting at or after it are dropped; the call fails only when none starts before it. One call reads at most 120 seconds in total, in the given order; the rest is returned under Adjusted as the ranges to pass next. No context is added before or after the ranges. Returned rows keep their own timestamps and may cross a requested boundary when they overlap it. | |
| includeImagePreview | No | For Web image/SVG pixels, pass the full timelineId UUID; true requires it. Omit both fields for metadata-only reads, or set false to omit the preview even when timelineId is supplied. |