Skip to main content
Core.Today
|
AlibabaSlowHigh

Wan 3.0 Reference to Video

Alibaba Wan 3.0 reference-to-video via Fal.AI. Combines up to 10 reference images, 5 reference video clips, and 5 reference audio clips — each cited in the prompt by position (Image 1, Video 1, Audio 1) — into one coherent video that keeps character identity, style, motion, and sound cues. 2-30 second output at 480p/720p/1080p with optional generated audio.

17040 credits
per 5s 1080p video — billed per second of output plus reference-video seconds (480p 116/s, 720p 233/s, 1080p 465/s)
Multimodal references: up to 10 images, 5 video clips, and 5 audio clips in one request
Positional citation in the prompt — Image 1, Video 1, Audio 1
Keeps character identity, visual style, movement, and sound cues consistent
2-30 second output at 480p, 720p, or 1080p with adaptive or fixed aspect ratio
Optional generated audio, prompt expansion, and enhanced reasoning (thinking) with document/web sources

Run it right now

Test this model instantly in the Console Playground — no code required

Sign in to try

Use with AI Assistant

Copy usage instructions for Claude, ChatGPT, or other AI

Quick Start

curl -X POST "https://api.core.today/v1/predictions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: cdt_your_api_key" \
  -d '{
  "model": "alibaba/wan-3.0/reference-to-video",
  "input": {
    "prompt": "The woman in Image 1 walks along a rainy neon-lit street at night, holding the umbrella from Image 2, cinematic tracking shot.",
    "reference_image_urls": [
      "https://example.com/woman.jpg",
      "https://example.com/umbrella.jpg"
    ],
    "duration": 5,
    "resolution": "1080p",
    "aspect_ratio": "adaptive"
  }
}'

Parameters

ParameterTypeRequiredDefaultDescription
promptstringYes-Text prompt directing how the reference media is used. Address references positionally, e.g. 'the subject in Image 1 walks past Video 1'. Up to 20000 characters
reference_image_urlsarrayNo-Reference image URLs (character, object, or style), cited as Image 1, Image 2, ... Up to 10 images
reference_video_urlsarrayNo-Reference video URLs (motion, camera, scene), cited as Video 1, ... Up to 5 clips totaling at most 15 seconds, each at least 16 fps. Reference video seconds are billed in addition to the output duration
reference_audio_urlsarrayNo-Reference audio URLs (voice, music, sound cues), cited as Audio 1, ... Up to 5 clips totaling at most 15 seconds
resolutionstringNo1080pOutput video resolution tier
480p720p1080p
aspect_ratiostringNoadaptiveOutput aspect ratio, or 'adaptive' to let the model choose
adaptive16:94:31:13:49:16
durationintegerNo5Output duration in seconds (2-30). Billed per second of output plus any reference video seconds
audiobooleanNotrueInclude generated audio. Costs the same either way
enable_prompt_expansionbooleanNotrueEnable intelligent prompt rewriting. Disabling it saves roughly 20-60 seconds of latency but is likely to degrade quality
enable_thinkingbooleanNofalseEnable enhanced reasoning before generation. Turned on automatically when file_url or web_url is provided
file_urlstringNo-Document URL to base the video on (enables thinking automatically)
web_urlstringNo-Public webpage URL to base the video on; pages behind a login cannot be read (enables thinking automatically)
enable_safety_checkerbooleanNotrueEnable content moderation for input and output
seedintegerNo-Random seed for reproducible generation (0-2147483647). Random when omitted

How to Provide File Input

There are 3 ways to provide files for the reference_image_urlsreference_video_urlsreference_audio_urlsfile_url parameters:

Recommended

Image URL

Pass a publicly accessible URL directly. With the Storage API (POST /v1/files/upload-url) the file uploads straight to S3 (50MB per file) and you pass the returned file_url.

{
  "model": "alibaba/wan-3.0/reference-to-video",
  "input": {
    "prompt": "your prompt here",
    "reference_image_urls": ["https://example.com/image.jpg"]
  }
}

Direct Upload (Multipart)

Attach files directly to POST /v1/predictions/upload. No separate upload step, but the bytes pass through the API server so the whole request is capped at 10MB.

curl -X POST "https://api.core.today/v1/predictions/upload" \
  -H "X-API-Key: cdt_your_api_key" \
  -F "model=alibaba/wan-3.0/reference-to-video" \
  -F 'input={"prompt":"your prompt here"}' \
  -F "file:reference_image_urls=@your_file.png"
See the File Upload docs for more upload methods including Presigned URLs.

Common Parameters

Common parameters used when calling POST /v1/predictions.

ParameterTypeRequiredDefaultDescription
modelstringYes-Model identifier
inputobjectYes-Object containing the model-specific parameters from the table above
output_folderstringNo-Folder path for output files (max 256 chars, '..' not allowed)
webhook_urlstringNo-Webhook URL to call on completion
is_publicbooleanNofalseIf true, output files are also available via permanent public URLs

Examples

Character-Consistent Scene

Keep a character and a prop consistent with their reference images

curl -X POST "https://api.core.today/v1/predictions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: cdt_your_api_key" \
  -d '{
  "model": "alibaba/wan-3.0/reference-to-video",
  "input": {
    "prompt": "The woman in Image 1 walks along a rainy neon-lit street at night, holding the umbrella from Image 2, cinematic tracking shot.",
    "reference_image_urls": [
      "https://example.com/woman.jpg",
      "https://example.com/umbrella.jpg"
    ],
    "duration": 5,
    "resolution": "1080p",
    "aspect_ratio": "adaptive"
  }
}'

Motion and Voice Transfer

Follow the motion of a reference clip and the voice of a reference audio

curl -X POST "https://api.core.today/v1/predictions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: cdt_your_api_key" \
  -d '{
  "model": "alibaba/wan-3.0/reference-to-video",
  "input": {
    "prompt": "The character in Image 1 performs the dance from Video 1 while singing with the voice in Audio 1.",
    "reference_image_urls": [
      "https://example.com/character.png"
    ],
    "reference_video_urls": [
      "https://example.com/dance.mp4"
    ],
    "reference_audio_urls": [
      "https://example.com/voice.mp3"
    ],
    "duration": 8,
    "resolution": "720p"
  }
}'

Tips & Best Practices

1Cite every reference explicitly in the prompt (Image 1, Video 1, Audio 1) — uncited references contribute weakly
2Reference video seconds are billed on top of the output duration — trim clips to the part that matters
3Iterate at 480p, then render the final at 1080p
4Disable enable_prompt_expansion to cut 20-60 seconds of latency when your prompt is already detailed

Use Cases

Character-consistent scenes driven by reference photos
Motion or camera transfer from a short reference clip to a new subject
Voice- and music-following takes from reference audio
Brand-consistent ad variations reusing the same product and talent references
Explainer videos grounded in a document or public webpage (with thinking)