How ali-hassan1590/whisperfy-django works
Whisperfy exposes two upload-driven REST workflows: convert/extract audio to a downloadable WAV, or transcribe audio/video and return text, detected language, and timestamped segments. Both validate and temporarily save uploads in their endpoint views, then invoke MoviePy-backed services; transcription additionally invokes Whisper. Root routing also exposes health checks and OpenAPI/Swagger/ReDoc documentation. The sampled source supports these call paths; no database-backed product workflow is evident in the excerpts.
Main entry points: urls.py Root routing · extractor/views.py Extraction endpoint · transcription/views.py Transcription endpoint · services.py Audio preparation
Components 14
API entry points
- Root routing
whisperfy-django/core/urls.py - Django configuration
whisperfy-django/core/settings.py - API documentation
whisperfy-django/core/urls.py
Audio extraction
- Extractor routes
whisperfy-django/extractor/urls.py - Extraction endpoint
whisperfy-django/extractor/views.py - Audio conversion
whisperfy-django/extractor/services.py - WAV download
Transcription
- Transcription routes
whisperfy-django/transcription/urls.py - Transcription endpoint
whisperfy-django/transcription/views.py - Audio preparation
whisperfy-django/transcription/services.py - Transcription JSON
Other components
- API client
- MoviePy / ffmpeg
- OpenAI Whisper
Connections 17
- API client → Root routing: sends requests
- Root routing → Extractor routes: dispatches
- Root routing → Transcription routes: dispatches
- Root routing → API documentation: serves docs
- Extractor routes → Extraction endpoint: routes to
- Extraction endpoint → Django configuration: reads limits
- Extraction endpoint → Audio conversion: calls conversion
- Audio conversion → MoviePy / ffmpeg: converts media
- Extraction endpoint → WAV download: returns file
- API client → WAV download: downloads
- Transcription routes → Transcription endpoint: routes to
- Transcription endpoint → Django configuration: reads limits
- Transcription endpoint → Audio preparation: calls processing
- Audio preparation → MoviePy / ffmpeg: prepares audio
- Audio preparation → OpenAI Whisper: transcribes audio
- Transcription endpoint → Transcription JSON: returns JSON
- API client → Transcription JSON: receives