API Reference
One endpoint, three templates. Every request needs a Bearer API key and counts against your monthly quota.
Authentication
Pass your key as a Bearer token. Get one from your dashboard after signing up.
Authorization: Bearer fk_live_...
Endpoint
GET https://framekit-mauve.vercel.app/api/v1/card
Returns image/png on success. Non-2xx responses return { "error": "..." } as JSON.
Templates
template=og
Title + subtitle + optional badge. General-purpose OG image.
titlerequiredsubtitleoptionalbadgeoptional
curl "https://framekit-mauve.vercel.app/api/v1/card?template=og&title=Ship+faster&subtitle=with+Framekit&badge=New" \ -H "Authorization: Bearer fk_live_..." -o card.png
template=stat
A heading with up to 3 value/label stat pairs.
headingoptionalvalue1 / label1requiredvalue2 / label2, value3 / label3optional
curl "https://framekit-mauve.vercel.app/api/v1/card?template=stat&heading=By+the+numbers&value1=5,000&label1=renders" \ -H "Authorization: Bearer fk_live_..." -o card.png
template=quote
A quote with attribution — name and optional role.
quoterequirednameoptionalroleoptional
curl "https://framekit-mauve.vercel.app/api/v1/card?template=quote"e=Ship+it&name=A.+Developer&role=Engineer" \ -H "Authorization: Bearer fk_live_..." -o card.png
Themes
Add &theme= with indigo (default), slate, or rose.
Errors
401— missing or invalid API key402— monthly quota exceeded429— too many requests in a short window400— missing a required parameter for the chosen template