Alibaba Wan 2.6 Reference To Video Flash

Alibaba Wan 2.6 Reference To Video Flash

Playground

Try it on WaveSpeedAI!

WAN 2.6 Reference-to-Video Flash turns character, prop, or scene references from images or videos into new video shots with preserved identity, style, and layout plus smooth, coherent motion. Flash version with faster generation speed. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.

Features

Wan 2.6 Reference-to-Video Flash is fast reference-driven video generation model. Upload up to 5 reference images and describe the scene — the model generates high-quality video that preserves character identity and appearance, with optional audio generation and multi-shot support.


Why Choose This?

  • Multi-reference input Upload up to 5 reference images for precise character and scene guidance.

  • Identity preservation Maintains character appearance and identity across generated video frames.

  • Audio generation Optional synchronized audio for complete video output.

  • Shot type control Choose between single continuous shot or multi-shot composition.

  • Multiple resolutions Support for 720p and 1080p in both landscape and portrait orientations.

  • Prompt Enhancer Built-in tool to automatically improve your video descriptions.


Parameters

ParameterRequiredDescription
reference_urlsYesReference images (1-5, click ”+ Add Item” for multiple)
promptYesText description of the video scene and motion
audioNoCustom audio track (URL or upload)
negative_promptNoElements to exclude from generation
sizeNoOutput size: 1280720, 7201280, 19201080, 10801920
durationNoVideo length: 5 or 10 seconds (default: 5)
shot_typeNoShot composition: single, multi (default: multi)
enable_audioNoGenerate synchronized audio (default: enabled)
enable_prompt_expansionNoEnable prompt optimizer (default: disabled)
seedNoRandom seed for reproducibility (-1 for random)

How to Use

  1. Upload reference images — add 1-5 character or scene references.
  2. Write your prompt — describe the scene, motion, and camera work.
  3. Upload audio (optional) — provide a custom audio track.
  4. Set size — choose resolution and orientation.
  5. Set duration — 5 or 10 seconds.
  6. Choose shot type — single for one continuous shot, multi for varied compositions.
  7. Configure audio — enable/disable audio generation.
  8. Run — submit and download your video.

Pricing

Pricing depends on resolution, duration, and audio settings.

SizeDurationAudio OffAudio On
720p5s$0.25$0.50
720p10s$0.375$0.75
1080p5s$0.40$0.80
1080p10s$0.60$1.20

Billing Rules

  • Resolution multiplier: 720p (1280720 / 7201280) = 1×, 1080p (19201080 / 10801920) = 1.6×
  • Audio multiplier: disabled = 1×, enabled = 2×

Best Use Cases

  • Character Animation — Generate videos that preserve character identity from reference photos.
  • Social Media Content — Create engaging videos featuring consistent characters.
  • Storytelling — Produce narrative scenes with identity-consistent characters.
  • Marketing & Ads — Generate promotional videos featuring specific people or characters.
  • Multi-shot Production — Create videos with varied camera angles and compositions.

Pro Tips

  • Use multiple reference images from different angles for better identity preservation.
  • Use “multi” shot type for more dynamic, cinematic compositions.
  • Disable enable_audio for faster processing when audio is not needed.
  • Add negative prompts to avoid common issues (e.g., “blurry, distorted”).
  • Enable prompt expansion for automatic prompt optimization.
  • Use 720p for drafts and testing, 1080p for final production.

Notes

  • Both reference_urls and prompt are required fields.
  • Maximum 5 reference images per generation.
  • Duration options are 5 or 10 seconds only.
  • Ensure uploaded image and audio URLs are publicly accessible.
  • Seed value -1 generates a random seed each time.
  • If your result don’t have sound, please add prompt like “Add background sound”.

More Models to Try

Authentication

For authentication details, please refer to the Authentication Guide.

API Endpoints

Submit Task & Query Result

set -euo pipefail

export WAVESPEED_API_KEY="your-api-key"

REQUEST_BODY=$(cat <<'JSON'
{
  "reference_urls": [
    "https://interactive-examples.mdn.mozilla.net/media/cc0-images/painted-hand-298-332.jpg"
  ],
  "prompt": "A cinematic ocean wave at sunrise, highly detailed",
  "size": "1280*720",
  "duration": 5,
  "shot_type": "single",
  "enable_audio": true,
  "enable_prompt_expansion": false,
  "seed": -1
}
JSON
)

# 1. Submit the prediction.
SUBMIT_RESPONSE=$(curl --silent --show-error --fail-with-body \
  -X POST "https://api.wavespeed.ai/api/v3/alibaba/wan-2.6/reference-to-video-flash" \
  -H "Authorization: Bearer ${WAVESPEED_API_KEY}" \
  -H "Content-Type: application/json" \
  -d "${REQUEST_BODY}")

TASK=$(printf '%s' "${SUBMIT_RESPONSE}" | jq 'if type == "object" and has("data") then .data else . end')
PREDICTION_ID=$(printf '%s' "${TASK}" | jq -r '.id // empty')
if [ -z "${PREDICTION_ID}" ]; then
  printf 'Submission response did not contain a prediction id
' >&2
  exit 1
fi
RESULT_URL=$(printf '%s' "${TASK}" | jq -r '.urls.get // empty')
if [ -z "${RESULT_URL}" ]; then RESULT_URL="https://api.wavespeed.ai/api/v3/predictions/${PREDICTION_ID}/result"; fi

# 2. Poll until the prediction finishes.
while true; do
  RESPONSE=$(curl --silent --show-error --fail-with-body \
    "${RESULT_URL}" \
    -H "Authorization: Bearer ${WAVESPEED_API_KEY}")
  RESULT=$(printf '%s' "${RESPONSE}" | jq 'if type == "object" and has("data") then .data else . end')
  STATUS=$(printf '%s' "${RESULT}" | jq -r '.status // empty')

  case "${STATUS}" in
    completed) printf '%s\n' "${RESULT}" | jq '.outputs'; break ;;
    failed|cancelled|timeout) printf '%s\n' "${RESULT}" | jq . >&2; exit 1 ;;
    created|processing) sleep 2 ;;
    *) printf 'Unexpected status: %s
' "${STATUS}" >&2; exit 1 ;;
  esac
done

Parameters

Task Submission Parameters

Request Parameters

ParameterTypeRequiredDefaultRangeDescription
reference_urlsarray<string>Yes-1 ~ 5 itemsArray of URLs to reference images or videos. Images: 0-5, Videos: 0-3, Total: ≤5.
promptstringYes-The positive prompt for the generation.
audiostringNo--Audio URL to guide generation (optional).
negative_promptstringNo-The negative prompt for the generation.
sizestringNo1280*7201280*720, 720*1280, 1920*1080, 1080*1920The size of the generated media in pixels (width*height).
durationintegerNo55, 10The duration of the generated media in seconds.
shot_typestringNosinglesingle, multiThe type of shots to generate.
enable_audiobooleanNotrue-Whether to generate audio for the video. Set to false to generate video without audio.
enable_prompt_expansionbooleanNofalse-If set to true, the prompt optimizer will be enabled.
seedintegerNo-1-The 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.outputsarrayOutput values, usually URL strings; some models return text strings or structured result objects (empty when status is not completed)
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
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

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.outputsarray<string | object>Array of generated outputs (empty when status is not completed). Items are usually URL strings, but may be text strings or structured result objects, depending on the model.
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to poll for the prediction result
data.statusstringStatus: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds
© 2026 WaveSpeedAI. All rights reserved.