Riffkit
Make short vertical videos from Claude or ChatGPT: remake a winning TikTok with your own product or character, keep a video's shots and change the person, product or style, or make one from a written idea. Quotes the price before it spends credits.
Hosted MCP Server
npx add-mcp 'https://mcp.riffkit.ai/mcp'Installs into Claude Code, Codex, Cursor and more
Documentation
Which assistant do you use?
In a chat app you start from a TikTok link, a template, a written idea or a video file you add through a link it gives you. An agent on your computer sends a video file from that computer itself. Same account and credits either way.
Claude or ChatGPT
Chat apps. Add one address on the web or desktop and sign in.
You are here
The Riffkit connector (MCP)
Claude Code, Codex or Cursor
Agents that run commands on your computer. Send your agent one line.
The Riffkit agent skill
Say it the way you would to a person.
Your assistant works with the characters, products and templates already in your account, and it can add a new product from a name, a description and image links. For a video file of yours, it shows an upload box or gives you a link. Paste any of these and fill in the brackets.
Swap: put your character in a video
Same shots, framing and timing. The person in the video becomes your character.
Use the template [template name] with my character [character name] as the person, and keep its shots. Quote it first.
Replace the person in a video →
Swap: put your product in a video
Same shots again. The product in the video becomes yours, or you name one detail to change.
Use the template [template name] and keep its shots, but put my product [product name] in it. Quote it first.
Replace the product in a video →
Remake a winning TikTok
Two ways. Keep the shots and change who or what is in them (Swap), or keep the formula and tell a new story for your product. Your assistant can price both.
Here is a TikTok that did well: [TikTok link]. Quote it both ways: keeping its shots with my character [character name] in it, and as a new story for my product [product name]. Don't start until I pick.
Turn a winning TikTok into your product ad
Same formula, new story. Riffkit keeps the hook, the pacing and the beats, and makes new footage around your product.
Remake this TikTok as a video for my product [product name], with my character [character name]. Show me the price before you start. [TikTok link]
Turn a TikTok into a product ad →
Create a video from one idea
No source video. Describe the scene, and name the length, the product or the character if you want them.
Create a 10-second video with my product [product name]: a barista slides an iced coffee across the counter in morning light, filmed on a phone.
Start from a video on your phone
Your assistant shows an upload box in the chat, or gives you a link to a Riffkit page. Add the video there from your phone or computer, and it becomes the source of a remake. A file attached to the chat does not reach Riffkit.
I have a video on my phone. Give me a link to add it, then remake it as a new story for my product [product name]. Show me the price first.
Add aspect ratios
Add 3:4, 1:1 or 4:5 to a finished vertical video, with the same shots, sound and captions. A horizontal video cannot get added ratios. Each ratio is its own render, at the higher rate of a swap.
Make 1:1 and 4:5 versions of my latest finished video. Tell me what each one uses in credits first.
Fix a caption
Change the words, timing or position of the captions Riffkit put on your video, then render a new version. Editing captions uses no credits. Words that are part of the picture cannot be edited, and a swap often has no caption lines to change.
Show me the captions on my latest video. Then change “recieve” to “receive” and render the new version.
Check on your videos
Ask what is rendering, what is finished, and how many credits you have left.
How is my video coming along, and how many credits do I have left?
Keeping the shots of a TikTok? It should be a video you have the right to use, such as your own post. Where the line is. For another creator’s video, ask for the new story: Turn a TikTok into a product ad.
Add it once.
A chat app adds one address, the same for every one of them. An agent that runs commands on your computer is sent one line instead. Either way, the first time, you sign in on riffkit.ai and approve the connection.
Claude
Add Riffkit to Claude opens Claude’s “Add custom connector” box with the name and address filled in. Or do it by hand: Customize, Connectors, Add, Add custom connector, then paste the address. On a Team or Enterprise plan, an owner adds it in Organization settings, then you connect it under Customize, Connectors. Add it on claude.ai or in the desktop app and it is in the mobile apps the next time you sign in there.
ChatGPT
ChatGPT adds Riffkit with the same address. Today that takes developer mode, on the web (Settings, Security and login; not every ChatGPT account has it). Turn it on. Then go to ChatGPT’s Plugins, select the plus button and create a developer-mode app with the address below. Sign in to Riffkit when ChatGPT sends you over.
https://mcp.riffkit.ai/mcp
Grok and Grok Bot
In Grok on the web, open Connectors, choose New Connector, then Custom, and paste the address. In Grok Bot, ask it in chat to add a custom MCP server called Riffkit at this address. Either way, sign in to Riffkit when it asks. Grok Bot’s agent works on a computer of its own in the cloud (x.ai’s Grok Bot guide), so it cannot read a file on yours: for a video file, it gives you a link to add it on a Riffkit page.
https://mcp.riffkit.ai/mcp
Claude Code
Send Claude Code this line. It sets up the agent skill, and, with Node 20 or newer, the Riffkit CLI; both can use video files on your computer:
Run curl -fsSL https://riffkit.ai/SKILL.md in your terminal and follow the instructions to join Riffkit
Or add the connector: run this once in a terminal, then type /mcp in Claude Code to sign in.
claude mcp add --transport http riffkit https://mcp.riffkit.ai/mcp
Codex
Codex uses the agent skill. Send it this line, then approve the sign-in on riffkit.ai when it gives you the link:
Run curl -fsSL https://riffkit.ai/SKILL.md in your terminal and follow the instructions to join Riffkit
Cursor
Send Cursor’s agent this line. It sets up the agent skill, and, with Node 20 or newer, the Riffkit CLI; both can use video files on your computer:
Run curl -fsSL https://riffkit.ai/SKILL.md in your terminal and follow the instructions to join Riffkit
Or add the connector: in Cursor’s mcp.json (~/.cursor/mcp.json for every project), add a server named riffkit whose url is this address, then sign in to Riffkit when Cursor asks.
https://mcp.riffkit.ai/mcp
OpenClaw
Riffkit is on ClawHub: install the Riffkit skill there. Or send your agent the same line as any other:
Run curl -fsSL https://riffkit.ai/SKILL.md in your terminal and follow the instructions to join Riffkit
DeepSeek Harness
Add the Riffkit bundle, which carries the same agent skill, then ask for a video:
dsh plugin add @riffkit/dsh-plugin
Riffkit CLI
For a terminal, a script, or an agent that runs commands: install the command-line tool, then approve the sign-in in your browser once. Its commands come from the same list as the connector’s tools. Source on GitHub.
An agent that gets the line above sets the CLI up by itself when Node 20 or newer is installed.
Another MCP app
Many MCP apps that run on your own computer can add the same address as a remote server, if they sign in through your browser and return to the app on this computer. Using an assistant that is not named here, or one that will not connect? Tell us which one at [email protected].
What still happens in the Riffkit app.
- Adding a picture file from your computer. Product pictures are added from an image link. A picture file on your computer goes in through the Riffkit app.
- Setting up a new character. Create the person on screen once in the Riffkit app, then ask for them by name.
- Downloading the video file. Your assistant gives you a link that opens the video in your browser. The link works for 6 hours, for anyone who has it, and you can ask for a new one at any time. The file is not attached to the chat. The video is also in your Riffkit library, where you can download it.
- Choosing or changing a plan, or managing your team. Both stay in Settings in the Riffkit app.
- Deleting videos, products or characters. You remove those yourself in the Riffkit app.
One wallet, the same rates.
A video you make through an assistant uses the same credits as one you make in the Riffkit app, from the same wallet, at the same per-second rates. Credits are counted for the seconds of video rendered: a 9-second video uses 9 seconds’ worth. A swap and an added aspect ratio use a higher rate than a new story: both rates, side by side. Plans are on the pricing page.
Your assistant is set up to show the price before a remake, a video from a written idea or an added aspect ratio starts, and you can always ask for it. The price is an estimate when you start from a new link. For a video from an idea, say how long it should be, from 4 to 45 seconds, and the price is exact. Leave the length out and it follows the idea, up to 45 seconds and up to what your balance covers, and the price you see is the most it can use.
If your balance does not cover a video, no video is made and no credits are used. The one exception is a video from an idea with no length set, which is made shorter to fit your balance.
On an account that has never paid, a video longer than one section is made a section at a time: the price shown first is for the first section, and the rest comes once you are on a plan.
Every tool your assistant gets.
Riffkit gives your assistant 29 tools. When it asks to use one, it shows the name in the first column. A tool that reads looks something up and leaves your account as it is. A tool that changes something adds, edits or stops something in your account and uses no credits. Your assistant is set up to show you the plan and wait for your go-ahead before it uses a tool that spends credits.
| Tool | What it does | Kind |
|---|---|---|
Check the credit balance get_credits | Read the credit balance: available (what a new video can use), held by videos still rendering, today's spend and the daily limit (daily_limit_shown null: none). | Reads |
See what this account can use get_options | Read what this account can use before proposing a video: the video engines with their resolutions and which of them are locked for this account (offer only unlocked ones), the default engine and resolution per mode (default_video_pairs), the engine that swaps best (swap_recommended_video_backend), the longest source video accepted in seconds (max_render_duration), how many products the account may own, how many seconds of video the balance covers on the default engine (credit_cover), and whether its videos are made a section at a time whatever is sent (staged_delivery.forced sections: the account is held to the first section, the only one it can make). | Reads |
List characters list_characters | List the digital characters (the on-screen person of a video) this account can use. | Reads |
List products list_products | List the account's products with their images. | Reads |
Browse templates list_templates | List templates a video can be made from: the account's own and the public library. | Reads |
Read a template get_template | Read one template: its summary fields plus extraction_summary (what happens in the source video, its spoken lines, what is on screen and the attention formula of each part). | Reads |
Get a link to upload a video create_upload_link | Make a link to a Riffkit page where the user adds one video from their phone or computer, as the source of a remake. | Changes something |
Check an uploaded video get_upload | Check a video the user added through an upload link (create_upload_link). | Reads |
Price a remake quote_remake | Price a remake before remake_video, from a template (formula_id), a TikTok link (tiktok_url) or an added video (upload_id). | Reads |
Price a video from an idea quote_create | Price a Create before create_video, with the submit's arguments: duration_mode (with duration_seconds when fixed), video_backend, resolution, n_characters (one video per character) and delivery. | Reads |
Price extra aspect ratios quote_ratios | For one finished video, list the aspect ratios its family already has (delivered or in progress) and the credits one more ratio costs. | Reads |
Check a video's progress get_batch | Follow one submission: every task of the batch with its status, progress and error, plus counts of completed, failed, running and queued. | Reads |
List tasks list_tasks | List the account's tasks, newest first, filtered by status, type or date. | Reads |
List finished videos list_videos | List finished videos (asset_role final_reel) and uploaded reference files, each video with its suggested caption and hashtags (the post text to publish with it). | Reads |
Get a link to a finished video get_video_link | Get a link that opens a finished video in a browser without signing in. | Reads |
Read captions get_subtitles | Read the caption layer Riffkit burned onto a finished video: the editable list of lines with their text, timing, position and colour. | Reads |
Remake a video (Adapt or Swap) remake_video | Remake an existing video as an adapt or a swap. | Spends credits |
Create a video from an idea create_video | Make an original video from a written creative direction (content_anchor, required: it is the whole script), with no source video or template. | Spends credits |
Continue a video made in sections continue_video | Make more of a video made a section at a time (staged.pending true in list_videos): next makes the next section, rest all that is left, redo the last delivered section again on the same script. | Spends credits |
Add aspect ratios add_ratios | Add vertical aspect ratios (9:16, 3:4, 1:1, 4:5) to finished vertical videos: each new ratio renders the existing video again in the new frame, with the same shots, sound and subtitles, on the original's engine and resolution. | Spends credits |
Stop a task cancel_task | Stop a queued or running task. | Changes something |
Retry a failed task retry_task | Run a failed or interrupted task again, within 24 hours of its first submission. | Spends credits |
Turn a TikTok into a template analyze_template | Analyze a TikTok video link into a template in the user's own library, without making a video. | Changes something |
Create a product create_product | Create a product from a name and a description (the description is the only source of product facts a video draws on), once the user has confirmed both and just before the video is submitted. | Changes something |
Add a product image add_product_image | Add an image to a product from a public https image link, with a name. | Changes something |
Save caption edits save_subtitles | Replace a finished video's caption list with the complete list you send: an entry left out is deleted from the video, a new object is added. | Changes something |
Undo caption edits reset_subtitles | Discard a finished video's saved caption edits and go back to the lines recorded when it was made. | Changes something |
Render captions into a new version burn_subtitles | Render a new version of a finished video with its current caption list burned in. | Changes something |
Rebuild caption lines reconcile_subtitles | Record the caption layer of a finished video that has none stored (get_subtitles answered 404), from the video's script; run it even when you only mean to add lines, or the next render drops the lines the video already shows. | Changes something |
Before you connect.
Which assistants work?
Through the connector: Claude (claude.ai and the Claude desktop and mobile apps), ChatGPT (with developer mode turned on) and Grok (grok.com). Through the agent skill, which works with the files on your computer: Claude Code and Codex. The cards above also have the steps for Cursor, OpenClaw and DeepSeek Harness. Claude Code can also add the connector. Many MCP apps that run on your own computer can add the same address too, if they sign in through your browser and return to the app on this computer.
Do I need an API key?
No. You sign in with your Riffkit account on riffkit.ai and approve the connection. The address is the only thing you paste.
What does it cost?
Nothing extra. A video made through an assistant uses the same credits, at the same per-second rates, as a video made in the Riffkit app.
Can I start from a video file on my computer?
Yes. Besides a TikTok link or a template, a remake can start from a video file of yours. Ask your assistant to add it: where it can show one, an upload box appears in the chat; otherwise it gives you a link to a Riffkit page. Either way, you add the video from your phone or computer within the hour, with no sign-in. A file you attach to the chat itself does not reach Riffkit. Once the video is in, your assistant prices the remake and starts it when you say so.
Where is my finished video?
Your assistant gives you a link that opens the video in your browser. The link works for 6 hours, for anyone who has it, and you can ask for a new one at any time. The file is not attached to the chat. The video is also in your Riffkit library, where you can download it. It comes with a suggested caption and hashtags.
Which languages can the video be in?
A new story or a video from an idea can be in English, Spanish, Portuguese, Indonesian, German, French, Italian, Japanese or Chinese: the spoken lines, the captions and the suggested post text. A swap keeps the language of the original video.
I use Claude Code, Codex or Cursor. Connector or skill?
The agent skill is built for coding agents, with the Riffkit CLI when Node 20 or newer is installed. It works with the files on your machine, so it sends a local video to Riffkit itself and can save the finished video into your project. The connector is for chat assistants, which give you a link to add a video instead. Both use the same account and the same credits.
Coding agents get more from the agent skill. Help: [email protected]. How we handle your data: Privacy. The rules: Terms.