AI UGC Swipe File
Opening hooks and short scripts, written for your product.
What this swipe file does
It writes a batch of short-form video material for one product on one platform and lays it out so you can throw most of it away. You type a product name, pick a category and a platform, and say who you are selling to. One model call asks for seven to ten opening hooks, each tagged with a hook type and a 0-100 score, three to five scripts broken into scenes, two or three caption drafts, ten hashtags, three angles and a suggested posting time. Those counts are what the prompt requests; nothing here checks the reply against them, so a batch can come back shorter or longer.
The words swipe file are doing some work there, so it is worth being clear. A real swipe file is a folder of ads somebody saved because they saw them work. This is generated on demand from your four fields, so it is a stack of drafts to cut down, not a record of ads that ran. It is useful at the moment when you have a product and an empty content calendar and you would rather edit than invent.
How it works
- You fill four fields. Product name is the only required one. Category is one of eight, from Fashion to Pet Supplies to Jewelry. Platform is TikTok, Instagram Reels, Facebook or YouTube Shorts. Target audience is free text and defaults to General if you leave it blank, which is also the fastest way to get generic output.
- You sign in. The generate endpoint refuses requests without a session, so the first click opens the account box rather than starting a run. Accounts are free and this tool is not rate limited afterwards.
- Your four fields become one prompt. They are dropped into a fixed template and sent to the DeepSeek model with instructions that ask for a set reply format: hooks with a type from curiosity, benefit, problem, controversy or story, scripts of 15, 30 or 60 seconds with a style label, captions with a vibe label. The model is asked for that shape, not held to it. Nothing is fetched, scraped or looked up on the way.
- The reply is parsed as JSON. Each attempt waits up to sixty seconds, and a failed or throttled call is retried for three attempts in all with a short pause between them, so a bad run takes a while before it gives up. If every attempt fails, or the reply will not parse, you get a short placeholder set instead of an error screen. It is obvious when you see it, and the fix is to run it again.
- The page renders the batch. Hooks first with their score badges, then scripts with numbered scenes, then captions with the hashtags pulled out into separate chips, then the angles and the posting time. The batch is not saved anywhere you can get it back, though the run itself is logged against your email, so copy what you want before you leave.
What comes back
Below is the shape of one result, written as an example rather than copied from a real generation. Your wording will differ every run, including two runs on the same product, and every count below is what the prompt asks the model for rather than something the page enforces.
When it helps and when it does not
It helps when the blank page is the bottleneck: you need eight angles for a product by tonight, a hook stopped pulling and you want ten replacements to test, or you are briefing a creator and need a scene list they can follow. The output is worth roughly what you put into the audience field.
Nothing here has seen a real ad. There is no TikTok feed, no ad library, no trend API. Calling the output proven would be wrong. It reproduces hook structures from training data, which is exactly why a few lines in every batch will feel like something you have already scrolled past.
It has not seen your product either. No page is opened, no image is read, no review is checked. If you type "phone holder" you get scripts about a generic phone holder, because that is all the model was handed.
The score and the view range are self-reported. The model rates its own hooks and invents its own view estimate. Two runs can score the same line differently. Neither number is a forecast, and the colour coding makes them look more solid than they are.
The posting time is a rule of thumb. It does not know your audience, your timezone or your account history. Your own analytics beat it on day one.
You still film it and you still own the claims. Scripts are scenes, not footage. Captions come back in English and need an edit pass, or you will sound like every other store that used a generator. Platform policy is on you.
Where it sits next to the other tools
Content is downstream of the product choice, so it is worth arriving here with something you have already checked: Product Scout puts a Winnability Score on an AliExpress listing and can sort a small batch of them highest first, and Product Validator is the quicker single-item check before you commit budget. If you would rather have one full ad storyboard than a batch of options to sift, Viral Ad AI covers that, and Perfect Listing writes the product page all this traffic has to land on.
Frequently asked questions
Is the UGC swipe file free?
Yes. It is free once you have a free account, there is no card step, and this tool has no daily generation cap. Running it again for a different platform or a different audience costs nothing.
Do I need an account to generate a swipe file?
Yes. The generate request is rejected without a signed-in session, so the first click opens the login box instead of starting a generation. Each run writes a usage row against your email holding the tool name, the product name and the platform you picked. The first time you use a tool your lead record also stores the product and category; later runs only bump its counter and timestamp. The generated batch itself is not saved, so copy anything you want to keep before you close the tab.
Are these real hooks taken from ads that ran?
No, and that is the honest answer. They are written on demand by the DeepSeek model from the four fields you type. Nothing here scrapes TikTok, reads an ad library, opens your product page or checks what is trending today. The hooks follow ad formats the model learned during training, which is why some of them will feel familiar.
What does the hook score actually mean?
It is a 0-100 number the model puts on its own hooks. The page colours it green at 85 and up, amber from 70, red below that, which makes it look measured when it is not. There is no click-through data behind it. Use it to sort the hooks inside one batch and nothing else.
Is the predicted view range a real forecast?
No. The prompt asks the model for an estimated views range and it produces one, with no traffic data, no account history and no platform connection behind the number. Treat that field as decoration.
Can I film the scripts exactly as written?
You can shoot them, but they are scene lists rather than finished shot lists: the prompt asks for a handful of scenes plus a call to action, and nothing checks what comes back against that. You still cast it, film it, cut it and check the claims yourself. Health results, income claims and before-and-after framing are common rejection reasons on TikTok and Meta, and nothing here reviews the copy for policy.