Grupo W is a leading digital communication agency in Mexico. They have 22 years of experience in the development of memorable experiences.
During the pandemic, IKEA wanted to provide their IKEA Family members with a special experience. By using a form on their website, users could let their loved ones know, that despite the distance, they are always near.
Users were able to choose from a range of unique situations within a story. A personalized and shareable video was then generated.
Before Shotstack, Grupo W created dynamic videos by setting up servers and using command line tools. They had to configure the server environment with capacity to render a large volume of videos.
This was a complicated and expensive process. It required an intimate knowledge of tools such as FFmpeg. Servers had to be set up to handle thousands of compute intensive workloads at once. This process led to long production times and suboptimal results.
For the IKEA campaign they were working with a tight deadline. They needed to find a solution that worked at scale and required minimal maintenance. This search led them to Shotstack.
Building a workflow that is capable of rendering video at scale is complex. It requires the deployment and maintenance of complicated backend infrastructure. It must be capable of rendering thousands of videos at the same time. An advanced knowledge of video editing, encoding and scalable software architecture is also needed.
Using Shotstack's media generation infrastructure eliminated the need to build their own system. It saved thousands of dollars and reduced the time it took to complete the project.
Our existing process was expensive and time consuming. We configured our own servers and used tools such as FFmpeg, MLT and NodeJS to create the videos. We really liked the idea of being able to delegate the entire infrastructure to Shotstack. Not having to configure servers ourselves made us realize that we were going to be able to complete the project on time.
This IKEA campaign required thousands of personalized videos to be rendered on demand. Rául Uranga, the lead developer at Grupo W, knew this was a risk. They needed a solution that was reliable under the most heavy of loads.
Our main concern going into this project was that is would be impossible to handle the enormous amount of videos that we were planning to generate. As millions of users interact with these types campaigns we were going to have to render thousands videos every minute. It quickly became apparent that this type of volume was no issue for Shotstack at all.
The IKEA campaign rendered tens of thousands of videos with peak bursts.
Shotstack is a reliable and scalable solution. It was able to render thousands of videos every minute at peak capacity. By design, Shotstack has provided a reliable and scalable experience from day one.
It should not be necessary to worry about whether your campaign is hitting the limits of your system's capacity. That is something we can do for you.
Shotstack's simple developer experience helped Grupo W save time and costs. The easy to use API and intuitive JSON specification speeds up development time. Application development is easier than using complex video editing utilities such as FFmpeg.
The Shotstack API was very intuitive and easy to implement. Either through their SDKs in languages such as PHP or JS, or straight via the REST API. The documentation was comprehensive and complete, allowing us to easily find examples of how to implement the API and get the results we were looking for.
Campaign length | 4 weeks |
Total videos generated | 86,747 |
Total minutes generated | 33,253 |
Peak videos per day | 24,220 |
Peak minutes per day | 9,290 |
Peak videos per hour | 3,609 |
Peak minutes per hour | 1,383 |
Video length | 23 seconds |
Render time | 12 seconds |
curl --request POST 'https://api.shotstack.io/v1/render' \
--header 'x-api-key: YOUR_API_KEY' \
--data-raw '{
"timeline": {
"tracks": [
{
"clips": [
{
"asset": {
"type": "video",
"src": "https://shotstack-assets.s3.amazonaws.com/footage/beach-overhead.mp4"
},
"start": 0,
"length": "auto"
}
]
}
]
},
"output": {
"format": "mp4",
"size": {
"width": 1280,
"height": 720
}
}
}'