Template gallery / og-card
og-card
1200x630 social share card. Renders on the Satori fast path.
satori default PNG 5 top-level fields 1 unit
Fields
The full JSON Schema is below. Required fields are marked; anything missing comes back as a 422 naming the path, the expected type and a value that would be accepted.
| Field | Type | Required | Description |
|---|---|---|---|
| title | string | required | |
| subtitle | string | optional | |
| eyebrow | string | optional | |
| accent | string | optional | |
| background | string | optional |
Default render options
Applied unless you override them. Options are part of the cache key.
| width | 1200 |
| height | 630 |
Example payload
This exact object renders the preview above. It is also what the API echoes back in a validation error, so an agent can repair a payload without a round trip to the docs.
{
"eyebrow": "Galley Render",
"title": "Documents for agents",
"subtitle": "JSON in, PDF out. Every render deterministic, cached, and signed.",
"accent": "#2dd4bf",
"background": "#0b0f14"
} Render it
curl -sS https://api.galleyrender.com/v1/render \
-H "Authorization: Bearer $GALLEY_API_KEY" \
-H 'content-type: application/json' \
-d '{
"template": "og-card@1",
"format": "png",
"data": {
"eyebrow": "Galley Render",
"title": "Documents for agents",
"subtitle": "JSON in, PDF out. Every render deterministic, cached, and signed.",
"accent": "#2dd4bf",
"background": "#0b0f14"
}
}' # No API key. The first call mints a 50-render trial.
curl -sS https://mcp.galleyrender.com/mcp \
-H 'content-type: application/json' \
-H 'accept: application/json, text/event-stream' \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "render",
"arguments": {
"template": "og-card",
"format": "png",
"data": {"eyebrow":"Galley Render","title":"Documents for agents","subtitle":"JSON in, PDF out. Every render deterministic, cached, and signed.","accent":"#2dd4bf","background":"#0b0f14"}
}
}
}'
Pin the version — og-card@1 — in anything you ship. Publishing a new
version never changes an old one. Render endpoint reference →
Renders the example payload on the production service. No account, no key.
JSON Schema
schema.json (5 top-level properties)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "OG card",
"type": "object",
"required": [
"title"
],
"additionalProperties": true,
"properties": {
"title": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"examples": [
"Documents for agents"
]
},
"subtitle": {
"type": "string",
"maxLength": 200,
"examples": [
"JSON in, PDF out."
]
},
"eyebrow": {
"type": "string",
"maxLength": 60,
"examples": [
"Galley Render"
]
},
"accent": {
"type": "string",
"default": "#0f766e",
"examples": [
"#0f766e"
]
},
"background": {
"type": "string",
"default": "#0b0f14",
"examples": [
"#0b0f14"
]
}
}
}