Skip to main content
Glama

Render video

render_video

Start a new Revid render using the v3 public API. Returns a pid and a projectUrl, the Revid page where the finished video appears. A render usually takes 2 to 10 minutes: follow it with get_project_status, which waits up to 40 seconds per call and reports progress. Requires an active Revid plan.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "workflow": "<workflow>"
    },
    "name": "render_video"
  }
}

Input Schema

NameRequiredDescriptionDefault
pidNo
nameNoProject name, up to 200 characters. Set it here instead of calling `rename_project` afterward. Default: the start of the script or prompt.
audioNoLegacy alias of `music`.
inputNoGeneric content alias used by the public API.
mediaNo
musicNoRecommended for background music: `music: { generateMusic: true }`. Revid generates an original instrumental track from this video's script, so it fits the topic and mood (20 credits per started minute of video). Add `music.generationMusicPrompt` to steer the mood, tempo and instruments. Use `music.trackName` only when the user asks for a specific library track: an agent cannot listen to the library, so a track picked by name rarely fits the video. With music on and no track, file or generated music, the neutral `Presentation` track plays. To make the music quieter or louder, set `music.volume` to `low`, `normal` or `high`, or to an exact level from 0 to 100.
voiceNo
avatarNo
promptNoLegacy alias of `source.prompt`.
renderNo
sourceNo
optionsNo
webhookNo
advancedNo
captionsNo
metadataNo
workflowYesPrimary Revid workflow.
inputTextNoLegacy alias of `source.text` or `source.url`.
projectIdNo
webhookUrlNo
aspectRatioNoOutput aspect ratio.
inputMediasNoLegacy alias of `media.provided`.
characterIdsNo
creationParamsNoOptional legacy payload for calculate_credits.
customCreationParamsNo

Output Schema

NameRequiredDescriptionDefault
okYes
dataNo
errorNo
methodYes
statusYes
endpointYes
retryAfterSecondsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / music / properties / enableLyricsLipSync / description
      Added value: +"Animate characters lip-syncing the lyrics. Requires media.type ai-video: singer lip-sync is only rendered on AI video, so music-to-video and lyrics-to-video refuse (400) a request turning it on with another media type. Both default to moving-image; song-ad is always AI video. Other workflows ignore this field. Workflows: music-to-video, lyrics-to-video, song-ad. Accepted aliases: options.enableLyricsLipSync, enableLyricsLipSync."
  2. First observed

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly=false, destructive=false, openWorld=true), so the description's value is in the async lifecycle details it adds: the 2-10 minute duration, the polling pattern, and the plan requirement. It omits cost/credit implications and the fact that retries create new renders rather than being idempotent, which matters given idempotentHint=false.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short sentences, front-loaded with purpose, then return values, then timing and the next call, then the precondition. No filler and no repetition of schema content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 25-parameter, deeply nested render tool, the description covers the invocation lifecycle well, and an output schema exists so return values need not be spelled out. However, it leaves the required `workflow` parameter and the overall configuration model (media, music, options) entirely to the schema, which only describes 40% of parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 40%, and the description does not mention a single parameter — including `workflow`, the one required field with an 18-value enum that essentially determines the tool's behavior. The nested schema is rich, but the description does nothing to compensate for the uncovered quarter-to-half of the parameter surface.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Start a new Revid render using the v3 public API') and names the concrete outputs (`pid`, `projectUrl`). It does not differentiate itself from sibling creation tools like create_episode or edit_project, so an agent must infer which entry point to use.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit sequencing guidance: renders take 2-10 minutes and should be followed by `get_project_status`, which waits up to 40 seconds per call. It also states a precondition (active Revid plan). It stops short of saying when to choose render_video over create_episode or edit_project, or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources