Video editing API to level up your applications

Bring Submagic’s AI-powered video editing to your product with our powerful API. World-class auto captions, b-roll, music, effects, long-to-short video repurposing, and more.

Iubit de +200.000 de agenții și editori video

curl -X POST "https://api.submagic.co/v1/projects" \
  -H "x-api-key: sk-your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "My First Video",
    "language": "en",
    "videoUrl": "https://drive.google.com/video.mp4",
    "templateName": "Hormozi 2"
  }'
const createProject = async () => {
  const response = await fetch("https://api.submagic.co/v1/projects", {
    method: "POST",
    headers: {
      "x-api-key": "sk-your-api-key-here",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      title: "My First Video",
      language: "en",
      videoUrl: "https://drive.google.com/video.mp4",
      templateName: "Hormozi 2",
    }),
  });

  const project = await response.json();
  console.log("Project created:", project.id);
  return project;
};
import requests
import json

def create_project():
    url = 'https://api.submagic.co/v1/projects'
    headers = {
        'x-api-key': 'sk-your-api-key-here',
        'Content-Type': 'application/json'
    }
    data = {
        'title': 'My First Video',
        'language': 'en',
        'videoUrl': 'https://drive.google.com/video.mp4',
        'templateName': 'Hormozi 2',
    }

    response = requests.post(url, headers=headers, json=data)
    project = response.json()

    print(f"Project created: {project['id']}")
    return project

Why the Submagic API

Battle tested by 3 million users around the world.

If content is king then video is the empire. If you’re building a worldclass SaaS application, or an agency looking scale your clients, then Submagic is the AI video editing API for you.

The video API allows you to programmatically generate AI-powered captions for your videos. Whether you’re building a video editing platform, content management system, or automating your video workflow, our API provides enterprise-grade video processing capabilities.

Getting started

A well documented API to get you started in minutes.

1. Get your API key

Sign up for a Submagic account and generate your API key from your account settings

2. Request to endpoint

Upload a video or provide a video URL to start processing

3. Get Results

Download your processed video with captions and effects applied.

Get your API Key

Docs to get you started in minutes

curl -X POST "https://api.submagic.co/v1/projects" \
  -H "x-api-key: sk-your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "My First Video",
    "language": "en",
    "videoUrl": "https://drive.google.com/video.mp4",
    "templateName": "Hormozi 2"
  }'
const createProject = async () => {
  const response = await fetch("https://api.submagic.co/v1/projects", {
    method: "POST",
    headers: {
      "x-api-key": "sk-your-api-key-here",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      title: "My First Video",
      language: "en",
      videoUrl: "https://drive.google.com/video.mp4",
      templateName: "Hormozi 2",
    }),
  });

  const project = await response.json();
  console.log("Project created:", project.id);
  return project;
};
import requests
import json

def create_project():
    url = 'https://api.submagic.co/v1/projects'
    headers = {
        'x-api-key': 'sk-your-api-key-here',
        'Content-Type': 'application/json'
    }
    data = {
        'title': 'My First Video',
        'language': 'en',
        'videoUrl': 'https://drive.google.com/video.mp4',
        'templateName': 'Hormozi 2',
    }

    response = requests.post(url, headers=headers, json=data)
    project = response.json()

    print(f"Project created: {project['id']}")
    return project
curl -X GET "https://api.submagic.co/v1/languages" \
  -H "x-api-key: sk-your-api-key-here"
const response = await fetch("https://api.submagic.co/v1/languages", {
  headers: {
    "x-api-key": "sk-your-api-key-here",
  },
});

const data = await response.json();
console.log(data.languages);
import requests

headers = {
    'x-api-key': 'sk-your-api-key-here'
}

response = requests.get('https://api.submagic.co/v1/languages', headers=headers)
data = response.json()

for language in data['languages']:
    print(f"{language['name']}: {language['code']}")
curl -X POST "https://api.submagic.co/v1/projects" \
  -H "x-api-key: sk-your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "My Awesome Video",
    "language": "en",
    "videoUrl": "https://example.com/videos/sample.mp4",
    "templateName": "Hormozi 2",
    "webhookUrl": "https://yoursite.com/webhook/submagic",
    "dictionary": ["Submagic", "AI-powered", "captions"],
    "magicZooms": true,
    "magicBrolls": true,
    "magicBrollsPercentage": 75
  }'
const createProject = async () => {
  const response = await fetch("https://api.submagic.co/v1/projects", {
    method: "POST",
    headers: {
      "x-api-key": "sk-your-api-key-here",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      title: "My Awesome Video",
      language: "en",
      videoUrl: "https://example.com/videos/sample.mp4",
      templateName: "Hormozi 2",
      webhookUrl: "https://yoursite.com/webhook/submagic",
      dictionary: ["Submagic", "AI-powered", "captions"],
      magicZooms: true,
      magicBrolls: true,
      magicBrollsPercentage: 75,
    }),
  });

  const project = await response.json();
  console.log("Project created:", project.id);
  return project;
};
import requests
import json

def create_project():
    url = 'https://api.submagic.co/v1/projects'
    headers = {
        'x-api-key': 'sk-your-api-key-here',
        'Content-Type': 'application/json'
    }
    data = {
        'title': 'My Awesome Video',
        'language': 'en',
        'videoUrl': 'https://example.com/videos/sample.mp4',
        'templateName': 'Hormozi 2',
        'webhookUrl': 'https://yoursite.com/webhook/submagic',
        'dictionary': ['Submagic', 'AI-powered', 'captions'],
        'magicZooms': True,
        'magicBrolls': True,
        'magicBrollsPercentage': 75
    }

    response = requests.post(url, headers=headers, json=data)
    project = response.json()

    print(f"Project created: {project['id']}")
    return project

Video editing API features

Features creators love, to go.

Dev ready

Built to give developers the same editing power creators love but with full automation and scale. Auto-caption thousands of videos per day, apply brand styles, and serve global audiences, all from your backend.

Well documented

Submagic API is well documented so developers can sign up and make the first call in minutes. Advanced features are easy to build and get the support you need from our dev community on Discord.

Webhooks

Receive real-time notifications when your video processing is complete. Set and forget, we’ll let you know when everything is ready.

Viral

The Submagic API delivers high-accuracy subtitles in over 100 languages. Whether you’re auto-captioning UGC at scale or building video tools for global teams, our API reduces post-editing work by over 98%.

Realizator video pentru echipele de marketing

Turns long videos into shorts

Turn any long-form video into viral shorts automatically. With just a YouTube link or file upload, the Submagic API finds the most engaging moments and delivers ready-to-post shorts for TikTok, Reels, and YouTube Shorts.

View transcript with timecode

Programmatically access the transcript with timecode for precise optimizations. Get control over every word, and every pause.

Upload video by URL or file

Grab videos by URL or a file. Submagic is easy from step one. No more emails or waiting for notifications. Get videos as soon as your client drops them into a specified folder.

Magic b-rolls

Submagic is contextually aware of your video and adds perfectly relevant b-rolls automatically. One more step to getting your video done, with complete automation.

Muzică de fundal

Music is key to any form of story telling. It enhances it. Add background music to your videos automatically and ship more.

Zoom-uri magice

Story telling is an art and telling stories on a small device needs to be engaging. Zooms enhance your point and with the Submagic API, magic zooms are now fully automated.

Video editing API use cases

Agenții

Simplificați și accelerați procesul de editare pentru mai mulți clienți. Ceea ce înainte necesita ambele mâini și ore întregi de muncă este acum automatizat. Și nu mai este nevoie de niciun efort manual.

SaaS

Folosește Submagic pentru a-ți îmbunătăți editorul de podcasturi și a le oferi clienților tăi acces instantaneu la o mulțime de funcții.

Comerț electronic

Automatizați crearea videoclipurilor pentru vastul dvs. catalog de produse și distribuiți-le la scară largă. Ceea ce părea imposibil este acum ceva banal.

Studiouri

Take on more clients. Automate and speed up your workflow, unlocking more time slots to ll in with new clients.

Educație

Școlile, universitățile și site-urile de tutoriale online pot acum să automatizeze producția de videoclipuri educaționale la scară largă.

Creatori

Creatorii cu o cerere mare deschid o lume a creșterii neexploatate. Ceea ce înainte dura ore întregi poate fi automatizat.

Prefer no code integrations?

Bring the Submagic AI-powered video editing to your own product with our powerful API. Auto captions, b-roll, music, effects and more.

Logo-ul Submagic

Începeți astăzi să utilizați Submagic
gratuit.

Încercați Submagic gratuit
Parteneri creatori Submagic