puras / Product Ad Studio

Turn a product brief or URL into a UGC video ad

An AI UGC video generator: give it a brief — or just a product URL — plus optional product photos, and it returns an authentic, handheld talk-to-camera ad with a cast creator and natural voiceover featuring your real product. No filming, no creators to source.

Input
Output
Insulated bottle · street interview

~$3 per video·Try it free — $10 free credits, no card.

What it is, who it's for, what to land. URL works.

Loading…

No inputs handy? Try one of these

Everything you can do

What AI UGC Video Generator does

Feels real, not branded

A handheld, talk-to-camera clip that looks filmed by a customer, not a studio.

Casts a believable creator

It picks a creator and a format that fit your product.

Works with nothing to show

A physical product, an app, or even a service with no product shot.

Sounds real too

Naturally paced dialogue over real room ambience, a subtle music bed, and product sounds — not a voice in a vacuum.

Ready to post

A finished clip with natural voiceover and soundtrack, ready for your feeds.

Who it's for

Built for teams who ship.

DTC & e-commerce sellers

Get authentic UGC ads without sourcing creators per video.

Performance & UGC marketers

Test new creators and angles at campaign speed.

App & service founders

Produce believable talk-to-camera clips even with nothing to film.

Comparison

AI UGC Video Generator vs Arcads

An API-native, usage-based alternative to Arcads — your skill and prompt run server-side, called from your own product, billed per run.

Arcadspuras
PricingMonthly subscription with a video allowanceUsage-based — pay per video, exact cost each run
Your product on cameraAI-actor-led deliveryFeatures your real product from your photos, with a cast creator
InputScript and actor picked in their dashboardA brief or product URL in, a finished clip out
Where it runsA web app you log intoAPI-native — generate UGC variations from your own pipeline

Comparison

AI UGC Video Generator vs Creatify

An API-native, usage-based alternative to Creatify — your skill and prompt run server-side, called from your own product, billed per run.

Creatifypuras
PricingCredit-based subscription plansUsage-based — pay per video, exact cost each run
WorkflowEdit and assemble inside their editorAgentic end-to-end — research, script, cast, render in one run
Your product on cameraTemplate- and avatar-led deliveryFeatures your real product from your photos, with a cast creator
Where it runsA web app you log intoAPI-native — call it from your own product or pipeline

Comparison

AI UGC Video Generator vs HeyGen

An API-native, usage-based alternative to HeyGen — your skill and prompt run server-side, called from your own product, billed per run.

HeyGenpuras
Built forAvatar talking-head videosUGC-style product ads — handheld, creator-led, product in hand
PricingMonthly subscription or per-seat creditsUsage-based — pay per video, exact cost each run
InputPick an avatar, write a script in their studioA brief or product URL in, a finished clip out
Where it runsA web app you log intoAPI-native — generate UGC variations from your own pipeline

Free to try

Try AI UGC Video Generator free — in your browser

The playground above is the real skill, not a demo. Load an example or bring your own inputs, sign in with Google, and run it — no credit card, no subscription, no install. After the free try, runs are usage-based and every run reports its exact cost.

Run it free

FAQ

Questions, answered.

What is AI UGC and how do you make an AI-generated UGC video?+

AI UGC is user-generated-style content produced without filming a real creator. With this skill you give a product brief (or a product URL) and optional photos, and it returns a finished handheld, talk-to-camera UGC video with a cast creator and natural voiceover — no camera, actors, or editing.

Can I generate a UGC video from just a product URL?+

Yes. Paste a product URL as the brief and the skill pulls what it needs to script and produce the ad, so you can turn a product page into a UGC video ad without writing a brief from scratch.

Can I make a UGC video with my product in hand without filming?+

Yes — add your product photos and the cast creator features and demonstrates your real product on camera. That product-focused demo is exactly where avatar-first tools tend to fall short, and it needs no shoot or crew.

Can you make UGC videos without showing your face?+

Yes. The video is delivered by an AI creator, not you, so it's faceless UGC for founders, dropshippers, and brands who don't want to be on camera — you supply the brief or URL and optional product photos, nothing else.

Can these AI UGC videos run as paid ads on TikTok and Meta?+

Yes — output is short-form vertical video built for paid social, so the clips are ready to run as TikTok, Instagram, and Meta UGC ad creative. Generate several from one brief to A/B test scroll-stopping variations.

How do I make TikTok UGC ads with AI for ecommerce or a Shopify store?+

Give the skill your product URL or a short brief plus product photos and it returns a creator-style vertical video ad — a fast URL-to-ad workflow for Shopify, dropshipping, app, and SaaS promos. Call it once per variation to build a batch of ad creatives.

Is it an avatar talking-head, or a real creator-style UGC video?+

It's a creator-style, talk-to-camera spokesperson video with a cast creator and natural voiceover — handheld, authentic-looking delivery rather than a static studio avatar, and it can show your actual product when you add photos.

Powered by puras

This skill is infrastructure.

AI UGC Video Generator runs on puras, the agentic backend — every skill here is a versioned, server-side capability your product can call with one API key: async, sync, or streamed. No model wiring, no queue, no servers.

Related skills

Ecommerce & product creative

For developers

Run it from your own stack.

This skill is an API. One call runs the whole pipeline server-side as a long-running job and returns the result — from Python, plain HTTP, or an MCP-connected coding agent.

API access — MCP · Python SDK · cURL · JSON schemas
MCP· recommended for coding agents
claude mcp add --transport http puras https://mcp.puras.co/mcp

OAuth on first call — no key to paste. Then ask the agent to run ugc-video from skillpack puras/product-ad-studio.

CLI
pip install puras puras login # or set PURAS_API_KEY puras run puras/product-ad-studio/ugc-video -i key=value
Python SDK
import puras client = puras.Client() # PURAS_API_KEY from env result = client.run("puras/product-ad-studio/ugc-video", {"brief":"A stainless insulated water bottle that keeps drinks cold for 24h. For gym regulars and hikers. Tone: confident, no-nonsense.","ugc_template":"interview","aspect_ratios":["9:16"],"product_images":["https://images.unsplash.com/photo-1602143407151-7111542de6e8?w=1200&q=80"],"duration_seconds":10})
HTTP API· wait=true blocks until the job finishes
curl -X POST "https://api.puras.co/v1/jobs?skillpack=puras/product-ad-studio&wait=true" \ -H "Authorization: Bearer $PURAS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"skill":"ugc-video","inputs":{"brief":"A stainless insulated water bottle that keeps drinks cold for 24h. For gym regulars and hikers. Tone: confident, no-nonsense.","ugc_template":"interview","aspect_ratios":["9:16"],"product_images":["https://images.unsplash.com/photo-1602143407151-7111542de6e8?w=1200&q=80"],"duration_seconds":10}}'
Input schema (JSON Schema)
{
  "type": "object",
  "required": [
    "brief"
  ],
  "properties": {
    "brief": {
      "type": "text",
      "maxLength": 2000,
      "minLength": 10,
      "description": "What it is, who it's for, what to land. URL works."
    },
    "music": {
      "type": "string",
      "default": "auto",
      "maxLength": 120,
      "description": "Background music for the clip's native soundtrack. `auto` usually picks a quiet instrumental bed matching your brand's tone (lo-fi, soft acoustic, or light upbeat — always under the voice); raw-phone concepts like ASMR stay music-free. `none` always skips music for a raw phone-recording feel. Or type a style hint (e.g. \"lo-fi chill\", \"upbeat electronic\").\n"
    },
    "captions": {
      "type": "boolean",
      "default": true,
      "description": "Burn word-synced karaoke captions onto the finished clip — the retention look for muted TikTok/Reels/Shorts feeds. Caption colors and styling are picked automatically to match the product's brand identity. Turn off for a clean, caption-free clip.\n"
    },
    "last_frame": {
      "type": "image",
      "description": "Optional. A still the clip should end on (tail keyframe). When set, the render lands on this exact frame — e.g. an end card, or the last frame of a gameplay recording so the clip flows seamlessly into the next shot when stitched. Pairs with `first_frame` to interpolate from open to close.\n"
    },
    "first_frame": {
      "type": "image",
      "description": "Optional. A still the clip should open on (image-to-video). When set, the render starts from this exact frame — e.g. the first frame of a gameplay recording so the clip flows seamlessly into the real footage when stitched.\n"
    },
    "ugc_template": {
      "enum": [
        "auto",
        "unboxing",
        "tryout",
        "interview",
        "tutorial",
        "product_review",
        "problem_solution",
        "grwm",
        "asmr_demo",
        "pov",
        "before_after",
        "listicle",
        "reaction",
        "storytime"
      ],
      "type": "string",
      "default": "auto",
      "description": "Which UGC format to shoot. `auto` picks the best fit."
    },
    "aspect_ratios": {
      "type": "array",
      "items": {
        "enum": [
          "9:16",
          "1:1",
          "16:9"
        ],
        "type": "string"
      },
      "default": [
        "9:16"
      ],
      "minItems": 1,
      "description": "Output frame(s). Pick one or more — one clip is rendered per selected ratio.",
      "uniqueItems": true
    },
    "creator_image": {
      "type": "image",
      "description": "Optional photo of the on-camera person, for a consistent creator."
    },
    "product_images": {
      "type": "array",
      "items": {
        "type": "image"
      },
      "maxItems": 5,
      "minItems": 0,
      "description": "Optional. Product photos that anchor the real product. Sharp, well-lit shots work best. If omitted, the product is rendered from the brief/research description."
    },
    "creator_persona": {
      "type": "text",
      "maxLength": 300,
      "description": "Optional. Who's on camera and where. Empty = auto-cast."
    },
    "duration_seconds": {
      "type": "integer",
      "default": 8,
      "maximum": 15,
      "minimum": 4,
      "description": "Target clip length. 8 s is the sweet spot; up to 15 s supported. Longer clips buy more action, not more talking — spoken lines stay short either way, so pick longer durations for demos and reactions, not bigger scripts.\n"
    }
  }
}
Output schema (JSON Schema)
{
  "type": "object",
  "properties": {
    "videos": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "video_url": {
            "type": "video",
            "description": "Drive path to the rendered UGC clip (with native audio); served to readers as a stable media URL. The playground renders it with a <video> player."
          },
          "aspect_ratio": {
            "enum": [
              "9:16",
              "1:1",
              "16:9"
            ],
            "type": "string",
            "description": "The frame this clip was rendered for."
          }
        }
      },
      "minItems": 1,
      "description": "One rendered clip per aspect ratio."
    }
  }
}
SpecDocs

Try AI UGC Video Generator free.

Run it in the playground above — $10 free credit, no card. Every run returns an exact cost receipt.

Want this in your own pipeline? Deploy your own skill →