New Update: Synchronous Image Generation

November 2020

apiautomationsynchronous

Since launching in March, one of the ultimate goals of Bannerbear was to be able to generate images synchronously, opening up many more use-cases. That day is now here!

Until today, Bannerbear has worked only asynchronously.

Asynchronous: you fire off an API request to Bannerbear, the image starts to generate, then you fire another API request to fetch the image. If you are using the REST API you'll be familiar with this pattern. If you are using the Zapier integration which delivers images instantly, this two-step process is actually what is going on in the background.

From today there is a new synchronous option when using Signed URLs.

Synchronous: you fire off an API request to Bannerbear, and the image is generated and returned in the same request.

There are pros and cons to each approach and in your application you may wish to use different approaches for different parts of your app / website.

Why Synchronous is Cool

Synchronous image generation has many use-cases in user-facing contexts such as websites and emails. Just get your app or CMS to construct a Bannerbear synchronous signed url and let Bannerbear do the rest.

With the previous async pattern, you could not reliably use signed urls in contexts such as social meta tags or user emails. The async "loading" graphic would get loaded by social media platforms or email clients, and shown to the user which is not what we want.

Now with the new synchronous functionality, there is no "loading" graphic - the requested image just loads synchronously after a few seconds, even when requesting it for the first time.

Use Cases for Synchronous Signed URLs

I think the top two use cases for this feature will be:

Social meta tags - get your CMS to plug in some parameters (e.g. product names, article titles etc) and output a unique social image url for every page of your site. It gives your site an instant facelift on social media - and with Bannerbear's special objects you can get really creative e.g. adding star ratings to your social meta tag images across an entire product catalogue.

Email personalization - now you can easily add dynamic images to your user-facing emails. Really handy for welcome emails, weekly update emails etc. You can see an example of this if you sign up for Bannerbear - you'll receive a welcome email with a graphic like this:

Previously I was generating these images asynchronously using the REST API and a webhook (too complicated!), but now I just embed the synchronous signed url in the email and let Bannerbear do the rest. Much simpler!

How to use Synchronous Signed URLs

I've tried to make this as simple as possible!

The method for creating synchronous signed urls is the same as the previous async method. The only different is, after you have generated your digitally-signed url you simply change:

cdn.bannerbear.com

To:

on-demand.bannerbear.com

That's it!

The signed url documentation has been updated to reflect these changes.

Special Note

Previously there were two options when constructing signed urls: non-encoded and Base64-encoded.

Your non-encoded signed urls will still work as normal. But if you want to use the new synchronous feature, your urls must use the Base64 method as described in the documentation.

This is now the default / only method for creating signed urls and the non-encoded method has been deprecated.

Author
Jon Yongfook@yongfook

Jon is the founder of Bannerbear. He has worked as a designer and programmer for 20 years and is fascinated by the role of technology in design automation and design efficiency. Jon is a digital nomad and can be found riding a motorcycle around Asia, lives out of Airbnbs and works from coworking spaces.

Follow the Journey

Hello I'm Jon, the founder of Bannerbear — every 2 weeks I send a newsletter with updates from the Product, Marketing and Business sides of my startup, subscribe below to receive it!