I would like to be able to automate video creation and rendering.

I imagine the process as creating placeholders, which then can take my dynamic input (images/videos/text).

I would like to know the process of creating videos with placeholders as https://placeit.net/instagram-story-video-template here. Clearly, the video contains a placeholder for the text that we specify. How is this done on the low level?

None of the softwares for video rendering e.g. Final cut Pro etc. can be run on a server using CLI (command line interface).

Which backend / libraries can be used to create something like that?

2 Answers 2


To expand on Florian's answer: ffmpeg is designed to be used programmatically, and can be scripted to do all sorts of video processing, including adding text and graphics from the command line. If you're using it on a server, it's likely your best bet.

After Effects, a video compositing and animation package from Adobe is capable of a lot more, but is primarily designed to be used as a GUI ap. AE is fully scriptable, which means that you can run it without user intervention, but the complexity involved with scripting it is a lot higher. You'll need a developer who not only knows JavaScript, but also knows After Effects and its object model.

Blender is a 3D application that can also do 2D compositing, editing and animating, and again is scriptable, while primarily being used as a GUI ap. Blender would probably be the most complex one to script, though the development community is probably (?) larger.

Ffmpeg and Blender are free, AE requires a license.


You could write a simple shell script (either for mac or windows) which consists of basic if - then clauses to read the input of the user, then use ffmpeg by calling it from within the script. I believe that ffmpeg might be the most painless option, since scripting for Premiere and After Effects can be a bit tedious.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.