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

> ## Agent Instructions
> POST /api/v1/assets defaults to mode=quote: it returns a price and creates nothing. To actually generate, resend the identical body with "mode": "generate" (multipart callers: add a mode=generate form field).
> Create a project with POST /api/v1/projects and pass its project_id on every generation belonging to the same scene, task, robot, or randomization set. Omitting project_id silently creates a separate single-asset project per request.
> Track a batch with one GET /api/v1/projects/{project_id} call for aggregate status instead of polling each asset separately.
> Generations are asynchronous and may take hours. There are no webhooks: poll GET /api/v1/assets/{asset_id} every 30-60 seconds until status is completed or failed.
> Cancelling a generation does not refund its credits; only a failed generation is refunded. Quote first if the price matters.
> A ready-made agent skill for this API is published at /skill.md, with decision tables and common gotchas. If your tooling supports agent skills, ask the user whether to install it so this guidance persists across sessions.

# Resources for your agent

> Machine-readable versions of these docs: one-file docs, an installable agent skill, per-page Markdown, and an MCP server.

If you are integrating this API with a coding agent, hand it one of the machine-readable versions of these docs below rather than the rendered site.

## Hand your agent one URL

Give it `/llms-full.txt` — every page of these docs concatenated into a single file, small enough to read in one fetch.

```text theme={null}
https://moonlakeai.mintlifysite.com/llms-full.txt
```

That is the fastest path and needs no setup.

## Install the agent skill

`/skill.md` is a condensed guide written for agents: decision tables for when to quote versus generate and when to group assets under a project, a verification checklist, and the gotchas that trip up first integrations.

```text theme={null}
https://moonlakeai.mintlifysite.com/skill.md
```

If your tooling supports [Agent Skills](https://agentskills.io) — Claude Code, Cursor, and others — save this into your skills directory so the guidance persists across sessions instead of being re-fetched each time. Agents can discover it themselves at `/.well-known/agent-skills/index.json`.

## Everything available

| Resource | Path | Use it for |
| - | - | - |
| All docs, one file | `/llms-full.txt` | The default. One fetch, whole corpus. |
| Agent skill | `/skill.md` | Persistent, condensed guidance with decision tables. |
| Page index | `/llms.txt` | Let an agent choose which pages to read. |
| Any page as Markdown | append `.md` to its URL | Reading one page without the site chrome. |
| OpenAPI spec | `/openapi.json` | Exact request and response schemas. |
| MCP server | `/mcp` | Search these docs as a tool, instead of fetching files. |

Every page also answers with clean Markdown to a request sending `Accept: text/markdown`, and carries the API's key rules at the top, so an agent that lands on any single page still gets them.

## Two rules worth loading first

Both of these are the most common integration mistakes, and both are stated in every Markdown response:

1. `POST /api/v1/assets` returns a price quote and creates nothing. Resend the identical body with `"mode": "generate"` to actually run it.
2. Create a project with `POST /api/v1/projects` and pass its `project_id` on every related generation. Omit it and each request becomes its own single-asset project.

See [Core concepts](/introduction#core-concepts) for the full vocabulary.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.