api reference

API Documentation

Three APIs. One key. No rate-limit surprises on paid plans.

Authentication

All APIs use Bearer token auth. Pass your key in the Authorization header:

bash
curl -H "Authorization: Bearer sk_live_..." https://api.shipkits.dev/og/generate

Get your key at /pricing.

POST/og/generate

Generate a branded 1200×630 OG image. Returns PNG bytes.

Parameters

titlestringrequiredHeadline text (max 80 chars)
descriptionstringoptionalSubtext (max 120 chars)
themestringoptional"dark" (default) or "light"
curl
bash
curl -X POST https://api.shipkits.dev/og/generate \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title": "Agent-ops kits for Cursor, Claude Code, and Grok Bot.", "description": "Catalog v1 multi-harness agent-ops kits."}' \
  --output og.png
python
python
import httpx

response = httpx.post(
    "https://api.shipkits.dev/og/generate",
    headers={"Authorization": "Bearer YOUR_KEY"},
    json={"title": "Agent-ops kits for Cursor, Claude Code, and Grok Bot.", "description": "Catalog v1 kits."},
)
with open("og.png", "wb") as f:
    f.write(response.content)

POST/score

Score content for developer appeal, clarity, and conversion. Returns JSON.

curl
bash
curl -X POST https://api.shipkits.dev/score \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"content": "Your blog post text here...", "content_type": "blog_post"}'
response
json
{
  "overall_score": 82,
  "clarity": 88,
  "developer_appeal": 79,
  "conversion_potential": 74,
  "seo_strength": 85,
  "feedback": "Strong technical specificity. CTA could be more prominent.",
  "top_improvements": ["Add a code sample in the intro", "Lead with the outcome", "Shorten the second paragraph"]
}

POST/pdf/generate

Generate a branded PDF from Markdown content. Returns PDF bytes.

python
python
import httpx

response = httpx.post(
    "https://api.shipkits.dev/pdf/generate",
    headers={"Authorization": "Bearer YOUR_KEY"},
    json={
        "title": "AI Agent Cheat Sheet",
        "content": "## Setup\n\n- Install anthropic\n- Set ANTHROPIC_API_KEY\n\n## Patterns\n\n...",
        "template": "default"
    },
)
with open("output.pdf", "wb") as f:
    f.write(response.content)