WAN 3.0 is LIVE — 30s in one shot | Try in Video Generator →
Home/Explore/Alibaba/Wan 2.5/Video Extend Fast

alibaba/

WAN 2.5 Fast is an AI-powered video extender that turns short clips into longer videos while preserving audio tracks for seamless extensions. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.

video-extend
Input
Enable Safety Checker

Idle

$0.34per run·~29 / $10

ExamplesView all

The woman is suddenly carried away by the flying bird.

The elephant was playing, and the ball under his feet turned into a balloon and flew away.

Suddenly the camera turned, and a man walked on the stage with flowers to propose to the girl.

The acrobats continued to juggle.

A person paddleboarding calmly on a serene lake at dawn. They stand tall, steadily paddling across the glassy water, enjoying the peacefulness of the morning.

A person practices yoga on a peaceful beach at sunset. They hold a challenging warrior pose, silhouetted against the vibrant sky. The movements are slow, controlled, and deeply focused.

A gritty, intense boxing match in a dimly lit, underground gym. Two powerful fighters exchange fast-paced jabs and hooks. The camera focuses on the sweat flying and the strain on their faces. One fighter tumbles into the ropes from a heavy punch, but rolls off them to launch a desperate counter-attack. The sound of impacts is visceral.

A diver descends slowly into a vibrant coral reef, surrounded by colorful fish. They move calmly, exploring the underwater landscape with gentle fin kicks. Sunlight pierces the surface, creating stunning light rays.

Related Models

README

WAN 2.5 — Video Extender

WAN 2.5 is an advanced video generation model on Cloud’s DashScope. It generates high-quality videos from images and supports output resolutions of 480p, 720p, and 1080p.

✨ Why This endpoint is special

  • Seamless extension: Extends videos naturally — no abrupt cuts or looping artifacts. The motion flow and scene lighting stay coherent frame to frame.
  • Flexible duration control: Choose any target length from 3 s – 10 s (3, 4, 5, 6, 7, 8, 9, 10 s all supported).
  • One-pass A/V sync: Automatically aligns audio and mouth movements, ensuring natural speech and rhythm without manual editing.
  • Multilingual friendly: Supports prompts in Chinese and English for synchronized video generation with accurate lip-sync.
  • Custom audio option: You can upload your own audio (music or voice) or let the model generate one for you — plug-and-play.
  • Lightweight and affordable: Built for creators and teams who need fast, consistent, and cost-effective video outputs.

🧩 Designed For

  • Content creators & storytellers: Extend scenes smoothly to fit a beat, dialogue, or camera motion.
  • Marketing teams: Produce multiple ad variations from a single core clip — faster, cheaper, consistent.
  • Corporate training teams: Expand short clips into complete learning segments without reshooting.
  • Global enterprises: Generate localized, multilingual video extensions for different audiences.

⚙️ How to Use

  1. Upload your base video clip.
  2. (Optional) Upload an audio file (.wav / .mp3, ≤ 15 MB, 3–30 s).
  3. Enter your prompt or description (supports Chinese / English).
  4. Select the output duration (3 s – 10 s).
  5. Choose resolution (480p / 720p / 1080p).
  6. Submit the job — wait a few moments, preview, and download your extended video.

💡 Audio Handling

  • If audio > chosen video length: Only the first segment (3 s, 5 s, 10 s etc.) is used.
  • If audio < chosen video length: Remaining video plays silently.
  • If no audio: WAN 2.5 can auto-generate one or leave it silent.

💰 Pricing

ResolutionPrice per secondExample (3 s)Example (5 s)
720p$0.068$0.204$0.34
1080p$0.102$0.306$0.51

🧠 Pro Tips

  • Start with 5 s for testing — balance between cost and quality.
  • Upload high-quality input videos to maximize motion consistency.
  • Keep your prompt concise but descriptive: include mood, motion, and scene intent.
  • For multilingual videos, specify the desired spoken language in your prompt.

📎 Note

  • If you didn’t upload your image or video locally, please ensure that the media URL is publicly accessible. A successfully accessible file will display a preview in the interface.
Note:This website uses AI models provided by third parties. Documentation prices are for reference and may be outdated. The Generate button shows an estimate; the final task charge prevails.

Wan 2.5 Video Extend Fast API — Quick start

Grab a WaveSpeedAI API key, then call POST https://api.wavespeed.ai/api/v3/alibaba/wan-2.5/video-extend-fast with your input as JSON. The endpoint returns a prediction id. Start polling the result endpoint around every 2 seconds, increase the interval for long-running tasks, and stop on any terminal status. On completed, read output values from data.outputs. Examples for Wan 2.5 Video Extend Fast below.

HTTP example
set -euo pipefail

: "${WAVESPEED_API_KEY:?Set WAVESPEED_API_KEY}"

REQUEST_BODY=$(cat <<'JSON'
{
    "prompt": "A cinematic shot of a city at sunset, soft golden light",
    "video": "https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.mp4",
    "resolution": "720p",
    "duration": 5,
    "enable_prompt_expansion": false,
    "seed": -1
}
JSON
)

# 1. Submit the prediction.
SUBMIT_RESPONSE=$(curl --silent --show-error --fail-with-body \
  -X POST "https://api.wavespeed.ai/api/v3/alibaba/wan-2.5/video-extend-fast" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $WAVESPEED_API_KEY" \
  -d "$REQUEST_BODY")

TASK=$(printf '%s' "$SUBMIT_RESPONSE" | jq 'if has("data") then .data else . end')
PREDICTION_ID=$(printf '%s' "$TASK" | jq -r '.id')
if [ -z "$PREDICTION_ID" ] || [ "$PREDICTION_ID" = "null" ]; then
  printf 'Submission response did not contain a prediction id
' >&2
  exit 1
fi
RESULT_URL="https://api.wavespeed.ai/api/v3/predictions/$PREDICTION_ID/result"

# 2. Poll until the prediction finishes.
while true; do
  RESPONSE=$(curl --silent --show-error --fail-with-body "$RESULT_URL" \
    -H "Authorization: Bearer $WAVESPEED_API_KEY")
  RESULT=$(printf '%s' "$RESPONSE" | jq 'if has("data") then .data else . end')
  STATUS=$(printf '%s' "$RESULT" | jq -r '.status')
  case "$STATUS" in
    completed) printf '%s\n' "$RESULT" | jq '.outputs'; break ;;
    failed|cancelled|timeout|deleted) printf '%s\n' "$RESULT" | jq . >&2; exit 1 ;;
    *) sleep 2 ;;
  esac
done
Node.js example
const submitUrl = "https://api.wavespeed.ai/api/v3/alibaba/wan-2.5/video-extend-fast";
const apiKey = process.env.WAVESPEED_API_KEY;
if (!apiKey) throw new Error('Set WAVESPEED_API_KEY');

async function requestJson(url, options = {}) {
  const response = await fetch(url, options);
  if (!response.ok) throw new Error(await response.text());
  return response.json();
}

// 1. Submit the prediction.
const body = await requestJson(submitUrl, {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
        "prompt": "A cinematic shot of a city at sunset, soft golden light",
        "video": "https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.mp4",
        "resolution": "720p",
        "duration": 5,
        "enable_prompt_expansion": false,
        "seed": -1
}),
});
const task = body.data ?? body;
if (!task.id) throw new Error("Submission response did not contain a prediction id");
const resultUrl = `https://api.wavespeed.ai/api/v3/predictions/${task.id}/result`;

// 2. Poll until the prediction finishes.
while (true) {
  const resultBody = await requestJson(resultUrl, {
    headers: { "Authorization": `Bearer ${apiKey}` },
  });
  const result = resultBody.data ?? resultBody;
  if (result.status === "completed") {
    console.log(result.outputs);
    break;
  }
  if (["failed", "cancelled", "timeout", "deleted"].includes(result.status)) throw new Error(JSON.stringify(result));
  await new Promise(resolve => setTimeout(resolve, 2000));
}
Python example
import json
import os
import time
from urllib.request import Request, urlopen

api_key = os.environ["WAVESPEED_API_KEY"]
headers = {"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"}
payload = {
    "prompt": "A cinematic shot of a city at sunset, soft golden light",
    "video": "https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.mp4",
    "resolution": "720p",
    "duration": 5,
    "enable_prompt_expansion": False,
    "seed": -1
}

def request_json(url, data=None):
    request = Request(url, data=data, headers=headers, method="POST" if data else "GET")
    with urlopen(request) as response:
        return json.load(response)

# 1. Submit the prediction.
body = request_json("https://api.wavespeed.ai/api/v3/alibaba/wan-2.5/video-extend-fast", json.dumps(payload).encode())
task = body.get("data", body)
if not task.get("id"):
    raise RuntimeError("Submission response did not contain a prediction id")
result_url = f"https://api.wavespeed.ai/api/v3/predictions/{task['id']}/result"

# 2. Poll until the prediction finishes.
while True:
    result_body = request_json(result_url)
    result = result_body.get("data", result_body)
    status = result.get("status")
    if status == "completed":
        print(result.get("outputs", []))
        break
    if status in {"failed", "cancelled", "timeout", "deleted"}:
        raise RuntimeError(result)
    time.sleep(2)

Wan 2.5 Video Extend Fast API — Frequently asked questions

What is the Wan 2.5 Video Extend Fast API?

Wan 2.5 Video Extend Fast is a Alibaba model for video extension, exposed as a REST API on WaveSpeedAI. WAN 2.5 Fast is an AI-powered video extender that turns short clips into longer videos while preserving audio tracks for seamless extensions. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing. You can call it programmatically or try it from the playground above.

How do I call the Wan 2.5 Video Extend Fast API?

POST your input parameters to the model's REST endpoint (shown in the API tab of this playground) with your WaveSpeedAI API key in the Authorization header. Submission returns a prediction ID. Poll the result endpoint starting around every 2 seconds, increase the interval for long-running tasks, and stop on any terminal status. The playground generates production-oriented Python, JavaScript, and cURL examples with timeouts, transient-error handling, and safe GET retries. Full request/response shape is documented at https://wavespeed.ai/docs/docs-api/alibaba/alibaba-wan-2.5-video-extend-fast.

How much does Wan 2.5 Video Extend Fast cost per run?

Wan 2.5 Video Extend Fast starts at $0.34 per run. That figure is the base price — the final charge scales with the parameters you set in the form (output size, length, count, references, or whatever knobs this model exposes), so a higher-quality or larger output costs more than a minimal one. The exact cost for your current input is shown live next to the Generate button before you submit, and the actual per-call charge is recorded on the prediction afterwards.

What inputs does Wan 2.5 Video Extend Fast accept?

Key inputs: `prompt`, `video`, `audio`, `resolution`, `duration`, `seed`. The full JSON schema (types, defaults, allowed values) is rendered above the Generate button and mirrored in the API reference at https://wavespeed.ai/docs/docs-api/alibaba/alibaba-wan-2.5-video-extend-fast.

How long does Wan 2.5 Video Extend Fast take to generate?

Median end-to-end generation time on WaveSpeedAI is around 214 seconds per request, based on recent successful runs. Queue time varies with global demand; live status is visible in the prediction record.

Can I use Wan 2.5 Video Extend Fast outputs commercially?

Commercial usage rights depend on the model's license, set by its provider (Alibaba). The license summary appears on the model card above; see WaveSpeedAI's Terms of Service for platform-level conditions.

Wan 2.5 Video Extend Fast | AI Video Extension API on WaveSpeedAI