Skip to main content
Automatically Creating a professional quality advertisement from product videography B-Roll
Open In Colab

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:
  1. Upload raw product footage (a jewelry shoot).
  2. Analyze the visual content automatically.
  3. Generate a professional ad script based on the visuals.
  4. Synthesize a high-quality voiceover.
  5. Publish the final commercial.

Setup

Installing VideoDB

!pip install videodb

API Key

You only need your VideoDB API Key. Get your API key from VideoDB Console. Free for first 50 uploads, no credit card required.

Implementation

Step 1: Connect to VideoDB

Establish a connection to your VideoDB project.
import videodb

# Set your API key
api_key = "your_api_key"

# Connect to VideoDB
conn = videodb.connect(api_key=api_key)
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.
scene_id = 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

We’ll overlay the generated voiceover onto the original video using the Timeline editor.
from videodb.editor import Timeline, Track, Clip, VideoAsset, AudioAsset

# Create a timeline
timeline = Timeline(conn)

# 1. Video Track (Background)
video_track = Track()
video_asset = VideoAsset(id=video.id)
video_clip = Clip(asset=video_asset, duration=float(video.length))
video_track.add_clip(0, video_clip)
timeline.add_track(video_track)

# 2. Audio Track (Voiceover Overlay)
audio_track = Track()
audio_asset = AudioAsset(id=audio.id)
audio_clip = Clip(asset=audio_asset, duration=float(audio.length))
audio_track.add_clip(0, audio_clip)
timeline.add_track(audio_track)

Step 7: Review and Share

Generate the stream URL to watch your AI-created commercial.
from videodb import play_stream

stream_url = timeline.generate_stream()
play_stream(stream_url)
Output:

Conclusion

You have successfully automated the production of a product advertisement. By replacing multiple external tools with VideoDB’s unified SDK, you can now build scalable video generation engines that turn raw footage into polished content automatically.

Explore Full Notebook

Open the complete implementation in Google Colab with all code examples.