Wan 2.1 14B VACE
VACE is an all-in-one model designed for video creation and editing. It encompasses various tasks, including reference-to-video generation (R2V), video-to-video editing (V2V), and masked video-to-video editing (MV2V), allowing users to compose these tasks freely. This functionality enables users to explore diverse possibilities and streamlines their workflows effectively, offering a range of capabilities, such as Move-Anything, Swap-Anything, Reference-Anything, Expand-Anything, Animate-Anything, and more.
Features
wan-2.1-14b-vace provides solutions for various tasks, including reference-to-video generation (R2V) and video-to-video editing (V2V), allowing creators to freely combine these capabilities to achieve complex tasks.
Key Features
- All-in-One Video Processing: Supports multiple tasks including Image-to-Video (I2V),reference-to-video(R2V) and Video Editing, allowing for comprehensive video creation and editing workflows.
- High Performance: The model comes in 14B parameters and offers higher fidelity outputs.
- SOTA Performance: Wan2.1 consistently outperforms existing open-source models and state-of-the-art commercial solutions across multiple benchmarks.
- Unified Multi-task Capability: Extensive experiments show that VACE performs on par with task-specific models across various subtasks, while also enabling diverse applications through flexible task combinations.
ComfyUI
wan-2.1-14b-vace is available on ComfyUI, providing local inference capabilities through a node-based workflow, ensuring flexible and efficient image generation on your system
Use Cases
- Style Transfer: Convert real-world videos into distinct styles such as animation, claymation, or pixel art, enabling unique visual storytelling for creators, filmmakers, and advertisers.
- Motion Transfer & Expansion: Apply motion from a source video to a new subject or character, allowing fast prototyping of new animations, cinematic shots, or in-game sequences.
- Virtual Try-On & Product Customization: Use masked video editing to seamlessly change clothing, backgrounds, or products within a video without reshooting—perfect for e-commerce and digital showrooms.
- Game & Character Animation: Create or edit character actions, environmental interactions, or cinematic sequences, streamlining game development and virtual production pipelines.
Accelerated Inference
Our accelerated inference approach leverages advanced optimization technology from WavespeedAI. This innovative fusion technique significantly reduces computational overhead and latency, enabling rapid image generation without compromising quality. The entire system is designed to efficiently handle large-scale inference tasks while ensuring that real-time applications achieve an optimal balance between speed and accuracy. For further details, please refer to the blog post.
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.1-14b-vace" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"images": [
"https://d2g64w682n9w0w.cloudfront.net/media/f82c31a9020c49459ec9e57f26d0a22f/images/1747909398229595025_hWgc952Y.png",
"https://d2g64w682n9w0w.cloudfront.net/media/dd703f8dc97646268d372cdd689fdccc/images/1747877882344729896_SU9630WS.png"
],
"video": "",
"task": "depth",
"prompt": "The elegant lady carefully selects bags in the boutique, and she shows the charm of a mature woman in a black slim dress with a pearl necklace, as well as her pretty face. Holding a vintage-inspired blue leather half-moon handbag, she is carefully observing its craftsmanship and texture. The interior of the store is a haven of sophistication and luxury. Soft, ambient lighting casts a warm glow over the polished wooden floors",
"negative_prompt": "",
"size": "832*480",
"num_inference_steps": 30,
"enable_fast_mode": false,
"guidance_scale": 5,
"flow_shift": 16,
"context_scale": 1,
"seed": -1,
"enable_safety_checker": true
}'
# 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
Parameter | Type | Required | Default | Range | Description |
---|---|---|---|---|---|
images | array | No | https://d2g64w682n9w0w.cloudfront.net/media/f82c31a9020c49459ec9e57f26d0a22f/images/1747909398229595025_hWgc952Y.pnghttps://d2g64w682n9w0w.cloudfront.net/media/dd703f8dc97646268d372cdd689fdccc/images/1747877882344729896_SU9630WS.png | - | URL of ref images to use while generating the video. |
video | string | No | - | - | The video for generating the output. |
task | string | No | depth | - | Extract control information from the provided video to guide video generation. |
prompt | string | Yes | The elegant lady carefully selects bags in the boutique, and she shows the charm of a mature woman in a black slim dress with a pearl necklace, as well as her pretty face. Holding a vintage-inspired blue leather half-moon handbag, she is carefully observing its craftsmanship and texture. The interior of the store is a haven of sophistication and luxury. Soft, ambient lighting casts a warm glow over the polished wooden floors | - | |
negative_prompt | string | No | - | - | The negative prompt for generating the output. |
size | string | No | 832*480 | 832*480, 480*832, 1280*720, 720*1280 | The size of the output. |
num_inference_steps | integer | No | 30 | 1 ~ 40 | The number of inference steps. |
enable_fast_mode | boolean | No | false | - | using accelerator technology to speed up the model, which may slightly decrease output quality. |
guidance_scale | number | No | 5 | 1.01 ~ 10.00 | The guidance scale for generation. |
flow_shift | number | No | 16 | 0 ~ 30 | The shift value for the timestep schedule for flow matching. |
context_scale | number | No | 1 | 0.0 ~ 2.0 | |
seed | integer | No | -1 | -1 ~ 9999999999 | The seed for random number generation. |
enable_safety_checker | boolean | No | true | - | Whether to enable the safety checker. |
Response Parameters
Parameter | Type | Description |
---|---|---|
code | integer | HTTP status code (e.g., 200 for success) |
message | string | Status message (e.g., “success”) |
data.id | string | Unique identifier for the prediction, Task Id |
data.model | string | Model ID used for the prediction |
data.outputs | array | Array of URLs to the generated content (empty when status is not completed ) |
data.urls | object | Object containing related API endpoints |
data.urls.get | string | URL to retrieve the prediction result |
data.has_nsfw_contents | array | Array of boolean values indicating NSFW detection for each output |
data.status | string | Status of the task: created , processing , completed , or failed |
data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
data.error | string | Error message (empty if no error occurred) |
data.timings | object | Object containing timing details |
data.timings.inference | integer | Inference time in milliseconds |
Result Query Parameters
Result Request Parameters
Parameter | Type | Required | Default | Description |
---|---|---|---|---|
id | string | Yes | - | Task ID |
Result Response Parameters
Parameter | Type | Description |
---|---|---|
code | integer | HTTP status code (e.g., 200 for success) |
message | string | Status message (e.g., “success”) |
data | object | The prediction data object containing all details |
data.id | string | Unique identifier for the prediction |
data.model | string | Model ID used for the prediction |
data.outputs | array | Array of URLs to the generated content (empty when status is not completed ) |
data.urls | object | Object containing related API endpoints |
data.urls.get | string | URL to retrieve the prediction result |
data.has_nsfw_contents | array | Array of boolean values indicating NSFW detection for each output |
data.status | string | Status of the task: created , processing , completed , or failed |
data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
data.error | string | Error message (empty if no error occurred) |
data.timings | object | Object containing timing details |
data.timings.inference | integer | Inference time in milliseconds |