Encode, stream, and caption video through one API

Turn every customer upload into streams, thumbnails, and captions for any screen, at any volume.

  • Adaptive streaming
    Streams in 1080p, 720p, 480p, and 360p
  • Thumbnails
    Four stills taken from the video
  • Captions
  • Watermark
  • Transcoding
    Convert MOV to MP4

Customer story

From client upload to an LED wall in up to 8K

Vū Technologies replaces green screens with LED walls. Transloadit turns their clients’ footage, in whatever codec it arrives, into video the walls can play.

Read the case study

“Transloadit stood apart from the other options because of its 8K encoding.”

Vū TechnologiesVirtual production studios

Build momentum with video

Grow your audience. Get to market faster.

Give your engineers time to build. We handle the video infrastructure.

  • Increase viewership

    Reach more viewers with major codecs, adaptive playback, and captions.

  • Publish videos sooner

    Automate encoding, moderation, thumbnails, and exports in one upload.

  • Increase conversions

    Help shoppers decide with web-ready product videos and customer clips.

  • Resumable uploads up to 5 TB by arrangement

    Let users resume video uploads even on slow, unreliable connections.

  • Handle traffic spikes

    Buy extra priority slots in advance. We queue jobs when your slots are busy.

  • Volume pricing for video at scale

    Compare volume rates: AWS MediaConvert, Cloudinary, Uploadcare.

Start small

Convert your first video to MP4 in three steps

Try one conversion in your browser before you write any code. Like the result? Connect the same Template to your app and run it on every upload.

Create your video Template
  1. Save your first video Template

    Create a free account and paste this recipe into the Template editor. The H.264 preset supplies the encoding settings.

  2. Upload a sample and inspect the MP4

    Run the Template with a video in the editor’s testing area. Check the result before writing integration code.

  3. Reuse it in your app

    Send your Template ID with uploads through Uppy or one of our SDKs. Add an export step to save finished videos to your storage.

Test results expire after 24 hours. Add storage to keep them. Free plan limits apply.

template.json
{
  "steps": {
    ":original": {
      "robot": "/upload/handle"
    },
    "mp4": {
      "use": ":original",
      "robot": "/video/encode",
      "preset": "web/mp4/720p"
    }
  }
}
Build on your first result

Go from one conversion to a publishing workflow

Combine encoding, your captions, and a watermark in one saved Template. This example takes uploads named video and captions; replace the watermark URL with your own logo.

Uploading video…
Podcast.mov
Assembly Instructions (JSON)
{
"steps": {
":original": {
"robot": "/upload/handle"
},
"encode_mp4": {
"use": {
"steps": [
{
"name": ":original",
"fields": "video"
}
]
},
"robot": "/video/encode",
"preset": "web/mp4/720p"
},
"subtitled": {
"use": {
"steps": [
{
"name": "encode_mp4",
"as": "video"
},
{
"name": ":original",
"fields": "captions",
"as": "subtitles"
}
]
},
"robot": "/video/subtitle",
"subtitles_type": "burned"
},
"watermark": {
"use": "subtitled",
"robot": "/video/encode",
"preset": "web/mp4/720p",
"watermark_url": "https://example.com/logo.png",
"watermark_position": "top-right"
}
}
}

Your workflow. Your controls.

Video encoding without the pain

Stop maintaining manual encoding pipelines. Automate processing and delivery with one API.

  • Take control of FFmpeg

    Go beyond presets with custom FFmpeg parameters. Control codecs, resolution, bitrate, filters, and container settings.

  • Shorten long encoding jobs

    Optional Turbo mode processes chunks in parallel using extra job slots. Up to 22x faster transcoding.

  • Webhooks and real-time updates

    Use per-file callbacks and webhook requests when processing finishes.

  • Secure uploads and delivery

    Control upload access with expiring, server-generated signatures. Protect video delivery with signed URLs.

  • Block malicious videos

    Add virus scanning to reject malware-infected videos before further processing.

  • Control processing costs

    Choose included usage and pay for overages. Set a soft bill limit for alerts or a hard limit to stop processing.

  • Minimize streaming costs

    Encode HLS segments only when viewers request them. Save on unused renditions.

  • Bring your own storage

    Send finished videos directly to Amazon S3, Cloudflare R2, Google Cloud Storage, Azure, and more.

  • Multiple outputs. One API call.

    Cut integration complexity. Encode, create thumbnails and streams, and export with one API call.

Try Transloadit

Try it with a video of your own

Start with a preset, upload a sample, and inspect your first result. Add the rest of your workflow when you need it.
Repeating the same video tasks
Run a saved workflow for each upload
Files too large for your use case
Choose your quality and file size balance
Viewers on changing connections
Prepare adaptive streams for your player
Different screens need different framing
Create versions for each screen
Maintaining encoding servers
Let Transloadit run the encoding
Choosing preview images by hand
Generate previews from each upload
GDPR
HIPAA
ISO 27001ISO27001
AES-256
SOC 2 Type II
No credit card needed

Frequently asked questions

How do I encode my first video?

Start with our MP4 preset, save a Template, and upload a sample in the Template editor. Once you like the result, reuse that Template through Uppy or an SDK. Follow the three-step quickstart.

Which video formats and encoding settings can I use?

Working with MP4, MOV, AVI, MKV, or WebM? You’re in good company — we support these popular video formats and many more. Choose a preset or take control with custom FFmpeg parameters for codecs, resolution, bitrate, filters, and containers. Explore the supported formats and encoding options.

What is the maximum video file size I can upload?

Need to upload videos as large as 5 TB? Talk to us about an Enterprise arrangement for your workflow. Standard limits depend on your plan. Resumable uploads let users continue after a connection drops instead of starting over — especially helpful on slow or unreliable networks. See the current plan limits.

Can I use adaptive streaming with my existing video player?

Yes, if your player supports HLS or MPEG-DASH. Transloadit creates the segments and playlists; your player switches quality as the connection changes. Store the files with the correct paths and CORS settings described in the adaptive streaming guide.

How do background and on-demand video processing differ?

Background processing prepares your videos ahead of playback. Use the HTTP request Robot (alpha) for per-file callbacks. Set payload to metadata to identify each file. Your endpoint must return 2xx before the request timeout, or the step fails. Assembly Notifications report when processing finishes. On-demand processing encodes HLS segments as viewers request them, avoiding encoding work for videos nobody watches.

Can I keep my videos in my own storage?

Yes. Export finished videos directly to Amazon S3, Cloudflare R2, Google Cloud Storage, Azure, and other supported providers. Add an export step for permanent storage; default result URLs are temporary. See how to save your results.

How can I control uploads and reject malicious files?

Control uploads with expiring, server-generated signatures and protect Smart CDN delivery with signed URLs. Add a virus scanning step to reject malware-infected videos before further processing.

How much does video encoding cost?

Usage is measured in gigabytes, with rates that vary by operation. Set a soft bill limit to receive alerts or a hard limit to stop processing. For larger workloads, ask about volume pricing and purchasing extra priority slots in advance. Use the pricing page and usage estimator to compare costs for your workflow.