Skip to main content

Convert voice notes, videos, and audio files into AI-ready text and images

Project description

slurpai

Convert voice notes, videos, and audio files into AI-ready text and images.

Consultants, researchers, and anyone who works with AI tools faces the same problem: clients and colleagues send voice notes, screen recordings, and video walkthroughs — but your AI workflow needs text and images. SlurpAI bridges that gap with a single command.

Quick start

pip install slurpai
export OPENAI_API_KEY=sk-...
slurpai client-feedback.opus

That's it. You get a folder with transcript.txt and you're ready to feed it into whatever AI tool you're using.

Install

pip install slurpai

You also need ffmpeg on your PATH:

OS Command
macOS brew install ffmpeg
Ubuntu/Debian sudo apt install ffmpeg
Windows choco install ffmpeg or download from ffmpeg.org

Usage

# Transcribe a voice note
slurpai recording.opus

# Process a video (transcript + frame grabs every 15 seconds)
slurpai feedback.mp4

# Batch process everything in a folder
slurpai *.opus *.mp4

# Grab frames more frequently
slurpai --frame-interval 5 demo.mp4

# Use local Whisper instead of OpenAI API
pip install slurpai[local]
slurpai --backend faster-whisper recording.opus

# Preview what would be processed
slurpai --dry-run *.opus

Screen recording (macOS)

Capture your screen, system audio, and microphone in a single command — then automatically transcribe and extract frames.

Prerequisites

Screen recording requires macOS and a few additional tools:

brew install ffmpeg switchaudio-osx
brew install --cask blackhole-2ch

Then run one-time setup to create the audio routing device:

slurpai record --setup

You also need to grant your terminal app Screen Recording permission in System Settings > Privacy & Security > Screen Recording. Restart the terminal after granting.

Recording

# Record and auto-process (transcribe + frame extraction)
slurpai record --name "client-demo"

# Record only, skip processing
slurpai record --name "raw-capture" --no-process

# Press q to stop recording

Recovery

If a recording session crashes, your audio output is automatically restored on the next run. You can also restore manually:

slurpai record --restore

Output

Each file produces a folder alongside it:

recording/
├── transcript.txt    # Plain text transcription
├── frames/           # Video frame grabs (video only)
│   ├── frame_001.jpg
│   ├── frame_002.jpg
│   └── ...
└── process.log       # Timestamped processing log

Re-running the same command skips already-completed files (idempotent).

Privacy notice

By default, slurpai sends your audio to OpenAI's Whisper API for transcription. Your audio is transmitted to OpenAI's servers. Review OpenAI's data usage policy to understand how your data is handled.

If you need fully local, private transcription — no data leaves your machine:

pip install slurpai[local]
slurpai --backend faster-whisper recording.opus

This uses faster-whisper running entirely on your CPU. It's slower but nothing leaves your computer.

Configuration

Set OPENAI_API_KEY in your environment or a .env file in the current directory.

Variable Default Description
OPENAI_API_KEY Required for OpenAI backend
SLURPAI_BACKEND openai Default backend (openai or faster-whisper)
OPENAI_WHISPER_MODEL whisper-1 OpenAI model to use
SLURPAI_WHISPER_MODEL base Local Whisper model size (base, small, medium, large)

Supported formats

Audio: .opus, .m4a, .ogg, .mp3, .wav

Video: .mp4, .mkv, .mov, .webm

All formats are normalised to MP3 before transcription — this ensures consistent behaviour regardless of input format.

Requirements

Contributing

Found a bug or want to add a format? See CONTRIBUTING.md.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

slurpai-0.2.0.tar.gz (1.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

slurpai-0.2.0-py3-none-any.whl (17.1 kB view details)

Uploaded Python 3

File details

Details for the file slurpai-0.2.0.tar.gz.

File metadata

  • Download URL: slurpai-0.2.0.tar.gz
  • Upload date:
  • Size: 1.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for slurpai-0.2.0.tar.gz
Algorithm Hash digest
SHA256 ad6c6936881f684e228caffb58c8f1e83323102363b9e158f9cb4dd74f78febe
MD5 e7cd3618a052dd9432fc8fbbb3b089f3
BLAKE2b-256 26187ad808a1df6c62bed032b652961ce248ea6d4beff465f43c4feff2bc28ff

See more details on using hashes here.

File details

Details for the file slurpai-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: slurpai-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 17.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for slurpai-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d599eeb925d5ad5d1f59a887688ea7cf34700c89fbd282af33c36012f5942952
MD5 605dde5d260ac81c4ee4aacb717131d8
BLAKE2b-256 bfde4efd399ebf65b02ee8073831b9bfcff4346b11f44d8d8e2cdaca6207c909

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page