---
title: "Edit a previously generated video with a text prompt and optional reference images (video-to-video). Pass the video `url` you received from `createVideo`, `createVideoFromReferences`, or an earlier edit — it must be a video you generated within the last 7 days; arbitrary external videos are not accepted. Optionally add up to 5 reference `images` (URL or base64) to guide the edit. Synchronous: the call blocks until rendering finishes and returns the new video URL and its actual duration in seconds. Credits are charged only on success, based on the produced duration and never more than the duration you requested. Pass an optional `request_id` to tag the result so you can locate it later via `getVideoResults`. Related tools: `createVideo` to generate the source clip, `createVideoFromReferences` for reference-driven generation. Requires an API key (user scope)."
method: POST
path: "/assets/video/edit"
tags: ["Videos"]
---

# Edit a previously generated video with a text prompt and optional reference images (video-to-video). Pass the video `url` you received from `createVideo`, `createVideoFromReferences`, or an earlier edit — it must be a video you generated within the last 7 days; arbitrary external videos are not accepted. Optionally add up to 5 reference `images` (URL or base64) to guide the edit. Synchronous: the call blocks until rendering finishes and returns the new video URL and its actual duration in seconds. Credits are charged only on success, based on the produced duration and never more than the duration you requested. Pass an optional `request_id` to tag the result so you can locate it later via `getVideoResults`. Related tools: `createVideo` to generate the source clip, `createVideoFromReferences` for reference-driven generation. Requires an API key (user scope).

`POST /assets/video/edit`

## Request body

- EditVideoPayloadPublic — Payload for editing a previously generated video with a text prompt and optional reference images.
  - `video` string, required — URL of a video you generated in the last 7 days (returned by createVideo, createVideoFromReferences, or a previous edit). External URLs are not accepted.
  - `prompt` string, required — Edit instruction describing the desired change.
  - `images` string[] — Optional reference images (up to 5), each a URL or base64, to guide the edit.
  - `duration` number, float — Output video length in seconds. Defaults to the source video's duration.
  - `model` 'eagle' — Video model to use.
  - `request_id` string — Optional client-provided identifier for this request. Use this to retrieve results later via the results endpoint.

## Response `200`

Success

- VideoResult
  - `url` string — URL to the generated video file
  - `duration` number, float — Duration of the video in seconds
  - `has_audio` boolean
  - `request_id` string
  - `created_at` integer

## Other responses

- `400` — Error

---

[API](https://skmtc.net/ludo/apis/ludo-ai-api.md) · [All operations](https://skmtc.net/ludo/apis/ludo-ai-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ludo/ludo-ai-api/revisions/3af866d68651/schema)
