Skip to content

AI Generated Ad Films for Product Videography

Automatically Creating a professional quality advertisement from product videography B-Roll

Overview

Creating professional product advertisements typically requires a team: copywriters for the script, voice actors for the narration, and editors to stitch it all together.
VideoDB streamlines this into a single, automated workflow.
In this tutorial, we will:
Upload raw product footage (a jewelry shoot).
Analyze the visual content automatically.
Generate a professional ad script based on the visuals.
Synthesize a high-quality voiceover.
Publish the final commercial.

Setup

📦 Installing VideoDB

%pip install videodb

🔑 API Key

You only need your VideoDB API Key.
Get your API key from . (Free for first 50 uploads, No credit card required).
import videodb
import os
from getpass import getpass

# Prompt user for API key securely
api_key = getpass("Please enter your VideoDB API Key: ")
os.environ["VIDEO_DB_API_KEY"] = api_key

Implementation


🌐 Step 1: Connect to VideoDB

Establish a connection to your VideoDB project.
from videodb import connect

# Connect to VideoDB
conn = connect()
coll = conn.get_collection()

🎥 Step 2: Upload Product Footage

We’ll upload a raw video clip of a jewelry product shoot from YouTube.
# Upload a video by URL
video = coll.upload(url='https://www.youtube.com/watch?v=2DcAMbmmYNM')

🔍 Step 3: Analyze Visuals

To write a relevant script, we first need to understand what’s in the video. We’ll use index_scenes() to extract detailed descriptions of the visual content.
video.index_scenes()

Let's view the description of first scene from the video
import json
scenes = video.get_scene_index(scene_id)

print(json.dumps(scenes[0], indent=2))
Output:
{
"description": "The entire series of images presents a uniform and absolute darkness, an unbroken expanse of pure black. There are no discernible shapes, colors, or details to be found, suggesting a complete absence of light or any visual information whatsoever across the whole sequence.",
"end": 1.401,
"metadata": {},
"scene_metadata": {},
"start": 0.0
}

📝 Step 4: Generate Ad Script

Now we use VideoDB’s text generation to write the commercial. We feed the visual descriptions into the prompt to ensure the script perfectly matches the mood of the footage.
# Construct a prompt with the scene context
scene_context = "\n".join([f"- {scene['description']}" for scene in scenes])

prompt = f"""
Here is a visual description of a jewelry product video:
{scene_context}

Write a short, elegant, and luxurious voiceover script for this video advertisement.
- Tone: Sophisticated, calming, premium.
- Length: Short (approx 20 seconds of speech).
- Content: Focus on beauty, craftsmanship, and elegance.
- Format: Return ONLY the raw narration text.
"""

# Generate script
text_response = coll.generate_text(
prompt=prompt,
model_name="pro"
)

ad_script = text_response["output"]

print("--- Generated Ad Script ---")
print(ad_script)

🎙️ Step 5: Generate Voiceover

We’ll turn the script into audio.
# Generate speech directly as a VideoDB Audio Asset
audio = coll.generate_voice(
text=ad_script,
voice_name="Default"
)

🎬 Step 6: Compose the Advertisement

 
Want to print your doc?
This is not the way.
Try clicking the ··· in the right corner or using a keyboard shortcut (
CtrlP
) instead.