# connections


Manage S3 storage connections

```bash
ittybit connections <subcommand>
```

Configure S3-compatible storage. Works with AWS S3, R2, GCS, MinIO. Credentials stored in `~/.ittybit/connections.json`. Keep media in your own infrastructure while using Ittybit for processing.

## connections list

```bash
ittybit connections list
```

## connections add

```bash
ittybit connections add s3 \
  --name my-bucket \
  --endpoint https://s3.us-east-1.amazonaws.com \
  --region us-east-1 \
  --access-key-id AKIA... \
  --secret-access-key ...
```

For R2/MinIO:

```bash
ittybit connections add s3 \
  --name r2 \
  --endpoint https://abc123.r2.cloudflarestorage.com \
  --region auto \
  --access-key-id ... \
  --secret-access-key ...
```

## connections delete

```bash
ittybit connections delete my-bucket
```

## Using connections

```bash
ittybit video -i s3://bucket/input.mp4 -o s3://bucket/output.mp4 --connection my-bucket
```

Resolution: `--connection` flag → `ITTYBIT_CONNECTION` env → config default.

## See also

- [`video`](/cli/video), [`audio`](/cli/audio), [`image`](/cli/image), [`adaptive`](/cli/adaptive) — all accept `--connection` and S3 URLs for input/output
- [`task export`](/cli/task) — export task uses connections for S3 destinations
- [API `POST /jobs`](/api/create-job) with `output` — send output to S3 via the API