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

_images/root-ui.png

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).