---
estimated_steps: 10
estimated_files: 3
skills_used: []
---

# T04: Whisper transcription script

1. Create Python script whisper/transcribe.py that:
   - Accepts video file path (or directory for batch mode)
   - Extracts audio via ffmpeg (subprocess)
   - Runs Whisper large-v3 with segment-level and word-level timestamps
   - Outputs JSON matching the spec format (source_file, creator_folder, duration, segments with words)
   - Supports resumability: checks if output JSON already exists, skips
2. Create whisper/requirements.txt (openai-whisper, ffmpeg-python)
3. Write output to a configurable output directory
4. Add CLI arguments: --input, --output-dir, --model (default large-v3), --device (default cuda)
5. Include progress logging for long transcriptions

## Inputs

- `chrysopedia-spec.md section 7.2 Stage 1`

## Expected Output

- `whisper/transcribe.py`
- `whisper/requirements.txt`
- `whisper/README.md`

## Verification

python whisper/transcribe.py --help shows usage; script validates ffmpeg is available
