---
title: "Generate a 1200x630 Open Graph PNG (query parameters; for og:image tags use a signed URL: kid + sig, no API key)"
method: GET
path: "/v1/og"
---

# Generate a 1200x630 Open Graph PNG (query parameters; for og:image tags use a signed URL: kid + sig, no API key)

`GET /v1/og`

## Request

- Base URL: `https://shotkiln.com`
- URL: `https://shotkiln.com/v1/og`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer
  - none

## Query parameters

- `title` string, required
- `subtitle` string
- `template` 'default' | 'gradient' | 'split'
- `theme` 'light' | 'dark'
- `accent` string
- `site` string
- `cache_ttl` integer
- `kid` string
- `exp` integer
- `sig` string

## Response `200`

Rendered file

## Other responses

- `400`: Invalid parameter or blocked URL (code: invalid_parameter, invalid_url, url_blocked, blocked_url)
- `401`: Invalid or revoked API key
- `403`: invalid_signature or signature_expired
- `413`: Target page too large
- `429`: Rate limit, daily limit or monthly quota exceeded (see Retry-After)
- `502`: Target page failed to load
- `503`: Browser capacity temporarily unavailable (see Retry-After)
- `504`: Render timed out

---

[API](https://skmtc.dev/shotkiln/apis/shotkiln-api.md) · [All operations](https://skmtc.dev/shotkiln/apis/shotkiln-api/llms.txt) · [OpenAPI document](https://skmtc.dev/shotkiln/apis/shotkiln-api/revisions/8123a05b6719?raw)
