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.
Test this model instantly in the Console Playground — no code required
Copy usage instructions for Claude, ChatGPT, or other AI
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"
}
}'| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
prompt | string | Yes | - | 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_urls | array | No | - | Reference image URLs (character, object, or style), cited as Image 1, Image 2, ... Up to 10 images |
reference_video_urls | array | No | - | 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_urls | array | No | - | Reference audio URLs (voice, music, sound cues), cited as Audio 1, ... Up to 5 clips totaling at most 15 seconds |
resolution | string | No | 1080p | Output video resolution tier 480p720p1080p |
aspect_ratio | string | No | adaptive | Output aspect ratio, or 'adaptive' to let the model choose adaptive16:94:31:13:49:16 |
duration | integer | No | 5 | Output duration in seconds (2-30). Billed per second of output plus any reference video seconds |
audio | boolean | No | true | Include generated audio. Costs the same either way |
enable_prompt_expansion | boolean | No | true | Enable intelligent prompt rewriting. Disabling it saves roughly 20-60 seconds of latency but is likely to degrade quality |
enable_thinking | boolean | No | false | Enable enhanced reasoning before generation. Turned on automatically when file_url or web_url is provided |
file_url | string | No | - | Document URL to base the video on (enables thinking automatically) |
web_url | string | No | - | Public webpage URL to base the video on; pages behind a login cannot be read (enables thinking automatically) |
enable_safety_checker | boolean | No | true | Enable content moderation for input and output |
seed | integer | No | - | Random seed for reproducible generation (0-2147483647). Random when omitted |
There are 3 ways to provide files for the reference_image_urlsreference_video_urlsreference_audio_urlsfile_url parameters:
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"]
}
}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"Common parameters used when calling POST /v1/predictions.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
model | string | Yes | - | Model identifier |
input | object | Yes | - | Object containing the model-specific parameters from the table above |
output_folder | string | No | - | Folder path for output files (max 256 chars, '..' not allowed) |
webhook_url | string | No | - | Webhook URL to call on completion |
is_public | boolean | No | false | If true, output files are also available via permanent public URLs |
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"
}
}'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"
}
}'POST /v1/predictions