WaveSpeedAI APIWavespeed AIWan 2.2 Fun Control

Wan 2.2 Fun Control

Wan 2.2 Fun Control

Playground

Try it on WavespeedAI!

Wan2.2-Fun-Control uses Control Codes and multi-modal inputs to generate preset-controlled videos up to 120s at 720p; released under Apache 2.0 for commercial use. Ready-to-use REST API, no coldstarts, affordable.

Features

Wan2.2-Fun-Control

Wan2.2-Fun-Control is an advanced video generation and control model developed by the Alibaba PAI team, designed for precise and creative video synthesis. By integrating Control Codes with deep learning and multi-modal conditioning, it enables users to direct motion, structure, and scene composition — achieving controllable, high-fidelity video generation under customizable guidance.


🌟 Key Features

  • 🎛️ Multi-Modal Control Supports multiple input types for fine-grained video control:

    • Canny: Edge or line-art guidance
    • Depth: Depth map-based spatial control
    • OpenPose: Human pose and skeletal motion tracking
    • MLSD: Geometric line structure for scene layout
    • Trajectory Control: Object or camera movement path conditioning
  • 🎬 High-Quality Video Generation Built on the Wan 2.2 architecture — delivering cinematic, high-resolution video outputs with stable motion and consistent identity.

  • 🌍 Multi-Language Prompting Accepts both Chinese and English descriptions for flexible creative control.

  • 🧠 Intelligent Composition Aligns user-provided references (images or frames) with pose, structure, and scene layout to ensure natural transitions and realism.


💰 Pricing

ResolutionCost per 5 SecondsMax Duration
480p$0.20120 seconds
720p$0.40120 seconds

Billing Rules

  • Standard Rate: $0.04 per second
  • HD (720p) Rate: $0.08 per second
  • Minimum Charge: All audio is billed for a minimum of 5 seconds.
    • Standard: $0.20
    • HD (720p): $0.40
  • Billing Cap: To keep your costs predictable, billing is capped at a maximum of 600 seconds (10 minutes).

⚙️ Usage Tips

  • 🧍 Keep reference consistency: The reference image’s composition, pose, and camera angle should match the desired video framing. Major mismatches between input and control maps (e.g., OpenPose or Canny) can lead to generation instability or artifacts.

  • 🖼️ Match aspect ratios: The aspect ratio of the input image and target video should remain identical for best results.

  • 🔄 Control balance: Combining too many control types simultaneously may reduce creative flexibility — start with one or two controls and tune gradually.

Authentication

For authentication details, please refer to the Authentication Guide.

API Endpoints

Submit Task & Query Result


# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/wavespeed-ai/wan-2.2/fun-control" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
    "resolution": "480p",
    "seed": -1
}'

# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"

Parameters

Task Submission Parameters

Request Parameters

ParameterTypeRequiredDefaultRangeDescription
imagestringYes-The image for generating the output.
videostringYes-The video for generating the output.
promptstringNo-The positive prompt for the generation.
resolutionstringNo480p480p, 720pThe resolution of the output video.
seedintegerNo-1-1 ~ 2147483647The random seed to use for the generation. -1 means a random seed will be used.

Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
data.idstringUnique identifier for the prediction, Task Id
data.modelstringModel ID used for the prediction
data.outputsarrayArray of URLs to the generated content (empty when status is not completed)
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
data.has_nsfw_contentsarrayArray of boolean values indicating NSFW detection for each output
data.statusstringStatus of the task: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds

Result Request Parameters

© 2025 WaveSpeedAI. All rights reserved.