> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kynva.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> Kynva is a deterministic design engine. Send a brief, get a rendered image — pixel-identical every time.

# Welcome to Kynva

Kynva turns structured briefs into on-brand visual content (PNG, JPG, GIF) through a deterministic rendering pipeline. Same input in → byte-identical pixels out. No surprises in production, no flaky renders.

## What you can do with the API

<CardGroup cols={2}>
  <Card title="Render in one call" icon="bolt" href="/api-reference/generate/generate">
    Send a request, get a rendered image back. One endpoint for everything.
  </Card>

  <Card title="Signed image URLs" icon="link" href="/api-reference/generate/render-png">
    Mint URLs that render on first fetch and cache forever — perfect for OG images.
  </Card>

  <Card title="Brand consistency" icon="palette" href="/api-reference/brands/list-brands">
    Lock colors, type, logos. Every render respects your brand kit.
  </Card>

  <Card title="Async at scale" icon="layer-group" href="/guides/async-render-jobs">
    Queue renders, poll status, or subscribe to webhooks for completion.
  </Card>
</CardGroup>

## Two ways to render

<Tabs>
  <Tab title="Sync preview">
    `POST /generate { operation: "preview" }` → the response carries the
    rendered outputs. Best when someone is waiting on the result.
  </Tab>

  <Tab title="Async render">
    `POST /generate { operation: "render" }` → 202 with a job reference.
    Consume it via [webhooks](/webhooks/overview), the
    [status poll](/api-reference/render-jobs/get), or the SSE stream.
    Best for pipelines and background work.
  </Tab>
</Tabs>

## Core principle

> **AI proposes; compiler decides; renderer renders (deterministic).**

Read the full [determinism contract](/concepts/determinism) — it's the
property everything else here is built on.

Every endpoint that mutates state respects three contracts:

* **Auth** — `Authorization: Bearer kyn_live_...` ([details](/concepts/authentication))
* **Idempotency** — POST requests accept `Idempotency-Key: <uuid v4>` ([details](/concepts/idempotency))
* **Versioning** — pin behavior with `X-API-Version: 2026-01-01` ([details](/concepts/api-versioning))

## Get started

<CardGroup cols={2}>
  <Card title="5-minute quickstart" icon="rocket" href="/quickstart">
    Sign up, grab an API key, render your first image.
  </Card>

  <Card title="API reference" icon="rectangle-terminal" href="/api-reference/introduction">
    Every endpoint, every parameter, with a try-it console.
  </Card>
</CardGroup>
