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

ChatGPT markOpenAI

Generate videos in ChatGPT

Describe the video in chat, approve it once, download the file. Renderly runs a hosted MCP server, so ChatGPT renders from the templates you already built - and previews cost nothing.

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

ChatGPTexample session

You

Tonight's special is pan-fried sea bass, £18, served until 9pm. Make the vertical video.

  1. renderly_list_projects

    Finds Daily Special in your library

    1 match · 9:16 · 20 seconds

  2. renderly_get_variables

    Reads the fields it has to fill

    dish_name · price · description · served_until · dish_photo

You have not given me a photo, so I will reuse last Friday's plate shot. Previewing before anything is charged.

  1. renderly_preview_render0 credits

    Checks the wording for free

    resolved 4/5 · warning: UNKNOWN_REPLACEMENT "special_price"

The field is called `price`, not `special_price`, so the £18 never landed. Fixing it and previewing again, still free.

  1. renderly_preview_render0 credits

    Updates the same preview in place

    revision 2 · resolved 5/5 · quote 0.5 credits

Frames look right at ?mode=grid. ChatGPT will ask you to approve the render, because it spends credits.

  1. renderly_create_render0.5 credits

    Renders once you approve the prompt

    queued · 20s at 1080×1920 · 0.5 credits

  2. renderly_get_render_status

    Polls until the file is ready

    COMPLETED · sea-bass-special.mp4

Done. The download link is above. It is an MP4; posting it is still your job, because Renderly never posts anything for you.

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

ChatGPT is where a lot of video copy gets settled before anyone opens a video tool. The wording for tonight's special, the price, the closing time - all of that gets argued out in a chat window, and then somebody retypes the result into whatever actually produces the file. Renderly's connector removes the retyping. You paste our endpoint into ChatGPT's Apps settings, ChatGPT scans the tools it finds before it saves anything, and an admin publishes the app so a whole workspace works from one entry. After that, the conversation can finish the job. ChatGPT reads the variables on a project you built in the Renderly editor, fills them from the thread it is already holding, and returns a free preview you can inspect as ordinary frames. Each pass reuses the same previewId, so a single link in the thread updates in place and the revision number climbs rather than the thread filling with dead drafts. Credits move once, at the end, and only after you approve the render in the chat.

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

The free preview loop

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

Setup

Connect Renderly to ChatGPT

There is nothing to install and no file to edit. You create the app in ChatGPT's Apps settings, the only value you supply is our endpoint, and ChatGPT enumerates the tools itself before it saves anything.

MCP server URL (endpoint)
https://renderly.video/api/mcp
Streamable HTTP. If the handshake ever misbehaves, https://renderly.video/api/sse still answers as a legacy fallback.
  1. Get developer mode switched on. On Enterprise and Edu plans an admin grants access under Permissions & Roles → Connected Data, and each enabled user then turns it on at Settings → Apps → Advanced settings. On Business plans only admins and owners have it, and each one enables it for themselves.

  2. In Apps settings, choose Create. Admins can instead use Workspace settings → Apps → Create, which also offers developer mode at that point.

  3. Name the app ("Renderly"), add a short description, paste the MCP server URL above as the endpoint, and pick OAuth as the authentication mechanism.

  4. Select Scan Tools, complete the Renderly sign-in prompt when it opens, and wait for the scan to finish before selecting Create. Ten tools should come back.

  5. The app is now a draft. Open a new chat, select it from the tools menu, and ask it to list your projects. Once it behaves, an admin publishes it from Workspace settings → Apps → Drafts.

  6. When we add tools later, nothing changes on your side by itself - an approved app is a frozen snapshot. An admin selects Refresh, reads the diff and enables what they want; new actions arrive off by default.

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

OAuth is the only option that fits here, and it is not a limitation you have to work around. The form's choices are OAuth, No authentication and Mixed authentication, and there is no field anywhere in it for a custom request header, so a static Renderly key has nowhere to travel. Pick OAuth and ChatGPT does the rest by itself: it reads the 401 challenge from our endpoint, follows it to the WorkOS AuthKit authorization server, registers itself through Dynamic Client Registration and runs an authorization-code flow with PKCE S256. You never paste a client ID or a secret, and everyone using the published app signs in as themselves and spends their own credits. OpenAI also warns that ChatGPT needs the authorization server to issue refresh tokens to hold a connection open, so if the app ever asks you to sign in again, that is an authorisation expiring rather than a broken tool.

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 OpenAI's current MCP documentation and survived an independent adversarial recheck on the same date. Nobody here drove ChatGPT end to end. OpenAI’s documentation

The surface

Ten tools ChatGPT gets

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

What this client is good at

Renderly arrives in ChatGPT as workspace plumbing rather than a personal switch. You create the app in Apps settings, ChatGPT scans our tools before it saves, the entry waits in Drafts, and an admin publishes it into the workspace's app list. Two consequences are worth having. First, an approved app is a frozen snapshot: nothing we change on our server reaches your workspace until an admin selects Refresh and reviews the diff, and new actions arrive switched off. Second, on Enterprise and Edu plans an admin can publish Renderly with only part of it live - Configure Actions deselects individual actions, Configure Access limits them to chosen groups - so free previews can go to everyone while renders stay with a smaller group. Write actions ask for confirmation in the chat, and OpenAI blocks some especially risky ones outright instead of offering them for approval. This is a web feature; the ChatGPT mobile apps do not expose custom MCP apps at all.

Questions people actually hit

Which ChatGPT plans can add Renderly as a custom MCP app?
Custom MCP apps are web only - the mobile apps do not expose them. OpenAI's help centre gives full MCP support, including write actions, to ChatGPT Business and Enterprise/Edu workspaces, where an admin or owner enables developer mode and publishes the app. Pro accounts can connect an MCP server in developer mode with read and fetch permissions, which leaves out renderly_create_render, because we annotate it as not read-only. OpenAI's developer guide lists a wider set of plans than the help centre does, so trust what your own settings show you rather than either page.
Can I paste my Renderly API key into ChatGPT instead of signing in?
No, and there is nowhere to put it. The app form offers three choices - OAuth, No authentication, and Mixed authentication - with no field for a custom request header, so a static Renderly key cannot travel with the request. Choose OAuth. ChatGPT reads the 401 challenge our endpoint returns, follows the protected-resource document to WorkOS AuthKit, registers itself through Dynamic Client Registration and completes an authorization-code flow with PKCE S256. There is nothing for you to copy across, and each person's renders come out of their own credit balance.
When Renderly returns a preview link, can ChatGPT actually look at the video?
It can look at frames, which is the part that matters. A preview returns a public page at /p/ that needs no login and expires after 24 hours. Add ?mode=grid and the page serves a labelled contact sheet of frames as ordinary images, or ?frame=N for one exact frame, so a wrong price or a clipped headline is visible rather than inferred. You can open the same link yourself. Preview again with the same previewId and the link updates in place, with the revision counter going up.
Will ChatGPT ask me before a Renderly tool spends credits?
Yes. renderly_create_render is annotated as not read-only, so ChatGPT treats it as a write action and asks in the chat before it runs. OpenAI says confirmation depends on the app's permissions and the action's context, and that some especially risky actions are blocked rather than offered for approval. You can remember an approval, but that choice holds inside one conversation; a new conversation asks again. Previews and listings cost nothing, so approving those never costs you anything, and Enterprise or Edu admins can drop the render action entirely before publishing.
I cannot find the developer mode toggle. Where does it live?
It sits with the app settings rather than the account-security settings. Enterprise and Edu users find it at Settings → Apps → Advanced settings, once an admin has granted access under Permissions & Roles → Connected Data. Business admins use that same Apps → Advanced settings toggle, or switch it on while creating the app from Workspace settings → Apps → Create. If your menu reads Connectors instead of Apps, that is the same surface under an older name. OpenAI's developer guide still points at Settings → Security and login, which does not match the help centre's current instructions.
Can agent mode or deep research use the Renderly app?
Only partly, and this is OpenAI's rule rather than ours. Agent mode will not use custom apps at all. Deep research can use them for read and fetch actions, never for write actions, so a research run could list your projects or read a template's variables but could not start a render. Company knowledge is likewise limited to apps with search or fetch access. For rendering, use an ordinary chat with the Renderly app picked from the tools menu, and approve the render when it asks.

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