Fetch or render a signed image
Unauthenticated. `sig` is HMAC over the template id and query (except `sig`). Optional `exp` is a unix expiry. Other query keys map to layer `text` or variables. First unique payload renders and bills the template owner; later hits stream the stored file.
/api/v1/img/{templateId}Unauthenticated. sig is HMAC over the template id and query (except sig). Optional exp is a unix expiry. Other query keys map to layer text or variables. First unique payload renders and bills the template owner; later hits stream the stored file.
Path Parameters
uuidQuery Parameters
Unix seconds; omit for a non-expiring URL
jpeg is accepted as an alias of jpg; stored and returned as jpg.
"png"Value in
- "png"
- "jpg"
- "pdf"
- "webp"
- "avif"
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/api/v1/img/497f6eca-6276-4993-bfeb-53cbbbba6f08?sig=string""string"{ "error": "string", "code": "UNAUTHORIZED", "details": {}, "message": "string"}{ "error": "string", "code": "UNAUTHORIZED", "details": {}, "message": "string"}{ "error": "string", "code": "UNAUTHORIZED", "details": {}, "message": "string"}{ "error": "string", "code": "UNAUTHORIZED", "details": {}, "message": "string"}{ "error": "string", "code": "UNAUTHORIZED", "details": {}, "message": "string"}{ "error": "string", "code": "UNAUTHORIZED", "details": {}, "message": "string"}Mint a signed URL-render link POST
Returns an HMAC-signed `GET /api/v1/img/{template}` URL for CMS / Open Graph `<img>` tags. The fetch itself needs no API key. Pass `jobs` (1–50) to mint many URLs in one call. Minting does not consume a credit; the first unique GET of each URL does. Repeats are cache hits.
Get render status GET
Poll status as a fallback. Prefer `/wait` or `/events` in production. Use exponential backoff (250ms → 2s cap).