Email-creative render service. Composites a source image/animation onto a chrome overlay and emits an animated WebP/GIF or a static JPEG/WebP/PNG. Static formats run through libvips in-process (~20–70 ms p50); animated formats use ffmpeg + parallel cwebp (~210 ms p50 at native 970×550).
API: POST /render with multipart/form-data. See
/healthz for liveness, /demo?format=…
for a GET-renderable example using a bundled sample creative, and
/?creativeId=… (HOM-80 POC) to render a real
creative end-to-end via the satori chrome service.
format=webp quality=70 scaleWidth=480format=webp quality=70 scaleWidth=970format=webp quality=60 scaleWidth=480format=webp quality=40 scaleWidth=480format=jpeg quality=70 scaleWidth=480format=jpeg quality=70 scaleWidth=970format=webp-static quality=70 scaleWidth=480format=webp-static quality=70 scaleWidth=970Same end output as the row above, but the source is a bundled still JPG (no video decode). Faster wall-time because there's no h264 demux/decode pipeline to spin up.
source=static format=jpeg sw=480source=static format=jpeg sw=970source=static format=webp-static sw=480source=static format=webp-static sw=970