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

# Wan 2.7 VideoEdit

> Wan 2.7 VideoEdit applies natural-language edits to one source video, optionally using up to four reference images. It is not a text-only generation model.

Wan 2.7 VideoEdit applies natural-language edits to one source video, optionally using up to four reference images. It is not a text-only generation model.

Use the exact model ID `wan2.7-videoedit` with the MixRoute Video Generations API.

## Model Specifications

| Property           | Value                                              |
| ------------------ | -------------------------------------------------- |
| Mode               | Video Editing                                      |
| Resolution         | 720P / 1080P                                       |
| Duration (seconds) | 2-10                                               |
| Output             | MP4 / 30 fps                                       |
| Request            | `model` + `metadata.input` + `metadata.parameters` |

The [Wan API reference](/en/api-reference/endpoint/wan) defines the model-specific fields, media limits, defaults, and polling workflow. Do not copy a different version's input or output-size fields.

## Request Example

Set MIXROUTE\_API\_KEY and replace media placeholders with accessible files.

```bash theme={null}
curl --request POST "https://api.mixroute.ai/v1/video/generations" \
  --header "Authorization: Bearer $MIXROUTE_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
  "model": "wan2.7-videoedit",
  "metadata": {
    "input": {
      "prompt": "Change the mug color to blue while preserving the original motion and white tabletop.",
      "media": [
        {
          "type": "video",
          "url": "https://example.com/source.mp4"
        }
      ]
    },
    "parameters": {
      "resolution": "720P",
      "duration": 2,
      "watermark": false
    }
  }
}'
```

### Python

```python theme={null}
import json
import os
import requests

payload = json.loads(r'''
{
  "model": "wan2.7-videoedit",
  "metadata": {
    "input": {
      "prompt": "Change the mug color to blue while preserving the original motion and white tabletop.",
      "media": [
        {
          "type": "video",
          "url": "https://example.com/source.mp4"
        }
      ]
    },
    "parameters": {
      "resolution": "720P",
      "duration": 2,
      "watermark": false
    }
  }
}
''')
response = requests.post(
    "https://api.mixroute.ai/v1/video/generations",
    headers={"Authorization": "Bearer " + os.environ["MIXROUTE_API_KEY"]},
    json=payload,
    timeout=120,
)
response.raise_for_status()
result = response.json()
task_id = result.get("task_id") or result.get("id")
if not task_id:
    raise RuntimeError(result.get("message") or result)
print(task_id)
```

Retain the submitted MixRoute task ID. Query [video task status](/en/api-reference/endpoint/query-video-task) until SUCCESS or FAILURE. On SUCCESS, read data.result\_url; the raw upstream output and usage are in data.data.
