# Generate one backdrop

> Generates one backdrop on Raylight's image model: a `still` repaints the reference frame without what stands in front, a `plate` grows a still outward. Answers a short-lived link to the image. Bounded per remake (code `backdrop_cap`). Upload the image into the project like any other media.

### POST /v1/remakes/{id}/backdrops

**Generate one backdrop**

Generates one backdrop on Raylight's image model: a `still` repaints the reference frame without what stands in front, a `plate` grows a still outward. Answers a short-lived link to the image. Bounded per remake (code `backdrop_cap`). Upload the image into the project like any other media.

Auth: `Authorization: Bearer rl_live_...` with the `remake` scope.

Parameters:

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | uuid | yes | The remake id. |

Request body (application/json):

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `kind` | enum | yes | One of: `still`, `plate`. |
| `prompt` | string | yes |  |
| `width` | integer | yes |  |
| `height` | integer | yes |  |
| `seed` | integer | no |  |
| `image` | string | yes |  |
| `original` | object | no |  |
| `original.x` | integer | yes |  |
| `original.y` | integer | yes |  |
| `original.width` | integer | yes |  |
| `original.height` | integer | yes |  |

Responses:

| Status | Meaning |
| --- | --- |
| 200 | The generated image. |
| 400 | Invalid request. |
| 401 | Missing, invalid or revoked key. |
| 403 | The key lacks the scope, or the key's owner has view-only access to the workspace (code `forbidden`). |
| 404 | Not found. |
| 409 | The remake is not at a stage that takes this call, or it already ended (code `stage`). |
| 429 | The remake used every backdrop it gets (code `backdrop_cap`), or the rate limit (Retry-After). |
| 503 | The image model is unavailable; retry shortly (code `busy`). Carries Retry-After. |

Response body (200):

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `url` | url | yes |  |
| `assetId` | string | no |  |

Example (curl):

```bash
curl -X POST https://api.raylight.app/v1/remakes/$ID/backdrops \
  -H "Authorization: Bearer $RAYLIGHT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "kind": "still",
  "prompt": "<prompt>",
  "width": 16,
  "height": 16,
  "image": "<image>"
}'
```

## More

- Previous: [Run one op in the builder tab](https://www.raylight.app/docs/reference/post-v1-remakes-id-lab.md)
- Next: [Report progress](https://www.raylight.app/docs/reference/post-v1-remakes-id-progress.md)
- All docs: https://www.raylight.app/llms.txt
- Everything in one file: https://www.raylight.app/llms-full.txt
- OpenAPI: https://api.raylight.app/v1/openapi.json
