The Smartest Video Encoding API
for Your App Integration.

A scalable, flexible, and well-documented video encoding API
that integrates Coconut seamlessly into any existing platform.

Run Transcoding Tests for Free
No credit card required
Enjoy a powerful video encoding API that harnesses cloud technology for your projects.
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 for Multiple Languages.

Enjoy official client libraries to make your integration even faster.

An API for Video Encoding, Available Worldwide.

We provide multi-region encoding services to ensure near-zero latency.

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.

Flexible Video Encoding API for Any Application.

Discover unique features for quick and smooth video integration

Simple Format Syntax

Coconut has created a simple format syntax that is very easy to use, powerful, and convention-based. There’s no need to be an expert in formats, codecs, resolutions, or bitrates.

All format specifications are preconfigured for you, but you can customize everything if needed.

See Format References →
Simple Format Syntax
1
2
3
4
5
6
7
8
9
10
11
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) {
...

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. This is very useful for avoiding unnecessary upscaling and saving on bandwidth costs.

We provide several built-in variables, allowing you to control exactly which outputs need to be processed.

Read API documentation →

Notifications

Our video encoding API is fully asynchronous. There's no need to constantly ping to check the job status; we notify you when it's done. Receive notifications at every step of a job for real-time progress with the events option.

We support Webhooks (HTTP) and AWS SNS notifications.

Read API 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 Mode enabled.

Read API documentation →

A smart video workflow with customizable Profiles.

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

Video encoding app

One smart feature, many use cases

Multiple environments

Create a profile for each environment, such as Test, Staging, 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 specifications that matter to you, such as video duration.

Distribute the load across up to 6 profiles.