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

Claude.ai markAnthropic

Generate videos in Claude.ai

One connector, and a chat window can render video. Renderly runs a hosted MCP server, so Claude.ai renders from the templates you already built - and previews cost nothing.

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

Claude.aiexample session

You

Here are our 24 guests. One invitation video each, from our Save the Date project.

  1. renderly_list_projects

    Finds the invitation project in your library

    1 match: Autumn Save the Date, 9:16, 30s

  2. renderly_get_variables

    Reads what each invite can change

    11 variables, including guest_name and table_number

Your list heads that column Table no., the project wants table_number. I will map it and preview guest one first.

  1. renderly_preview_render0 credits

    Checks the first guest for nothing

    previewUrl live 24h, resolved 10/11, warning UNKNOWN_REPLACEMENT: table_no

One name overflowed the panel, so I shortened the honorific and fixed the key. Same preview, updated in place.

  1. renderly_preview_render0 credits

    Updates the same preview, revision 2

    resolved 11/11, no warnings, ?mode=grid contact sheet attached

  2. renderly_create_render12 credits

    Renders all 24 once you approve it

    24 jobs queued, 30s each, 0.5 credits each

  3. renderly_get_render_status

    Polls the queue until the files land

    24/24 complete, 12 credits spent, MP4 links ready

2 previews, charged nothing12 credits spent, on the render alone

Claude.ai runs in a browser tab and in the mobile app, which is exactly why it has no way of its own to make a video. There is no shell to call, no folder to write an MP4 into, nothing to install. What it does have is the conversation - the guest list you pasted in, the copy you have just finished arguing about - and a Connectors list that Renderly can join, next to whatever else you have already authorised there. Renderly's hosted MCP server supplies the missing half. Once the connector is switched on, Claude.ai can read the variables on a project you designed in the Renderly editor, fill them from whatever is in the thread, check the result for free with renderly_preview_render, and spend credits only when you say go. Nothing about that runs locally. Claude.ai calls renderly.video from Anthropic's published outbound range, 160.79.104.0/21, so the tools belong to your account rather than to a machine, and you turn Renderly on for a single conversation from the + button at the lower left of the composer. The same projects and the same credit balance answer in the phone app as in the tab.

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.ai asked for it.

The free preview loop

Claude.ai 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.ai catches that before it becomes a charge.

Setup

Connect Renderly to Claude.ai

Claude.ai keeps custom connectors on its own settings page, under Customize > Connectors, and one URL is the whole entry. The connection is then opened from Anthropic's servers rather than from your browser, so the same entry serves the web app, the desktop app and the phone.

Claude.ai > Customize > Connectors > Add custom connector
https://renderly.video/api/mcp
That URL is the whole configuration. Leave the authentication type as OAuth and add no request headers.
Any terminal, optional sanity check
# Not a setup step. This is what Claude.ai reads before it opens the sign-in popup.
curl -s https://renderly.video/.well-known/oauth-protected-resource

# {"resource":"https://renderly.video",
#  "authorization_servers":["https://eloquent-curtain-45.authkit.app"]}
Renderly advertises its authorization server through RFC 9728 discovery, which is why the dialog needs nothing but the URL.
  1. In a browser, open Claude.ai and go to Customize > Connectors.

  2. On Team or Enterprise, an Owner must add the connector first, at Organization settings > Connectors > Add > Custom, choosing Web if asked for a type. Members then open Customize > Connectors and click Connect on the entry labelled Custom.

  3. Click Add custom connector. On some builds you click the + button first.

  4. Paste https://renderly.video/api/mcp into the remote MCP server URL field, and leave the authentication type as OAuth.

  5. Click Add, then finish the WorkOS AuthKit sign-in in the popup. Claude registers its own OAuth client with PKCE, so there is nothing to copy across. Advanced settings will take your own pre-registered Client ID and Client Secret if you already have a pair.

  6. In a chat, press the + button at the lower left of the composer, choose Connectors, and toggle Renderly on for that conversation.

  7. Ask it to list your Renderly projects. If renderly_whoami comes back with your email address and your credit balance, you are connected.

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

OAuth only, and that is not a preference. Renderly's /api/mcp answers an unauthenticated call with 401 plus a www-authenticate pointer to its protected-resource metadata, so Claude.ai finds the WorkOS AuthKit authorization server and runs the whole sign-in itself with PKCE and dynamic client registration. Your rnd_ API key has nowhere to go in this dialog: request headers are still a beta, rolled out on request, and Anthropic reserves the Authorization header on any OAuth connection. Keep the key for terminal clients instead.

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.ai end to end. Anthropic’s documentation

The surface

Ten tools Claude.ai gets

You never call these by hand. Claude.ai 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.ai

What this client is good at

Claude.ai suits the case where the person rendering the video should not have to look after anything on a computer. The connector is added once on a settings page, and on Team or Enterprise an Owner adds it at Organization settings > Connectors for the whole organisation, then chooses which roles get access, so the studio manager and the person who actually writes the invitations both end up with the tools without either of them opening a config file. Each member still signs in to their own Renderly account, against their own credit balance. Approval is visible in the chat too: renderly_create_render is marked as not read-only, so Claude.ai stops and asks before a single credit moves, while renderly_preview_render and the listing tools answer without interrupting you. And since Anthropic opens the connection from its own cloud, the browser tab and the phone app behave the same way.

Questions people actually hit

I already have a Renderly API key. Can I paste it into the connector instead of signing in?
No, and the dialog will fight you if you try. Renderly's endpoint answers an unauthenticated call with 401 and a resource_metadata pointer, so Claude.ai classifies the connector as OAuth, and Anthropic's own documentation states that the Authorization header cannot be configured as a request header on an OAuth connection, because OAuth owns that header. Request headers are in beta as well, rolled out on request. Sign in through the WorkOS AuthKit popup, and keep your rnd_ key for terminal clients.
I'm on a Team plan and there is no Add custom connector button anywhere. Why not?
Because members cannot self-add on Team or Enterprise. An Owner has to add Renderly once for the organisation, at Organization settings > Connectors > Add > Custom, choosing Web when asked for a type, and can pick which roles get access to it there. After that every member opens Customize > Connectors, finds the entry labelled Custom, and clicks Connect to run their own sign-in against their own Renderly account and their own credit balance.
Why does Claude hand me a job id instead of just waiting for the finished video?
Claude.ai enforces a hard 300-second timeout on every tool request, and caps a single tool result at roughly 150,000 characters. A minute of 1080p takes longer than that to encode and upload, so renderly_create_render queues the work and returns immediately, then renderly_get_render_status is polled. It is the better shape anyway: 24 invitations queue in one call, and Claude reports them as they land instead of sitting silent for five minutes.
Claude says I have reached my custom connector limit on the Free plan. What now?
Anthropic documents the one-connector cap for the Free plan only, so either remove the connector you are not using or move to a paid plan. Two numbers worth knowing before you decide: the Renderly free tier is 5 credits, not 100, and renderly_preview_render costs nothing at all, so those 5 credits go entirely on finished video rather than on experiments.
Can I point the connector at a server on localhost while I test something?
Never on this client. Claude.ai opens the connection from Anthropic's own cloud, whose outbound traffic leaves from 160.79.104.0/21, so a localhost address, a VPN-only host or anything behind your firewall is unreachable however well it works in your browser. The URL has to answer on the public internet, which renderly.video does. Your authorization server also has to accept the redirect URI https://claude.ai/api/mcp/auth_callback exactly, and answer discovery inside 10 seconds.

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.ai 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.