Transcribe ALL videos from a TikTok profile. Use when you want to process an entire profile's content.
This command processes ALL videos from a TikTok profile - scraping URLs, downloading audio, transcribing, and creating organized summaries.
Ask the user:
What TikTok profile do you want to process?
Example:
https://www.tiktok.com/@example_creator
Ask the user:
How many videos do you want to process?
Options:
- All - Process every video on the profile
- Number - Process only the first N videos (e.g., "5" or "10")
Check that the project is set up:
cd /path/to/project
source .venv/bin/activate
which yt-dlp
If not set up, tell user to run /start first.
Run the scraper to discover all videos:
source .venv/bin/activate && python -c "
from short_form_scraper.scraper.tiktok import TikTokScraper
scraper = TikTokScraper('PROFILE_URL_HERE')
videos = list(scraper.get_video_urls(limit=LIMIT_OR_NONE))
print(f'Found {len(videos)} videos:')
for i, v in enumerate(videos, 1):
print(f'{i}. {v.title[:60]}...' if len(v.title) > 60 else f'{i}. {v.title}')
print(f' URL: {v.url}')
print()
"
Show the user the list and confirm they want to proceed.
For each video, run:
source .venv/bin/activate && python -c "
from short_form_scraper.scraper.tiktok import TikTokScraper
from short_form_scraper.downloader.video import VideoDownloader
from short_form_scraper.transcriber.whisper import WhisperTranscriber
from pathlib import Path
import json
# Initialize components
scraper = TikTokScraper('PROFILE_URL_HERE')
downloader = VideoDownloader()
transcriber = WhisperTranscriber()
# Create output directories
Path('transcripts').mkdir(exist_ok=True)
Path('state').mkdir(exist_ok=True)
# Get videos
videos = list(scraper.get_video_urls(limit=LIMIT_OR_NONE))
for i, metadata in enumerate(videos, 1):
print(f'[{i}/{len(videos)}] Processing: {metadata.title[:50]}...')
try:
# Download audio
audio_path = downloader.download(metadata.url, Path(f'state/audio_{metadata.id}'))
print(f' Downloaded: {audio_path}')
# Transcribe
transcript = transcriber.transcribe(audio_path)
print(f' Transcribed: {len(transcript)} chars')
# Save transcript with metadata
transcript_file = Path('transcripts') / f'{metadata.id}.txt'
content = f'''Video ID: {metadata.id}
Title: {metadata.title}
URL: {metadata.url}
Duration: {metadata.duration}s
--- TRANSCRIPT ---
{transcript}
'''
transcript_file.write_text(content)
print(f' Saved: {transcript_file}')
# Clean up audio file to save space
audio_path.unlink()
except Exception as e:
print(f' ERROR: {e}')
print()
print('Done! Transcripts saved to transcripts/')
"
After all transcripts are generated, YOU (Claude Code) will:
Read each transcript file from transcripts/ directory
For each transcript, analyze and extract:
Create organized output in summaries/ directory:
summaries/
├── INDEX.md
├── {topic-name}/
│ └── {slugified-title}.md
IMPORTANT: Filename from Video Title
how-to-use-context-windows.mdclaude-code-tips-tricks.mdEach summary file format:
---
video_id: {id}
title: {title}
url: {url}
topic: {topic}
---
# {Title}
## Summary
{one-sentence summary}
## Key Tips
- {tip 1}
- {tip 2}
- {tip 3}
## Details
{additional context}
## Full Transcript
{original transcript}
Create INDEX.md listing all summaries grouped by topic:
# Video Summaries Index
## {Topic Name}
- [{Video Title}](./{topic-name}/{slugified-title}.md)
After completion, report: