Assembly Execution Progress: real-time status for your Assemblies
When uploads finish, users still want to know what’s happening to their files. Our new Assembly Execution Progress feature fills that gap with real-time, per-file progress events during processing, so your UI can show a meaningful status instead of a simple spinner.
Assembly Execution Progress is still experimental. Its behavior, API details, and pricing may evolve while we continue to refine it. If you run into issues, please contact us.
Why it matters
Upload progress tells users when a file reaches our servers. Assembly Execution Progress tells them what happens next: how far their files have moved through each processing Step. This makes complex pipelines feel trustworthy, especially when different files take different paths.
How it works
Transloadit estimates overall progress by predicting the remaining Steps in your
Assembly and combining those estimates with live execution data (for example, encoding
progress from /video/encode). You receive a combined percentage plus per-file progress values,
updated approximately every two seconds.
Enable it in your Assembly
Add emit_execution_progress: true to your Assembly Instructions when you create the
Assembly:
{
"steps": {
"resized": {
"robot": "/image/resize",
"use": ":original",
"width": 100,
"height": 100,
"resize_strategy": "fillcrop"
}
},
"emit_execution_progress": true
}
Consume the progress stream
Open the Assembly update stream and listen for assembly_execution_progress events. Each
event includes an overall estimate in progress_combined and an array of per-file progress values.
When progress cannot yet be estimated, keep the UI in an indeterminate state.
{
"progress_combined": 75,
"progress_per_original_file": [
{
"original_id": "6bb16f6cd49a44b4ae431f576e016c6d",
"progress": 50
},
{
"original_id": "56921a2dd46246d3b4d3a98b9f8ed4e1",
"progress": 100
}
]
}
UI tips
Pair upload progress with execution progress, so users see the entire pipeline.
Show per-file progress in batch uploads to avoid “stuck” impressions.
Use combined progress for a single overall bar and per-file progress for a detailed list view.
Caveats to be aware of
Progress is an estimate, and some workflows cannot provide it immediately or at all. See the
compatible Assemblies guidance
for unpredictable result counts, URL Transform Assemblies and multipart uploads. Each entry in
progress_per_original_file identifies its input by original_id; imported files without that ID
are not included in the list.
Next steps
Read the Assembly Execution Progress docs for compatibility rules, missing updates and the nullable progress schema, then use the Assembly update stream reference to wire events into your UI.
