Introduction
OpenShot Cloud API is a REST-based framework, which allows videos to be created, edited, transcoded, animated, and much more! It can be quickly integrated into websites, mobile applications, desktop applications, and just about any programming language which supports HTTP requests.
Features
Cross-platform (powered by simple HTTP requests: GET, POST, PUT, PATCH, DELETE)
Support for many video, audio, and image formats (based on FFmpeg)
Powerful curve-based Key frame animations
Desktop integration (for template creation)
Unlimited tracks / layers
Clip resizing, scaling, trimming, snapping, rotation, and cutting
Video transitions
Compositing, image overlays, watermarks
2D animation support (image sequences)
SVG friendly, for scalable vector text, captions, titles, and credits
Generate thumbnail images for any video
Detailed metadata for media (video, audio, and images)
Frame accuracy (highly accurate edits)
Time-mapping and speed changes on clips (slow/fast, forward/backward, etc…)
Audio mixing, editing, and volume control
Digital video effects, including brightness, gamma, hue, greyscale, chroma key (bluescreen / greenscreen) , and more!
Highly scalable (built-in support for render queues, SQS messaging, and EC2 auto-scaling)
Secure and easy to integrate with SSL and load balancers (runs on your own EC2 account)
See Release Notes for information on recent releases.
Examples
The following curl commands create an entire video project (from creating a new project and uploading a file, to adding and animating a clip, and then exporting to a new video file). As you can see, it only takes a few parameters and a hand-full of HTTP POST requests to edit videos with OpenShot Cloud API!
See Schema Documentation to learn more about the available endpoints.
# Create a Project
curl -XPOST -d '{"name":"Example Project","width":1920,"height":1080,"fps_num":30,"fps_den":1,"sample_rate":44100,"channels":2,"json":{}}' -H "Content-type: application/json" --user demo-cloud:demo-password 'http://cloud.openshot.org/projects/'
# Upload a file
curl -XPOST -d '{"media":null,"project":"http://cloud.openshot.org/projects/INSERT-PROJECT-ID/","json":{"url": "https://www.openshot.org/static/img/logos/logo.png"}}' -H "Content-type: application/json" --user demo-cloud:demo-password 'http://cloud.openshot.org/files/'
# Create a clip
curl -XPOST -d '{"file":"http://cloud.openshot.org/files/INSERT-FILE-ID/","position":0,"start":0,"end":10,"layer":1,"project":"http://cloud.openshot.org/projects/INSERT-PROJECT-ID/","json":{}}' -H "Content-type: application/json" --user demo-cloud:demo-password 'http://cloud.openshot.org/clips/'
# Animate the clip
curl -XPOST -d '{"preset": "Zoom In", "length_in_seconds": "3.0", "curve": "Ease In"}' -H "Content-type: application/json" --user demo-cloud:demo-password 'http://cloud.openshot.org/clips/INSERT-CLIP-ID/presets/'
# Export the project to a MP4
curl -XPOST -d '{"export_type":"video","video_format":"mp4","video_codec":"libx264","video_bitrate":8000000,"audio_codec":"aac","audio_bitrate":1920000,"start_frame":1,"end_frame":0,"project":"http://cloud.openshot.org/projects/INSERT-PROJECT-ID/","webhook":"","json":{},"status":"pending"}' -H "Content-type: application/json" --user demo-cloud:demo-password 'http://cloud.openshot.org/exports/'
# Check export progress and access new video file (when it's ready)
curl -XGET -H "Content-type: application/json" --user demo-cloud:demo-password 'http://cloud.openshot.org/exports/INSERT-EXPORT-ID/'
Screenshot
System Requirements
Video editing benefits from large amounts of memory, modern CPUs, and fast hard-drives. We recommend using the best servers you can afford. Video rendering is queued, and processed one video at a time. Scaling must be done horizontally, by adding additional workers.
64-bit Operating System (OpenShot Cloud AMI is based on Ubuntu 18.04 LTS Server)
Multi-core processor with 64-bit support. CPU is one of the largest factors in performance.
8GB of RAM (16GB recommended)
50 GB of hard-disk space minimum
- Recommended EC2 Instance Types (choose the best you can afford)
c5.xlarge (inexpensive, but slower render times)
c3.2xlarge (moderately expensive, but faster render times)
c5.4xlarge (expensive, but very fast render times)
See also Performance / Scaling.
License
OpenShot Cloud API is licensed commercially, and distributed through the Amazon AWS Marketplace and the Azure Marketplace. Source code is also provided and you are welcome to modify the code and features, and tweak things for your specific needs. Proceeds go towards supporting our free, open-source OpenShot Video Editor desktop application (http://www.openshot.org).