Seamlessly integrate video creation into your mobile applications

VideoEditor SDK expands the powerful tools
and features of the PhotoEditor SDK into the realm of mobile video creation.

Supporting the great frameworks

Simplified implementation through your favorite frameworks.

import VideoEditorSDK

let videoURL = Bundle.main.url(forResource: "Example", withExtension: "mp4")!
let video = Video(url: videoURL)

let videoEditViewController = VideoEditViewController(videoAsset: video)
videoEditViewController.delegate = self

present(videoEditViewController, animated: true, completion: nil)

class MyActivity : Activity() {
  ...
  val VESDK_RESULT = 1
  fun openEditor(inputVideo: Uri) {
    VideoEditorBuilder(this)
      .setSettingsList(VideoEditorSettingsList()
      .configure<LoadSettings> { it.source = inputVideo }
      .configure<UiConfigText> { it.setFontList(FontPackBasic.getFontPack()) }
      .configure<UiConfigFrame> { it.setFrameList(FramePackBasic.getFramePack()) }
      .configure<UiConfigFilter> { it.setFilterList(FilterPackBasic.getFilterPack()) }
      .configure<UiConfigOverlay> { it.setOverlayList(OverlayPackBasic.getOverlayPack()) }
      .configure<UiConfigSticker> { it.setStickerLists(StickerPackEmoticons.getStickerCategory()) }
    )
    .startActivityForResult(this, VESDK_RESULT)
  }
...
}


import React, { Component } from "react";
import { VideoEditorModal } from "react-native-videoeditorsdk";
export default class App extends Component {
  render() {
    return (
      <VideoEditorModal
        visible={true}
        video={require('./example.mp4')}
        onExport={(result) => {
          console.log(result);
        }}
      />
    );
  }
}


var app = {
  initialize: function () {
    document.addEventListener(
      "deviceready",
      this.onDeviceReady.bind(this),
      false
    );
  },
  onDeviceReady: function () {
    VESDK.openEditor(
      (result) => {
        console.log(result); // success callback
      },
      (error) => {
        console.log(error); // failure callback
      },
      VESDK.loadResource("www/img/example.mp4")
    );
  },
};
app.initialize();


import {Component} from '@angular/core';
import {Platform} from '@ionic/angular';
declare var VESDK;
@Component({
  selector: 'app-home',
  templateUrl: 'home.page.html',
  styleUrls: ['home.page.scss'],
})
export class HomePage {
  constructor(platform: Platform) {
    platform.ready().then(() => {
      VESDK.openEditor(
          (result) => {
            console.log(result);  // success callback
          },
          (error) => {
            console.log(error);  // failure callback
          },
          VESDK.loadResource('www/assets/example.mp4'));
    });
  }
}

Cut to the chase

Cutting down clips to the parts which really matter. Shortening clips made easy with our Trim feature.

Smart Features

Attention-grabbing and precise visual communication is key to engaging your target audience. Making good design more accessible with our Text Design tool as well as Animated and Smart Stickers.

Make it seamless –
Customize our editor to fit your app’s design

Subline

Needs description

Packed with tons of features

View Documentation
Define Filter Presets
Define Filter Presets
Ultra High-Res Editing
Ultra High-Res Editing
Define Image Output SIze
Define Image Output SIze
Placing Stickers and Texts made easy with the Snapping Tool
Placing Stickers and Texts made easy with the Snapping Tool
Krasses Video Feature
Krasses Video Feature
Tablet Support
Tablet Support
Adjusting the editors language through Localization
Adjusting the editors language through Localization
Accessibility
Accessibility
Client-sided Rendering
Client-sided Rendering
Define Image Output Formats
Define Image Output Formats
Fast Image Export
Fast Image Export
Low Memory Footprint
Low Memory Footprint
Store EXIF data in outputs
Store EXIF data in outputs

Implement the editor and join the ranks of

Ready to get started?

Start your free trial or get in touch.
Start TrialGet License