Wan FLF2V

Wan-2.1 flf2v generates dynamic videos by intelligently bridging a given first frame to a desired end frame through smooth, coherent motion sequences.

Features

FLF2V stands for First-Last Frame to Video. The model uses two image anchors—the first frame and last frame—and generates a short cinematic sequence that connects the two via plausible and creative motion.

Rather than simply blending frames, it leverages the architecture of Wan 2.1, integrating LoRA conditioning, diffusion guidance, and temporal consistency training to produce meaningful transitions.

The FLF2V model bridges the creative gap between keyframes. The results often feel like scenes from short animated films—with character motion, background transitions, and action unfolding fluidly.

Key Features

  • Dual-Anchor Motion Synthesis: Generates video by connecting two key frames with context-aware motion sequences.
  • Supports Prompt + Image Input: Combine text guidance with first/last frame images for even finer control over content and style.
  • LoRA Compatible: Natively supports all LoRA models—customize characters, styles, and environments with precision.
  • High Fidelity + Realism: Trained to avoid warping, artifacts, or lazy interpolation—motion unfolds naturally and consistently.
  • Fast Inference with WaveSpeedAI Inference: Run WAN-FLF2V at blazing speeds with our optimized inference engine, saving time and compute costs.

Limitations

  • Input Dependency: The quality of the generated video heavily relies on the clarity and relevance of the starting and ending frames, as well as the specificity of the text prompt.​
  • Creative Control: While FLF2V offers enhanced control over motion synthesis, achieving highly specific or complex transitions may require iterative prompt tuning and experimentation.
  • Output Length: The duration of the generated video is influenced by the number of frames specified, which may limit the length of the output in certain scenarios.

Out-of-Scope Use

The model and its derivatives may not be used in any way that violates applicable national, federal, state, local, or international law or regulation, including but not limited to:

  • Exploiting, harming, or attempting to exploit or harm minors, including solicitation, creation, acquisition, or dissemination of child exploitative content.
  • Generating or disseminating verifiably false information with the intent to harm others.
  • Creating or distributing personal identifiable information that could be used to harm an individual.
  • Harassing, abusing, threatening, stalking, or bullying individuals or groups.
  • Producing non-consensual nudity or illegal pornographic content.
  • Making fully automated decisions that adversely affect an individual’s legal rights or create binding obligations.
  • Facilitating large-scale disinformation campaigns.

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-flf2v" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
    "first_image": "https://raw.githubusercontent.com/Comfy-Org/example_workflows/refs/heads/main/wan2.1_flf2v/input/start_image.png",
    "last_image": "https://raw.githubusercontent.com/Comfy-Org/example_workflows/refs/heads/main/wan2.1_flf2v/input/end_image.png",
    "prompt": "glass flower blossom",
    "negative_prompt": "",
    "duration": 5,
    "size": "832*480",
    "num_inference_steps": 30,
    "enable_fast_mode": false,
    "guidance_scale": 5,
    "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

ParameterTypeRequiredDefaultRangeDescription
first_imagestringYeshttps://raw.githubusercontent.com/Comfy-Org/example_workflows/refs/heads/main/wan2.1_flf2v/input/start_image.png-URL of the starting image.
last_imagestringYeshttps://raw.githubusercontent.com/Comfy-Org/example_workflows/refs/heads/main/wan2.1_flf2v/input/end_image.png-URL of the ending image.
promptstringNoglass flower blossom-
negative_promptstringNo--The negative prompt for generating the output.
durationintegerNo55 ~ 10
sizestringNo832*480832*480, 480*832, 1280*720, 720*1280The size of the output.
num_inference_stepsintegerNo301 ~ 40The number of inference steps.
enable_fast_modebooleanNofalse-using accelerator technology to speed up the model, which may slightly decrease output quality.
guidance_scalenumberNo51.01 ~ 10.00The guidance scale for generation.
seedintegerNo-1-1 ~ 9999999999The seed for random number generation.
enable_safety_checkerbooleanNotrue-Whether to enable the safety checker.

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 Query Parameters

Result Request Parameters

ParameterTypeRequiredDefaultDescription
idstringYes-Task ID

Result Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
dataobjectThe prediction data object containing all details
data.idstringUnique identifier for the prediction
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
© 2025 WaveSpeedAI. All rights reserved.