Bitmovin Video Encoding API

. 6 min read
encoding api video api

Encoding API with Comprehensive Documentation and API Clients

Bitmovin offers a powerful cloud encoding service for developers with a comprehensive video encoding API. Don’t miss out on our developer section including comprehensive demos, tutorials and FAQs to help you get more familiar with our bitmovin products. API client implementations for different programming languages such as Java, JavaScript, Ruby, Python, PHP or NodeJS are also available and will be constantly improved and extended with examples. Several tutorials are available and we will extend this section frequently.


Our REST API documentation is fully interactive. By clicking on the POST Create Input call, the sidebar opens with the properties of the call, as shown below. The full URL of the create input call is shown on the top as well as the HTTP Method (POST). Additionally, the call has three attributes, i.e., url, username and password, while username and password are optionally indicated by an unfilled bullet point. These attributes must be posted as a JSON object to the resource.
video api encoding api

Request Schema Definition

The exact schema definition is described for every call in the Request Schema section.

Programming Language Examples

Each call offers examples in different programming languages such as, curl, Java, JavaScript, Node.js, Perl, Python, PHP, Ruby, Go, etc. Additionally, specific API Clients are available for several programming languages that enable a convenient integration with your system.


The response of each call is a JSON exactly specified through the Response Schema in each call.
Response encoding api
An example of a specific JSON response is also shown in each call.
Aditional response from the encoding video api

API Console Interface

The REST API offers a console interface where each call can be executed and evaluated. Three methods are available:

  • Production: The call can be sent directly to the Bitmovin system. This requires your correct API Key. The Bitmovin API will then respond with a JSON as described in the call.
  • Mock Server: This method allows you to test your call against a Mock Server that responds basically with an error if your request is structurally invalid or with a sample response if your request is valid.
  • Debugging Proxy: The debugging proxy outputs additional debugging information which can be used to trace errors in the request.

Typically you should validate your request with the Mock Server first. If the Mock Server returns a valid sample response you can execute the call against the Production Server. Executing a call on the Production Server will trigger an operation in the Bitmovin system and can relate to costs in your account, e.g., starting an encoding. Be aware that this call will be executed on the production service.
Video api console interface
If you want to test a call you can edit the response body directly in the API documentation as shown in the figure below. The example url has been exchanged against a valid path to the well known Sintel video (
encoding API video location
You will also have to exchange the API Key in the request header field bitcodin-api-key with the API Key from your account. This is only necessary if you want to test your call against the Production Server. The Mock Server as well as the Debugging Proxy accept any key.
video encoding API settings
Dynamic code examples that always contain the information that has been entered in the API Console Interface, e.g., API Key, POST body, etc. are also available for several programming languages such as curl, Java, JavaScript, Node.js, Perl, Python, PHP, Ruby, Go, etc. The figure below shows example code for Node.js.
example code for Node.js.
The call will be executed by clicking on Call Resource. You can select the System (Production, Mock, Debugging Proxy) through the dropdown beside the button. The response from the selected system will the be shown below.
response from the selected system

API Clients

Beside the REST API, several implementations of API Clients for different programming languages are available. Theses API Clients are libraries that can be X integrated easily into your project and used to communicate with the Bitmovin encoding service. We will constantly improve and extend these clients and add new programming language API Clients. If your preferred programming language is missing, just contact us through our support form. We will try to prioritize the implementation of the most requested API Clients. Currently API Clients are available in Java, JavaScript, Ruby, Python, PHP and Node.js. Each client is available open source on Github.
Each API Client has a Getting Started documentation, which describes the installation, setup, usage and has examples. All implementations are available open source on Github.

Use the Bitmovin Video API to Encode MPEG-DASH & HLS Content

Encode your content using the Bitmovin video API with the same technology as Netflix and YouTube in a way that it plays everywhere with low startup delay and no buffering
Follow Bitmovin on Twitter: @bitmovin

Christopher Mueller

Christopher Mueller

Bitmovin Co-Founder

Christopher Mueller is the CTO and Co-founder of Bitmovin. He leads Bitmovin's long-term technology vision, and is responsible for overseeing product development, industry thought leadership and advanced technology incubations. He published more than 40 research papers in the areas of multimedia streaming, networking, and multimedia adaptation and currently holds several U.S. patents. He co-created the MPEG-DASH video streaming standard which is used by Netflix and Youtube and is the author of the MPEG-DASH reference software and a contributor to multiple open source tools.

Related Posts

encoding api - Bitmovin

Low Latency vs. Target Latency: Why there isn’t always a need for speed

Join the conversation