seedinteger
Random seed for reproducibility. If None, a random seed is chosen.
alibaba/wan/2.5/image-to-videoWan 2.5 by Alibaba - animate still images into dynamic videos with AI. Transform photos into cinematic clips with natural motion, camera movement, and optional audio generation.
Try the model
PNG, JPEG, WebP, or GIF · 20 MiB maximum
Customize your input with more control.
What would you like to do next?
Select an example to load its inputs and result into the playground.
{
"image": "https://static.sandbase.ai/examples/307c1d7d-e78c-4a77-a6a5-1c6acba658c8/input/92e17c0c-edf0-478e-a3b4-c4dbaff2d415.jpg",
"prompt": "The white dragon warrior stands still, eyes full of determination and strength. The camera slowly moves closer or circles around the warrior, highlighting the powerful presence and heroic spirit of the character."
}Wan 2.5 image-to-video: animate a picture into a 5 or 10 second clip, optionally driven by an audio track.
| Field | Type | Default | Notes |
|---|---|---|---|
prompt | string, required | — | Text instruction. |
image | image URL, required | — | First frame. JPEG, PNG, or WebP URL. |
audio | audio URL | — | Optional WAV/MP3 URL that drives speech or rhythm. |
resolution | 480p / 720p / 1080p | 720p | Sets the per-second rate. |
duration | 5 / 10 | 5 | Output length in seconds. |
seed | integer | random | Fix it to compare prompt changes. |
You pay for output seconds: $0.05 at 480p, $0.10 at 720p, and $0.15 at 1080p. Input images and audio are not metered.
| Output | 480p | 720p | 1080p |
|---|---|---|---|
| 5s (default) | $0.25 | $0.50 | $0.75 |
| 10s | $0.50 | $1.00 | $1.50 |
Failed runs are not charged.
Other Wan 2.5 endpoints: alibaba/wan/2.5/text-to-video, alibaba/wan/2.5/text-to-image, alibaba/wan/2.5/image-to-image, alibaba/wan/2.7/image-to-video (newer).
Start building
Submit this model through the SandBase Unified Run API.
# 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/2.5/image-to-video",
"image": "https://static.sandbase.ai/examples/alibaba/wan/2.5/image-to-video/input_image_0.jpg",
"prompt": "The white dragon warrior stands still, eyes full of determination and strength. The camera slowly moves closer or circles around the warrior, highlighting the powerful presence and heroic spirit of the character.",
"duration": 5,
"resolution": "720p"
}
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"Create a SandBase API key and set it in your server environment. All requests use Bearer authentication.
export SANDBASE_API_KEY="YOUR_API_KEY"Keep the key on your server. Do not expose it in browser code or commit it to a repository.
POST to /v1/run with this model ID and its inputs. The request example above includes submission and polling.
Use the returned run ID to poll until the status is completed, failed or timeout. Read output only after completed.
curl "https://api.sandbase.ai/v1/run/$RUN_ID" \
-H "Authorization: Bearer $SANDBASE_API_KEY"Pass a publicly accessible file URL in the model’s image, video or audio field. Supported formats and limits are shown beside each Playground input.
Use the upload or replace control on supported image fields in the Playground. Video URL fields accept a hosted driving video; they do not imply video-upload support.
seedintegerRandom seed for reproducibility. If None, a random seed is chosen.
audiostringURL of the audio to use as the background music. Must be publicly accessible. Limit handling: If the audio duration exceeds the duration value (5 or 10 seconds), the audio is truncated to the first 5 or 10 seconds, and the rest is discarded. If the audio is shorter than the video, the remaining part of the video will be silent. For example, if the audio is 3 seconds long and the video duration is 5 seconds, the first 3 seconds of the output video will have sound, and the last 2 seconds will be silent. - Format: WAV, MP3. - Duration: 3 to 30 s. - File size: Up to 15 MB.
imagestringrequiredURL of the image to use as the first frame. Must be publicly accessible or base64 data URI.
promptstringrequiredThe text prompt describing the desired video motion. Max 800 characters.
durationintegerDuration of the generated video in seconds. Choose between 5 or 10 seconds.
Default: 5
Possible values: 5, 10
resolutionstringVideo resolution. Valid values: 480p, 720p, 1080p
Default: "720p"
Possible values: "480p", "720p", "1080p"
{
"model": "alibaba/wan/2.5/image-to-video",
"image": "https://static.sandbase.ai/examples/alibaba/wan/2.5/image-to-video/input_image_0.jpg",
"prompt": "The white dragon warrior stands still, eyes full of determination and strength. The camera slowly moves closer or circles around the warrior, highlighting the powerful presence and heroic spirit of the character.",
"duration": 5,
"resolution": "720p"
}A completed run exposes its result in output. The following is the model’s saved example, not a new generation.
[
{
"poster": "https://static.sandbase.ai/examples/posters/5c699b105a9e49f3a705.jpg",
"source": "Alibaba Model Studio schema mirror",
"source_url": "https://www.alibabacloud.com/help/en/model-studio/",
"url": "https://static.sandbase.ai/examples/307c1d7d-e78c-4a77-a6a5-1c6acba658c8/output/54f0a145-0198-42b5-ae12-37bcba862ac2.mp4"
}
]