Ugc Video Generator
Playground
Try it on WavespeedAI!WaveSpeed UGC Video Generator creates authentic, creator-style videos from text prompts and optional reference images with native audio, natural motion, and relatable aesthetics. Ready-to-use REST inference API, best performance, no cold starts, affordable pricing.
Features
UGC Video Generator
UGC Video Generator produces authentic, creator-style videos with native audio from text prompts and optional reference images. Designed for user-generated content at scale, it delivers natural-looking clips with relatable aesthetics, organic motion, and the kind of casual-yet-polished feel that drives engagement on social platforms and ad networks.
Why Choose This?
-
Authentic UGC Aesthetic Generates videos that feel like real creator content — natural lighting, organic camera movement, and genuine character expressions that audiences trust and engage with.
-
Native Audio Every video includes synchronized sound — ambient effects, music, and dialogue with precise lip-sync. No separate audio production needed.
-
Creator-Style Motion Natural, handheld-feel camera work with organic pacing. None of the over-polished, obviously-AI look — just authentic, relatable movement.
-
Reference Image Support Upload up to 4 reference images to maintain consistent characters, products, or brand identity across UGC campaigns.
-
Scale UGC Production Generate hundreds of unique UGC-style variations from a single brief. Test hooks, angles, and styles without hiring creators or scheduling shoots.
-
Flexible Formats Supports 16:9, 9:16, 4:3, and 3:4 to match any platform or placement.
Parameters
| Parameter | Required | Description |
|---|---|---|
| prompt | Yes | Describe the scene, creator persona, product interaction, mood |
| images | No | Up to 4 reference images for product, character, or brand |
| aspect_ratio | No | 16:9 (default), 9:16, 4:3, or 3:4 |
| duration | No | 5 (default), 10, or 15 seconds |
How to Use
- Write your prompt — describe the scene as if briefing a UGC creator: who they are, what they’re doing, the setting, and the vibe.
- Add reference images (optional) — upload product photos, brand assets, or character references to keep content on-brand.
- Select aspect ratio — 9:16 for social feeds, 16:9 for web and YouTube, or other formats as needed.
- Set duration — 5s for ad hooks, 10s for testimonial-style clips, 15s for unboxing or demo content.
- Generate — submit and receive authentic UGC-style video with built-in audio.
Pricing
| Duration | Cost |
|---|---|
| 5 s | $0.80 |
| 10 s | $1.60 |
| 15 s | $2.40 |
Billing Rules
- Rate: $0.80 per 5 seconds
- All aspect ratios are the same price
- Reference images do not affect pricing
Best Use Cases
- Performance Ads — Generate UGC-style ad creatives that outperform polished studio content in click-through and conversion rates.
- Product Reviews — Create authentic-feeling product review and testimonial videos at scale.
- Unboxing Content — Produce unboxing and first-impression videos with natural excitement and genuine reactions.
- Social Proof — Build libraries of diverse creator-style content for social proof across landing pages and ads.
- A/B Testing — Rapidly generate multiple UGC variations to test hooks, angles, and messaging.
- Influencer-Style Content — Create influencer-aesthetic videos without the cost and coordination of real creator partnerships.
Prompt Tips
- Describe the creator persona: “a young woman in her 20s in a cozy apartment” sets the right UGC tone.
- Include natural actions: “picks up the product, examines it, smiles” feels more authentic than cinematic descriptions.
- Keep it casual: UGC thrives on relatable, low-key energy — avoid overly dramatic or polished language.
- Mention the setting: “kitchen counter”, “bedroom mirror”, “outdoor cafe” ground the video in real-world contexts.
- Use reference images for products: Upload the actual product photo so it appears consistently in generated content.
Notes
- Prompt is the only required field. Reference images are optional but improve product and character consistency.
- Native audio is generated automatically with every video.
- Default aspect ratio is 16:9.
- Duration options: 5, 10, or 15 seconds.
Related Models
- Cinematic Video Generator — Hollywood-grade cinematic video generation.
- TikTok Video Generator — Viral video generation for social platforms.
- Short Video Generator — General-purpose short video creation.
Authentication
For authentication details, please refer to the Authentication Guide.
API Endpoints
Submit Task & Query Result
# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/wavespeed-ai/ugc-video-generator" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"aspect_ratio": "16:9",
"duration": 5
}'
# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"
Parameters
Task Submission Parameters
Request Parameters
| Parameter | Type | Required | Default | Range | Description |
|---|---|---|---|---|---|
| prompt | string | Yes | - | Describe the scene, action, camera movement, and mood for the video. | |
| images | array | No | [] | - | Optional reference images (up to 4) to guide the visual style, characters, or scene composition. |
| aspect_ratio | string | No | 16:9 | 16:9, 9:16, 4:3, 3:4 | The aspect ratio of the generated video. |
| duration | integer | No | 5 | 5, 10, 15 | The duration of the generated video in seconds. |
Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data.id | string | Unique identifier for the prediction, Task Id |
| data.model | string | Model ID used for the prediction |
| data.outputs | array | Array of URLs to the generated content (empty when status is not completed) |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.has_nsfw_contents | array | Array of boolean values indicating NSFW detection for each output |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |
Result Request Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| id | string | Yes | - | Task ID |
Result Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data | object | The prediction data object containing all details |
| data.id | string | Unique identifier for the prediction, the ID of the prediction to get |
| data.model | string | Model ID used for the prediction |
| data.outputs | object | Array of URLs to the generated content (empty when status is not completed). |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |