Generate Video Ads
Video Generation
Generate Video Ads
Submit product URLs to generate AI-powered UGC video ads
POST
Generate Video Ads
Generate professional UGC-style video ads from product URLs. The AI analyzes product pages, creates scripts, generates video scenes with AI actors, synthesizes voiceovers, and produces fully-edited videos ready for social media.
Every parameter except
urls is optional — the AI auto-determines actor, script style, language, and creative direction from the product page.
Authentication
string
required
Your Nouvel API key with
generate permission. Format: Bearer nvl_xxxxRequest Body
Required
string[]
required
Array of 1-3 product page URLs to generate videos from. Each URL must:
- Be a valid HTTP/HTTPS URL
- Point to a product page (e.g., Shopify, Amazon, DTC brand sites)
- Be publicly accessible
Generation Settings
integer
default:"1"
Number of video variants to generate per URL. Must be between 1-3.Total projects =
urls.length × variantCountEach video variant uses a different creative approach (script angle, actor, pacing). Variants help you A/B test what resonates with your audience.
string
default:"9:16"
Video aspect ratio. Valid values:
integer
default:"15"
Target video duration in seconds. Valid values:
15, 30, 45, 60.string
default:"ad"
Content purpose.
ad generates a direct-response ad with a CTA. organic generates a softer, editorial-style video.Valid values: ad, organicScript & Style
string
default:"problem_solution"
Script framework for the AI copywriter. Determines the narrative structure.
string
Provide your own voiceover script. When set, the AI skips script generation entirely and uses this text as the voiceover. Maximum 5000 characters.
The script is still processed for lip-sync timing and caption alignment, but the words are exactly what you provide.
string
Free-form creative directions for the AI. Maximum 2000 characters. Use this for nuanced guidance that doesn’t fit into the structured parameters.
User instructions are the highest-priority creative input — they override default AI choices for style, actor, script, and visual direction.
Actor & Avatar
string
UUID of a specific actor from your Nouvel account. When set, the AI uses this actor for all avatar scenes instead of auto-selecting.
If omitted, the AI auto-selects an actor based on the product category and target audience. For example, beauty products default to a female actor; fitness supplements default to a male actor.
string
HTTPS URL to a custom avatar photo. Use this to generate a video with any person’s likeness instead of a Nouvel stock actor.The image should be:
- A clear, front-facing headshot or upper-body photo
- At least 512×512 pixels
- JPEG, PNG, or WebP format
Language & Localization
string
default:"auto"
Language for the voiceover script. When set to
auto or omitted, the language is auto-detected from the product page.Common values: en (English), es (Spanish), fr (French), de (German), pt (Portuguese), ja (Japanese), ko (Korean), zh (Chinese), hi (Hindi), ar (Arabic).string
Voice accent override. When omitted, the accent is auto-determined from the language (e.g., English defaults to American).For English, valid accents include:
American English accent, British English accent, Australian English accent, Indian English accent, Canadian English accent.Audience
string
Description of your target audience. Maximum 500 characters. The AI tailors the script tone, vocabulary, hook strategy, and actor selection to match.
Advanced
string
Visual layout preset ID. Controls the scene structure and narrative arc. Contact support for available preset IDs.
string
HTTPS URL to receive a notification when the job completes (or fails). The URL must:
- Use HTTPS (HTTP is rejected)
- Not point to localhost or private IP ranges
See the Webhooks guide for payload format, signature verification, and retry behavior.
Response
string
required
UUID of the generation job. Use this to poll status via
/api/v1/jobs/{jobId}.integer
required
Total number of videos that will be generated (
urls.length × variantCount).string
required
Job status. Always
"running" on successful submission.Example Requests
Response Examples
Error Codes
How It Works
1
Product Analysis
The AI scrapes the product page, extracting:
- Product name, description, and benefits
- Images and branding
- Language and pricing
2
Script Generation
A proprietary model trained on hundreds of high-performing ad scripts generates a voiceover script using the selected
scriptStyle. Supports 30+ languages.- Scripts are optimized for natural speech patterns
- Word count is enforced server-side to match the target duration
3
Visual Concept
AI selects the best product photos, generates feature badges, headline text, and CTA copy based on the script and scraped product data.
4
Video Production
- Synthesizes natural voiceover from the script
- Generates a lip-synced avatar speaking the hook
- Composes product slides with animated transitions
- Renders the final video with captions
5
Final Delivery
Exports MP4 files in your selected aspect ratio, optimized for social platforms.
Auto-Detection Defaults
When you submit just a URL, the AI auto-determines everything:Billing & Quotas
- Each video generated counts as 1 credit toward your monthly quota
- If your plan quota is exhausted but you have credit balance, overage billing applies at $8/video
- Generation fails with
402if both quota and credit balance are exhausted
Example: With a 50-video/month plan:
- Request 1:
urls: [A, B], variantCount: 2→ 4 credits used, 46 remaining - Request 2:
urls: [C], variantCount: 3→ 3 credits used, 43 remaining
Best Practices
Start simple, then customize
Start simple, then customize
Send just
urls first to see what the AI produces. Then add scriptStyle, targetAudience, or userInstructions to fine-tune results. Over-specifying can constrain the AI unnecessarily.Use targetAudience for tone matching
Use targetAudience for tone matching
Instead of verbose
userInstructions, use targetAudience to let the AI adapt vocabulary, hook strategy, and energy level automatically. A “Gen Z TikTok users” audience gets a very different script than “C-suite executives.”Custom avatars for brand consistency
Custom avatars for brand consistency
Use
avatarImageUrl with your brand ambassador or influencer’s photo for consistent branding across all videos. Pair with overrideScript for full creative control.Generate variants for A/B testing
Generate variants for A/B testing
Use
variantCount: 2-3 to test different creative approaches. Variants use different scripts, hook strategies, and creative angles automatically.Monitor generation progress
Monitor generation progress
Poll
/api/v1/jobs/{jobId} every 10-15 seconds, or register a webhookUrl to be notified automatically. Check the stage field to see pipeline progress.Next Steps
After submitting a generation job:- Poll for status: Use Get Job Status to monitor progress — or register a webhook to be notified on completion
- Download videos: Once
status: "completed", find video URLs incompletedDetails[].finalOutputUrl - Publish to social: Use the Publishing API to schedule posts across platforms
- Track performance: Use the Analytics API to monitor engagement metrics

