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.
Say what should happen.
The workflow builds itself.
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 mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect JSON2Video
- Create your workspace
Sign up free. Nothing to install.
- 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.
- 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.
