# Convert to lossless audio

Preserve full audio quality with FLAC or WAV

"Crate" (a music distribution app like DistroKid) needs to keep master-quality audio for delivery to streaming platforms. Lossy formats like MP3 won't cut it.

## API

Convert to FLAC (lossless, compressed):

<CodeGroup labels={["CLI", "TypeScript", "Python", "curl"]}>
```bash
ittybit audio \
  -i https://crate-app.com/masters/track-07.wav \
  --format flac
```

```typescript
const task = {
  input: 'https://crate-app.com/masters/track-07.wav',
  kind: 'audio',
  options: {
    format: 'flac',
  },
};

const res = await fetch('https://api.ittybit.com/jobs', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.ITTYBIT_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify(task),
});
const data = await res.json();
```

```python

task = {
    "input": "https://crate-app.com/masters/track-07.wav",
    "kind": "audio",
    "options": {
        "format": "flac",
    },
}

res = requests.post(
    "https://api.ittybit.com/jobs",
    headers={"Authorization": f"Bearer {api_key}"},
    json=task,
)
data = res.json()
```

```bash
TASK='{
  "input": "https://crate-app.com/masters/track-07.wav",
  "kind": "audio",
  "options": {
    "format": "flac"
  }
}'

curl -X POST https://api.ittybit.com/jobs \
  -H "Authorization: Bearer $ITTYBIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d "$TASK"
```

</CodeGroup>

## CLI

```bash
ittybit audio \
  -i track-07.wav \
  -o track-07.flac
```

## Lossless vs lossy

| Format | Type                   | Size vs WAV | Use case              |
| ------ | ---------------------- | ----------- | --------------------- |
| `wav`  | Lossless, uncompressed | 1x          | Master archive        |
| `flac` | Lossless, compressed   | ~0.6x       | Distribution, archive |
| `mp3`  | Lossy                  | ~0.1x       | Playback, streaming   |
| `aac`  | Lossy                  | ~0.08x      | Playback, streaming   |
| `opus` | Lossy                  | ~0.06x      | Streaming, voice      |

## WAV to FLAC for archival

FLAC is ~40% smaller than WAV with zero quality loss. Good for cutting storage costs on masters:

```bash
ittybit audio \
  -i master.wav \
  -o master.flac
```

## Produce both master and streaming versions

```bash
ittybit audio \
  -i track-07.wav \
  -o track-07.flac

ittybit audio \
  -i track-07.wav \
  -o track-07.mp3 \
  --quality high

ittybit audio \
  -i track-07.wav \
  -o track-07.aac \
  --quality high
```