The Smartest Video Transcoding API
For Integrating Video Into Your Application.

No need to be an expert, we handle everything for you.

Start Transcoding
No credit card required
Enjoy powerful libraries to harness cloud video encoding for your project
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// Our mission at Coconut is to make cloud video transcoding simple
const coconut = new Coconut.Client('api-key');

coconut.notification = {
  'url': 'https://app/api/coconut/webhook'
};

coconut.storage = { 
  'service': 's3',
  'bucket': 'mybucket',
  'region': 'us-east-1',
  'credentials': { 'access_key_id': 'xxx', 'secret_access_key': 'xxx' }
};

coconut.Job.create({
  'input': { 'url': 'https://cdn/path/file.mp4' },
  'outputs': {
    'mp4:360p': { 'path': '/360p.mp4' },
    'mp4:720p': { 'path': '/720p.mp4' },
    'mp4:1080p': { 'path': '/1080p.mp4' }
  }
}, function(job, err) {
...
});

Official Client Libraries.

Use one of our client libraries and get started right now

The Coconut API is available worldwide.

We provide a multi-regions service so the latency is almost zero

USA region

North Virginia

The default region is in North Virginia East Coast - USA.
us-east-1

Sign up
USA region

Oregon

Second region in the US: Oregon West Coast - USA.
us-west-2

Sign up
Europe region

Ireland

The First region in Europe is Ireland - UK
eu-west-1

Sign up
We are working hard on opening new regions. Please contact us if yours is missing.

A Smart API for every kind of app.

Discover unique features for quick and smooth video integration

Simple Format Syntax

Coconut created a simple format syntax which is very easy to use, powerful and convention based. No need to be a professional about formats, codecs, resolutions or bitrate.

All format specs are already preconfigured for you, however you can customize everything if you need to.

See Format References →
Using built-in variables
1
2
3
4
5
6
7
8
9
10
11
'outputs': {
  'mp4:480p': {
    'path': '/trailer.mp4',
    'duration': 30,
    'if': '{{ input.duration }} > 120'
  },
  'mp4:2160p': {
    'path': '/4k.mp4',
    'if': '{{ input.width }} > 3840'
  }
}

Conditional Outputs

Skip a specific output by providing a condition. Very useful to avoid unnecessary upscaling and save on bandwidth costs.

We provide a number of built-in variables so you can control exactly which output needs to be processed or not.

Read documentation →

Notifications

The Coconut API is fully Asynchronous. No need to ping constantly to check for a job status, we come to you when it's done.
Receive Notifications at every steps of a job for real time progress with the events option.

We support Webhooks (HTTP) and AWS SNS notifications.

Read documentation →
Setting up Notifications with a custom parameter
1
2
3
4
5
6
7
8
9
'notification': {
  'type': 'http',
  'url': 'https://awesome.app/webhooks',
  'events': true,
  'metadata': true,
  'params': {
    'videoID': '1WH16Ydz9EaiJl'
  }
}
Using Ultrafast Mode for 4k outputs
1
2
3
4
5
6
7
8
'settings': {
  'ultrafast': true
},
'outputs': {
  'mp4:2160p': {
    'path': '/4k.mp4'
  }
}

Ultrafast™ Mode

When Ultrafast Mode is enabled, the input file is split into small chunks that are transcoded in parallel.

4K outputs are transcoded 5x faster with Ultrafast.

Read documentation →

A smart video workflow with Profiles.

Profiles are suitable for multiple dev environments,
managing different projects and setting priority queues.

Video encoding app

One smart feature, many use cases

Multiple environments

Create a profile per environment like TestStaging and Production.

Work on new API features without breaking anything.

Multiple projects

Under the same account, manage multiple projects by creating a profile for each one.

Profiles are billed separately.

Priority queues

Prioritize jobs according to client needs or any specs that matter to you like video duration.

Distribute the load
over up to 6 profiles.