SilkDock
APIVideo Generation

Wan 3.0

Configurable fields, supported values, examples, and pricing for wan-3.0.

Wan 3.0 is currently in official invite-only testing. Availability for your account is determined by the model list API.

Model ID

wan-3.0

Use this public model ID in every request. Do not send an internal model name or provider prefix.

Capabilities

CapabilitySupported value
Text-to-videoYes
Image-to-videoYes
Multi-image / reference videoYes
Start/end framesYes
Motion transferNo
Audio inputYes
Generated audioYes; enabled by default
Prompt enhancementextra_body.prompt_extend; enabled by default
Resolution480p, 720p, 1080p; default 1080p
Aspect ratioadaptive, 16:9, 4:3, 1:1, 3:4, 9:16; default adaptive
Duration (seconds)Any integer from 2 to 30, or -1 for automatic; default 5
Frame rateFixed at 30 fps

adaptive lets the model select an aspect ratio from the prompt and reference assets. For production integrations, set resolution, aspect_ratio, and seconds explicitly so future default changes do not affect output.

Configurable fields

FieldRequiredNotes
modelYesMust be wan-3.0.
promptYesDescribe the content, subject, action, camera movement, and sound in Chinese or English. Maximum 20000 characters; upstream truncates excess text.
secondsNoWithout video input: integer from 2 to 30, or -1 to let the model decide. Defaults to 5. With video input, input and output durations combined cannot exceed 30 seconds.
input_referenceNoFirst-frame image URL. Use only one of this field, image, or extra_body.first_frame_url.
imageNoAlias for a first-frame image URL. New integrations may consistently use input_reference.
sizeNoLegacy compatibility field. Prefer extra_body.resolution and extra_body.aspect_ratio.
extra_body.resolutionNo480p, 720p, or 1080p. Defaults to 1080p.
extra_body.aspect_ratioNoadaptive, 16:9, 4:3, 1:1, 3:4, or 9:16. Defaults to adaptive.
extra_body.audioNoGenerate audio when true, or a silent video when false. Defaults to true.
extra_body.mediaNoComplete media array. Each item contains type and url; see the limits below.
extra_body.first_frame_urlNoFirst-frame image URL. Use only one of the three first-frame fields.
extra_body.last_frame_urlConditionalLast-frame image URL; a first-frame field is also required.
extra_body.reference_image_urlsNoUp to 10 image URLs for subject, scene, or style reference. These do not define the first frame.
extra_body.reference_video_urlsNoUp to 5 video URLs for action, camera, or overall video reference; 15 seconds total.
extra_body.audio_urlNoOne reference audio URL for sound or audiovisual synchronization. Keep audio enabled when using it.
extra_body.reference_audio_urlsNoUp to 5 reference audio URLs; 15 seconds total.
extra_body.seedNoInteger random seed from 0 to 2147483647.
extra_body.prompt_extendNoEnable prompt enhancement. Boolean; defaults to true and may increase latency.
extra_body.watermarkNoAdd a watermark when true. Defaults to false.

Only send the public extension fields listed above. Reference assets must be URLs that the service can access, not local paths, authenticated page URLs, or expired signed URLs.

Media types and limits

media[].typeCount / durationFormat and size
first_frameUp to 1 imageJPEG, JPG, PNG without alpha, BMP, or WEBP; each side 240-8000 px; ratio at most 8:1; up to 20 MB
last_frameUp to 1 image; requires first_frameSame image limits as first_frame
reference_imageUp to 10 imagesSame image limits as first_frame
reference_videoUp to 5 clips; each 1-15 seconds and 15 seconds totalMP4 or MOV; each side 240-4096 px; ratio at most 8:1; up to 100 MB each
reference_audioUp to 5 clips; each 1-15 seconds and 15 seconds totalWAV or MP3; up to 15 MB each
fileUp to 1; cannot be combined with linkDOCX, DOC, XLSX, XLS, PPTX, PPT, PDF, TXT, KEY, PAGES, NUMBERS, or MD; up to 100 MB and 50 pages where applicable
linkUp to 1; cannot be combined with filePublic HTTP/HTTPS page that does not require sign-in

Reference images, videos, audio, files, and links cannot be combined with first_frame or last_frame in the same request. Images may use HTTP/HTTPS URLs, temporary Alibaba Cloud OSS URLs, or data:{MIME_type};base64,{base64_data}. Other media must use a service-accessible URL.

Prompt enhancement

Use extra_body.prompt_extend to control the officially documented prompt enhancement behavior. Do not send prompt_enhance, enhance_prompt, prompt_optimization, enable_thinking, think_level, thinking_level, or reasoning_effort; these fields are not part of the stable Wan 3.0 API contract.

Generation modes

ModeReference assets
Text-to-videoDo not send reference assets.
First-frame image-to-videoSend one of input_reference, image, or extra_body.first_frame_url.
Start/end-frame videoSend a first-frame field and extra_body.last_frame_url.
Multi-image referenceSend extra_body.reference_image_urls.
Reference-video generationSend extra_body.reference_video_urls.
Reference-audio generationSend extra_body.audio_url; it can be combined with image or video references.
File referenceAdd one media item with type: "file".
Web-page referenceAdd one media item with type: "link"; the page must be publicly accessible.

First-frame images and reference images have different semantics. A first-frame field constrains the opening frame; reference_image_urls provides content guidance only. Do not pass an image array to input_reference for multi-image reference generation.

Text-to-video example

curl -X POST 'https://silkdock.ai/v1/videos/generations' \
  -H 'Authorization: Bearer $SILKDOCK_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "wan-3.0",
    "prompt": "A vintage convertible follows a coastal road at dawn as the camera descends slowly, with ocean waves and wind",
    "seconds": 10,
    "extra_body": {
      "resolution": "1080p",
      "aspect_ratio": "16:9",
      "audio": true,
      "prompt_extend": true
    }
  }'

First-frame example

{
  "model": "wan-3.0",
  "prompt": "The subject turns and runs forward as the camera pulls back smoothly; preserve the subject's appearance",
  "input_reference": "https://example.com/start.png",
  "seconds": 8,
  "extra_body": {
    "resolution": "1080p",
    "aspect_ratio": "16:9",
    "audio": true
  }
}

Start/end-frame example

{
  "model": "wan-3.0",
  "prompt": "Transition naturally from daylight to a city at night while the camera slowly moves forward",
  "seconds": 10,
  "extra_body": {
    "resolution": "1080p",
    "aspect_ratio": "16:9",
    "first_frame_url": "https://example.com/day.png",
    "last_frame_url": "https://example.com/night.png",
    "audio": true
  }
}

Multimodal reference example

{
  "model": "wan-3.0",
  "prompt": "Use the reference subject and setting, follow the reference video's camera rhythm, and create a cinematic short with ambient sound",
  "seconds": 15,
  "extra_body": {
    "resolution": "1080p",
    "aspect_ratio": "16:9",
    "reference_image_urls": [
      "https://example.com/character.png",
      "https://example.com/location.png"
    ],
    "reference_video_urls": [
      "https://example.com/camera-motion.mp4"
    ],
    "audio_url": "https://example.com/ambient.wav",
    "audio": true
  }
}

Pricing

Wan 3.0 is billed by the actual generated duration: resolution price/second * generated seconds. The rates below use the Alibaba Cloud international Singapore-region standard price, not a converted mainland-China RMB price.

ResolutionUSD/second10-second example
480p$0.050000$0.50
720p$0.100000$1.00
1080p$0.200000$2.00

The rate is the same for audio: true and audio: false. When seconds is -1, billing uses the video's actual generated duration.

Check and download a task

Creating a video returns a task ID. Poll the status endpoint until the task is completed or failed:

curl 'https://silkdock.ai/v1/videos/<VIDEO_ID>' \
  -H 'Authorization: Bearer $SILKDOCK_API_KEY'

Download content only after completion:

curl -L 'https://silkdock.ai/v1/videos/<VIDEO_ID>/content' \
  -H 'Authorization: Bearer $SILKDOCK_API_KEY' \
  -o result.mp4

Poll every 3-5 seconds in production and set an application-level timeout. Stop polling on failed and record the task ID and error details.

Integration constraints

  • Use the documented lowercase values, such as 1080p and adaptive.
  • Do not send last_frame_url without a first-frame field.
  • Do not send audio_url when audio is false.
  • Undocumented extension fields, reference-asset count limits, formats, and file sizes are not part of the stable public contract.
  • A 403 usually means the account does not have access, 400 indicates invalid parameters or assets, and 429 indicates a rate or quota limit.

See the official Wan 3.0 API reference and international model and pricing page. Parameter names and defaults follow the API reference; prices follow the international page.

Last updated on

On this page