Skip to content

Video actions

4 actions. Each action calls the same API route with the same scopes on every surface.

Get the HLS master playlist.

Route GET /api/v1/video/{item_id}/hls/master.m3u8
Tool name calternal_api_video_hls_master_by_item
Surfaces cli, mcp, webmcp
Scopes data
Effect read only
Encoding request none, response base64

path

Field Type Required Description
item_id string yes
Terminal window
calternal action run video_hls_master_by_item --input '{"path":{"item_id":"<item_id>"}}' --json

Get an HLS media playlist.

Route GET /api/v1/video/{item_id}/hls/{height}/index.m3u8
Tool name calternal_api_video_hls_playlist_by_item
Surfaces cli, mcp, webmcp
Scopes data
Effect read only
Encoding request none, response base64

path

Field Type Required Description
height integer, int32 (0–) yes
item_id string yes
Terminal window
calternal action run video_hls_playlist_by_item --input '{"path":{"item_id":"<item_id>","height":"<height>"}}' --json

Get an HLS playlist or segment.

Route GET /api/v1/video/{item_id}/hls/{height}/{name}
Tool name calternal_api_video_hls_segment_by_item
Surfaces cli, mcp, webmcp
Scopes data
Effect read only
Encoding request none, response base64

path

Field Type Required Description
height integer, int32 (0–) yes
item_id string yes
name string yes
Terminal window
calternal action run video_hls_segment_by_item --input '{"path":{"item_id":"<item_id>","height":"<height>","name":"<name>"}}' --json

Read a video source Continuation: Use the declared Range header or the existing streaming transfer command..

Route GET /api/v1/video/{item_id}/source
Tool name calternal_api_video_source_by_item
Surfaces cli, mcp, webmcp
Scopes data
Effect read only
Encoding request none, response base64

path

Field Type Required Description
item_id string yes

headers

Field Type Required Description
If-None-Match string | null no
If-Range string | null no
Range string | null no
Terminal window
calternal action run video_source_by_item --input '{"path":{"item_id":"<item_id>"}}' --json