Navigation

Javascript

Signed URLs in JavaScript

Generate a signed URL with the JavaScript SDK. The URL renders a template image when someone opens it.

generateImageSignedUrl builds a link that renders an image when someone opens it. It makes no network request: the SDK signs the URL on your machine with your API key.

Request

#templateIdstringrequired

The template id, for example tpl_xxx.

#modificationsModification[]

The values to put into the template’s layers. They travel in the URL, so keep them short. Modifications lists the fields each layer accepts.

#format'png' | 'jpeg' | 'webp'default: png

The image format. The method throws for any other value.

#qualitynumber

The encoder quality from 1 to 100, for jpeg and webp. The default is 90.

#nocachebooleandefault: false

Skip the cache. Every request renders a new image and counts toward your quota.

const url = await bannerify.generateImageSignedUrl("tpl_xxx", {
  modifications: [{ name: "headline", text: "Hello, Ada" }],
  format: "jpeg",
  quality: 80,
})

Response

The method returns a string:

https://api.bannerify.co/v1/templates/signedurl?apiKeyHashed=2f5a...&format=jpeg&modifications=%5B...%5D&quality=80&templateId=tpl_xxx&sign=ce2d...

apiKeyHashed tells Bannerify which key signed the URL. sign is an HMAC-SHA256 of the other parameters, keyed with your API key. Nobody can change the template or the modifications in a signed URL without breaking the signature, so you can put the URL in a page, an email, or a meta tag.

<img src="https://api.bannerify.co/v1/templates/signedurl?..." alt="Welcome banner" />

Bannerify caches the rendered image for up to 7 days. Signed URLs explains caching, quota, and limits.