---
title: "Render an edit"
method: POST
path: "/renders"
tags: ["Renders"]
---

# Render an edit

`POST /renders`

## Request

- Base URL: `https://api.cut.pro/api/v1`
- URL: `https://api.cut.pro/api/v1/renders`
- Auth: API key in header `X-Api-Key`

Renders an edit you already own and returns the render `id` to poll with `GET /renders/{renderId}`. This is how you get a fresh MP4 of a clip you published months ago: the edit never expires, so re-rendering it always works, even after the rendered file itself was purged.

If an identical render is already sitting in storage, returns `200` with `from_cache: true` and a ready `download_url`. Returns `409` if the same edit is already rendering.

## Request body

- object
  - `edit_id` string, required: Edit to render: the `edit_id` of a post item, of a clip render, or of an earlier render of your own.

## Response `200`

Response for status 200

- object
  - `id` string, required: ID of the completed cached render
  - `edit_id` string, required: Edit this render was produced from. Pass it to `POST /renders` to make a fresh file later, or to `POST /posts` to publish it.
  - `status` 'completed', required
  - `has_watermark` boolean, required
  - `output_resolution` string, required
  - `from_cache` true, required
  - `download_url` string, required: Signed URL to download the rendered video

## Other responses

- `202`: Response for status 202
- `404`: Response for status 404
- `409`: Response for status 409
- `500`: Response for status 500

---

[API](https://skmtc.dev/cut/apis/cutpro-api.md) · [All operations](https://skmtc.dev/cut/apis/cutpro-api/llms.txt) · [OpenAPI document](https://skmtc.dev/cut/apis/cutpro-api/revisions/89d0bafe529c?raw)
