| Crates.io | prepis |
| lib.rs | prepis |
| version | 0.2.1 |
| created_at | 2025-07-20 20:54:56.815111+00 |
| updated_at | 2025-07-20 21:35:47.942397+00 |
| description | A command line utility that uses Amazon Transcribe to create video transcriptions |
| homepage | https://rup12.net |
| repository | https://github.com/darko-mesaros/prepis |
| max_upload_size | |
| id | 1761388 |
| size | 156,882 |
Sometimes you just need to have a transcription of video and audio files, very very fast. Well, now you don't need to leave the command line for this.

Your AWS credentials need the following permissions:
s3:PutObject - Upload files to S3s3:DeleteObject - Clean up temporary filess3:ListBuckets - Validate credentialstranscribe:StartTranscriptionJob - Start transcription jobstranscribe:GetTranscriptionJob - Check job statusgit clone <repository-url>
cd prepis
cargo build --release
cargo install --path .
cargo run -- <VIDEO_FILE> <S3_BUCKET>
# Transcribe a local MP4 file
cargo run -- my-video.mp4 my-transcription-bucket
# Transcribe an audio file
cargo run -- podcast.mp3 my-transcription-bucket
# Using the installed binary
prepis presentation.mov company-transcripts
cargo run -- --help
The application uses the standard AWS credential chain:
Environment Variables:
export AWS_ACCESS_KEY_ID=your-access-key
export AWS_SECRET_ACCESS_KEY=your-secret-key
export AWS_DEFAULT_REGION=us-east-1
AWS CLI Configuration:
aws configure
IAM Roles (when running on EC2)
AWS Profiles:
export AWS_PROFILE=your-profile
Create an S3 bucket for temporary file storage, or you can use your existing one - just be mindful of the implications:
aws s3 mb s3://your-transcription-bucket
Note: Files are automatically deleted after transcription completes.
The codebase is organized into the following modules:
src/
โโโ main.rs # Entry point, CLI handling and workflow orchestration
โโโ progress.rs # Handles displaying the upload progress bar
โโโ error.rs # Error types and user-friendly error display
โโโ models.rs # Data structures and enums
โโโ utils.rs # Utility functions for generating keys and job names
โโโ aws/
โ โโโ mod.rs # AWS module exports
โ โโโ client.rs # AWS client initialization and configuration
โ โโโ s3.rs # S3 operations for file upload and cleanup
โ โโโ transcribe.rs # Transcribe job management and result processing
โโโ file/
โโโ mod.rs # File module exports
โโโ validation.rs # File validation and transcription saving
| Video | Audio | Max Size | Max Duration |
|---|---|---|---|
| MP4, MOV, AVI, FLV, WebM, MKV | MP3, WAV, FLAC, M4A | 2GB | 4 hours |
The application provides helpful error messages for common issues:
"AWS credentials not found"
aws configure"S3 bucket access denied"
aws s3 ls s3://your-bucket"File format not supported"
"Transcription job failed"
aws sts get-caller-identityThis project is licensed under the MIT License - see the LICENSE file for details.