---
title: "Documentation for AI assistants and tools"
canonical_url: https://docs.zvid.io/docs/documentation-resources/
source: docs/documentation-resources.md
content_revision: 6338386a1dd87e4a
---

# Documentation for AI assistants and tools

Use the same Zvid documentation in your browser, an AI conversation, an API client or a local validator. The HTML reference and Markdown exports contain the same technical material. You do not need to execute page JavaScript to read API fields and examples.

## Start with the task

| Task | Read first |
| --- | --- |
| Render a first video | [Quick Start](https://docs.zvid.io/docs/quick-start/), then [validate and estimate](https://docs.zvid.io/docs/validate-and-estimate/) |
| Render a still image | [Rendering images](https://docs.zvid.io/docs/rendering-images/) |
| Write project JSON | [Project structure](https://docs.zvid.io/docs/structure/), then the relevant element reference |
| Connect ChatGPT or another assistant | [AI assistants](https://docs.zvid.io/docs/ai-assistants/) |
| Personalize one design | [Templates](https://docs.zvid.io/docs/templates/template-basics/) and [dynamic content](https://docs.zvid.io/docs/templates/dynamic-content/) |
| Operate a production integration | [Render lifecycle](https://docs.zvid.io/docs/operations/render-lifecycle/), [errors and retries](https://docs.zvid.io/docs/operations/errors-and-retries/), [webhooks](https://docs.zvid.io/docs/automation/webhooks/) |

## Downloadable formats

| Resource | What it contains |
| --- | --- |
| [LLM orientation](https://docs.zvid.io/llms.txt) | Key facts and a short route into the documentation |
| [Complete Markdown index](https://docs.zvid.io/docs-index.md) | Every documentation page with its purpose and links |
| [JSON index](https://docs.zvid.io/docs-index.json) | Page metadata for indexing and tool integration |
| [Full documentation export](https://docs.zvid.io/llms-full.txt) | All pages with source boundaries; useful for offline ingestion |
| [OpenAPI specification](https://docs.zvid.io/openapi.yaml) | Public operations, authentication, requests, responses and examples |
| [Authoring project schema](https://docs.zvid.io/schemas/render-payload.schema.json) | Project input, including supported template-authoring constructs |
| [Resolved project schema](https://docs.zvid.io/schemas/resolved-project.schema.json) | The concrete project after variable/iteration resolution |
| [Render request schema](https://docs.zvid.io/schemas/render-request.schema.json) | The outer request: either `payload` or `template`, plus supported options |

Each documentation page has a **Markdown** link. For example, the [Quick Start Markdown](https://docs.zvid.io/markdown/docs/quick-start.md) contains the guide's text and code without navigation or interactive controls. Start with individual pages instead of sending the entire export when your task needs only a few topics.

## Which contract should I use?

The **request envelope** is what you POST to the API. Its `payload` is a **project**, and the project's `visuals` contain **elements**. A code block labelled “element fragment” is not a complete API request.

For templates, authored input can contain placeholders, variables, conditions and iteration. These resolve before final project validation. A resolved-project schema should not be used to reject an unresolved template solely because it contains authoring constructs.

Static schemas help catch structural errors. They do not replace account-specific limits, cross-field rules, media access checks or actual rendering. Use [free server validation](https://docs.zvid.io/docs/validate-and-estimate/) for the request you intend to submit. `GET /api/render/schema/api-key` supplies current, account-aware schema guidance.

## Facts to preserve when generating code

- The API origin is `https://api.zvid.io`; documented operation paths include `/api/`.
- REST API keys are created at [app.zvid.io/api-keys](https://app.zvid.io/api-keys) and sent as `x-api-key`.
- A render request contains exactly one of `payload` or `template`.
- Rendering spends credits and is asynchronous. Submission returns `jobId`; job lookup reports `state`.
- Free validation and template preview do not queue render jobs.
- A signed registered webhook and a one-off `webhookUrl` callback have different verification properties.
- Use the response shape documented for the specific operation; list/get/create endpoints do not all share the same wrapper.

## Freshness and citations

Exports are generated with the website and carry source information. Cite a page's canonical HTML URL when answering a user, and use its Markdown equivalent when clean source text is useful. If a live authenticated validation result differs from a downloaded schema, keep the returned field errors and check the current reference before submitting a paid render.

The LLM index is a discovery aid. It does not grant access to an account or guarantee that a particular assistant will retrieve or cite a page.
