Integration

JSON2Video integration

JSON2Video renders MP4 videos from a JSON description (scenes of images, videos, text, HTML, components, voiceovers and subtitles) or from reusable templates with variables. An agent can start a render and follow it to the final video URL, list renders and delete a render's files, create, copy and delete templates (this integration does not edit a template in place or return its movie body), browse the public template library, and manage the account's media files and folders. Rendering costs 1 credit per second of output at any resolution. Uploading a media file's bytes is a second step to a presigned storage URL that this integration does not perform (it returns that URL). Only the routes the vendor documents as public are included; its other observable routes are internal. Authentication is an API key from the JSON2Video dashboard, sent in an x-api-key header; its role (render, editor, manager or admin) limits what it may do.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in JSON2Video.Built from the 19 JSON2Video tools below, on the connection you add once.

What you can do with JSON2Video

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.

Each badge shows the default agent permission of an endpoint (allowed: an agent calls it without asking; ask first: you are asked before an agent calls it, when the agent or chat asks permission for sensitive actions; never: no agent may call it), which every user can change endpoint by endpoint in their credential settings.

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

Template, 5 operations

  • create_templateCreate templatePOSTAgents: ask firstSaves a reusable template: a Movie JSON with {{name}} variable placeholders, a name and tags. Returns its generated 20-character templateId, which create_movie renders with variables.
  • delete_templateDelete templateDELETEAgents: ask firstDeletes one of the account's templates and its stored movie body. Renders already running keep the body they resolved.
  • duplicate_templateDuplicate templatePOSTAgents: ask firstCopies a template, such as one of list_template_library, into the account under a new id, optionally with a new name and merged variables. Returns the new templateId and name.
  • get_templateGet templateGETAgents: ask firstReturns one of the account's templates by id: name, tags, variables and dates. Its movie body is withheld, since a template's exports can carry FTP or SFTP passwords. format jsonschema adds a JSON Schema of the template's variables.
  • list_templatesList templatesGETAgents: ask firstLists the templates owned by the account (id, name, tags, dates), newest update first, without their movie body, which no tool returns (its exports can carry delivery passwords).

Media file, 4 operations

  • delete_media_fileDelete media fileDELETEAgents: ask firstDeletes one media file from storage and from the account's media index.
  • get_media_fileGet media fileGETAgents: ask firstReturns one media file's metadata (type, MIME type, size, upload status) and its public URL, which a movie element can use as src.
  • list_media_folderList media folderGETAgents: ask firstLists one media folder: its sub-folders and a page of files (name, type, size, public URL, upload status), 20 per page by default. Filter by type or a name fragment.
  • move_media_fileMove media filePUTAgents: ask firstMoves one media file to another folder of the account; moving it to temp marks it temporary, so it is deleted automatically.

Movie, 4 operations

  • create_movieCreate moviePOSTAgents: ask firstStarts rendering a video from a Movie JSON (scenes of elements) or a saved template. Returns a project id; poll get_movie until status is done (url is the MP4), error or timeout. Costs 1 credit per second of output.
  • delete_movieDelete movieDELETEAgents: ask firstDeletes a finished movie's video, thumbnail and audio files now instead of after 7 days; the movie entry and its consumed credits stay. Refused while the render is pending or running.
  • get_movieGet movieGETAgents: ask firstReturns a movie's render status (pending, running, done, error, timeout), its MP4, thumbnail and audio URLs, duration, size and timings, delivery results and the plan's remaining quota.
  • list_moviesList moviesGETAgents: ask firstLists the account's movies (renders) in a date range, the current month by default (at most 93 days), 100 per page. Page with next_token until has_next is false.

Media folder, 3 operations

  • create_media_folderCreate media folderPOSTAgents: ask firstCreates a media folder (such as videos/raw). An existing folder answers success with the message Folder already exists.
  • delete_media_folderDelete media folderDELETEAgents: ask firstDeletes an empty media folder. The root and the temp folder cannot be deleted; a folder that still has files is refused.
  • get_media_folder_treeGet media folder treeGETAgents: ask firstLists every media folder of the account as a flat list, with the number of files and the bytes in each.

Library template, 1 operation

  • list_template_libraryList template libraryGETAgents: ask firstLists JSON2Video's public template library: ready-made templates with an example video, a thumbnail and their dimensions. Render one by id in create_movie, or copy it with duplicate_template.

Media storage, 1 operation

  • get_media_storageGet media storageGETAgents: ask firstReturns the account's media storage: bytes used, the free allowance (50 MB), weekly credits charged above it (10 credits per GiB-week) and whether uploads are blocked.

Media upload, 1 operation

  • request_media_uploadRequest media uploadPOSTAgents: ask firstRegisters a media file (at most 500 MB) and returns a presigned uploadUrl valid 120 seconds: the bytes must then be sent to it by an HTTP PUT, which this integration does not perform.

Use JSON2Video from Claude Code, Cursor or Codex

Connect JSON2Video in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its JSON2Video 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 JSON2Video

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect JSON2Video once

    Add your JSON2Video 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.

JSON2Video integration FAQ

What can you do with the JSON2Video integration?

LiveContext exposes 19 operations on JSON2Video, covering template, media file, movie and media folder.

Popular integrations

Browse the whole catalog