Wan 3.0 Video Edit
alibaba/wan/3.0/video-editWan 3.0 Video Edit by Alibaba restyles or modifies an input video from a text instruction, optionally guided by reference images and audio, keeping the original length.
- Base price
- $1.00USD / run
- Execution
- async
- Model type
- video
- Input fields
- 7
Try the model
Playground
PNG, JPEG, WebP, or GIF · 20 MiB maximum each · up to 10
Your output will appear here
Complete the inputs, then click Run.
Specifications
Pricing
- Base price
- $1 / run
- Billing formula
- 2 * Math.round(usage.duration ?? 5.0) * ((params.resolution ?? "720p") == "1080p" ? 0.20 : (params.resolution ?? "720p") == "480p" ? 0.05 : 0.10)
Context & modalities
- Input
- Schema-defined
- Output
- video
Capabilities
- Chat
- Not supported
- Vision
- Not supported
- Reasoning
- Not supported
- Structured output
- Not supported
- Function calling
- Not supported
- Audio input
- Not supported
Access
- Provider
- Alibaba
- Model ID
- alibaba/wan/3.0/video-edit
- Execution
- async
- API
- Unified Run API
- Endpoint
- /v1/run
API README
Wan 3.0 Video Edit
Change an existing clip with a sentence: restyle it, swap a subject or prop, or rework the setting. Optional reference images and audio guide the change. The result keeps the length and framing of the source.
Fields
| Field | Type | Default | Notes |
|---|---|---|---|
prompt | string, required | — | Up to 5,000 characters. |
video | video URL, required | — | Source clip, Video 1 in the prompt. MP4/MOV, 1–15s, ≥16fps, 240–4096px per side, ≤100MB. |
images | image URL[] (≤10) | — | Referenced as Image 1, Image 2, … |
audios | audio URL[] (≤5) | — | WAV/MP3, 1–15s each, 15s total, ≤15MB. Referenced as Audio 1, … |
resolution | 480p / 720p / 1080p | 720p | Sets the per-second rate. |
generate_audio | boolean | true | Native dialogue, music, and effects. Same price on or off. |
seed | integer 0–2147483647 | random | Fix it to compare prompt changes. |
There is no duration field; the output is as long as the source.
Billing
Like the official Wan 3.0 rate, billing counts the source clip and the edited output, which are the same length, so each source second bills twice: $0.10 at 480p, $0.20 at 720p, $0.40 at 1080p. References are not metered.
| Source clip | Billed | 480p | 720p | 1080p |
|---|---|---|---|---|
| 2s | 4s | $0.20 | $0.40 | $0.80 |
| 5s | 10s | $0.50 | $1.00 | $2.00 |
| 10s | 20s | $1.00 | $2.00 | $4.00 |
| 15s | 30s | $1.50 | $3.00 | $6.00 |
The quote shown before submission assumes a 5-second source ($1.00 at 720p); the final charge uses the measured length. Failed runs are not charged. Output files are copied to SandBase storage and the returned URL stays valid for 7 days; download anything you need to keep.
Prompting
- Lead with the change and state what must stay: “turn the scene into clay animation; keep her face and the camera motion”.
- Refer to the source as Video 1 and to references as Image 1 or Audio 1.
- Draft at 480p; edits cost twice the source length.
Limits
- The output aspect ratio follows the source video.
- To add new footage after the clip, use video-extend.
Also on SandBase
Other Wan 3.0 endpoints: alibaba/wan/3.0/video (all modes in one schema), alibaba/wan/3.0/text-to-video, alibaba/wan/3.0/image-to-video, alibaba/wan/3.0/reference-to-video, alibaba/wan/3.0/video-extend.
Start building
Send your first request
OpenAI-compatible endpoint with unified authentication and usage tracking.
# The quoted heredoc keeps Unicode and shell metacharacters unchanged.
result=$(curl --fail-with-body --silent \
-X POST "https://api.sandbase.ai/v1/run" \
-H "Authorization: Bearer $SANDBASE_API_KEY" \
-H "Content-Type: application/json" \
--data-binary @- <<'SANDBASE_JSON'
{
"model": "alibaba/wan/3.0/video-edit",
"video": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260402/ldnfdf/wan2.7-videoedit-style-change.mp4",
"resolution": "720p",
"generate_audio": true
}
SANDBASE_JSON
)
run_id=$(printf '%s' "$result" | jq -r .id)
for attempt in $(seq 1 120); do
status=$(printf '%s' "$result" | jq -r .status)
case "$status" in completed|failed|timeout) break ;; esac
sleep 2
result=$(curl --fail-with-body --silent \
-H "Authorization: Bearer $SANDBASE_API_KEY" \
"https://api.sandbase.ai/v1/run/$run_id")
done
status=$(printf '%s' "$result" | jq -r .status)
[ "$status" = completed ] || { echo "Generation ended: $status" >&2; exit 1; }
printf '%s\n' "$result"Choose your model
Compare models
| Model | Context | Input / 1M | Output / 1M | Released |
|---|---|---|---|---|
Wan 3.0 Video EditThis model Alibaba | — | — | — | Oct 4, 2026 |
Alibaba | — | — | — | Oct 4, 2026 |
Alibaba | — | — | — | Aug 24, 2026 |
Alibaba | — | — | — | Aug 24, 2026 |
Alibaba | — | — | — | Aug 24, 2026 |
Alibaba | — | — | — | Aug 24, 2026 |
