Skip to main content

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.

  • titlerequired
  • subtitleoptional
  • badgeoptional
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.

  • headingoptional
  • value1 / label1required
  • value2 / 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.

  • quoterequired
  • nameoptional
  • roleoptional
curl "https://framekit-mauve.vercel.app/api/v1/card?template=quote&quote=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 key
  • 402 — monthly quota exceeded
  • 429 — too many requests in a short window
  • 400 — missing a required parameter for the chosen template