Navigation

PHP

Signed URLs in PHP

Generate a signed URL with the PHP 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 server with your API key.

Request

#templateIdstringrequired

The template id, for example tpl_xxx.

#modificationsarray

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.

#formatstringdefault: png

The image format: png, jpeg, or webp. The method throws InvalidArgumentException for any other value.

#nocachebooldefault: false

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

$url = $client->generateImageSignedUrl('tpl_xxx', [
    'modifications' => [
        ['name' => 'headline', 'text' => 'Hello, Ada'],
    ],
    'format' => 'jpeg',
]);

Response

The method returns a string:

https://api.bannerify.co/v1/templates/signedurl?apiKeyHashed=2f5a...&format=jpeg&modifications=%5B...%5D&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.

echo '<img src="' . htmlspecialchars($url) . '" alt="Welcome banner">';

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