MostlyRender

URL de rendu signés

Rendu à la volée à partir d’une URL simple — parfait pour les balises <img>, les images Open Graph et les e-mails. Aucune clé API ne voyage vers le navigateur : le propriétaire pré-signe l’URL, donc elle sert toujours (elle ne bloque jamais sur quota comme le fait l’API), et les accès répétés sont mis en cache CDN et dédupliqués de la mesure.

text
GET https://api.mostlyrender.com/v1/templates/{id}/render.{ext}?<modifications>&sig=<signature>

# Exemple

html
<img src="https://api.mostlyrender.com/v1/templates/tpl_abc/render.png?title=Hello&theme=dusk&sig=8f3c…" />
  • {ext} est png, jpg/jpeg, webp, ou pdf.
  • Chaque paramètre de requête autre que les paramètres réservés sig, scale et q est transmis au template comme une modification.
  • scale (1–3) définit le facteur d’échelle de l’appareil ; q (0–100) définit la qualité JPEG/WebP.

# Signature

Le chemin le plus simple : ouvrez un template dans l’application et copiez son URL d’intégration signée — elle est pré-signée et prête à coller dans une balise <img>.

Pour créer des URL vous-même, le sig est un HMAC-SHA256 sur l’identifiant du template, l’extension et la chaîne de requête canonicalisée (paramètres triés, sig exclu), en utilisant votre secret de signature :

js
import crypto from 'node:crypto';

function signRenderUrl(base, secret, id, ext, params) {
  const query = Object.keys(params).sort()
    .map((k) => `${encodeURIComponent(k)}=${encodeURIComponent(params[k])}`).join('&');
  const sig = crypto.createHmac('sha256', secret).update(`${id}:${ext}:${query}`).digest('hex');
  return `${base}/v1/templates/${id}/render.${ext}?${query}&sig=${sig}`;
}

Une requête avec un sig manquant ou incorrect retourne 403. La signature couvre uniquement les paramètres que vous avez signés, donc une URL falsifiée (un paramètre supplémentaire ou modifié) est rejetée.

# Quand utiliser lequel

Utilisation Choisissez
Génération côté serveur, stockez l’URL POST /v1/renders
Beaucoup à la fois Batch
Intégrer dans <img>/OG/e-mail, pas de clé dans le client URL de rendu signés