Skip to main content

Publishing a Video Asset Using the API

In LightFlow, an asset is a video, including the output formats used to watch it online or offline, and the set of optimizations applied to maximize the viewer's quality of experience (QoE). To publish an asset using the LightFlow API, send a POST to the /assets endpoint:

curl -XPOST '' \
  -H 'authorization: Bearer API_KEY' \
  -H 'content-type: application/json' \
  -d '{
      "parameters": {
        "input": {
          "urlPath": ""
        "perceptual-quality": {
          "h264": {
            "maxBitrate": 8000,
            "minBitrate": 250,
            "maxResolution": 1080,
            "targetQuality": 100

In the example above, an optimized version of "your-video.mp4" will be published. The API call supports many other other options. For example, you can specify values for the packaging parameter to publish your video deliverable as an MP4 file and/or HLS and MPEG-DASH streams. The perceptual quality object sets the inputs for our analysis engine. With systems other than LightFlow you typically just define some static configuration that has to be applied for every video. With the LightFlow engine, you can impose some limits. In this example, we are telling LightFlow to perform an analysis of this video and then to come back with the most optimal encoding settings, but to not go beyond 8 megabits per second and not below 250. This LightFlow feature, preparing content for transcoding, is called DeepEye

All of the perceptual quality parameters (only 4 are shown in this example) that you can configure and adjust to limit the operation of the optimization engine are described in the DeepEye Content Aware Optimization section.


Before you start issuing any API calls, you will need to get your authentication token from the Settings section of the LightFlow portal.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.