# Caery Usage
Caery can run as a desktop GUI or as a terminal converter. It expects `ffmpeg` and `ffprobe` on `PATH`.
## GUI
Run with no arguments to open the desktop interface:
```bash
caery
```
From source:
```bash
cargo run
```
## Quick CLI
Run with two paths to convert immediately. Caery infers the route from the input and output extensions:
```bash
caery song.wav song.mp3
caery clip.mp4 clip.flac
caery clip.mkv clip.webm
```
Supported inferred routes:
- Audio to audio, such as `song.wav` to `song.mp3`.
- Video to audio, such as `clip.mp4` to `clip.flac`.
- Video to video, such as `clip.mkv` to `clip.webm`.
Unsupported pairs fail before conversion. For example, `caery song.wav song.mp4` reports that audio input cannot be converted into a video output.
## Explicit CLI
Use `--cli` when you want explicit route, format, quality, or overwrite options:
```bash
caery --cli --input clip.mp4 --audio-format mp3
caery --cli --input clip.mkv --output clip.webm --mode video-to-video --video-format webm --quality archive
caery --cli --input song.wav --mode audio-to-audio --audio-format flac
```
Options:
- `--input` or `-i`: source media file.
- `--output` or `-o`: output file; omitted output paths use `<source>-caery.<format>`.
- `--mode` or `-m`: `extract-audio`, `video-to-video`, or `audio-to-audio`.
- `--audio-format`: `mp3`, `m4a`, `flac`, `wav`, `ogg`, or `opus`.
- `--video-format`: `mp4`, `mkv`, `webm`, or `mov`.
- `--quality` or `-q`: `compact`, `balanced`, or `archive`.
- `--overwrite` or `-y`: replace an existing output file.
## Desktop Install
Install a Linux desktop launcher for the exact binary that runs the command:
```bash
caery --install
```
From source:
```bash
cargo run -- --install
```
The installer writes:
- `~/.local/share/applications/caery.desktop`
- `~/.local/share/icons/hicolor/256x256/apps/caery.png` from the bundled `assets/logo.png`
- `~/Desktop/Caery.desktop` when `~/Desktop` exists
For a permanent launcher, run `--install` from the final installed binary path rather than a temporary build path.