API
Stateless image URLs. Free tier: rate-limited, attribution required. Pro ($29/mo) and Scale ($99/mo) remove attribution and raise limits.
GET render routes
/r/chart?c=<urlencoded Chart.js JSON>&f=png|svg&w=&h=/r/mermaid?c=<urlencoded flowchart/graph>&f=png|svg(headless flowchart subset → Graphviz; other Mermaid types: use DOT)/r/graphviz?dot=<urlencoded DOT>&f=png|svg/r/qr?text=<payload>&f=png|svg&w=
POST JSON
POST /api/v1/chart
{ "chart": { "type": "bar", "data": { ... } }, "format": "png" }
POST /api/v1/mermaid
{ "code": "flowchart LR; A-->B", "format": "svg" }
POST /api/v1/graphviz
{ "dot": "digraph { A -> B }", "format": "png" }
POST /api/v1/qr
{ "text": "https://example.com", "format": "png", "width": 320 }API key authentication
Paid plans receive an API key after Paddle confirms payment. Prefer an HTTP header so the key does not appear in URLs or CDN logs.
Authorization: Bearer cl_live_...
# or
X-API-Key: cl_live_...
# Legacy URL and JSON body field:
?key=cl_live_...
{ "key": "cl_live_...", ... }Caching
Successful images return Cache-Control: public, max-age=86400, s-maxage=604800. Same query string → same image (CDN-friendly).
Markdown embed
