Transloadit
No credit card needed5 GB included in the free plan
file.meta
.width: 1600
.height: 1200
${Math.max(file.meta.width, file.meta.height) / 2}
Arrow
Result
Waiting…
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.

Industry leaders who use Transloadit
The New York Times logoNVIDIA logoOracle logoWeTransfer logoCoursera logoPwC 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.

w: 1600
h: 1200
${width / 2}
?

Fallback values

Handle missing metadata gracefully with default values using || operators.

title: undefined
${title || "Untitled"}
Arrow
title:

Conditional logic

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

photo.jpg
type === "image"
/image/resize
/video/encode
Demo

JavaScript Expression Evaluation

Use dollar-brace syntax to evaluate JavaScript expressions in your Assembly Instructions.

JavaScript Expression
${Math.min(width, 1920)}
width = 2400
Assembly Instructions (JSON)
{
"steps": {
":original": {
"robot": "/upload/handle"
},
"resized": {
"use": ":original",
"robot": "/image/resize",
"width": "${Math.min(width, 1920)}",
"height": "${height / 2}"
},
"exported": {
"use": "resized",
"robot": "/s3/store"
}
}
}

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
Enterprise
Custom

For teams with advanced needs

Custom GB allowances
Dedicated account manager
Priority support & SLA
Volume discounts available
Assembly Instructions 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 in your Assembly Instructions 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.

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
Soc 2 Ready Icon
No credit card needed · 5 GB included in the free plan