
# Destinations

The destinations feature lets you send rendered assets, ingested footage and renditions to built in and 3rd party
services directly from the API. Once integrated videos and images will automatically be distributed to the destinations
you specify.

### Available destinations

- [Shotstack](./shotstack) (default)
- [S3](./s3)
- [Google Cloud Storage](./google-cloud-storage)
- [Azure Blob Storage](./azure-blob-storage)
- [Google Drive](./google-drive)
- [Akamai NetStorage](./akamai-netstorage)
- [Vimeo](./vimeo)

### Adding credentials

Apart from Shotstack, destinations require you to add credentials, keys or passwords. These can be added via the
dashboard from the [integrations page](https://dashboard.shotstack.io/integrations/). Each destination includes
integration instructions and form fields to enter credentials and any other configuration options.

Example integrations page for the AWS S3 destination:

![image](/img/s3-credentials.png)

### Integrating destinations

You instruct a render or ingest task to send output files to a destination using the `destinations` parameter. When
editing videos you set the destinations parameter in the `output`, and for ingested source files and renditions you set
the value at the root level of the request body.

The `destinations` parameter is an array of one or more destinations to send assets to. You can send one asset to
multiple destinations.

An edit output configuration to send a video to the S3 destination might look like:

```json
{
    "timeline": {
        ...
    },
    "output": {
        "format": "mp4",
        "resolution": "sd",
        "destinations": [{
            "provider": "s3"
        }]
    }
}
```

Using the ingest API to send a source file to the S3 destination might look like:

```json
{
    "url": "https://example.com/video.mp4",
    "destinations": [{
        "provider": "s3"
    }]
}
```

### Serve API

The [Serve API](./../serve-api.md) lets you check the status of asset transfers and their availability at each
destination.
