Skip to main content
Skip to main content

Wan 3.0 Video Spicy

Wan 3.0 Image-to-Video Spicy is Alibaba's high-dynamic image-to-video model under the Tongyi Wanxiang framework. Specially engineered for large-scale motion and high visual intensity, it transforms a single static image into up to 30-second videos in cinematic 1080P resolution. While maintaining strict character identity and background consistency from the input image, the "Spicy" edition delivers a dramatic boost in action amplitude, complex physical collision simulation, and expressive camera movement, alongside native audio-visual generation capabilities. It is ideally suited for high-energy commercial advertising, game CG animation, short drama production, and advanced visual effects workflows.

  • 99.9% SLA
  • Official Discounts
  • Pay-as-you-go
  • Fast & Low Latency
Brand:AlibabaPrice: $0.20 / sec

API DOCS / SIMPLIFIED

Integrate this model with one task-based API flow

Wan 3.0 Image-to-Video Spicy is Alibaba's high-dynamic image-to-video model under the Tongyi Wanxiang framework. Specially engineered for large-scale motion and high visual intensity, it transforms a single static image into up to 30-second videos in cinematic 1080P resolution. While maintaining strict character identity and background consistency from the input image, the "Spicy" edition delivers a dramatic boost in action amplitude, complex physical collision simulation, and expressive camera movement, alongside native audio-visual generation capabilities. It is ideally suited for high-energy commercial advertising, game CG animation, short drama production, and advanced visual effects workflows. The examples below are rendered from Wan 3.0 Video Spicy, the current gateway base URL, and the selected public model contract.

Input mode
X-API-Key on every request
POST /api/v1/openapi/task
GET /api/v1/openapi/task/status/{task_id}
Async task workflow

Single code window

Switch language once. Each example already includes both the task creation request and the task status polling request.

Unified Example
API_KEY="<API_KEY>"
BASE_URL="https://api.musespark.ai"
REQUEST_BODY='{
  "model_id": "wan-3.0-video-spicy",
  "parameters": {
    "prompt": "A cinematic drone shot over a futuristic city at sunrise, volumetric light, realistic motion",
    "resolution": "1080P",
    "duration": 5,
    "aspect_ratio": "16:9",
    "batch_size": 1
  }
}'

CREATE_RESPONSE=$(curl --request POST "$BASE_URL/api/v1/openapi/task" \
  --header "X-API-Key: $API_KEY" \
  --header "Content-Type: application/json" \
  --data-raw "$REQUEST_BODY")

TASK_ID="<TASK_ID_FROM_CREATE_RESPONSE>"

curl "$BASE_URL/api/v1/openapi/task/status/$TASK_ID" \
  --header "X-API-Key: $API_KEY"

Request and response JSON become the documentation

Keep the payload and task status envelope as the primary contract. Field descriptions, optionality, and enum hints now live inline as JSON comments.

Request Body

Caller payload

This is the request envelope accepted by the public gateway for the selected model contract.

Field comments and caller parameters come directly from the current item's model schema.
{
"model_id": "wan-3.0-video-spicy",// target model
"parameters": {
"prompt": "A cinematic drone shot over a futuristic city at sunrise, volumetric light, realistic motion",// prompt describing the video to generate. Required for every input mode
"resolution": "1080P",// output resolution; defaults to 1080P when omitted · enum: 480P | 720P | 1080P
"duration": 5,// output duration in seconds, from 4 to 30 · min 4 · max 30
"aspect_ratio": "16:9",// output video aspect ratio. Choose one of the five listed concrete ratios · enum: 16:9 | 9:16 | 1:1 | 4:3 | 3:4
"batch_size": 1// standard quantity control field. The allowed range for this item is 1-4 · min 1 · max 4
}
}
Response Body

Gateway response

This is the task status response you will query with task_id until the task reaches a terminal state.

Poll every 2-5 seconds and stop once status becomes completed, failed, cancelled.
{
"code": 200,// 200 on success
"msg": "success",
"data": {
"task_id": "task_01HQX8N2QJ0YQ8Q0T7G6N4V6K2",// use for status polling
"status": "completed",// enum: queued | running | completed | failed | cancelled
"progress": 100,// 0-100 if available
"completed_at": 1760000000,// unix timestamp
"expires_at": 1760001800,// unix timestamp
"result": {
"output_urls": [// generated files
"https://cdn.example.com/output.png"
]
}
}
}