New: AI voiceover + auto-captions - script to captioned video in one API call. Read the announcement

Claude Desktop markAnthropic

Generate videos in Claude Desktop

One URL in Settings, and the desktop app renders video. Renderly runs a hosted MCP server, so Claude Desktop renders from the templates you already built - and previews cost nothing.

5 free credits · no card · hosted MCP, nothing to install

Claude Desktopexample session

You

Make today's quote video from my Daily Quote project. Quote: "Discipline is choosing between what you want now and what you want most." Author: Abraham Lincoln.

  1. renderly_list_projects

    Finds Daily Quote in your own library

    1 match - 4 dynamic variables

  2. renderly_get_variables

    Reads what that project actually accepts

    quote, author, date_label, bg_colour

That quote is 71 characters, near the top of the headline box. I will preview it for free before spending anything.

  1. renderly_preview_render0 credits

    Resolves all four values, renders nothing

    previewUrl ready - resolved 3/4 - warning: UNKNOWN_REPLACEMENT "colour"

Three of four applied. I sent colour, but the variable is bg_colour. Updating the same preview.

  1. renderly_preview_render0 credits

    Updates that preview in place, as a frame grid

    revision 2 - resolved 4/4 - no warnings - quote fits on 3 lines

The grid looks right. It runs 22 seconds at 1080p, so 0.5 credits. Render it?

  1. renderly_create_render0.5 credits

    Renders, after Claude Desktop asks you to confirm

    job queued - 22s at 1080p - 0.5 credits

  2. renderly_get_render_status

    Polls the job until the file exists

    completed in 43s - MP4 download link - 4.5 credits left

2 previews, charged nothing0.5 credits spent, on the render alone

Claude Desktop is the Claude app you install on macOS or Windows, and it can gain tools in two ways. It starts local MCP servers on your own machine, either listed in claude_desktop_config.json or installed as desktop extensions. It also connects to hosted endpoints, which Anthropic calls web connectors. Renderly is the second kind. You add https://renderly.video/api/mcp under Connectors, sign in through the browser, and the app can produce an MP4. Because both kinds sit in one window, a chat can read a spreadsheet from a folder on your disk and turn each row into a video from a template you designed yourself. renderly_preview_render is what makes that comfortable to work with. It resolves the variables, hands back a preview link and a grid of frames, quotes the credit cost, and charges nothing at all. renderly_create_render is annotated as not read-only, so the app asks you before it spends a credit.

Renderly is the rendering engine, not the publisher. It hands back a finished MP4 at a URL - where that file goes next is up to you or one of our no-code integrations. The same engine and the same credits drive the REST API, so nothing about a render differs because Claude Desktop asked for it.

The free preview loop

Claude Desktop can check its work before you pay for it

An agent filling in a template will get something wrong - a mistyped variable name, a headline too long for its line. Renderly gives it a way to find out for nothing. A preview takes the same arguments as a real render and resolves them exactly the same way, but produces no video and costs no credits.

  1. Preview0 credits
  2. Fix, preview again0 credits
  3. Once more0 credits
  4. Rendercredits charged

It can look at the frames

Append ?mode=grid and the preview page draws a labelled contact sheet spanning the whole video, as ordinary images. Any agent that can open a page and screenshot it can then see a collided caption or a wrong colour - the failures no validator catches.

?mode=grid

Or one exact moment

Append ?frame=N to check a specific instant, where N is the second you care about multiplied by the frame rate. The page publishes its own rate, so the agent works it out rather than guessing from the nearest tile on the grid.

?frame=N

And fix it in place

Pass the previewId back with corrected values and the same preview updates. The link never changes, so the agent reloads and looks again. A revision counter goes up each time, which is how it knows it is seeing its own latest attempt and not a cached earlier one.

previewId

The warning that saves the most credits. If a variable name does not match, Renderly ignores it silently and renders the authored default instead - so the video comes back looking fine and carrying the wrong text. A preview returns a resolved map of what actually applied plus an UNKNOWN_REPLACEMENT warning, which is how Claude Desktop catches that before it becomes a charge.

Setup

Connect Renderly to Claude Desktop

Renderly is added from inside the app as a web connector: one URL and a browser sign-in. It does not belong in claude_desktop_config.json, which describes only the local servers Claude Desktop starts for you.

Any terminal - optional, only to confirm the endpoint is live
curl -i -X POST https://renderly.video/api/mcp \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

# HTTP/1.1 401
# www-authenticate: Bearer error="invalid_token",
#   resource_metadata="https://renderly.video/.well-known/oauth-protected-resource"
A 401 here is the healthy answer, not a problem. That www-authenticate header is exactly what Claude Desktop follows to find the WorkOS AuthKit sign-in page, which is why you never type a client ID or secret yourself.
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    // Only local servers belong here: command, args, env.
    // No url field is documented. Renderly does NOT go in this file.
  }
}
Shown so you do not lose an evening to it. This file (on Windows, %APPDATA%\\Claude\\claude_desktop_config.json) lists local servers Claude Desktop launches on your own machine, and Anthropic's guide says to quit the app completely and reopen it after editing. Renderly is a hosted endpoint, so it is added in Settings instead.
  1. Open Settings and click Connectors in the sidebar. Newer builds label the section Customize, then Connectors.

  2. Anthropic's remote-MCP guide gives two routes into desktop Settings: the Ctrl+Comma shortcut, and the menu icon at the top left, then File, then Settings. That assumes a window with a File menu. On a Mac, open Settings from inside the Claude window instead - the destination is the same.

  3. Mac users: do not use the Claude item in the macOS menu bar. Anthropic documents that route as opening a separate configuration window, with a Developer tab and an Edit Config button. That is the door to local servers, not to connectors.

  4. On Free, Pro or Max, click "+" then "Add custom connector". Some builds instead show an "Add" button at the top right, with "Add custom connector" in its dropdown.

  5. On Team or Enterprise, members cannot add one themselves. An Owner opens Organization settings, then Connectors, then Add, hovers Custom, selects "Web", enters the URL and clicks Add. Members then open Customize, then Connectors, and click Connect on the entry.

  6. Give it a name such as Renderly and the URL https://renderly.video/api/mcp, then click Add.

  7. Finish the WorkOS AuthKit sign-in in the browser window that opens. Claude registers itself through dynamic client registration, so leave Advanced settings - the OAuth Client ID and Client Secret - empty unless you have pre-registered your own client.

  8. Switch the connector on for a chat from the "Add files, connectors, and more /" indicator at the bottom left of the message box, then Connectors. Ask it to list your Renderly projects as a first test.

  9. Expect a render to run in the background rather than hold the chat open: renderly_create_render returns a job id, and renderly_get_render_status polls it until the MP4 link exists.

Sign-in only - an API key will not work here

OAuth is the only path here, and it is the good one. Renderly advertises its authorisation server through RFC 9728 discovery, Claude Desktop registers itself with WorkOS AuthKit dynamically over PKCE with S256, and you simply sign in. The add-connector dialog has no field for a request header or a token, so there is nowhere to paste an API key even if you wanted to. Keys are for clients where you set headers yourself.

How this was checked. Server verified live on 2026-08-19: an unauthenticated POST returns 401 with an RFC 9728 challenge, WorkOS AuthKit advertises Dynamic Client Registration, and all ten tools are registered. The setup below was confirmed against Anthropic's current MCP documentation and survived an independent adversarial recheck on the same date. Nobody here drove Claude Desktop end to end. Anthropic’s documentation

The surface

Ten tools Claude Desktop gets

You never call these by hand. Claude Desktop picks the right one from what you asked for. They are listed because it is worth knowing which of them can cost you money - and that seven of the ten cannot.

They are thin wrappers over the same service layer the public REST API uses, so the two surfaces cannot drift apart.

Renderly MCP tools, what each does, and whether it costs credits
ToolWhat it doesCost
renderly_whoamiConnectConfirms the connection and reports your credit balancefree
renderly_list_projectsFindLists your own projects that have something to personalisefree
renderly_list_templatesFindLists the public system templatesfree
renderly_get_variablesFindReads which fields a template or project accepts, and their current valuesfree
renderly_preview_renderCheckResolves your values exactly as a render would, without producing a video - returns a public preview link, what actually applied, a credit quote and any warningsfree
renderly_create_renderRenderRenders the video. Annotated as not read-only, so clients ask before calling itcredits
renderly_get_render_statusTrackPolls the job and returns the finished video URLfree
renderly_generate_captionsAdd AITranscribes audio into word-synced captions you can drop straight onto a layercredits
renderly_generate_voiceoverAdd AITurns a script into narration saved to your media librarycredits
renderly_get_ai_jobAdd AIPolls a captions or voiceover job for its resultfree

Why Claude Desktop

What this client is good at

Two things make Claude Desktop a good home for this connector. The first is the permission panel. Open Customize, then Connectors, click Renderly, and each tool can be set to Always allow, Needs approval or Blocked. Block renderly_create_render, leave renderly_preview_render on, and the app can study as many drafts as you like with no way to spend a credit. The second is that connectors are switched on per conversation, from the "Add files, connectors, and more /" indicator at the bottom left of the message box, so Renderly stays out of chats about anything else. None of this touches claude_desktop_config.json, which is the file Anthropic tells you to quit and restart the app for.

Questions people actually hit

I already run local MCP servers from claude_desktop_config.json. Where in that file does the Renderly URL go?
Nowhere, and this is the first mistake almost everyone makes. Anthropic documents that file as a list of servers Claude Desktop starts on your own machine, with command, args and env under the top-level mcpServers key. No url field is documented there, so a hosted endpoint like ours cannot be written into it at all. Editing it also means quitting the app completely and reopening it. A web connector is added in Settings instead.
Where do custom connectors live in the desktop app, and which Settings window is the wrong one?
Open Settings and click Connectors in the sidebar, shown as Customize, then Connectors in newer builds. Anthropic's remote-MCP guide reaches Settings with Ctrl+Comma, or with the menu icon at the top left, then File, then Settings. That assumes a window with a File menu, so on a Mac open Settings from inside the Claude window instead. Avoid the Claude item in the macOS menu bar: Anthropic documents it as opening a separate configuration window, with a Developer tab and an Edit Config button, which is the door to local servers.
Can I keep Renderly switched off in most of my chats, and stop it rendering something by accident?
Yes, on both counts. Connectors are enabled per conversation from the "Add files, connectors, and more /" indicator at the bottom left of the message box, then Connectors, so Renderly stays out of chats that have nothing to do with video. For finer control, open Customize, then Connectors, select Renderly, and set any single tool to Always allow, Needs approval or Blocked. Blocking renderly_create_render while leaving renderly_preview_render available gives you unlimited free drafts and no possible charge.
I have a Renderly API key starting rnd_. Can I paste it in instead of signing in through the browser?
Not from Claude Desktop. The add-connector dialog asks for the server URL, and its Advanced settings hold an OAuth Client ID and an OAuth Client Secret. There is no field for a request header or a token, so a key has nowhere to go. Our endpoint always advertises an authorisation server, so Claude sends you to the sign-in page regardless. Keys still work where you can set a header yourself, such as Claude Code or curl.
The connector sits in an app on my own machine, so does it reach the network the way my machine does?
No, and this surprises people. Anthropic requires a custom connector's server to be reachable over the public internet from Anthropic's IP ranges, and says servers on private networks will not work unless you allowlist those addresses in your firewall. So localhost and anything behind a company VPN stays unreachable, however well your own browser loads it. Renderly is a public hosted endpoint, so this never bites us.

The same server, in every other client

One endpoint, one account, one credit balance. Only the wrapper changes.

Using something not listed? Any client that speaks remote MCP over Streamable HTTP can connect to https://renderly.video/api/mcp - these pages exist because the setup differs, not the server.

Let Claude Desktop render the next one

Build a template once, then describe what you want. Previews are free, so the first thing you spend a credit on is a video you have already seen.