# Documentation RenderFast generates images by rendering a **template** — a canvas of text, image, and shape layers you design once in the editor — with per-request **layer overrides**. Call the authenticated `/api/generate` endpoint (or the public, no-auth `/api/render` URL) with a template ID and the fields you want to change, and get back a rendered PNG, JPEG, or WebP. Everything else — uploads, the TypeScript SDK, programmatic template edits, and rate limits — builds on that same request shape. > **Related: API Reference** > > The complete OpenAPI specification — every endpoint, request/response schema, and authentication detail — is auto-generated and always current. > > Open API Reference ## Where to go next - **[Quickstart](/docs/quickstart)** — clone a starter template, create an API key, and render your first image - **[Generate API](/docs/generate-api)** — the authenticated `/api/generate` endpoint, layer override reference, strict validation, and warnings - **[Assets](/docs/assets)** — upload your own images and fonts and reference them with `asset:` and `font:` - **[TypeScript SDK](/docs/sdk)** — the typed `@renderfast/client` package - **[Render URLs](/docs/render-url)** — the public, no-auth `/api/render` endpoint for OG images - **[Templates API](/docs/templates-api)** — edit templates programmatically - **[Template Guide](/docs/template-guide)** — layer naming, canvas presets, typography, and testing - **[Rate Limits & Usage](/docs/rate-limits)** — plan limits and what doesn't count against them ## Need help? Questions about the API or template creation? Contact our support team.