Transloadit

Add Logic to Your Processing Pipelines

Use JavaScript expressions to compute values, set fallbacks, and branch logic — all inline in your processing steps.

No credit card needed5 GB included in the free plan
Uploaded files
panorama.jpg(3840 × 1080)Landscape
story_reel.png(1080 × 1920)Portrait
cover_art.jpg(2560 × 1440)Landscape
headshot.png(600 × 900)Portrait
hero_banner.jpg(1920 × 720)Landscape
Badge Check Icon
JavaScript expressions

Use the full power of JavaScript to compute values dynamically based on file properties.

Badge Check Icon
Fallback values

Provide default values for missing metadata using standard JavaScript operators.

Badge Check Icon
Conditional logic

Apply different processing based on file size, type, dimensions, or any metadata field.

The New York Times logoNVIDIA logoPwC logoCoursera logoOracle logoFujitsu logo
Use Cases

Dynamic File Processing

Use JavaScript expressions to create intelligent processing pipelines.

Dynamic dimensions

Calculate output dimensions based on input file properties.

"width": "${file.meta.width * (720 / file.meta.height)}"
bird.webp
1600 × 1200
width960

Fallback values

Provide default values when file metadata is missing.

"title": "${file.meta.title || 'Untitled'}"
photo.jpg
3.8 MB · 4032 × 3024
title"Untitled"

Conditional logic

Apply different processing based on file type, size, or any metadata field.

"resize_strategy": "${file.meta.width > file.meta.height ? 'fit' : 'pad'}"
FileDimensionsResize strategy
panorama.jpg3840 × 1080Evaluating…fitfitportrait.png800 × 1200Evaluating…padpadbanner.jpg1920 × 400Evaluating…fitfitavatar.png512 × 512Evaluating…padpadcover.jpg2560 × 1440Evaluating…fitfitheadshot.png600 × 900Evaluating…padpadhero.jpg1920 × 800Evaluating…fitfitlogo.png256 × 256Evaluating…padpadslide.jpg1280 × 720Evaluating…fitfiticon.png64 × 64Evaluating…padpadsplash.jpg3000 × 1500Evaluating…fitfitthumb.png150 × 200Evaluating…padpadwallpaper.jpg2560 × 1080Evaluating…fitfitprofile.png400 × 400Evaluating…padpadbackdrop.jpg4096 × 2160Evaluating…fitfitstamp.png128 × 128Evaluating…padpadfeature.jpg1600 × 900Evaluating…fitfitbadge.png96 × 96Evaluating…padpadpromo.jpg1200 × 630Evaluating…fitfitphoto.png800 × 1067Evaluating…padpadpanorama.jpg3840 × 1080Evaluating…fitfitportrait.png800 × 1200Evaluating…padpadbanner.jpg1920 × 400Evaluating…fitfitavatar.png512 × 512Evaluating…padpadcover.jpg2560 × 1440Evaluating…fitfitheadshot.png600 × 900Evaluating…padpadhero.jpg1920 × 800Evaluating…fitfitlogo.png256 × 256Evaluating…padpadslide.jpg1280 × 720Evaluating…fitfiticon.png64 × 64Evaluating…padpadsplash.jpg3000 × 1500Evaluating…fitfitthumb.png150 × 200Evaluating…padpadwallpaper.jpg2560 × 1080Evaluating…fitfitprofile.png400 × 400Evaluating…padpadbackdrop.jpg4096 × 2160Evaluating…fitfitstamp.png128 × 128Evaluating…padpadfeature.jpg1600 × 900Evaluating…fitfitbadge.png96 × 96Evaluating…padpadpromo.jpg1200 × 630Evaluating…fitfitphoto.png800 × 1067Evaluating…padpad
Plans and Pricing

Simple Pricing

Bigger plans mean lower cost per GB. Need flexibility? Get a custom plan with spending limits. View all pricing options.

Community
$0/mo

Perfect for trying out Transloadit

5 GB/mo included
Import & export at 90% discount
Community forum support
All core features included
Transloadit watermark on media
Startup
$69/mo

For small teams and startups

40 GB/month included
Import & export at 90% discount
90% cheaper than AWS Lambda
Email & chat support
99.9% uptime SLA
Enterprise
Custom

For teams with advanced needs

Custom GB allowances
Dedicated account manager
Priority support & SLA
Volume discounts available
Processing steps with JavaScript expressions
{
  "steps": {
    ":original": {
      "robot": "/upload/handle"
    },
    "resized": {
      "use": ":original",
      "robot": "/image/resize",
      "width": "${Math.min(width, 1920)}",
      "height": "${Math.min(height, 1080)}",
      "imagemagick_stack": "${size > 5000000 ? 'v3.0.1' : 'v2.0.10'}"
    },
    "exported": {
      "use": "resized",
      "robot": "/s3/store",
      "path": "${fields.category || 'uncategorized'}/${file.name}"
    }
  }
}
Transloadit

Stop hardcoding processing parameters

Transloadit's code evaluation service lets you create intelligent pipelines that adapt to each file automatically.
JavaScript expressions

Use any JavaScript expression inline with dollar-brace syntax.

Access file metadata

Reference file.meta.width, file.meta.height, file.size, and all metadata fields.

Standard library

Use Math, Date, String methods, and other JavaScript built-ins for complex logic.

Fallback values

Handle missing metadata gracefully with || operators and ternary expressions.

Fast execution

Scripts execute in under 1ms with a 1-second timeout for safety.

Cost effective

Simple variable access is free. Only complex JavaScript expressions are charged.

Demos

See it in action

To give you an impression of our versatility, here is a hand-picked overview of live demos.

Try Transloadit

Try Transloadit for free

Start creating dynamic processing pipelines today with our free plan.
Pain Point Icon
Hardcoded processing values
Badge Check Icon
Dynamic expressions
Pain Point Icon
Missing metadata errors
Badge Check Icon
Fallback values
Pain Point Icon
One-size-fits-all processing
Badge Check Icon
Conditional logic
Pain Point Icon
Complex dimension calculations
Badge Check Icon
Math expressions
Pain Point Icon
Static output filenames
Badge Check Icon
Dynamic path templates
Pain Point Icon
Inflexible workflows
Badge Check Icon
JavaScript-powered pipelines
GDPR Icon
HIPAA Icon
AES256 Icon
AICPA / SOC icon
No credit card needed · 5 GB included in the free plan