Rendu d'images
L'endpoint central : un template + des surcharges → une image PNG.
POST
/v1/renderCorps de la requête#
| Champ | Type | Description |
|---|---|---|
templateId | string | Identifiant d'un template enregistré. Requis sauf si template est fourni. |
template | object | Un template inline complet, au lieu de templateId. |
layers | object | Surcharges par calque : { "nomDuCalque": { …propriétés } }. |
scale | number | É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.pngQuotas
Chaque rendu compte dans votre quota mensuel. En cas de dépassement, l'API répond
402. Voir Erreurs & limites.