# AI UGC Video Generator

> Agent skill on puras — published by puras. An AI UGC video generator: turn a product brief or URL (plus optional product photos) into an authentic, handheld talk-to-camera UGC ad with a cast creator, naturally paced dialogue, and a full soundtrack — ambient room sound, a subtle music bed, and product foley — featuring your real product, no filming. Works for a physical product, an app, or a service.

- **Skill path:** `puras/product-ad-studio/ugc-video`
- **Skillpack:** Product Ad Studio (`product-ad-studio`)
- **Skillpack ID:** `39903015-da3d-49a2-b549-9256ef164430`
- **Deployment version:** v51
- **Human page:** https://puras.co/skills/puras/product-ad-studio/ugc-video
- **API base:** `https://api.puras.co`

## Description

An AI UGC video generator: turn a product brief or URL (plus optional product photos) into an authentic, handheld talk-to-camera UGC ad with a cast creator, naturally paced dialogue, and a full soundtrack — ambient room sound, a subtle music bed, and product foley — featuring your real product, no filming. Works for a physical product, an app, or a service.

**Turn a product brief or URL into a UGC video ad**

## Who it's for

- **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.

## AI UGC Video Generator vs Arcads

| | Arcads | puras |
| --- | --- | --- |
| Pricing | Monthly subscription with a video allowance | Usage-based — pay per video, exact cost each run |
| Your product on camera | AI-actor-led delivery | Features your real product from your photos, with a cast creator |
| Input | Script and actor picked in their dashboard | A brief or product URL in, a finished clip out |
| Where it runs | A web app you log into | API-native — generate UGC variations from your own pipeline |

## AI UGC Video Generator vs Creatify

| | Creatify | puras |
| --- | --- | --- |
| Pricing | Credit-based subscription plans | Usage-based — pay per video, exact cost each run |
| Workflow | Edit and assemble inside their editor | Agentic end-to-end — research, script, cast, render in one run |
| Your product on camera | Template- and avatar-led delivery | Features your real product from your photos, with a cast creator |
| Where it runs | A web app you log into | API-native — call it from your own product or pipeline |

## AI UGC Video Generator vs HeyGen

| | HeyGen | puras |
| --- | --- | --- |
| Built for | Avatar talking-head videos | UGC-style product ads — handheld, creator-led, product in hand |
| Pricing | Monthly subscription or per-seat credits | Usage-based — pay per video, exact cost each run |
| Input | Pick an avatar, write a script in their studio | A brief or product URL in, a finished clip out |
| Where it runs | A web app you log into | API-native — generate UGC variations from your own pipeline |

## FAQ

### 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.

## Try it free

AI UGC Video Generator has a free in-browser playground on its page (https://puras.co/skills/puras/product-ad-studio/ugc-video) — load an example or bring your own inputs and run it with a Google sign-in. No credit card, no subscription; runs are usage-based after the free try.

## Input schema

```json
{
  "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
{
  "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."
    }
  }
}
```

## Examples

### Insulated bottle · street interview

A written brief plus a packshot → a confident street-interview UGC clip with native audio.

Inputs:

```json
{
  "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
}
```

Outputs:

```json
{
  "videos": [
    {
      "video_url": "https://uozfqcfhlhugotnevscg.supabase.co/storage/v1/object/public/puras-public-skills/examples/product-ad-studio/ugc-video/d5f6c1a1/out-video_url.mp4",
      "aspect_ratio": "9:16"
    }
  ]
}
```

### App promo from a store link

Just paste an app-store URL. Research reads the page, the agent picks the UGC format and casts a creator.

Inputs:

```json
{
  "brief": "https://apps.apple.com/tr/app/learn-guitar-songs-chordie-ai/id1585131961",
  "ugc_template": "auto",
  "aspect_ratios": [
    "9:16"
  ],
  "product_images": [
    "https://uozfqcfhlhugotnevscg.supabase.co/storage/v1/object/public/puras-public-skills/examples/product-ad-studio/ugc-video/279063d4/product_images-0.webp"
  ],
  "duration_seconds": 8
}
```

Outputs:

```json
{
  "videos": [
    {
      "video_url": "https://uozfqcfhlhugotnevscg.supabase.co/storage/v1/object/public/puras-public-skills/examples/product-ad-studio/ugc-video/279063d4/out-video_url.mp4",
      "aspect_ratio": "9:16"
    }
  ]
}
```

### Guitar-learning app · UGC

Another store-link brief — research reads the page, the agent auto-picks the format and casts a creator for a music-app promo.

Inputs:

```json
{
  "brief": "https://apps.apple.com/tr/app/learn-guitar-songs-chordie-ai/id1585131961",
  "ugc_template": "auto",
  "aspect_ratios": [
    "9:16"
  ],
  "product_images": [
    "https://uozfqcfhlhugotnevscg.supabase.co/storage/v1/object/public/puras-public-skills/examples/product-ad-studio/ugc-video/72bc110d/product_images-0.webp"
  ],
  "duration_seconds": 8
}
```

Outputs:

```json
{
  "videos": [
    {
      "video_url": "https://uozfqcfhlhugotnevscg.supabase.co/storage/v1/object/public/puras-public-skills/examples/product-ad-studio/ugc-video/72bc110d/out-video_url.mp4",
      "aspect_ratio": "9:16"
    }
  ]
}
```

### Food-scanner app · influencer clip

Just an App Store link and a one-line ask → an influencer talking up the app on camera.

Inputs:

```json
{
  "brief": "https://apps.apple.com/us/app/ai-food-ingredient-scan-dert/id6760284988 make an influencer talk about my app",
  "aspect_ratios": [
    "9:16"
  ]
}
```

Outputs:

```json
{
  "videos": [
    {
      "video_url": "https://uozfqcfhlhugotnevscg.supabase.co/storage/v1/object/public/puras-public-skills/examples/product-ad-studio/ugc-video/5583920e/out-videos-0-video_url.mp4",
      "aspect_ratio": "9:16"
    }
  ]
}
```

## Use this skill

puras runs this skill on its own backend — you send inputs and get the result back. Three ways to call, fastest first:

### 1. MCP server — recommended for coding agents, no API key

Connect the puras MCP server; auth is OAuth in the browser on first call, so there is nothing to paste.

```bash
claude mcp add --transport http puras https://mcp.puras.co/mcp
```

Any MCP client works — point it at `https://mcp.puras.co/mcp` (HTTP transport). Then ask the agent to run `ugc-video` from skillpack `puras/product-ad-studio` with your inputs.

### 2. CLI / Python SDK — `pip install puras`

```bash
pip install puras
puras login            # or set PURAS_API_KEY
puras run puras/product-ad-studio/ugc-video -i key=value
```

From Python:

```python
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})
```

### 3. HTTP API

`wait=true` blocks until the run reaches a terminal status and returns the result inline.

```bash
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}}'
```

Mint an API key (for CLI / SDK / API) from https://puras.co/api-keys.

## Pricing

Runs are billed usage-based from your workspace credit balance — the cost of a job is the sum of the model token (and any media) usage it incurs. There is no per-call platform fee. The playground and the job result report the exact cost of each run.

- Pricing page: https://puras.co/pricing
- Machine-readable model price registry: `https://api.puras.co/v1/pricing`
