VEED UGC
Generate UGC-style promotional videos with AI lip-sync. Takes an image (person with product from Morpheus/Ad-Ready) and a script (pure dialogue), creates a video of the person spea…
Paul de Lavallaz
@pauldelavallaz
What This Skill Does
Generates UGC-style promotional videos from a static image of a person with a product and a pure dialogue script. Uses AI lip-sync and ElevenLabs voice synthesis to create a video of the person speaking the script.
Replaces manual video production and actor recording by automating lip-synced UGC videos from a single image and script.
When to Use It
- Create authentic-looking product testimonials from a single product photo
- Generate multiple dialogue variations for A/B testing ad creatives
- Produce localized promotional videos by swapping scripts and voices
- Turn Morpheus or Ad-Ready generated images into speaking video ads
- Rapidly prototype video ad concepts without hiring actors or studios
Install
$ openclaw skills install @pauldelavallaz/veed-ugcVeed-UGC
Generate UGC (User Generated Content) style promotional videos with AI lip-sync using ComfyDeploy's Veed-UGC workflow.
Overview
Veed-UGC transforms static images into dynamic promotional videos:
- Takes a photo of a person with a product (from Morpheus or Ad-Ready)
- Receives a script (pure dialogue text)
- Creates a lip-synced video of the person speaking the script
Perfect for creating authentic-feeling promotional content at scale.
API Details
Endpoint: https://api.comfydeploy.com/api/run/deployment/queue
Deployment ID: 627c8fb5-1285-4074-a17c-ae54f8a5b5c6
Required Inputs
| Input | Description | Example |
|---|---|---|
image | URL of person+product image | Output from Morpheus/Ad-Ready |
script | Pure dialogue text | "Hola che! Cómo anda todo por allá?" |
voice_id | ElevenLabs voice ID | Default: PBi4M0xL4G7oVYxKgqww |
⚠️ CRITICAL: Script Format
The script input must be PURE DIALOGUE ONLY:
✅ CORRECT:
Hola che! Cómo anda todo por allá? Mirá esto que acabo de probar, una locura total.
❌ WRONG - No annotations:
[Entusiasta] Hola che! (pausa) Cómo anda?
❌ WRONG - No tone directions:
Tono argentino informal: Hola che!
❌ WRONG - No stage directions:
*sonríe* Hola che! *levanta el producto*
❌ WRONG - No titles/labels:
ESCENA 1:
Hola che!
Just write exactly what the person should say. Nothing else.
Voice IDs (ElevenLabs)
| Voice | ID | Description |
|---|---|---|
| Default | PBi4M0xL4G7oVYxKgqww | Main voice |
More voices can be added from ElevenLabs
Usage
uv run ~/.clawdbot/skills/veed-ugc/scripts/generate.py \
--image "https://example.com/person-with-product.png" \
--script "Hola! Les quiero mostrar este producto increíble que acabo de probar." \
--output "ugc-video.mp4"
With local image file:
uv run ~/.clawdbot/skills/veed-ugc/scripts/generate.py \
--image "./morpheus-output.png" \
--script "Mirá, yo antes no usaba esto pero ahora no puedo vivir sin él." \
--voice-id "PBi4M0xL4G7oVYxKgqww" \
--output "promo-video.mp4"
Direct API Call
const response = await fetch("https://api.comfydeploy.com/api/run/deployment/queue", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_KEY"
},
body: JSON.stringify({
"deployment_id": "627c8fb5-1285-4074-a17c-ae54f8a5b5c6",
"inputs": {
"image": "/* put your image url here */",
"voice_id": "PBi4M0xL4G7oVYxKgqww",
"script": "Hola che! Cómo anda todo por allá?"
}
})
});
Workflow Integration
Typical Pipeline
-
Generate image with Morpheus/Ad-Ready
uv run morpheus... --output product-shot.png -
Write the script (pure dialogue)
-
Create UGC video from the image
uv run veed-ugc... --image product-shot.png --script "..." --output promo.mp4
Output
The workflow outputs an MP4 video file with:
- The original image animated with lip-sync
- AI-generated voiceover from the script
- Natural head movements and expressions
Notes
- Image should clearly show a person's face (frontal or 3/4 view works best)
- Script is spoken exactly as written - no interpretation
- Video length depends on script length
- Processing time: ~2-5 minutes depending on script length
Top skills in this category
Nano Banana Pro
@steipeteGenerate/edit images with Nano Banana Pro (Gemini 3 Pro Image). Use for image create/modify requests incl. edits. Supports text-to-image + image-to-image; 1K/2K/4K; use --input-image.
AdMapix
@fly0pantsAdMapix raw data layer for ad creatives, apps, rankings, downloads/revenue, and market metadata. Returns structured JSON from the AdMapix API; the calling ag...
YouTube Watcher
@michaelgatharaFetch and read transcripts from YouTube videos. Use when you need to summarize a video, answer questions about its content, or extract information from it.
SuperDesign
@mpociotExpert frontend design guidelines for creating beautiful, modern UIs. Use when building landing pages, dashboards, or any user interface.
Video Frames
@steipeteExtract frames or short clips from videos using ffmpeg.