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.2.tar.gz (61.4 kB 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.2-py3-none-any.whl (16.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for slurpai-0.2.2.tar.gz
Algorithm Hash digest
SHA256 c0d0ce47fc39a30f8d009983b1d02c3672cc15686edc90459a3c2bc5d28c6d69
MD5 f252808a2a6c676da80de15d4377b8e9
BLAKE2b-256 65555e1890741e3bcac3e05b17b9ab7f71c7b0cb33de46feb76afbcd116239dc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: slurpai-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 16.8 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d987aa3f1f3354a5b57ec6ead01472415c6ee4b57f5ef0eb8b381e557eba9a45
MD5 a618f3361ba0bb229ef6e5263efd4eac
BLAKE2b-256 7284d95f330c294ca983430de77bfb9660f36127a3f677a73a3ad4fd1c446206

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