# thumb.im
> thumb.im turns HTML into images and URLs into screenshots, and returns permanent URLs for og:image and twitter:image tags. No headless browser needed. Authenticate with an API key in the X-API-Key header.
Coding agents: read the skill first. It covers choosing between a rendered card and a screenshot, the request shapes, limits, domain verification, and error handling.
Everything below in one file, with no links to follow: [llms-full.txt](https://thumb.im/llms-full.txt)
## Agent skill
- [SKILL.md](https://thumb.im/skill.md): How to create and manage a site's OG images through the API: render a card from HTML with POST /apis/render/ (no domain verification), screenshot a page, verify a domain, handle 400/401/403/429
## How thumb.im works
- What it does: screenshots of URLs, images rendered from HTML, and permanent URLs to paste into og:image / twitter:image. A designed card needs no domain (POST /apis/render/); a screenshot of a live page needs a claimed domain. See [llms-full.txt](https://thumb.im/llms-full.txt)
- Hotlink URLs: put your page URL after ours, `https://thumb.im/https://example.com` or `https://thumb.im/shot/?url=https://example.com`, with options such as `opengraph`, `dark`, `zoom:2`. No key needed to fetch the image. [Docs](https://thumb.im/docs/)
- JSON API: `/apis/` with an `X-API-Key` header, to render HTML, request screenshots, and manage domains and organizations. [Docs](https://thumb.im/docs/)
- MCP server: `https://thumb.im/mcp` (no trailing slash), for AI assistants; connects with OAuth or an API key. [Tools and auth](https://thumb.im/llms-full.txt)
- Accounts and organizations: the tenant is an organization, not a person; domains, screenshots and API keys belong to it, and an `X-Organization: ` header picks which one a request acts as. [Organizations](https://thumb.im/organizations/)
- API keys: create one at [API keys](https://thumb.im/api-keys/), keep it in an environment variable, never in committed code
- Allowed domains: claim a domain to permit screenshots of it (subdomains included); verifying it, by a meta tag or a `/.well-known/thumb-im-verification.txt` file, settles ownership. Statuses: Verified (token found), Needs verification (captures refused until verified), Blocked (another organization verified it), Active, unverified (captures work, not verified), Inactive (switched off). Until a domain may capture, its screenshot URLs redirect to a placeholder with `X-Screenshot-Status: domain-not-verified`. [Domains](https://thumb.im/alloweddomains/)
- Limits and plans: renders are capped at 256 KB and 16-3000 px, new renders and new screenshots are rate limited (429 with Retry-After), cached images are free; monthly screenshot quotas depend on the plan. [Pricing](https://thumb.im/pricing/)
## Pages
- [Dashboard](https://thumb.im/dashboard/): domains, screenshots and keys at a glance
- [Generator](https://thumb.im/generate/): build a screenshot URL or try an HTML render in the browser
- [Allowed domains](https://thumb.im/alloweddomains/): claim, verify, see each domain's status
- [API keys](https://thumb.im/api-keys/): create and revoke keys, download the skill bundle
- [Pricing](https://thumb.im/pricing/): plans and limits
- [Docs](https://thumb.im/docs/): hotlink URLs, path options, response behavior, JSON API endpoints
## Optional
- [Interactive API schema](https://thumb.im/apis/docs): OpenAPI reference for every endpoint (signed-in staff only)