---
title: "Re-render the existing video with the same inputs."
method: POST
path: "/api/v1/videos/{video_id}/regenerate"
tags: ["Videos"]
---

# Re-render the existing video with the same inputs.

`POST /api/v1/videos/{video_id}/regenerate`

## Request

- Base URL: `https://api.avatarfactory.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.avatarfactory.io/api/v1/videos/{video_id}/regenerate`
- Auth: one of:
  - API key in cookie `session`
  - HTTP bearer

<br/>Reuses the same `Video.id` (URLs, share links, analytics all keep<br/>pointing at the same conceptual video). The "make me a similar but<br/>different video" flow is handled client-side by opening the wizard<br/>with a `?from=<id>` prefill param · no backend mutation needed for<br/>that path.

## Path parameters

- `video_id` integer, required

## Response `200`

OK

- RegenerateVideoResponse: Response payload for `POST /api/v1/videos/:id/regenerate` (plan §6.4). The detail page surfaces `message` as a transient toast so the user sees a real "Render queued" confirmation rather than guessing the request landed. `video_id` is the same id the request was made against · regenerate re-uses the existing row instead of forking a new one (see `service.regenerate_video`).
  - `message` string, required
  - `success` boolean, required
  - `video_id` integer, required

## Other responses

- `404`: Not Found
- `422`: Unprocessable Entity

---

[API](https://skmtc.dev/avatarfactory/apis/avatarfactory-api.md) · [All operations](https://skmtc.dev/avatarfactory/apis/avatarfactory-api/llms.txt) · [OpenAPI document](https://skmtc.dev/avatarfactory/apis/avatarfactory-api/revisions/66fc7aa3f296?raw)
