couple-repo/Projects/DONE/videotoMP3Transcriptor.md
StillHammer c408959fdf Major repo update: First DONE project + execution patterns validated
## Projects
-  videotoMP3Transcriptor → DONE (first shipped project! 🎉)
- GroveEngine → WIP (reference doc with 46 commits/3 weeks)
- WeChat Homework Bot → WIP (comprehensive mini program plan)
- ocr_pdf_service → CONCEPT (from PAUSE)
- SecondVoice → PAUSE (failed attempt, will restart)

## Execution Patterns (Nov 2025)
- 102 commits in 3 weeks (aissia: 33, groveengine: 46, confluent: 23)
- 71% active time (15/21 days)
- VERDICT: Alexis EXECUTES, not "plan only"
- Balance: Big architectural projects + Fast shipping (videotoMP3 in 2 days)

## Couple
- Hospital incident 29 nov documented (successful deescalation)
- Pattern confirmed: Physical needs > Emotional management
- Pattern confirmed: Retreat > Insist when tension

## Updated files
- Status_Projets.md: Full project status with execution data
- Alexis.md: Profile update with execution proof + hospital incident
- CLAUDE.md: Current project state (5 WIP, 6 PAUSE, 1 DONE, 4 CONSTANT, 6 CONCEPT)
- New: Projects/DONE/ folder structure
- New: wechat_miniapp_homework.md (880 lines)
- New: couple_backlog/29_novembre_2025_hopital.md

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 17:41:24 +08:00

7.5 KiB
Raw Blame History

VideoToMP3Transcriptor - YouTube Download & Transcription Service

Status: DONE Type: Utility Service (Node.js) Location: C:\Users\alexi\Documents\projects\videotoMP3Transcriptor Created: 24 novembre 2025 Shipped: 25 novembre 2025 Moved to DONE: 30 novembre 2025


Vue d'ensemble

Service complet pour télécharger vidéos YouTube en MP3, transcrire, traduire et résumer.

Use Cases

  • Télécharger cours vidéo en MP3
  • Transcrire automatiquement (chinois, français, anglais, etc.)
  • Traduire transcriptions
  • Générer résumés AI

Stack Technique

Backend:

  • Node.js 18+
  • Express (REST API + SSE streaming)
  • OpenAI API (Whisper + GPT-4o-mini + GPT-5.1)

CLI Tools:

  • yt-dlp (YouTube download)
  • ffmpeg (audio conversion)

Port: 8888 (par défaut)


Features

Download

  • Single YouTube video → MP3
  • Playlist complète → MP3 batch
  • Custom output directory

Transcription

  • 3 modèles dispo :
    • gpt-4o-mini-transcribe (défaut) - Rapide, économique
    • gpt-4o-transcribe - Qualité supérieure
    • whisper-1 - Legacy (supports SRT/VTT)
  • Multi-langue (auto-detect ou spécifié)
  • Formats : txt, json, srt, vtt

Traduction

  • GPT-4o-mini
  • Multi-langue support

Résumé

  • GPT-5.1
  • Résumé intelligent contextuel

Interfaces

  • CLI (commands via npm run)
  • REST API (endpoints POST/GET)
  • SSE Streaming (progress en temps réel)
  • Interface Web (public/)

API Endpoints

Core Endpoints

POST /download - Télécharge vidéo/playlist en MP3

curl -X POST http://localhost:8888/download \
  -H "Content-Type: application/json" \
  -d '{"url": "https://youtube.com/watch?v=VIDEO_ID"}'

POST /transcribe - Transcrit fichier audio existant

curl -X POST http://localhost:8888/transcribe \
  -H "Content-Type: application/json" \
  -d '{"filePath": "./output/video.mp3", "language": "en"}'

POST /process - Download + Transcribe en un appel

curl -X POST http://localhost:8888/process \
  -H "Content-Type: application/json" \
  -d '{"url": "URL", "language": "zh", "format": "txt"}'

SSE Streaming Endpoints

POST /download-stream - Download avec progress temps réel POST /process-stream - Process avec updates streaming POST /summarize-stream - Résumé avec streaming

Utility Endpoints

GET /health - Health check GET /info?url=URL - Info vidéo/playlist GET /files-list - Liste fichiers téléchargés GET /files/:filename - Download fichier spécifique


Configuration

Environment Variables (.env):

OPENAI_API_KEY=sk-...
PORT=8888
OUTPUT_DIR=./output

Modèles par défaut:

  • Transcription : gpt-4o-mini-transcribe
  • Résumé : gpt-5.1
  • Traduction : gpt-4o-mini

Usage

CLI

# Download vidéo
npm run cli download "https://youtube.com/watch?v=VIDEO_ID"

# Transcrire fichier
npm run cli transcribe ./output/video.mp3 -l fr

# Download + Transcribe
npm run cli process "URL" -l en

# Info vidéo
npm run cli info "URL"

Linux Scripts (shortcuts)

# Make executable (first time)
chmod +x scripts/*.sh

# Download
./scripts/download.sh "URL"

# Transcribe
./scripts/transcribe.sh ./output/file.mp3 zh

# Process all-in-one
./scripts/process.sh "URL" fr

# Start server
./scripts/server.sh

API Server

# Start server
npm run server

# Server runs on http://localhost:8888

Structure Projet

videotoMP3Transcriptor/
├── docs/
│   └── API.md              # Documentation API complète
├── src/
│   ├── server.js           # Express server + routes
│   ├── cli.js              # CLI interface
│   └── services/
│       ├── youtube.js      # YouTube download
│       ├── transcription.js # OpenAI Whisper
│       ├── translation.js  # GPT translation
│       └── summarize.js    # GPT-5.1 summarization
├── scripts/                # Linux convenience scripts
│   ├── download.sh
│   ├── transcribe.sh
│   ├── process.sh
│   ├── server.sh
│   └── info.sh
├── public/                 # Web interface
├── output/                 # Downloaded files (default)
├── .env                    # Configuration
└── package.json

Git Activity

Commits: 2 (24-25 nov 2025)

Timeline:

  • 24 nov : Initial commit (download + transcription)
  • 25 nov : Add AI summarization (GPT-5.1)

Status: Shipped et fonctionnel


Use Cases Actuels

1. Cours Chinois

  • Download cours vidéo YouTube
  • Transcription automatique chinois
  • Révision texte pour Anki

2. Contenu Éducatif

  • Vidéos diverses langues
  • Génération transcriptions
  • Traduction si besoin

3. Prototype pour Homework Bot

  • Code réutilisable :
    • services/transcription.js → Whisper integration
    • services/youtube.js → Video download
    • Pattern SSE streaming → Feedback temps réel
  • Overlap : 50% du code homework bot déjà écrit ici

Relation avec Autres Projets

Chinese Audio TTS Pipeline (PAUSE)

Verdict : OBSOLÈTE

  • videotoMP3 fait déjà exactement ça
  • Pas besoin de projet séparé
  • Action : ARCHIVE chinese_audio_tts_pipeline

WeChat Homework Bot (WIP)

Synergies :

  • Whisper API transcription
  • GPT-4 API correction (similaire résumé)
  • File upload/processing
  • Node.js/Express backend

Réutilisation : Copy/paste services/transcription.js dans homework bot


Pourquoi DONE

Critères "DONE":

  • Shipped et fonctionnel
  • Utilisé en production (cours chinois)
  • Pas de développement actif prévu
  • Maintenance seulement si bugs

Pas un projet "abandonné" : C'est un service terminé et opérationnel.

Différence avec WIP :

  • WIP = Développement actif en cours
  • DONE = Shipped, maintenance uniquement

Installation & Démarrage Rapide

Prerequisites

# Windows
winget install yt-dlp
winget install ffmpeg

# macOS
brew install yt-dlp ffmpeg

# Linux
sudo apt install yt-dlp ffmpeg

Setup

cd C:\Users\alexi\Documents\projects\videotoMP3Transcriptor

# Install dependencies
npm install

# Configure
cp .env.example .env
# Edit .env: Add OPENAI_API_KEY

# Start server
npm run server

# Or use CLI
npm run cli download "https://youtube.com/watch?v=..."

Documentation

API complète : docs/API.md dans le repo

Maintenance : Documentation toujours à jour avec le code


Performance

Transcription :

  • 2min audio → ~10-15s (gpt-4o-mini-transcribe)
  • Dépend latence API OpenAI

Download :

  • Dépend vitesse YouTube + taille fichier
  • Progress visible via SSE streaming

Coûts

OpenAI API (estimation 20 vidéos/mois, 10min moy) :

  • Transcription : 20 × 10min × $0.006/min = $1.20/mois
  • Résumé : 20 × $0.02 = $0.40/mois
  • Total : ~$1.60/mois

Infrastructure : 0€ (local)


Liens

Repo Git: C:\Users\alexi\Documents\projects\videotoMP3Transcriptor

Documentation API: docs/API.md

CLAUDE.md: Instructions développement et maintenance


Notes

Créé : 24 novembre 2025 Shipped : 25 novembre 2025 Moved to DONE : 30 novembre 2025 Auteur : Alexis Trouvé

Pattern de travail : Fast shipping (2 jours conception → shipped)

Lesson learned : Service utilitaire bien scopé = 2 jours de dev = Utilisable immédiatement


Tags : #nodejs #youtube #whisper #transcription #openai #gpt #done