productivity
Vimeo CLI for AI Agents
Use the Vimeo CLI from KosmoKrator to call Vimeo tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.Vimeo CLI Setup
Vimeo can be configured headlessly with `kosmokrator integrations:configure vimeo`.
# Install KosmoKrator first if it is not available on PATH.
curl -fsSL https://raw.githubusercontent.com/OpenCompanyApp/kosmokrator/main/install.sh | bash
# Configure and verify this integration.
kosmokrator integrations:configure vimeo --set access_token="$VIMEO_ACCESS_TOKEN" --enable --read allow --write ask --json
kosmokrator integrations:doctor vimeo --json
kosmokrator integrations:status --json Credentials
Authentication type: Bearer token bearer_token. Configure credentials once, then reuse the same stored profile from scripts, coding CLIs, Lua, and MCP.
| Key | Env var | Type | Required | Label |
|---|---|---|---|---|
access_token | VIMEO_ACCESS_TOKEN | Secret secret | yes | Access Token |
base_url | VIMEO_BASE_URL | URL url | no | API Base URL |
Command Patterns
The generic command is stable across every integration. The provider shortcut is shorter for humans.
kosmo integrations:call vimeo.vimeo_list_videos '{"per_page":1,"page":1,"query":"example_query","filter":"example_filter","filter_embeddable":true,"filter_playable":true,"direction":"example_direction","sort":"example_sort"}' --json kosmo integrations:vimeo vimeo_list_videos '{"per_page":1,"page":1,"query":"example_query","filter":"example_filter","filter_embeddable":true,"filter_playable":true,"direction":"example_direction","sort":"example_sort"}' --json Discovery
These commands return structured output for coding agents that need to inspect capabilities before choosing a function.
kosmo integrations:docs vimeo --json
kosmo integrations:docs vimeo.vimeo_list_videos --json
kosmo integrations:schema vimeo.vimeo_list_videos --json
kosmo integrations:search "Vimeo" --json
kosmo integrations:list --json Automation Contexts
The same configured command surface works in these environments. The command does not change unless the host wrapper, credentials, or permissions change.
CLI Functions
Every function below can be called headlessly. Commands are highlighted, copyable, and scroll horizontally when payloads are long.
vimeo.vimeo_list_videos
List videos for the authenticated Vimeo user. Supports pagination, full-text search via query, and filters (e.g., embeddable, playable, privacy). Returns video URIs, names, durations, thumbnails, and metadata.
read - Parameters
- per_page, page, query, filter, filter_embeddable, filter_playable, direction, sort
kosmo integrations:call vimeo.vimeo_list_videos '{"per_page":1,"page":1,"query":"example_query","filter":"example_filter","filter_embeddable":true,"filter_playable":true,"direction":"example_direction","sort":"example_sort"}' --json kosmo integrations:vimeo vimeo_list_videos '{"per_page":1,"page":1,"query":"example_query","filter":"example_filter","filter_embeddable":true,"filter_playable":true,"direction":"example_direction","sort":"example_sort"}' --json vimeo.vimeo_get_video
Get detailed information about a single Vimeo video by its ID. Returns name, description, duration, thumbnails, privacy, stats, and playback links.
read - Parameters
- video_id
kosmo integrations:call vimeo.vimeo_get_video '{"video_id":"example_video_id"}' --json kosmo integrations:vimeo vimeo_get_video '{"video_id":"example_video_id"}' --json vimeo.vimeo_create_video
Create a new video upload slot on Vimeo. Choose an upload approach: "pull" (Vimeo downloads from a URL), "post" (you POST to an upload link), or "streaming" (Tus protocol). Returns the video URI and upload target.
write - Parameters
- upload_approach, upload_link, name, description, privacy, password, folder_uri
kosmo integrations:call vimeo.vimeo_create_video '{"upload_approach":"example_upload_approach","upload_link":"example_upload_link","name":"example_name","description":"example_description","privacy":"example_privacy","password":"example_password","folder_uri":"example_folder_uri"}' --json kosmo integrations:vimeo vimeo_create_video '{"upload_approach":"example_upload_approach","upload_link":"example_upload_link","name":"example_name","description":"example_description","privacy":"example_privacy","password":"example_password","folder_uri":"example_folder_uri"}' --json vimeo.vimeo_upload_video
Create an upload ticket for a new video on Vimeo. Returns the upload URL and video object. Use the upload link to POST the video file binary.
write - Parameters
- name, description, privacy
kosmo integrations:call vimeo.vimeo_upload_video '{"name":"example_name","description":"example_description","privacy":"example_privacy"}' --json kosmo integrations:vimeo vimeo_upload_video '{"name":"example_name","description":"example_description","privacy":"example_privacy"}' --json vimeo.vimeo_update_video
Update a video.
write - Parameters
- none
kosmo integrations:call vimeo.vimeo_update_video '{}' --json kosmo integrations:vimeo vimeo_update_video '{}' --json vimeo.vimeo_delete_video
Delete a video from Vimeo permanently. This action cannot be undone.
write - Parameters
- video_id
kosmo integrations:call vimeo.vimeo_delete_video '{"video_id":"example_video_id"}' --json kosmo integrations:vimeo vimeo_delete_video '{"video_id":"example_video_id"}' --json vimeo.vimeo_list_video_comments
List comments for a video.
read - Parameters
- none
kosmo integrations:call vimeo.vimeo_list_video_comments '{}' --json kosmo integrations:vimeo vimeo_list_video_comments '{}' --json vimeo.vimeo_create_video_comment
Create a video comment.
write - Parameters
- none
kosmo integrations:call vimeo.vimeo_create_video_comment '{}' --json kosmo integrations:vimeo vimeo_create_video_comment '{}' --json vimeo.vimeo_list_video_text_tracks
List video captions and subtitles.
read - Parameters
- none
kosmo integrations:call vimeo.vimeo_list_video_text_tracks '{}' --json kosmo integrations:vimeo vimeo_list_video_text_tracks '{}' --json vimeo.vimeo_create_video_text_track
Create a video text track.
write - Parameters
- none
kosmo integrations:call vimeo.vimeo_create_video_text_track '{}' --json kosmo integrations:vimeo vimeo_create_video_text_track '{}' --json vimeo.vimeo_list_video_pictures
List video thumbnails.
read - Parameters
- none
kosmo integrations:call vimeo.vimeo_list_video_pictures '{}' --json kosmo integrations:vimeo vimeo_list_video_pictures '{}' --json vimeo.vimeo_list_albums
List albums (showcases) for the authenticated Vimeo user. Supports pagination, query search, sorting, and direction. Returns album names, descriptions, thumbnails, and video counts.
read - Parameters
- per_page, page, query, sort, direction
kosmo integrations:call vimeo.vimeo_list_albums '{"per_page":1,"page":1,"query":"example_query","sort":"example_sort","direction":"example_direction"}' --json kosmo integrations:vimeo vimeo_list_albums '{"per_page":1,"page":1,"query":"example_query","sort":"example_sort","direction":"example_direction"}' --json vimeo.vimeo_get_album
Get detailed information about a single Vimeo album (showcase) by its ID.
read - Parameters
- album_id
kosmo integrations:call vimeo.vimeo_get_album '{"album_id":"example_album_id"}' --json kosmo integrations:vimeo vimeo_get_album '{"album_id":"example_album_id"}' --json vimeo.vimeo_create_album
Create an album/showcase.
write - Parameters
- none
kosmo integrations:call vimeo.vimeo_create_album '{}' --json kosmo integrations:vimeo vimeo_create_album '{}' --json vimeo.vimeo_update_album
Update an album/showcase.
write - Parameters
- none
kosmo integrations:call vimeo.vimeo_update_album '{}' --json kosmo integrations:vimeo vimeo_update_album '{}' --json vimeo.vimeo_list_album_videos
List videos in an album/showcase.
read - Parameters
- none
kosmo integrations:call vimeo.vimeo_list_album_videos '{}' --json kosmo integrations:vimeo vimeo_list_album_videos '{}' --json vimeo.vimeo_add_video_to_album
Add a video to an album/showcase.
write - Parameters
- none
kosmo integrations:call vimeo.vimeo_add_video_to_album '{}' --json kosmo integrations:vimeo vimeo_add_video_to_album '{}' --json vimeo.vimeo_list_folders
List folders (projects) for the authenticated Vimeo user. Supports pagination and query search. Returns folder names, descriptions, and item counts.
read - Parameters
- per_page, page, query
kosmo integrations:call vimeo.vimeo_list_folders '{"per_page":1,"page":1,"query":"example_query"}' --json kosmo integrations:vimeo vimeo_list_folders '{"per_page":1,"page":1,"query":"example_query"}' --json vimeo.vimeo_create_folder
Create a folder/project.
write - Parameters
- none
kosmo integrations:call vimeo.vimeo_create_folder '{}' --json kosmo integrations:vimeo vimeo_create_folder '{}' --json vimeo.vimeo_update_folder
Update a folder/project.
write - Parameters
- none
kosmo integrations:call vimeo.vimeo_update_folder '{}' --json kosmo integrations:vimeo vimeo_update_folder '{}' --json vimeo.vimeo_list_channels
List public Vimeo channels. Returns paginated results with channel metadata.
read - Parameters
- page, per_page
kosmo integrations:call vimeo.vimeo_list_channels '{"page":1,"per_page":1}' --json kosmo integrations:vimeo vimeo_list_channels '{"page":1,"per_page":1}' --json vimeo.vimeo_list_categories
List Vimeo categories.
read - Parameters
- none
kosmo integrations:call vimeo.vimeo_list_categories '{}' --json kosmo integrations:vimeo vimeo_list_categories '{}' --json vimeo.vimeo_get_current_user
Get the authenticated Vimeo user's profile information. Returns name, bio, location, account type, upload quota, and profile pictures.
read - Parameters
- none
kosmo integrations:call vimeo.vimeo_get_current_user '{}' --json kosmo integrations:vimeo vimeo_get_current_user '{}' --json vimeo.vimeo_api_get
Call a documented GET endpoint.
read - Parameters
- none
kosmo integrations:call vimeo.vimeo_api_get '{}' --json kosmo integrations:vimeo vimeo_api_get '{}' --json vimeo.vimeo_api_post
Call a documented POST endpoint.
write - Parameters
- none
kosmo integrations:call vimeo.vimeo_api_post '{}' --json kosmo integrations:vimeo vimeo_api_post '{}' --json vimeo.vimeo_api_patch
Call a documented PATCH endpoint.
write - Parameters
- none
kosmo integrations:call vimeo.vimeo_api_patch '{}' --json kosmo integrations:vimeo vimeo_api_patch '{}' --json vimeo.vimeo_api_delete
Call a documented DELETE endpoint.
write - Parameters
- none
kosmo integrations:call vimeo.vimeo_api_delete '{}' --json kosmo integrations:vimeo vimeo_api_delete '{}' --json Function Schemas
Use these parameter tables when building CLI payloads without calling integrations:schema first.
vimeo.vimeo_list_videos 8 parameters
kosmo integrations:schema vimeo.vimeo_list_videos --json | Parameter | Type | Required | Description |
|---|---|---|---|
per_page | integer | no | Number of videos per page (1-100, default: 25). |
page | integer | no | Page number for pagination (default: 1). |
query | string | no | Full-text search query to filter videos by name or description. |
filter | string | no | Filter category: "embeddable", "playable", "purchase_price", "privacy". |
filter_embeddable | boolean | no | When filter is "embeddable": true = only embeddable, false = only non-embeddable. |
filter_playable | boolean | no | When filter is "playable": true = only playable, false = only non-playable. |
direction | string | no | Sort direction: "asc" or "desc". |
sort | string | no | Sort field: "alphabetical", "comments", "date", "duration", "likes", "plays". |
vimeo.vimeo_get_video 1 parameters
kosmo integrations:schema vimeo.vimeo_get_video --json | Parameter | Type | Required | Description |
|---|---|---|---|
video_id | string | yes | The Vimeo video ID (e.g., "123456789"). |
vimeo.vimeo_create_video 7 parameters
kosmo integrations:schema vimeo.vimeo_create_video --json | Parameter | Type | Required | Description |
|---|---|---|---|
upload_approach | string | no | Upload method: "pull" (Vimeo fetches from URL), "post" (direct upload), or "streaming" (Tus). Default: "post". |
upload_link | string | no | Required when upload_approach is "pull". The URL Vimeo will download the video from. |
name | string | no | Title of the video. |
description | string | no | Description of the video. |
privacy | string | no | Privacy setting: "anybody", "nobody", "contacts", "password", "unlisted", "disable". |
password | string | no | Required when privacy is "password". |
folder_uri | string | no | URI of a folder (project) to add the video to after creation. |
vimeo.vimeo_upload_video 3 parameters
kosmo integrations:schema vimeo.vimeo_upload_video --json | Parameter | Type | Required | Description |
|---|---|---|---|
name | string | no | Title of the video. |
description | string | no | Description of the video. |
privacy | string | no | Privacy setting: "anybody", "nobody", "contacts", "password", "disable", "unlisted". |
vimeo.vimeo_update_video 0 parameters
kosmo integrations:schema vimeo.vimeo_update_video --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
vimeo.vimeo_delete_video 1 parameters
kosmo integrations:schema vimeo.vimeo_delete_video --json | Parameter | Type | Required | Description |
|---|---|---|---|
video_id | string | yes | The video ID to delete (e.g., "123456789"). |
vimeo.vimeo_list_video_comments 0 parameters
kosmo integrations:schema vimeo.vimeo_list_video_comments --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
vimeo.vimeo_create_video_comment 0 parameters
kosmo integrations:schema vimeo.vimeo_create_video_comment --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
vimeo.vimeo_list_video_text_tracks 0 parameters
kosmo integrations:schema vimeo.vimeo_list_video_text_tracks --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
vimeo.vimeo_create_video_text_track 0 parameters
kosmo integrations:schema vimeo.vimeo_create_video_text_track --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
vimeo.vimeo_list_video_pictures 0 parameters
kosmo integrations:schema vimeo.vimeo_list_video_pictures --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
vimeo.vimeo_list_albums 5 parameters
kosmo integrations:schema vimeo.vimeo_list_albums --json | Parameter | Type | Required | Description |
|---|---|---|---|
per_page | integer | no | Number of albums per page (1-100, default: 25). |
page | integer | no | Page number for pagination (default: 1). |
query | string | no | Full-text search query to filter albums by name or description. |
sort | string | no | Sort field: "alphabetical", "date", "duration", "manual", "modified_time", "name". |
direction | string | no | Sort direction: "asc" or "desc". |
vimeo.vimeo_get_album 1 parameters
kosmo integrations:schema vimeo.vimeo_get_album --json | Parameter | Type | Required | Description |
|---|---|---|---|
album_id | string | yes | The album ID (e.g., "1234567"). |
vimeo.vimeo_create_album 0 parameters
kosmo integrations:schema vimeo.vimeo_create_album --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
vimeo.vimeo_update_album 0 parameters
kosmo integrations:schema vimeo.vimeo_update_album --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
vimeo.vimeo_list_album_videos 0 parameters
kosmo integrations:schema vimeo.vimeo_list_album_videos --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
vimeo.vimeo_add_video_to_album 0 parameters
kosmo integrations:schema vimeo.vimeo_add_video_to_album --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
vimeo.vimeo_list_folders 3 parameters
kosmo integrations:schema vimeo.vimeo_list_folders --json | Parameter | Type | Required | Description |
|---|---|---|---|
per_page | integer | no | Number of folders per page (1-100, default: 25). |
page | integer | no | Page number for pagination (default: 1). |
query | string | no | Search query to filter folders by name. |
vimeo.vimeo_create_folder 0 parameters
kosmo integrations:schema vimeo.vimeo_create_folder --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
vimeo.vimeo_update_folder 0 parameters
kosmo integrations:schema vimeo.vimeo_update_folder --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
vimeo.vimeo_list_channels 2 parameters
kosmo integrations:schema vimeo.vimeo_list_channels --json | Parameter | Type | Required | Description |
|---|---|---|---|
page | integer | no | Page number (1-based, default: 1). |
per_page | integer | no | Number of channels per page (default: 25). |
vimeo.vimeo_list_categories 0 parameters
kosmo integrations:schema vimeo.vimeo_list_categories --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
vimeo.vimeo_get_current_user 0 parameters
kosmo integrations:schema vimeo.vimeo_get_current_user --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
vimeo.vimeo_api_get 0 parameters
kosmo integrations:schema vimeo.vimeo_api_get --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
vimeo.vimeo_api_post 0 parameters
kosmo integrations:schema vimeo.vimeo_api_post --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
vimeo.vimeo_api_patch 0 parameters
kosmo integrations:schema vimeo.vimeo_api_patch --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
vimeo.vimeo_api_delete 0 parameters
kosmo integrations:schema vimeo.vimeo_api_delete --json | Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
Permissions
Headless calls still follow the integration read/write permission policy. Configure read/write defaults with
integrations:configure. Add --force only for trusted automation that should bypass that policy.