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

# Coding agents

> Wire Rendi's docs MCP server into Claude Code, Cursor, VS Code Copilot, Codex, or Gemini CLI so your coding agent can search and read Rendi docs natively while writing code.

Once connected, ask your agent things like *"add thumbnail extraction to my Express app using Rendi"* and it will pull the right docs and produce working calls.

## Install

The docs MCP server lives at [https://www.rendi.dev/docs/mcp](https://www.rendi.dev/docs/mcp). Pick your agent below.

<Tabs>
  <Tab title="Cursor">
    Add to `~/.cursor/mcp.json` (or project-local `.cursor/mcp.json`):

    ```json theme={null}
    {
      "mcpServers": {
        "rendi": {
          "url": "https://www.rendi.dev/docs/mcp"
        }
      }
    }
    ```

    Or click this button: <a href="https://cursor.com/en-US/install-mcp?name=rendi&config=eyJ1cmwiOiJodHRwczovL3d3dy5yZW5kaS5kZXYvZG9jcy9tY3AifQ%3D%3D"><img className="inline-block align-middle my-0 dark:hidden" src="https://mintcdn.com/rendi/vQ30vQFM3FFwjFAy/images/cursor-mcp-install-light.svg?fit=max&auto=format&n=vQ30vQFM3FFwjFAy&q=85&s=1fb5173ec81a787708289b0e7f4243d2" alt="Install MCP Server in Cursor" width="126" height="28" data-path="images/cursor-mcp-install-light.svg" /><img className="hidden dark:inline-block align-middle my-0" src="https://mintcdn.com/rendi/vQ30vQFM3FFwjFAy/images/cursor-mcp-install-dark.svg?fit=max&auto=format&n=vQ30vQFM3FFwjFAy&q=85&s=842e1773a09f719f3222968caf8ddac5" alt="Install MCP Server in Cursor" width="126" height="28" data-path="images/cursor-mcp-install-dark.svg" /></a>
  </Tab>

  <Tab title="Claude Code">
    ```bash theme={null}
    claude mcp add --transport http rendi https://www.rendi.dev/docs/mcp
    ```
  </Tab>

  <Tab title="VS Code">
    ```bash theme={null}
    code --add-mcp '{"name":"rendi","type":"http","url":"https://www.rendi.dev/docs/mcp"}'
    ```

    Or add to `.vscode/mcp.json`:

    ```json theme={null}
    {
      "servers": {
        "rendi": {
          "type": "http",
          "url": "https://www.rendi.dev/docs/mcp"
        }
      }
    }
    ```
  </Tab>

  <Tab title="Codex">
    Add to `~/.codex/config.toml`:

    ```toml theme={null}
    [mcp_servers.rendi]
    url = "https://www.rendi.dev/docs/mcp"
    ```
  </Tab>

  <Tab title="Gemini CLI">
    ```bash theme={null}
    gemini mcp add rendi --transport http https://www.rendi.dev/docs/mcp
    ```
  </Tab>
</Tabs>

## `AGENTS.md` snippet

Drop this into your own project's `AGENTS.md` or `CLAUDE.md` so future agent sessions know to reach for Rendi:

```md theme={null}
This project uses Rendi for running FFmpeg commands. Rendi evolves, always check the latest documentation at www.rendi.dev/docs. For FFmpeg command patterns: https://raw.githubusercontent.com/rendi-api/ffmpeg-cheatsheet/refs/heads/main/README.md
```

## Other ways to access Rendi docs

Rendi docs are also available as structured or raw content, for any agent to fetch directly:

* OpenAPI spec — **canonical request and response schema for every endpoint** — [https://www.rendi.dev/docs/api-reference/openapi.json](https://www.rendi.dev/docs/api-reference/openapi.json)
* `llms.txt` (page index) — [https://www.rendi.dev/docs/llms.txt](https://www.rendi.dev/docs/llms.txt)
* `llms-full.txt` (full docs concatenated) — [https://www.rendi.dev/docs/llms-full.txt](https://www.rendi.dev/docs/llms-full.txt)
* `skill.md` (condensed summary of how Rendi works, auto-generated) — [https://www.rendi.dev/docs/skill.md](https://www.rendi.dev/docs/skill.md)
* Raw markdown of any page — append `.md` to any docs URL (e.g., [/docs/coding-agents.md](/docs/coding-agents.md))

## Best practices for agents using Rendi

Follow these rules so your agent generates working Rendi calls on the first try.

1. **Use `in_*` / `out_*` key names** — keys in [`input_files`](/api-reference/endpoint/run-ffmpeg-command) (e.g. `in_1`, `in_video`) and `output_files` (e.g. `out_1`, `out_gif`) must use these prefixes. The same keys are referenced as `{{in_1}}` / `{{out_1}}` placeholders inside `ffmpeg_command`.
2. **Pass any publicly accessible HTTP/HTTPS URL as an input** — Google Drive share links, Dropbox, public or signed S3/GCS, and CDN URLs all work as-is. If it loads in an incognito browser, Rendi can fetch it.
3. **Set [`max_command_run_seconds`](/api-reference/endpoint/run-ffmpeg-command) to match the command's expected runtime** — it's a safety cap that aborts runaway FFmpeg jobs (defaults to 5 minutes). Pick a value that covers legitimate cases but still catches hangs.
4. **Rendi stores your output files for you** — use the `storage_url` returned in the response directly, and use [`store-file`](/api-reference/endpoint/store-file) / [`get-file`](/api-reference/endpoint/get-file) for persisting intermediate assets. You don't need to store output files in another S3/GCS unless your app specifically requires it.
5. **Use [`run-chained-ffmpeg-commands`](/api-reference/endpoint/run-chained-ffmpeg-commands) for multi-step pipelines** — single round-trip, lower latency than chaining separate calls.
6. **Use [webhooks](/webhooks) for jobs over \~30 seconds**; [poll](/api-reference/endpoint/poll-command) for shorter ones.
7. **Use [`dynamic-files`](/dynamic-files)** when the same command runs across many inputs.
8. **Authentication is the `X-API-KEY` header** — keep keys server-side, never in browser code. See [API introduction](/api-reference/introduction).
9. **For FFmpeg commands not covered by an example page**, fetch the Rendi cheatsheet: [https://raw.githubusercontent.com/rendi-api/ffmpeg-cheatsheet/refs/heads/main/README.md](https://raw.githubusercontent.com/rendi-api/ffmpeg-cheatsheet/refs/heads/main/README.md) — it lists canonical commands for common operations including audio mixing, crossfades, jump cuts, social-media cropping, frame-rate changes, and storyboards.

## Suggested prompts

Try these in your agent once the MCP server is installed:

* *"Add a Rendi-based thumbnail extractor to my Express route handler."*
* *"Build a video compression pipeline using Rendi with webhook callbacks."*
* *"Extract audio from this MP4 using Rendi and save as MP3."*
* *"Use Rendi to burn SRT subtitles into a video, then compress the result to under 5MB."*
* *"Generate 10 thumbnails evenly spaced across a video using Rendi, in one chained call."*
