BENCHMARKS

Public compositions, measured end to end.

Every workload below is one of Remotion's official templates, uploaded unchanged as a Remotion site. Each was rendered on a stock Remotion Lambda 4.0.523 function in eu-central-1 (arm64, 2048 MiB memory and disk, H.264, Remotion's default frames per Lambda) and then on a second function created from the same code, with only the BlitzFrames install value added. Measured 11 September 2026.

End to end

Seconds from before the render call until progress polling, every 200 ms, observed completion. "First" is the first render on a freshly created function, where every Lambda starts cold. "Warm" is the median of three renders that followed.

TemplateVideoLambda firstLambda warmBlitzFrames firstBlitzFrames warmFaster by
Hello World
title animation, logo
5 s, 1920×1080
150 frames, 8 chunks
12.8 s5.6 s6.7 s3.5 s1.6×
Skia
Skia canvas drawing
5 s, 1920×1080
150 frames, 8 chunks
62.4 s44.1 s8.0 s4.1 s10.9×
Code Hike
animated code transitions
12 s, 1106×1080
360 frames, 18 chunks
17.6 s7.4 s10.7 s6.7 s1.1×
React Three Fiber
3D phone with video texture
10 s, 1280×720
300 frames, 15 chunks
16.0 s8.3 s7.3 s4.0 s2.1×
TikTok captions
vertical video with word captions
12 s, 1080×1920
358 frames, 18 chunks
23.8 s13.5 s9.3 s5.8 s2.3×
Audiogram
podcast waveform and captions
27 s, 1080×1080
814 frames, 41 chunks
15.1 s5.7 s7.7 s4.5 s1.3×
Music visualization
audio-reactive visualizer
239 s, 1080×1080
7165 frames, 104 chunks
34.6 s25.1 s17.8 s14.5 s1.7×

Cost per render

AWS cost is the billed duration of every start, launch and renderer invocation of the render, from its CloudWatch report lines, at the eu-central-1 arm64 Lambda prices with Remotion's own cost formula. Progress-polling invocations are excluded. BlitzFrames usage is the renderer seconds the relay reported for billing, at US$0.00005 per second. Warm medians, before tax. With BlitzFrames, AWS still runs the start, launch and combine steps, so a smaller AWS charge remains.

TemplateLambda billedLambda costAWS with BlitzFramesRenderer secondsBlitzFrames usageTotal with BlitzFramesCost ratio
Hello World39.2 sUS$0.0011US$0.000118.8 sUS$0.0009US$0.00101.0×
Skia295.2 sUS$0.0079US$0.000121.1 sUS$0.0011US$0.00126.8×
Code Hike66.4 sUS$0.0018US$0.000251.8 sUS$0.0026US$0.00280.6×
React Three Fiber108.3 sUS$0.0029US$0.000140.2 sUS$0.0020US$0.00211.4×
TikTok captions213.6 sUS$0.0057US$0.000276.1 sUS$0.0038US$0.00401.4×
Audiogram151.9 sUS$0.0041US$0.0001120.9 sUS$0.0060US$0.00620.7×
Music visualization1936.7 sUS$0.0518US$0.00041096.7 sUS$0.0548US$0.05520.9×

Across the 7 templates, one render of each costs US$0.0752 on Lambda and US$0.0724 with BlitzFrames. Renders finished 1.1× to 10.9× sooner. 4 of 7 cost less with BlitzFrames, up to 6.8× less; Code Hike, Audiogram, Music visualization cost more: for them a renderer second at this rate costs more than the Lambda seconds it replaces. The cost ratio column is Lambda cost divided by the total with BlitzFrames; below 1 means Lambda was cheaper.

Output checks

The last BlitzFrames output of each template was compared frame by frame with the last stock output using ffmpeg's SSIM. GPU rendering and hardware H.264 encoding change pixels and compression, so identical bytes are not expected; a mean above 0.98 means the frames match. Remote chunks lists, for each BlitzFrames render, how many of the chunks completed on BlitzFrames servers. A fallback is a chunk the relay sent to AWS instead.

TemplateFramesMean SSIMLowest frameRemote chunksFallbacks
Hello World1500.99810.99708 / 8 / 8 / 8 of 80
Skia1500.99460.98778 / 8 / 8 / 8 of 80
Code Hike3600.99900.997018 / 18 / 18 / 18 of 180
React Three Fiber3000.99940.998215 / 15 / 15 / 15 of 150
TikTok captions3580.98330.980918 / 18 / 18 / 18 of 180
Audiogram8140.99230.986141 / 41 / 41 / 41 of 410
Music visualization71650.99300.5286104 / 104 / 104 / 104 of 1040

The music visualization's lowest frame is a stock Lambda artifact, not a BlitzFrames one: on the first frame of some chunks, stock Lambda rendered the bars without the background layer. Two stock renders of it compared with each other reach a minimum frame SSIM of 0.41 with 21 frames below 0.95; two BlitzFrames renders compared with each other reach 0.90 with 2 frames below 0.95.

By frame count

Six compositions rendered at 50, 100, 200, 400 frames each: the Skia, TikTok captions, Code Hike and Music visualization templates from above, plus two public projects, the ZurichJS scenes conference opener and GitHub Unwrapped. Each composition is wrapped unchanged in a Remotion Loop so that every length exists: frame N is frame N modulo the loop period. The period is the composition's own length for the four templates and 200 frames for the two projects, whose later scenes fail at 400 frames without BlitzFrames involved: ZurichJS scenes runs a 2048 MB stock Lambda out of memory, and GitHub Unwrapped hits a null path point in its own top-languages scene with its sample props at Remotion 4.0.523. Both reproduce on the original, unlooped compositions at frames 200 to 399. A size is the frame range from 0 to that count, with Remotion's default frames per Lambda, so the chunk count grows with the size. Same functions, region and settings as above. The first render on each fresh function is excluded; the sizes were rendered one after another on the same functions, modes alternating, and the table shows the median of the warm renders, two at the first size and three at the others. Measured 11 September 2026.

CompositionFramesChunksLambda warmBlitzFrames warmFaster byLambda costTotal with BlitzFramesCost ratioRemote chunksFallbacks
Skia
Remotion template, 1920×1080
50324.9 s4.8 s5.2×US$0.0022US$0.00054.3×3/3 3/30
100543.9 s4.0 s11.0×US$0.0051US$0.00086.3×5/5 5/5 5/50
2001045.4 s4.0 s11.2×US$0.0092US$0.00156.2×10/10 10/10 10/100
4002046.4 s4.3 s10.7×US$0.0179US$0.00305.9×20/20 20/20 20/200
TikTok captions
Remotion template, 1080×1920
50312.0 s6.2 s1.9×US$0.0011US$0.00071.5×3/3 3/30
100514.3 s6.0 s2.4×US$0.0020US$0.00121.6×5/5 5/5 5/50
2001014.8 s5.4 s2.7×US$0.0035US$0.00211.6×10/10 10/10 10/100
4002015.5 s5.7 s2.8×US$0.0064US$0.00441.4×20/20 20/20 20/200
Code Hike
Remotion template, 1106×1080
5037.8 s7.5 s1.0×US$0.0005US$0.00060.8×3/3 3/30
10059.9 s6.8 s1.5×US$0.0007US$0.00090.8×5/5 5/5 5/50
200108.0 s6.8 s1.2×US$0.0011US$0.00160.7×10/10 10/10 10/100
400208.3 s6.7 s1.2×US$0.0020US$0.00300.7×20/20 20/20 20/200
Music visualization
Remotion template, 1080×1080
50310.8 s5.3 s2.0×US$0.0009US$0.00051.7×3/3 3/30
100512.3 s4.5 s2.7×US$0.0014US$0.00091.7×5/5 5/5 5/50
200109.8 s4.4 s2.3×US$0.0022US$0.00151.4×10/10 10/10 10/100
4002010.2 s4.5 s2.3×US$0.0042US$0.00311.4×20/20 20/20 20/200
ZurichJS scenes
conference opener, first 200 frames looped, 1920×1080
50314.5 s5.7 s2.5×US$0.0014US$0.00062.3×3/3 3/30
100517.1 s4.7 s3.6×US$0.0019US$0.00092.0×5/5 5/5 5/50
2001016.1 s4.8 s3.3×US$0.0033US$0.00162.0×10/10 10/10 10/100
4002018.3 s5.3 s3.5×US$0.0058US$0.00321.8×20/20 20/20 20/200
GitHub Unwrapped
Remotion’s year-in-review video, first 200 frames looped, 1080×1080
50312.6 s4.7 s2.7×US$0.0011US$0.00052.1×3/3 3/30
100517.6 s4.5 s3.9×US$0.0019US$0.00092.2×5/5 5/5 5/50
2001026.4 s3.9 s6.8×US$0.0042US$0.00152.9×10/10 10/10 10/100
4002019.7 s3.9 s5.0×US$0.0069US$0.00282.5×20/20 20/20 20/200

Remote chunks lists, for each BlitzFrames render of that size, how many chunks completed on BlitzFrames servers. Costs as in the table above: AWS from CloudWatch billed durations at the region's arm64 prices, BlitzFrames usage at US$0.00005 per renderer second, the ratio is Lambda cost divided by the total with BlitzFrames.

Every sample

TemplateModeFirstWarm renders
Hello WorldLambda12.8 s5.7 s / 5.6 s / 5.4 s
Hello WorldBlitzFrames6.7 s3.5 s / 5.8 s / 3.3 s
SkiaLambda62.4 s41.9 s / 54.0 s / 44.1 s
SkiaBlitzFrames8.0 s6.2 s / 3.9 s / 4.1 s
Code HikeLambda17.6 s9.6 s / 7.3 s / 7.4 s
Code HikeBlitzFrames10.7 s8.5 s / 6.7 s / 6.0 s
React Three FiberLambda16.0 s8.0 s / 8.9 s / 8.3 s
React Three FiberBlitzFrames7.3 s6.1 s / 4.0 s / 3.7 s
TikTok captionsLambda23.8 s18.2 s / 13.5 s / 13.4 s
TikTok captionsBlitzFrames9.3 s8.0 s / 5.8 s / 5.7 s
AudiogramLambda15.1 s7.0 s / 5.7 s / 5.6 s
AudiogramBlitzFrames7.7 s7.1 s / 4.3 s / 4.5 s
Music visualizationLambda34.6 s25.1 s / 25.0 s / 25.7 s
Music visualizationBlitzFrames17.8 s16.5 s / 14.5 s / 14.0 s

Method

One benchmark harness created the functions, ran every render one after another, read the render hosts' journals and CloudWatch, compared the outputs and removed everything it created. The BlitzFrames function used a temporary token that the billing endpoint refuses, so no subscription was charged; the relay's usage reports were captured on one host instead. The relay was preloaded from the function package, so the two-second bootstrap download a real cold start performs is not in these numbers. Three repeats are a small sample and not a guarantee; the same harness and templates can be rerun at any time. Nothing in the templates was changed, and the AWS side ran Remotion's published Lambda code without modification.

AWS, storage, data transfer and Remotion licence costs are separate from BlitzFrames usage. Prices in USD, excluding applicable taxes.