How To · UGC · Tutorial · Ad Creative

How to Turn a Product URL Into a Video Ad

· 9 min read

Quick answer: paste the product page URL, let the tool read the page, pick an actor and a video model, approve or rewrite the script it drafts, set the frame to 9:16, and export an MP4. That is about two minutes of work and, on UGC Vids AI, roughly 140 to 635 credits for one clip depending on which model you pick.

This is the URL-first path specifically: what gets read off your page, what it can and cannot see, and the six decisions between the paste and the export. If you want the general workflow that starts from an angle instead of a link, read how to make UGC ads with AI first and come back here for the extraction detail.

What a product URL actually gives the generator

"Paste a URL" is a marketing line on almost every AI ad tool, and almost none of them say what comes back. Here is exactly what our extractor reads, and where each field comes from. It runs three sources in parallel and merges them: a Shopify store's own product JSON feed, Product JSON-LD structured data in the page HTML, and a text-extraction pass over the visible copy.

FieldWhere it comes fromWhen it comes back empty
Product name, brand, categoryShopify JSON first, then JSON-LD, then text extractionRarely. This is the most reliable field
Price, sale price, variant rangeShopify variant list, then JSON-LD offersCustom carts that publish no Offer schema
Star rating and up to 3 review quotesProduct JSON-LD onlyReview apps that render client-side after page load
Variant options (colour, size, flavour)Shopify options, capped at 8 values per dimensionAlmost always, on non-Shopify stores
IngredientsText-extraction pass over the page copyNon-consumable products, where it is not relevant anyway
Features and benefit claims (up to 12)Merged from all three sources, deduplicatedImage-heavy pages where the copy lives inside graphics
Up to 3 product imagesJSON-LD, then Shopify, then the og:image social previewPages with no structured data and no social preview tag

Two rules in there are worth knowing because they change what your script says. First, an aggregate rating is suppressed below 50 reviews on purpose: "4.8 from 3 reviews" reads as weak proof and hurts the ad. Second, when the cheapest variant is under half the price of the priciest, the median price is used instead of the minimum, so a $5 sample size does not anchor the script to the wrong number on a $50 product.

Step 1: paste the URL and read what came back

Before you touch anything else, look at the extracted name, price and claims. A script grounded in the wrong price is worse than no script, and it is a 10-second check.

A Shopify product URL (the /products/your-handle shape) is the best case: it hits all three extraction paths. A well-built custom store with Product schema is a close second. The page needs to return a real HTML document, at least a couple of thousand characters, within about ten seconds, so single-page checkout funnels and pages behind a login or age gate will not resolve.

Step 2: pick the actor before you pick the model

Actor choice moves performance more than model choice, and people do it the other way round. Match the face to whoever actually buys, not to your own taste. A 24-year-old skincare buyer and a 48-year-old supplement buyer respond to different faces, different rooms and different cadence. You can pick from the library or upload a photo of a real person you have rights to use.

If your ad needs the actor physically holding your product rather than just talking about it, that is a compositing step on top of the actor photo, and it has its own failure modes. Those are covered in product-in-hand UGC in 2026.

Step 3: pick the model

All of these are in the same picker on the same plan, so the choice is a cost and length trade-off rather than a subscription decision. Costs below are the live credit prices, converted at the $49 Starter plan rate of 5,000 credits.

ModelMax clipReference imagesCreditsStarter cost
Grok Video (720p)10s1140 for 10s~$1.37
Seedance 1.5 Pro12s1160 for 8s~$1.57
Veo 3.1 Fast8s1245 for 8s~$2.40
Kling 2.610s1260 for 10s~$2.55
Happy Horse 1.115sUp to 9370 for 10s~$3.63
Kling 3.015sUp to 7520 for 10s~$5.10
Seedance 2.015sUp to 9635 for 10s~$6.22

The number that catches people out is Veo 3.1's 8-second native cap. It is the strongest model in the list for physical realism, and it cannot produce a 30-second ad in one call. A 30-second Veo ad is four clips stitched, about 980 credits. If you want one continuous take, Kling 3.0, Seedance 2.0 and Happy Horse 1.1 all run to 15 seconds.

One scheduling note: OpenAI is retiring Sora 2 and Sora 2 Pro on 24 September 2026, so do not build a workflow that depends on them. Everything above outlives that date.

Step 4: script it, or let the page script it

The drafted script is written against the extracted details and nothing else. It cannot invent an ingredient, a price or a timeframe that is not on your page, which is the whole point of reading the URL rather than guessing from a product name. If the page carries both a list price and a sale price, the draft is required to mention the discount somewhere in the payoff or the call to action.

If you write your own instead, what you type is what the model receives, unedited. Keep it to roughly 2.3 spoken words per second: about 35 words for a 15-second ad, about 69 for a 30-second one. That figure is the same estimator we bill audio-driven models with, calibrated on real renders, so it is a reliable length predictor rather than a rule of thumb. For structure, use the 30-second UGC ad script breakdown.

Step 5: frame, length and captions

Set 9:16 unless you have a reason not to. Note that the ratio choices narrow by model: Veo 3.1 does portrait and landscape only, and Pruna Avatar, OmniHuman 1.5, VEED Fabric and Grok Video are vertical only. Kling, Seedance and Happy Horse all take 9:16, 1:1 and 16:9.

Here is the honest gap: there is no 4:5 option, and 4:5 is exactly what Meta recommends for Facebook feed. If feed is a large share of your spend you will be re-framing a vertical asset in an editor, or accepting Meta's crop. For TikTok, Reels and Stories, 9:16 is the native ask and nothing is lost.

Turn captions on and let them burn into the file. Most first impressions on paid social happen with the sound off, so an uncaptioned clip delivers no message at all on the view that matters most.

Step 6: export for TikTok or Meta

The export is a plain MP4, which both platforms accept directly. The published specs, so you can check your file rather than guess:

SpecTikTok auction in-feedFacebook feed
Recommended ratio9:16 (also accepts 1:1 and 16:9)4:5
Resolution540x960 or larger for vertical1440x1800 recommended
DurationUp to 10 minutes1 second to 241 minutes
File types.mp4, .mov, .mpeg, .3gp, .aviMP4, MOV or GIF
Max file size500 MB4 GB
EncodingBitrate 516 kbps or higherH.264, stereo AAC 128 kbps or higher

Sources: TikTok's auction in-feed ad specifications page and Meta's Facebook feed video ads guide, both fetched August 2026. Neither platform's limits are anywhere near binding for a 30-second 1080p ad. Follow TikTok's safe-zone templates for the caption and profile overlays, because that is the constraint that actually bites: burned-in text placed in the bottom fifth of a 9:16 frame disappears behind the interface.

Which product URLs does this handle badly?

A page where the answer is always "it works" is not worth reading, so:

  • Amazon listings. Amazon blocks the fetch. You get the product name parsed out of the URL slug and nothing else. Paste your own store URL instead.
  • Thin funnel pages. A page that returns almost no HTML is rejected rather than half-read, which is the right call but means single-page ClickFunnels-style landers give you nothing.
  • Custom stores with no structured data. The name usually survives. Price, reviews and variants usually do not.
  • Homepages and collection pages.The image fallback grabs the store's first product, which is often not the one you meant. Link the specific product.
  • Client-side review widgets. Most review apps inject their content after the page loads, so the star rating and quotes are invisible to any server-side reader. If reviews are your strongest proof, paste the best one into the script yourself.

One more that surprises people: if your product label carries a word like "plumping", "firming" or "anti-aging", the composite step deliberately drops that word from the rendered label. Downstream video safety classifiers read text printed on a product and reject the whole render over body-modification wording. Brand name and product form stay; the trigger word goes.

Is the URL-first path better than starting from a script?

Yes, when the product is new to you. You do not yet know which claim lands, and the page already contains every claim your brand has committed to. Extracting them beats inventing them, and beats a blank script box at 11pm.

No, once you have a winner. When you already know the hook that converts, pasting a URL and accepting a fresh draft throws away the one thing you have actually validated. At that point use the URL only to pull the product image, and paste your proven script. The fastest workflow after week one is: known hook, new actor, new model, same product image.


Paste a product URL and see what comes back before you commit to anything. Free for 3 days. Cancel anytime. Or compare the models side by side in the AI video cost benchmarks.

Frequently asked questions

How do you turn a product URL into a video ad?

Paste the product page URL into an AI UGC generator, let it read the page for the product name, price, features, review quotes and images, pick an actor and a video model, approve or rewrite the generated script, set the frame to 9:16, and export an MP4. On UGC Vids AI a single clip costs between 140 and 635 credits depending on the model and length, which is roughly $1.40 to $6.20 of a $49 Starter plan's 5,000 credits. Start to finish it is about two minutes once the URL resolves.

What information gets pulled off a product URL?

On UGC Vids AI the extractor reads three sources and merges them: a Shopify store's own /products/handle.json feed, Product JSON-LD structured data in the page HTML, and a text-extraction pass over the visible copy. Between them it returns the product name, brand, category, price, sale price, variant price range, variant options, ingredients, up to 12 features and benefit claims, star rating, up to three review quotes, stock status and up to three product images. The rating is deliberately hidden below 50 reviews because a high score from three reviews reads as weak proof.

Why doesn't an Amazon product URL work?

Amazon blocks automated page fetches, so the page body is never readable. The fallback is to parse the product name out of the URL slug itself, which gives you a name and nothing else: no price, no reviews, no images, no features. If you sell on both Amazon and your own store, paste your own store URL. If Amazon is your only listing, upload a product photo and write the script yourself instead of relying on extraction.

What aspect ratio should the finished ad be?

9:16 vertical for TikTok, Reels and Stories. TikTok's own auction in-feed ad spec names 9:16 at 540x960 pixels or larger as the recommended vertical format, and also accepts 1:1 at 640x640 and 16:9 at 960x540. Meta's Facebook feed spec recommends 4:5 at 1440x1800 pixels instead, so a vertical asset gets cropped in feed placements. Generate 9:16 for the short-form placements where most spend goes and re-frame separately if feed is a big share of your budget.

Should the AI write the script or should I?

Let it draft when you are advertising a product for the first time and do not yet know the angle, because the draft is grounded in the details actually published on your page rather than invented. Write it yourself once you know which angle converts, because a hook you have already tested beats a fresh draft every time. On UGC Vids AI a script you type reaches the video model verbatim, with no rewriting in between.

How long should the script be for a 30-second ad?

Around 65 to 70 spoken words. Our own billing estimator, calibrated against real renders, uses 2.3 spoken words per second, so 30 seconds of delivery is roughly 69 words. Anything past that and the actor either rushes the read or the clip runs longer than you planned. For a 15-second ad, aim for about 35 words.

Definitions

What is UGC?What is AI UGC?What is Hook?What is Creative Testing?

Compare alternatives

UGC Vids AI vs ArcadsUGC Vids AI vs MakeUGCUGC Vids AI vs Creatify

Stop reading. Start shipping.

Generate your first UGC ad in 2 minutes. No editing required.

Try the free generator