You can use ffmpeg to do something like this programmatically. It has the capability to composite and edit footage as well as adding effects and text. It is a command line app, so works in the shell of your choice on Linux/Mac/Windows. Youtube reputedly uses ffmpeg to process their videos, so it's safe to say that it's very widely adopted. FFMPEG is free and open source. This is probably your best bet.
Adobe After Effects can also be controlled programmatically using the Extendscript language. After Effects is an industry stanard video effects tool. While it has more capabilities than ffmpeg it is mainly designed as a GUI app, and the API really needs a good understanding of the app to use, meaning that developers are probably fairly hard to find. It is available from Adobe through Creative Cloud membership.
Processing is another option, it's a programming language designed for creative use, based on Java. Although it's less focussed on video it does have the capability to process video, and could add text and effects to video content. Also free and open source.