In performance marketing and e-commerce, the first 3 seconds of a video ad (the "Hook") determines 80% of its return on ad spend.
If you analyze winning TikTok and Instagram Reels ads, you'll find that most top-performing ads don't rely on voiceover alone: they burn bold, dynamic text overlays directly onto the video screen.
Commercial ad spy platforms (like Foreplay or PiPiADS) charge anywhere from $99 to $299/month for access to their creative databases.
In this tutorial, we will build an automated TikTok Ad Hook Extractor in Python in under 20 lines of code.
TikTok / Reels Ad URL
│
▼
[Video OCR Ripper Engine] ──► (Skips static frames, runs GPU OCR)
│
▼
Extracted Hook Text (First 3s) + Discount Codes + Full .SRT Transcript
│
▼
[OpenAI / Claude] ──► Categorizes the Angle (Problem/Solution, Curiosity, Social Proof)
│
▼
Notion Database / Airtable (Ready for Creative Team)
We'll use tiktok-subtitle-ripper, a lightweight open-source library that extracts on-screen text overlays and subtitle files directly from video links:
pip install tiktok-subtitle-ripper
Here is the complete script to extract the visual hook and full transcript from any competitor ad:
import httpx
RAPID_API_KEY = "YOUR_API_KEY"
API_URL = "https://tiktok-reels-subtitle-video-ocr-ripper.p.rapidapi.com"
headers = {
"X-RapidAPI-Key": RAPID_API_KEY,
"X-RapidAPI-Host": "tiktok-reels-subtitle-video-ocr-ripper.p.rapidapi.com"
}
def analyze_ad_creative(video_url: str):
res = httpx.post(f"{API_URL}/jobs/url", json={"url": video_url, "preset": "tiktok_reels"}, headers=headers)
job_id = res.json()["job_id"]
data = httpx.get(f"{API_URL}/jobs/{job_id}", headers=headers).json()
hook_texts = []
for segment in data.get("segments", []):
if segment["start"] <= 3.0:
hook_texts.extend([d["text"] for d in segment.get("detections", [])])
print(f"🎯 Detected Visual Hook (0-3s): {' | '.join(hook_texts)}")
return hook_texts
analyze_ad_creative("https://www.tiktok.com/@competitor/video/123456789")
When run against a top dropshipping or brand video ad, the script immediately outputs:
🎯 Detected Visual Hook (0-3s): THE VIRAL 3-STEP ROUTINE | 50% OFF TODAY WITH CODE GLOW50
From here, you can pipe this hook text directly to ChatGPT with a prompt like:
"Analyze this hook angle and write 3 variations for my brand."
If you want to test the video OCR extraction on your own ads without writing code, you can use the free web demo on Hugging Face Spaces.
For developers processing bulk ad libraries, check out the RapidAPI Marketplace Listing (free tier included, with scaling plans starting at $2.99/mo).