Integration

api.video integration

api.video hosts, encodes and streams video. Create video objects from an uploaded file (up to 200 MiB per upload) or from a public URL, then read their encoding status and playback links (HLS, MP4, player and embed code), update, delete or restore them; add thumbnails, captions and chapters (VTT files), watermarks and AI summaries; create and end live streams; customise players; subscribe webhooks; and read viewing analytics (plays, impressions, watch time, concurrent viewers) as totals, breakdowns by country, device or browser, or time series. Chunked uploads of larger files, the delegated-token upload route, the login and token-refresh routes and the routes that list existing upload tokens are not exposed. Authentication is HTTP Basic with the API key as the user name and an empty password: paste the key followed by a colon, Base64-encoded, which is sent after the word Basic in the Authorization header. Use a production key; sandbox keys are refused by the production host.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in api.video.Built from the 54 api.video tools below, on the connection you add once.

What you can do with api.video

Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.

Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.

Video, 8 operations

  • create_videoCreate videoPOSTCreates a video object and returns it with its videoId. To import a video that is already online, pass its URL as source (or the videoId of one of your videos to copy it); otherwise upload the file afterwards with upload_video.
  • delete_videoDelete videoDELETEDeletes a video by its id. By default the deletion is permanent; when the Video Restore feature is enabled the video is discarded instead and can be brought back with restore_discarded_video for 90 days.
  • get_discarded_videoGet discarded videoGETRetrieve the video details of a discarded video object by video id.
  • get_videoGet videoGETRetrieve the video details by video id.
  • list_discarded_videosList discarded videosGETLists the videos that were deleted while the Video Restore feature is enabled (discarded videos, kept 90 days before permanent deletion), with the same filters and sorting as list_videos. Use restore_discarded_video to bring one back.
  • list_videosList videosGETLists the videos of the project, 25 per page by default, with their title, description, tags, metadata, public flag, source and playback assets (HLS manifest, player and embed links, thumbnail, MP4 when enabled).
  • restore_discarded_videoRestore discarded videoPATCHRestores a discarded video (one deleted while the Video Restore feature is enabled) by sending discarded=false, and returns the video.
  • update_videoUpdate videoPATCHUpdate the parameters associated with a video ID.

Caption, 5 operations

  • delete_captionDelete captionDELETEDelete a caption in a specific language by by video id.
  • get_captionGet captionGETRetrieve a caption for a video in a specific language.
  • list_captionsList captionsGETRetrieve a list of available captions by video id.
  • update_captionUpdate captionPATCHUpdate caption settings.
  • upload_captionUpload captionPOSTUploads a VTT file as the captions of a video in one language, and returns the caption with its language and URL.

Live stream, 5 operations

  • create_live_streamCreate live streamPOSTCreates a livestream object.
  • delete_live_streamDelete live streamDELETEIf you do not need a live stream any longer, you can send a request to delete it. All you need is the liveStreamId.
  • get_live_streamGet live streamGETGet a livestream by id.
  • list_live_streamsList live streamsGETGet the list of livestreams on the workspace.
  • update_live_streamUpdate live streamPATCHUpdates the livestream object.

Player, 5 operations

  • create_playerCreate playerPOSTCreate a player for your video, and customise it.
  • delete_playerDelete playerDELETEDelete a player if you no longer need it. You can delete any player that you have the player ID for.
  • get_playerGet playerGETRetreive a player theme by player id.
  • list_playersList playersGETRetrieve a list of all the player themes you created, as well as details about each one.
  • update_playerUpdate playerPATCHUse a player ID to update specific details for a player. NOTE: It may take up to 10 min before the new player configuration is available from our CDN.

Chapter, 4 operations

  • delete_chapterDelete chapterDELETEDelete a chapter in a specific language by providing the video ID for the video you want to delete the chapter from and the language the chapter is in.
  • get_chapterGet chapterGETRetrieve a chapter for by video id in a specific language.
  • list_chaptersList chaptersGETRetrieve a list of all chapters for by video id.
  • upload_chapterUpload chapterPOSTUpload a VTT file to add chapters to your video. Chapters help break the video into sections.

Thumbnail, 4 operations

  • delete_live_stream_thumbnailDelete live stream thumbnailDELETESend the unique identifier for a live stream to delete its thumbnail.
  • pick_video_thumbnailPick video thumbnailPATCHSets the video's thumbnail to the frame at a given timecode, and returns the video.
  • upload_live_stream_thumbnailUpload live stream thumbnailPOSTUpload the thumbnail for the livestream.
  • upload_video_thumbnailUpload video thumbnailPOSTUpload a thumbnail for a certain video.

Webhook, 4 operations

  • create_webhookCreate webhookPOSTSubscribes a URL to api.video events and returns the webhook with its signatureSecret, used to verify the notifications.
  • delete_webhookDelete webhookDELETEThis endpoint will delete the indicated webhook.
  • get_webhookGet webhookGETReturns one webhook by id with its events, URL and creation date. The signing secret is not returned here.
  • list_webhooksList webhooksGETLists the webhooks of the project with their events and URL, optionally only those subscribed to given events. The signing secret is not returned here.

Source, 3 operations

  • get_summary_detailsGet summary detailsGETGet all details for a summary
  • update_summary_detailsUpdate summary detailsPATCHUpdate details for a summary.
  • upload_videoUpload videoPOSTUploads a video file (at most 200 MiB) into a video object created with create_video, which then starts encoding; a video object accepts one upload. Check progress with get_video_status.

Summarie, 3 operations

  • create_summaryCreate summaryPOSTGenerates an abstract and key takeaways for a video from its transcript. Set origin to auto, otherwise no summary is generated automatically.
  • delete_summaryDelete summaryDELETEDelete a summary tied to a video.
  • list_summariesList summariesGETList all summarries for your videos in a project.

Watermark, 3 operations

  • delete_watermarkDelete watermarkDELETEDelete a watermark.
  • list_watermarksList watermarksGETList all watermarks associated with your workspace.
  • upload_watermarkUpload watermarkPOSTUploads a JPG or PNG image as a watermark and returns its watermarkId, to pass in the watermark object of create_video.

Logo, 2 operations

  • delete_player_logoDelete player logoDELETEDelete the logo associated to a player.
  • upload_player_logoUpload player logoPOSTUpload an image file as a logo for your player. The image should fit within these constraints: - The image mime type must be `image/jpeg` or `image/png`.

Upload token, 2 operations

  • create_upload_tokenCreate upload tokenPOSTCreates a delegated upload token: anyone holding it can upload videos into this project without the API key (for example from a browser upload form), until it expires.
  • delete_upload_tokenDelete upload tokenDELETEDelete an existing upload token. This is especially useful for tokens you may have created that do not expire.

Bucket, 1 operation

  • get_metrics_breakdownGet metrics breakdownGETRetrieve detailed analytics play-rate and number of impressions segmented by dimensions like country or device type.

Complete, 1 operation

  • complete_live_streamComplete live streamPUTEnds a live stream that is broadcasting: the HLS manifest is closed, which stops the stream in the player and stops its recording. The request is asynchronous and the stream stops after a few seconds.

Metric, 1 operation

  • get_aggregated_metricsGet aggregated metricsGETRetrieve time-based and countable metrics like average watch time or the number of impressions over a certain period of time.

Statu, 1 operation

  • get_video_statusGet video statusGETReturns where a video is in its pipeline: the ingest status (uploading, uploaded, ingesting, ingested), the bytes received, whether it is playable yet, each HLS and MP4 quality with its encoding status, and the decoded metadata.

Tag, 1 operation

  • list_tagsList tagsGETThis endpoint enables you to search for video tags in a project and see how many videos are tagged with them.

Timeserie, 1 operation

  • get_metrics_over_timeGet metrics over timeGETRetrieve countable metrics like the number of plays or impressions, grouped by the time at which they occurred

Use api.video from Claude Code, Cursor or Codex

Connect api.video in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its api.video operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect api.video

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect api.video once

    Add your api.video connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. Describe the job in chat

    The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.

api.video integration FAQ

What can you do with the api.video integration?

LiveContext exposes 54 operations on api.video, covering video, caption, live stream and player.

Popular integrations

Browse the whole catalog