System requirements
Camera Workflow requires external tools for media conversion:
FFmpeg Video conversion and probing ffmpeg and ffprobe binaries
ImageMagick Image conversion and EXIF reading magick binary (version 7+)
ImageMagick 7 required : The tool uses the magick command (ImageMagick 7), not the legacy convert command. Verify with magick --version.
Install dependencies
Install with Homebrew: brew install ffmpeg imagemagick
Verify installation: ffmpeg -version
ffprobe -version
magick --version
Ubuntu/Debian
Fedora/RHEL
Arch
sudo apt update
sudo apt install ffmpeg imagemagick
sudo dnf install ffmpeg imagemagick
sudo pacman -S ffmpeg imagemagick
Verify installation: ffmpeg -version
ffprobe -version
magick --version
Add to PATH
Ensure both tools are in your system PATH. Verify with: ffmpeg - version
magick -- version
Install Camera Workflow CLI
macOS
Linux
Windows
Build from source
Download binary
Download the appropriate binary from GitHub Releases :
Apple Silicon (M1/M2/M3/M4): media-converter-macos-apple-silicon
Intel : media-converter-macos-intel
Make executable
chmod +x media-converter-macos- *
Move to PATH
sudo mv media-converter-macos- * /usr/local/bin/media-converter
Verify installation
If macOS blocks the binary, go to System Settings → Privacy & Security and click Allow Anyway .
Download binary
Download from GitHub Releases :
x64 : media-converter-linux-amd64
ARM64 : media-converter-linux-arm64
Make executable
chmod +x media-converter-linux- *
Move to PATH
sudo mv media-converter-linux- * /usr/local/bin/media-converter
Rename (optional)
Rename to media-converter.exe for easier command-line use.
Add to PATH
Move the executable to a directory in your PATH, or add its location to your PATH environment variable.
Install Go
Install Go 1.21 or later from go.dev .
Clone repository
git clone https://github.com/Azilone/Camera-Workflow.git
cd Camera-Workflow
Build binary
go build -o media-converter ./main.go
Move to PATH (optional)
sudo mv media-converter /usr/local/bin/
Install Raycast extension
The Raycast extension is only available on macOS.
Install Raycast
Download and install Raycast if you haven’t already.
Import extension
The extension includes embedded binaries and doesn’t require the CLI to be in your PATH. Installation instructions for the Raycast extension will be available when the extension is published to the Raycast Store.
Verify dependencies
The extension will check for ffmpeg, ffprobe, and magick on first run. If missing, install with: brew install ffmpeg imagemagick
Configuration (optional)
Camera Workflow supports a YAML configuration file for default settings. Create ~/.media-converter.yaml:
# Default settings
keep_originals : true
max_jobs : 6
organize_by_date : true
# Image conversion
photo_format : avif
photo_quality_avif : 80
photo_quality_webp : 85
# Video conversion
video_codec : h265
video_crf : 28
video_acceleration : true
# Adaptive workers for video
adaptive_workers :
enabled : false
min : 1
max : 6
cpu_high : 80.0
cpu_low : 50.0
mem_low_percent : 20.0
interval_seconds : 3
# Security
timeout_photo : 300 # 5 minutes
timeout_video : 1800 # 30 minutes
min_output_size_ratio : 0.005
# Organization
language : en # en, fr, es, de
Command-line flags override configuration file settings. Use media-converter --config /path/to/config.yaml to specify a custom location.
Verify installation
Run a dependency check:
You should see:
A secure, parallel media converter that converts images to modern formats (AVIF, WebP)
and videos to efficient codecs (H.265, AV1) with built-in safety checks and file organization.
Usage:
media-converter [source] [destination] [flags]
The converter will automatically check for FFmpeg and ImageMagick when you run a conversion.
Next steps
Quick start guide Convert your first batch of media
CLI commands Explore all available commands and flags