Alibaba's Wan 3.0 Prime generates video from a text prompt (or an optional starting image) with coherent motion and lighting, at 480p, 720p or 1080p and 2 to 30 seconds long.
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-prime",
"input": {
"prompt": "a man doing jumping jacks",
"duration": 5,
"resolution": "1080p",
"aspect_ratio": "adaptive",
"negative_prompt": "",
"enable_prompt_expansion": true
}
}'| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
prompt | string | Yes | - | Text prompt for video generation (up to 20,000 characters). Include scene, lighting, camera movement and action |
image | string | No | - | Optional first-frame image to animate (jpg/png/bmp/webp, โค10MB). When provided, the video is generated from this image guided by the prompt |
resolution | string | No | 1080p | Output resolution. 480p bills 158 credits/sec, 720p 326/sec, 1080p 651/sec 480p720p1080p |
aspect_ratio | string | No | adaptive | 'adaptive' lets the model choose the best ratio for the prompt. Ignored when an image is provided (the image's ratio is used) adaptive16:99:161:14:33:4 |
duration | integer | No | 5 | Video duration in seconds (2-30). Billed per second of output |
negative_prompt | string | No | - | Content that should not appear in the video |
enable_prompt_expansion | boolean | No | true | Automatically expand and optimize the prompt. Improves quality for short prompts but increases latency |
seed | integer | No | - | Random seed for reproducible generation (0-2147483647) |
There are 3 ways to provide files for the image parameter:
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-prime",
"input": {
"prompt": "your prompt here",
"image": "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-prime" \
-F 'input={"prompt":"your prompt here"}' \
-F "file:image=@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 |
A 5-second 1080p clip from a short prompt
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-prime",
"input": {
"prompt": "a man doing jumping jacks",
"duration": 5,
"resolution": "1080p",
"aspect_ratio": "adaptive",
"negative_prompt": "",
"enable_prompt_expansion": true
}
}'Check motion and framing at 480p before the final render
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-prime",
"input": {
"prompt": "A golden retriever running through autumn leaves in a park, camera tracking from the side, warm afternoon light",
"negative_prompt": "blurry, distorted, low quality, static",
"duration": 8,
"resolution": "480p",
"aspect_ratio": "16:9"
}
}'POST /v1/predictions