Version 1.0, Released: July 18, 2013

Programmatic Video Editing Features

Automated Editing at Scale to Create Personalized Video Content

Video editing is a fundamental component of video production and is most often conducted by an individual editor using desktop editing software. The manual editing workflow is well suited for sophisticated custom edits while creating original content (e.g feature film or commercial). However, it does not scale in a high volume media workflow. has developed a suite of programmatic editing features designed to automate the manipulation of your video content within a high volume media processing workflow. We define programmatic editing as edits initiated via our API based on a customer’s unique rule or data set. This could be as simple as adding a custom logo at a specific XY coordinate of a video at the time of transcoding, to a complex multi-step workflow that involves concatenating different source files, adding custom video or text overlays, and muxing closed caption files.

Cloud based automated programmatic editing tools can open up whole new categories of creative possibilities in how video can be personalized based on stored user data. Imagine adding customer data to a video promotion before sending to the customer, or creating product specific videos drawn from a large catalog of product images. customers have already created amazing executions based on our programmatic editing toolset. A few success stories are the Google Hangout campaigns that utilized custom text overlays and the ESPN Fantasy Football campaign which utilized concatenating, split screen, and video overlay.

This guide outlines all of the programmatic editing features built into the platform. Through utilization of our unique editing features, you can create automated and custom workflows that are designed for your specific needs, and will make your encoding workflow more powerful, and more efficient.

Customer Use Case Studies

Customer Use Case: Food Network
Customer Use Case: ESPN Fantasy Football
Customer Use Case: Google Hangouts

Video Watermarking


Watermarking is a visible embedded overlay on a video consisting of text, a logo, or a video copyright disclaimer. The purpose of a watermark is to identify the work and discourage its unauthorized use. Though a video copyright disclaimer can’t prevent unauthorized use, it makes it more difficult for those who may want to claim someone else’s video as their own. supports automated watermarking through our API. It’s a helpful tool for adding logos, credits, or imagery to large content libraries.

The watermarking software parameters are as follows:

  • logo_source: Specify an http, ftp, or sftp source for your watermark in GIF, JPG, or PNG formats.

  • logo_x and logo_y: These control the positioning of the watermark on the video. The range of the X & Y axis is dependent on the scale of the video being watermarked.

  • logo_mode: This parameter sets your watermark to translucent (0) or opaque (1).

  • logo_threshold: This setting allows you to use a transparent mask with your image.

For more information on how to place a watermark in your video/movie, please read our watermarking API documentation.

Here is more information on how to place a watermark in your video/movie.

Watermarking Case Study: The Food Network

Customer Use Case: Food Network

Watermarking content for purposes of protection is the most popular use case. Food Network came to for help with over 3,000 videos that needed to be watermarked with their logo. Using the API they were able to automate the source, position, and appearance of watermarks across all 3,000 videos.


The concatenation feature allows you to combine multiple source video files into one file. This would be helpful for a client looking to combine intermittent videos into one long sequence.

To use this feature via the User Interface, you can add multiple video sources in the “Add Media" section and they will automatically combine into one file (in sequential order) during the encoding process. To utilize this concatenation feature via the API, you should use several elements in your XML request which will be added sequentially during the encoding process. In addition, you can use different source video URLs / locations (HTTP, FTP, S3, CloudFiles) along with different media properties for each source video (format, frame size, bitrate, codec, etc…).

The parameters for concatenation are as follows:

  • source: simply add multiple sources to your encoding job and they will automatically be concatenated into a single video.

Goat Video

Parade Video

Concatenated Goat + Parade Video

All of the concatenation details are outlined in our API documentation.


Creating Thumbnails

Thumbnails are essentially .jpg output images of video. Most clients utilize the thumbnail feature to generate rollovers for their players and to give viewers a snapshot of their video.

Thumbnails has several options for creating thumbnails on various players. For a link to how to utilize thumbnails with the JW Player click here and see below.

While VTT files and JPG sprites are easy to create manually, it does take a lot of work. Combining screenshots of a video to a sprite with Photoshop will work if you have a few videos, but for a large library something more automated is required. supports rendering VTT/JPG thumbnail tooltips on top of their existing thumbnail extraction functionality. Simply add the option use_vtt=yes to your thumbnail extraction jobs to get the VTT files, either through their API or web interface. The result will be a VTT file and JPG sprite, which are ready to be loaded into JW Player.

Ex. of VTT Thumbnails

VTT Thumbnails

.JPG Sprite

.JPG Sprite

The parameters for creating video thumbnails with the API are as follows:

  • time: This allows you to set the interval at which thumbnails are captured. This can either be a time (every 5 seconds) or percentage (every 5%) interval.

  • width: Sets the width of the thumbnail in pixels

  • height: Sets the width of the thumbnail in pixels

  • use_vtt: This will produce a single .vtt file with a default of 4 thumbnails in a row (adjust the vtt_line_size parameters to change from default), a default width of 120px (taken from the center of the video) and a default interval of 10 seconds.

  • vtt_line_size: Set the count of thumbnails in line on VTT image

Our API documentation outlines everything you need to know. Learn how to create thumbnails with the API.


Video Rotation

Video rotation is most commonly used to ensure correct orientation of your video, especially on mobile and tablet devices. The API can specify rotation in 90 degree increments. When the video is served to phones or tablets, the device OS will determine the correct orientation based on the position of the device.

Video Rotation

The parameters for video rotation with the API are:

  • rotate: Videos can be rotated 0, 90, 180, 270. If set to 0, the Rotation meta data will be ignored. You can also use def to default to Rotation meta data settings.

  • set_rotate: These are the same as the rotate parameter, but for MOV files.

To learn more about how to rotate videos with, please reference our API documentation.

Video Cropping

If you’re looking to change the size of your video, we can help with our cropping editing feature.

The parameters for video rotation with the API are:

  • crop_top, crop_bottom, crop_left, crop_right, all in pixels

Our API documentation is a complete resource for how to crop video with the API.



Using the editing features of the API, you can set duration of both the fade out to black and fade in of your next video. This will create a seamless transition between segments. The most popular use of this feature is to create bumpers as lead-ins.


The parameters for fading with the API are as follows:

  • fade_in: set the start of the fade with FadeInStart and the duration with FadeInDuration.

  • fade_out: set the end of the fade with FadeOutStart and the duration with FadeOutDuration.

For all the details on fading video with API, please see our API documentation.


Audio/Video/Closed Caption Muxing

Multiplexing or muxing is the process of merging streams of video with audio or closed captions. In many cases, this involves downgrading your resolution and quality. Muxing is currently only supported for two sources.


The parameters for muxing with the API are as follows:

  • maps: this is used to extract tracks from your media source. file#:track#, file#:track#

  • target: this is used to specify the output format of your muxed content.

Want to learn more about muxing with Reference our complete API documentation.

Embed Video MetaData

MetaData is the descriptive text associated with your video. offers ways to embed metadata in your video. This is often used to provide information such as source, author, artist, publish date or copyright information.


The parameters for MetaData with the API are as follows:

  • author: The content creator

  • title: The title of the content

  • album: content album (for thinks like music videos)

  • description: a description of the content

  • copyright: copyright information for the content

  • copy: use this to copy metadata from the source

Learn more about the API parameters for metadata.


Split Screen can combine multiple sources of video into a single screen for viewing.

Split Screen

The parameters for Split-Screen with the API are as follows:

  • columns: The number of vertical columns of video in your split screen.

  • rows: The number of horizontal rows in your split screen.

  • padding_top: The space, in pixels, from the top to the split screens main area.

  • padding_bottom: The space, in pixels, from the bottom to the split screens main area.

  • padding_right: The space, in pixels, from the right to the split screens main area.

  • padding_left: The space, in pixels, from the left to the split screens main area.

Everything you need to know about split screen editing with

Programmatic Editing Case Study: ESPN Fantasy Football

Customer Use Case: ESPN Fantasy Football

In conjunction with ESPN and Weiden+Kennedy, just launched an innovative campaign the utilizes several of our programmatic editing features. Split Screen, Video Overlay, Text Overlay, & Concatenation are all used in this sophisticated workflow. The application emulates a live interview between the participant and John Anderson, ESPN sportscaster. The details of this workflow are outlined below.

Click to try it!
  • 1. First, ESPN captures three separate video assets recorded from the participant’s web cam. Next a series of API calls are generated to transcode each of them into the proper resolution and format. Then the participant’s answers are merged with the announcers pre recorded prompts through the use of our split-screen feature. Finally, text overlay, video overlay, and image overlay are all used to add the participant’s name, the ESPN nameplate, and ESPN Sportcenters’s background to the finished video.

Compiled Assets for ESPN Fantasy Football

Here is how split-screen was executed via the API:




Image & Text Overlay were executed with this API Call:



<text>SEAN JONES</text>


  • 2. ESPN takes the video created from step 2 and stitches the segments together using the concatenation feature to append the pre-recorded Sports Center intro, outro, and other prompts.

ESPN Progression

Below is the API call used to concatenate the video segments:

<userkey> XYXYXYXYXYXYXYX</userkey>






  • 3. The compiled output is delivered via’s YouTube syndication feature to the YouTube Fantasy Football channel along with associated title and description. The finished video is delivered to YouTube via’s YouTube Syndication feature. It is also simultaneously sent to the ESPN’s cloud storage location for backup, supported by’s multi-destination feature.

Here’s what simultaneous YouTube and S3 cloud storage delivery look like as a component of the API call:



Here’s how the video overlay feature is used to add a live ESPN ticker, “the bottom line" to the footer of the video:



  • 4. The final asset is created in only four API calls and the total job time (ingest, processing, egress) is less than four minutes. That’s fast!


Video Overlay

If you need to place a full motion video or digital graphics over an existing display screen of video, we can help with our video overlay feature.

Video Overlay

The parameters for video overlay with the API are as follows:

  • overlay_source: this parameter is required, and is simply a url (http, ftp, sftp) pointing to the image you’d like to overlay.

  • overlay_x: sets the position of the overlay along the x axis

  • overlay_y: sets the position of the overlay along the y axis

  • size: defines the size of the overlay in pixels width(w) x height(h)

  • overlay_start: defines the start time of the overlay in seconds

  • overlay_duration: sets the duration time of the overlay in seconds

Our API documentation contains everything you need to know about creating a Video Overlay.

Text Overlay

Text overlay is the process of laying or adding text to existing video. This feature enables publishers to programmatically integrate custom text into different queue points and frame positions within a source video. Utilizing granular controls such as live fonts, colors, rotations, positions, size, start and duration points, the custom text appears to be integrated directly within the video.

The parameters for text overlay with the API are as follows:

  • text: This is the source of the copy for your text overlay. It can be either.

  • font_source: This is the source of your true type font file (TTF). A URL pointing to the TTF file should be used here.

  • font_size: This is size of the font you would like to use. These are measured in standard point sizes.

  • font_rotate: This allows you to rotate the position of the font from 0-360 degrees.

  • font_color: This allows you to set the color of the font, any hex value will work.

  • align_center: Align your text in the center

  • overlay_x: This positions your text along the x axis

  • overlay_y: This positions your text along they y axis.

  • size: this is the size heigh(h) x width(w) positioning of the text on top of the video

  • overlay_start: the start time of the overlay in seconds

  • overlay_duration: the duration time of the overlay in seconds.

To learn more about adding text overlays to your videos, please reference the Text Overlay section in our API Documentation.

Text Overlay Case Study: Google Hangouts

Customer Use Case: Google Hangouts partnered with Google to promote Google Hangouts presented by Wallace and Gromit. The custom Google Hangouts invitation process was open to the public and promoted globally on the home page, CNN, ESPN and other high-traffic sites. Speed and massive scalability were critical requirements for their desired customer experience. Total video job upload, transcoding, text overlay, and delivery needed to be accomplished in less than 30 seconds with peak volume reaching 50 new videos per second.

Google gathered data from users and passed the custom text along with style and placement instructions via a single API call to

During the encoding process, the custom invitation text was placed at a specific start point and followed specific duration and style instructions to create the illusion that the text appeared as if integrated during the original editing process.

Text Overlay

Here’s the API call used for the text overlay in the Wallace and Grommit example above:


<text> \n Makes Text Overlay \n Easy!</text>


Image to Image Conversion

This editing feature allows you to both convert and resize your source image to a new format and or size.

Image to Image

The parameters for image to image conversion with the API are as follows:

  • image_format: this is the file format you’d like image to be converted to. jpg, png, gif, & tiff are all acceptable

  • size: specify the output size of your converted image. width (w) x height (h). Specifying 0 for either format will maintain current dimension.

  • keep_aspect_ratio: This maintains the original height or width of the source image.

  • resize_method: How to resize the original image. Options are resize, crop, or combine.

  • quality: this determines the quality of your output from 1-100. 80 is the default, and 100 is the highest quality.

  • dpi: this sets the dots per inch of your output image. The range is 71-1200 with 72 being default.

  • sharpen_radius: This sharpens your image upon output. The range is 0-10 with 0 being default.

  • sharpen_sigma: this is the degree of sharpening of your image. Range is .2-10 and a setting of 0 will float your image.

  • remove_metadata: This allows you to strip the image of it’s existing metadata.

All of the info on image to image conversion with can be found in our API documentation.

Video Slideshow Creation

Our slideshow editing tool enables our clients to create custom presentations of images or files into a sequential viewing format.


The parameters for creating a slideshow with the API are as follows:

  • Simply use the slideshow parameter, then list your source image. takes care of the rest!

Check out the API Documentation for more info on creating slideshows.


Let us help you with your encoding and editing needs with a free consultation.