← Blog

Claude Code Video Skill: Make UGC Ads and Short Videos

You already live in your terminal. You ship features, fix bugs, and tell your AI assistant what to do all day. So why are you still opening a separate web app, learning its buttons, and babysitting render queues every time you need a short video for your product?

You don't have to. With Riffkit installed as an agent skill, you can type a sentence to Claude Code, Codex or Cursor ("riff this TikTok into a video for my app", or "make a Spanish UGC ad for my product from this TikTok") and your assistant runs the whole thing end to end. Same workflow you already use for code. New output: a post-ready short video.

What an "agent skill" actually is

Strip away the jargon. An AI assistant like Claude Code can already read files, run commands, and call tools on your behalf. A skill is just a packaged capability you hand it (a set of instructions and a backend it can call) so the assistant knows how to do a new job without you spelling out every step.

Think of it like installing a CLI tool, except the user is your AI, not you. Once Riffkit is added as a skill, Claude Code knows the verbs: take a source video, study its formula, generate new footage, weave in your product, write the captions. You stay at the level of intent ("make me a 9-second hook for this product") and the agent handles the orchestration.

The practical upshot: no new app to learn. If you can talk to your coding assistant, you can make a video. The skill works in Claude Code, Codex, Cursor, or any agent that can run terminal commands, and it talks to the same hosted Riffkit backend the browser app uses. If you work in the ChatGPT or Claude chat apps instead, install Riffkit from ChatGPT's plugin directory, or add it to Claude as a connector by one address, and ask there.

Why this beats generic text-to-video

Tell a generic text-to-video model "make me a viral TikTok ad" and you get a pretty clip with no spine. No hook that earns the next second, no pacing, no reason anyone watches past frame one. That's because raw generation invents pixels; it doesn't understand why a video worked.

Riffkit starts from a video that already won. You give it a source (a TikTok link, an uploaded clip, or a template from the library) and it studies the formula: the hook, the pacing, the emotional beats, the scene structure. Then it generates brand-new footage that walks a viewer through the same emotional journey, with your product woven into the story the formula calls for. It never re-uploads the source clip. If you want the deeper version of how that formula extraction works, we've written about it in recreate a viral TikTok with your product.

That's the difference. Generic tools ask you to describe a video. Riffkit asks you to point at one that already worked, and riffs it into yours. Don't copy. Riff.

What "riff this TikTok" runs under the hood

When you tell your agent to riff a video, here's the pipeline it kicks off, without you touching any of it:

  • Analyze the formula. Pull the hook, beat structure, and pacing out of the source.
  • Generate new footage. Brand-new scenes that match the structure, in the look your creative direction asks for: real footage, cartoon, or game-style.
  • Place your product and pick who's on camera. A physical item shows on camera; an app shows its real screenshots where the original has a screen card, or rides in the voiceover and captions. Use a saved character, or leave it on Auto and the engine generates the person.
  • Set the language. Ten to choose from (English, Spanish, Portuguese, Indonesian, German, French, Italian, Japanese, Korean, Mandarin), with native phrasing and the right fonts, not a translated subtitle slapped on top.
  • Finish it for posting. Voiceover, on-screen captions timed to the audio (burned in, no garbled boxes), a cover frame, and a caption with hashtags. When Riffkit has the source's music as its own track, Adapt keeps that BGM by default: the music is part of why the video won, and the new video follows its beats. With Original BGM, the music ducks under the voiceover.

You get back a post-ready video. The whole thing is billed by the second of finished video, at the rate of the engine and resolution you pick, and the agent quotes the price in credits before every render. So you can tell your agent "give me three more with different hooks" and decide on each one at its price until one lands. And what you make is yours to use commercially: post it, run it as ads, and monetize it. What comes from someone else isn't ours to give: music from a source video (its rights stay with its owner, so check you're cleared to use it where you post), and, in a Swap, what it keeps from the source, such as the person when you don't pick a character, the voices that don't change, and a template's music, voices and people, which aren't rights-cleared.

Using it to make UGC-style product ads

The job most marketers bring to the skill is a UGC-style product ad: a person on camera, a hook in the first second, your product inside the story, captions burned in. If you came looking for a Claude UGC skill or a way to make video ads from Claude, this is the workflow, start to finish.

The prompt

Save your product in Riffkit once: a name, a short description, and a clean photo, or an app screenshot for software. A paid plan keeps up to eight images per product. Find a TikTok in your niche that already performed. Then type this into Claude Code:

Make a UGC-style ad for my saved product "SPF Stick" from this TikTok:
[paste the TikTok link]
Adapt it: keep the hook and the pacing, tell my product's story.
Spanish, 9:16, plus a 4:5 version for the feed. Show the stick on camera.

No winner handy? Replace the link line with "pick a template from the library that fits a skincare product" and the agent suggests one from the analyzed templates.

Writing "Adapt it" settles the mode. Leave it out and the agent asks first: Adapt keeps the original's formula and makes new footage for your story; Swap keeps the shots of a video of your own (or a template) and changes only what you name in them. For someone else's ad, Adapt is the one. No character is named here, so the engine generates the person; add "use my character Ana" to put your saved character in every ad.

What the agent does, step by step

  1. Reads your account. Which engines and resolutions you can use, your saved product, your characters. A source can run up to 45 seconds.
  2. Sets the placement and offers a direction. A physical product goes on camera; an app or service rides in the voiceover and captions. It offers to draft the creative direction, meaning which of your product's selling points lands on which beat of the original. You can skip it: the formula alone still makes the video.
  3. Quotes the price. It asks Riffkit for the price of exactly what it will submit (mode, source, engine, resolution, both ratios) and shows it in credits; each extra ratio is its own video. The figure is approximate for a link Riffkit hasn't analyzed yet (until the server measures the downloaded video) and for the 4:5 version (priced from the finished video); the server checks again before anything is charged.
  4. Asks once. It restates the whole plan (mode, source, character, reference images, product and placement, language, ratios, engine, resolution, direction, length and price) and asks "Submit?". Nothing is charged before you say yes.
  5. Submits and waits. A new link runs the analysis, then the video, usually in 5 to 15 minutes; the 4:5 version follows once the first video is done. The render keeps going on Riffkit's side if you close the terminal.
  6. Hands it over. A link to the finished video that opens without signing in for 6 hours (ask for a fresh one any time), the post text (a caption and hashtags), and a sentence on what it kept from the original and what your direction changed. The video is also in your Riffkit library.

On a free account the agent says so when it restates the plan: the signup credit covers the first section of your first video, on Seedance 2.0 Fast at 480p, with one saved product and one character, and a plan from $15/month makes the rest from the same script (extra ratios follow once the whole video is made).

Selling an app? When the winning video has a flat card or screenshot fixed to the screen, Riffkit records it as a graphic layer. In Adapt, with your product's placement set to On-camera, it can show one of your uploaded screenshots in that layer as the exact pixels, composited over the finished video rather than redrawn. With Off-camera placement your screenshots stay out of the picture, and the voiceover and captions carry the app. When the original shows an app on a phone in someone's hand, that screen is drawn by the video model, and on-screen text and UI can come out garbled: keep your UI off the generated phone and let the voiceover and captions carry the message (why AI video garbles text).

Starting from a winner, not a product page

A common shape for UGC ad skills is product-page-first: paste a product URL, the tool writes a script from the page, and an AI presenter reads it to camera. That gets you a talking-head ad quickly, and it's a good fit when the ad really is one person explaining a product.

Riffkit starts somewhere else: a video that already performed. In Adapt it studies that video's hook, pacing and beats, writes a new script for your product that follows the same path, and generates new footage for it. The person on screen plays out the scenes the formula calls for, with your product where the story needs it, and can be your saved character, the same face across every ad you make. No winner to start from? Create makes an original video from one idea you write, at a length you choose up to 45 seconds. Either way your product comes from what you saved (its name, description and images), and Claude Code can draft those from your product page for you to confirm. For the longer argument, see formula riffing vs. script-to-video.

Honest scope: hosted and short-form

Two things worth being straight about.

First, this is hosted. The skill is a thin layer; the rendering happens on Riffkit's backend, not on your machine. That's a feature (you don't manage GPUs or model weights) but if you're a dev who wants to self-host the whole pipeline and own the infrastructure, that's a different shape of tool. We cover that path in the OpenMontage alternative.

Second, it's short-form. Riffkit is built for the TikTok/Reels/Shorts shape: punchy, hook-driven, up to 45 seconds a video. For a 20-minute YouTube edit you want a timeline editor; if your job is cranking out ad creative or feeding a faceless account, this is exactly the lane.

This is also where the wider "agentic video" moment is heading: instead of clicking through editing apps, you describe the outcome and an agent assembles it. We're not claiming to have solved all of video, but for the narrow, high-volume job of turning a winning short into your own, the agent-skill workflow is genuinely faster than tab-switching into yet another dashboard.

Add the skill, talk to your agent

If you've got Claude Code, Codex or Cursor open right now, the fastest path is to add Riffkit as a skill and say what you want. No new UI, no onboarding tour. "Riff this TikTok into a video for my product, use Spanish, give me two angles", and your assistant takes it from there.

Prefer a screen with buttons? The same backend powers the browser app, so you can move between them freely. Either way, you point at a winning video and get your own back.

Start riffing: drop in a link or fire it from your terminal, and let the formula do the heavy lifting.

Get the Riffkit skill

Riffkit runs as an agent skill: point your assistant at the live skill and let it set itself up:

Run curl -fsSL https://riffkit.ai/SKILL.md in your terminal and follow the instructions to join Riffkit

The agent signs you in with a link you approve in your browser (there's no password to share), and it can use the optional Riffkit CLI (Node 20+). In Claude Code you can also add it as a plugin: /plugin marketplace add riffkit/skill, then /plugin install riffkit@riffkit. The install line and how sign-in works are on the skill page; for ChatGPT chat, install the Riffkit plugin, and for Claude chat, see the connector page. Then just ask in plain language: "riff this TikTok into a video for my product." The skill is open source at github.com/riffkit/skill and listed on ClawHub.

FAQ

Can Claude Code make UGC video ads?

Yes, with the Riffkit agent skill installed. Claude Code does not render video on its own; the skill connects it to Riffkit's hosted video backend. You give it a winning TikTok link or a template plus a product you saved in Riffkit, name the language and aspect ratio, and the agent riffs the original's hook and pacing into a new UGC-style ad with your product in the story. It quotes the price in credits and asks before anything is charged, then returns a link to the finished video and a caption with hashtags to post with it. On a free account the signup credit covers the first section of your first video, on Seedance 2.0 Fast at 480p; plans start at $15/month. The same skill runs in Codex and Cursor, and the Claude app can do it through the Riffkit connector.

Do I need to film anything?

No. In Adapt and Create, Riffkit generates all of the footage. The person on screen is either your saved character, made from a photo you upload, or a person the engine generates, and your product comes from the photos or app screenshots you save with it. Filming is optional: if you want to keep the shots of a video you made yourself, Swap re-shoots them and changes only what you name, such as the person, the product or the setting. In Adapt and Create, burned-in captions and the post text (a caption with hashtags) come with the video.

Do I need to be a developer to use the Riffkit skill in Claude Code?

No. The skill is built for non-technical short-form creators: e-commerce and TikTok Shop sellers, ad buyers, indie founders, faceless accounts. If you can type a sentence to your AI assistant, you can make a video. And if you'd rather not touch an agent at all, the same backend runs in your browser.

How is this different from a regular text-to-video AI?

Generic text-to-video invents footage from a description with no underlying structure. Riffkit starts from a video that already worked, studies its formula (hook, pacing, emotional beats) and generates new footage that walks viewers through the same journey with your product woven in. It never re-uploads the source clip. When you'd rather start from an idea, Riffkit's Create mode makes an original video from one you write.

What do I actually get back, and what can I do with it?

A post-ready short video: voiceover, on-screen captions timed to the audio, a cover frame, and a caption with hashtags, in the look your creative direction asks for (real footage, cartoon, or game-style). It's billed by the second of finished video, at the rate of the engine and resolution you pick, and the agent quotes the price in credits before anything renders. Everything you make is yours to post, run as ads, and monetize, with no extra license or revenue share from us. What comes from someone else isn't ours to give: music from a source video (its rights stay with its owner, so check you're cleared to use it where you post), and, in a Swap, what it keeps from the source, such as the person when you don't pick a character, the voices that don't change, and a template's music, voices and people, which aren't rights-cleared.

Keep reading

Riffkit Is Now in ChatGPT's Plugin Directory

Riffkit is in ChatGPT's plugin directory. Install it in three steps, then change the outfit, person, place or product in a video from a chat.

Add an Object to a Video with AI (Real Test)

Add an object to a video with AI and keep the person, moves and sound. Our test put sunglasses and a plant into an 11-second clip, checked every half second.

Make a Christmas AI Video from a Clip You Already Have

Make a Christmas AI video from a clip you already have: four Seedance 2.0 tests with lights, a tree, pajamas and snow, the exact prompts, and what slipped.