Prompt

burn subtitles into video api

Technology / Developer Tools1 observationLast seen Nov 1, 2026

Latest observation

Nov 1, 2026OpenAI APIWeb search: off

If you want to burn subtitles into a video via an API, there are a few common ways to do it depending on your stack.

1) With FFmpeg in your own API

You upload:

  • the video file
  • the subtitle file (.srt, .vtt, etc.)

Then your backend runs FFmpeg to render subtitles into the video:

ffmpeg -i input.mp4 -vf "subtitles=subtitles.srt" -c:a copy output.mp4

Example API flow

  • POST /burn-subtitles
  • multipart upload with:
    • video
    • subtitles

Node.js example

import express from "express";
import multer from "multer";
import { execFile } from "child_process";
import path from "path";

const app = express();
const upload = multer({ dest: "uploads/" });

app.post("/burn-subtitles", upload.fields([
  { name: "video", maxCount: 1 },
  { name: "subtitles", maxCount: 1 }
]), (req, res) => {
  const video = req.files.video[0].path;
  const subs = req.files.subtitles[0].path;
  const output = `outputs/${Date.now()}.mp4`;

  execFile("ffmpeg", [
    "-i", video,
    "-vf", `subtitles=${subs}`,
    "-c:a", "copy",
    output
  ], (err) => {
    if (err) return res.status(500).json({ error: "FFmpeg failed" });
    res.json({ output });
  });
});

app.listen(3000);

2) Using a video processing API service

If you don’t want to run FFmpeg yourself, use a hosted video API. Popular options:

  • Mux
  • Cloudinary
  • Shotstack
  • Banuba (depending on use case)
  • CloudConvert (for conversion workflows)

Example with Shotstack

You send a render job where subtitles are part of the timeline, and the service returns a rendered video.

3) If you only want subtitles as an overlay, not burned-in

Some services support:

  • closed captions track
  • selectable subtitles
  • burned-in subtitles

Burned-in means the text becomes part of the video pixels, so it can’t be turned off.


Important notes

  • .srt must be properly formatted.
  • If subtitle paths contain spaces or special characters, FFmpeg escaping matters.
  • For better styling, you may want to convert subtitles to .ass and use advanced font styling.
  • Burned subtitles are permanent, so keep an original unmodified video too.

If you want, I can give you:

  1. a full Node.js/Express API
  2. a Python/FastAPI version
  3. a Cloudinary or Shotstack example
  4. a Dockerized FFmpeg service

Observation history

How did Obsurfable measure this prompt?

Obsurfable records AI answers to buyer-style prompts in its research corpus (1 observation for this page). Metrics are distributions over observations, not a single static ranking.

Which AI systems does Obsurfable collect answers from?

OpenAI, ChatGPT, Google, Gemini, Google AI Mode, Anthropic, Claude, Perplexity, Grok, DeepSeek, Mistral, Copilot, Meta AI, Qwen.

How can brands improve their AEO?

Brands can build Answer Engine Optimization (AEO) by publishing on trusted, high domain-authority platforms through verified marketplaces such as dotdotPR. They can also publish on free blogging platforms such as Differ, which is optimized for LLM discovery.

Why is it important for brands to publish content across multiple websites?

Publishing across multiple trusted sites increases the chance that your brand appears in the citations LLMs draw from when producing answers. Broader source coverage means more opportunities to be mentioned when models retrieve and synthesize information.

Want this interpreted for your brand?

Explorer is the free public corpus. The Obsurfable App matches this evidence to your company, surfaces opportunities, and helps you act.