- YouTube video/playlist download as MP3 (yt-dlp) - Audio transcription with OpenAI (gpt-4o-transcribe, whisper-1) - Translation with GPT-4o-mini (chunking for long texts) - Web interface with progress bars and drag & drop - CLI and REST API interfaces - Linux shell scripts 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
33 lines
921 B
Bash
33 lines
921 B
Bash
#!/bin/bash
|
|
# Download AND transcribe a YouTube video/playlist
|
|
# Usage: ./process.sh <url> [language] [model]
|
|
|
|
cd "$(dirname "$0")/.."
|
|
|
|
URL="$1"
|
|
LANGUAGE="${2:-}"
|
|
MODEL="${3:-gpt-4o-transcribe}"
|
|
|
|
if [ -z "$URL" ]; then
|
|
echo "Usage: ./process.sh <youtube_url> [language] [model]"
|
|
echo ""
|
|
echo "Languages: en, fr, es, de, it, pt, zh, ja, ko, ru, etc."
|
|
echo "Models: gpt-4o-transcribe (default), gpt-4o-mini-transcribe, whisper-1"
|
|
echo ""
|
|
echo "Examples:"
|
|
echo " ./process.sh 'https://youtube.com/watch?v=VIDEO_ID'"
|
|
echo " ./process.sh 'https://youtube.com/watch?v=VIDEO_ID' fr"
|
|
echo " ./process.sh 'https://youtube.com/watch?v=VIDEO_ID' en gpt-4o-mini-transcribe"
|
|
exit 1
|
|
fi
|
|
|
|
ARGS="\"$URL\""
|
|
if [ -n "$LANGUAGE" ]; then
|
|
ARGS="$ARGS -l $LANGUAGE"
|
|
fi
|
|
if [ -n "$MODEL" ] && [ "$MODEL" != "gpt-4o-transcribe" ]; then
|
|
ARGS="$ARGS -m $MODEL"
|
|
fi
|
|
|
|
eval "npm run cli process $ARGS"
|