Rendu d'images

L'endpoint central : un template + des surcharges → une image PNG.

POST/v1/render

Corps de la requête#

ChampTypeDescription
templateIdstringIdentifiant d'un template enregistré. Requis sauf si template est fourni.
templateobjectUn template inline complet, au lieu de templateId.
layersobjectSurcharges par calque : { "nomDuCalque": { …propriétés } }.
scalenumberÉchelle de sortie, de 1 à 4 (défaut 1). Augmente la résolution sans changer la mise en page.
output"url" | "image"« url » (défaut) renvoie un JSON avec une URL hébergée ; « image » renvoie les octets PNG bruts.

Surcharges par calque#

Les clés de l'objet layers sont les noms de calques du template (visibles via GET /v1/templates/:id). Les propriétés acceptées dépendent du type de calque :

Texte

json
"title": {
  "text": "Soldes -40%",
  "color": "#ffffff",
  "fontSize": 64,
  "fontFamily": "Poppins",
  "fontWeight": 700,
  "align": "center"
}

Image

json
"photo": {
  "src": "https://example.com/p.jpg",
  "objectFit": "cover"
}

src doit être une URL HTTPS publique. Pour une image locale, téléversez-la d'abord.

Forme & QR code

json
"bg":   { "fill": "#4f46e5" },
"qr":   { "value": "https://motiframe.com" }

Réponse — sortie URL#

Par défaut, l'image est hébergée et la réponse est un JSON :

json
{
  "id": "8f2a1c…",
  "url": "https://cdn.motiframe.com/r/8f2a.png",
  "width": 1080,
  "height": 1350,
  "durationMs": 412
}

Réponse — sortie image#

Avec "output": "image", la réponse est le PNG brut (Content-Type image/png). Les dimensions sont dans les en-têtes X-Image-Width / X-Image-Height en-têtes.

cURL
curl -X POST https://api.motiframe.com/v1/render \
  -H "x-api-key: $MOTIFRAME_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "templateId": "summer-sale", "output": "image" }' \
  -o image.png
Quotas
Chaque rendu compte dans votre quota mensuel. En cas de dépassement, l'API répond 402. Voir Erreurs & limites.