Wan 3.0 (BudgetPixel)
Wan 3.0 — the all-in-one video node where input media is free
- end_image
- image
- reference_audios
- reference_images
- reference_videos
- video
Wan 3.0 is Alibaba's all-in-one video model, and the billing model is almost suspiciously friendly: only the output seconds are billed. Input media - reference images, reference video clips, reference audio - is free, at 120 credits per output second. That inverts the math of every other multi-asset video node in this pack, where reference video clips cost you input time on top of the output. Here you can throw a clip at it to edit or extend without paying for the privilege of feeding it.
Why you'd reach for it
The reference-to-video mode is the deep feature. Up to 10 reference images, up to 5 reference video clips (15s combined) for editing, effect/camera replication, and extension, up to 5 reference audio clips (15s combined) for sound guidance - and in reference mode your prompt can address assets by order ("Image 1", "Video 1", "Audio 1"). Output runs 2–30 seconds at up to 1080p and 30fps, with an adaptive aspect ratio option that lets the model pick the framing from your inputs and prompt intent (you can still force 16:9, 9:16, 1:1, 4:3, or 3:4). It's the node to pick when a job mixes several media types, because the cost is all in the output.
The inputs that matter
- prompt - required; the edit instruction when reference videos are supplied.
- reference_images - up to 10, free.
- reference_videos - up to 5 clips (2–15s each, 15s combined, ≤50MB each), free - but input duration +
length_secondsmust stay ≤30. - reference_audios - up to 5 clips (15s combined), free.
- image / end_image - first and optional last frame for image-to-video; can't combine with reference media.
- length_seconds - 2–30.
- resolution - 480p/720p/1080p.
- aspect_ratio -
adaptivedefault; explicit ratios reframe even with a first frame. - generate_audio - defaults true, no price impact.
- seed - -1 random; set to reproduce.
Output is video (VIDEO), core type - 2025+ ComfyUI required.
How it works
The pack's standard hosted flow - serialize, upload, create a job, poll, download the MP4 into the temp folder. A 30-second multimodal reference job is the longest wait in the pack, so don't mistake slow polling for a hang. Interrupting stops the wait, not the job; it keeps rendering and billing server-side.
Install and key setup
ComfyUI Manager → BudgetPixel, or:
cd ComfyUI/custom_nodes
git clone https://github.com/budgetpixel-ai/comfyui-budgetpixel.git
pip install -r comfyui-budgetpixel/requirements.txt
Only requests. API key from a paid plan via BUDGETPIXEL_API_KEY or budgetpixel.json; never in workflow JSON.
Where people get burned
The 30-second combined cap is the subtle one - with a reference video, input duration plus output length must stay under 30 seconds, so a long reference clip silently shrinks how much output you can ask for. And reference media can't be combined with start/end frames, so a stray image connection cancels your reference mode. ComfyUI caching still applies - use force_rerun for a genuinely new generation.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Text description of the video, or the edit instruction when reference videos are supplied. In reference mode, address assets by order: "Image 1", "Video 1", "Audio 1". | |
| aspect_ratioopt | COMBO | adaptive | Aspect ratio, honored in every mode (an explicit ratio reframes the output even with a first frame or reference media). "adaptive" (default) lets the model pick a suitable ratio from the inputs and prompt intent. |
| end_imageopt | IMAGE | Optional last frame, used together with `image` (the first frame) to interpolate the video between the two frames. Same input forms as `image`. | |
| generate_audioopt | BOOLEAN | true | Generate audio with the video (default true; no price impact). |
| imageopt | IMAGE | Optional first frame for image-to-video. Provide a public image URL, a data URI, raw base64, or an uploaded-file URL from POST /v1/uploads. Omit for text-to-video. Can't be combined with reference media. | |
| length_secondsopt | INT | 52–30 | Output video length in seconds (2-30). With reference videos, input duration + output length must not exceed 30 seconds. |
| reference_audiosopt | AUDIO | Optional reference audio clips (up to 5; each 2-15s, 15s combined; WAV/MP3) that guide sound/voice. Free. Each item is a public audio URL or an uploaded-file URL from POST /v1/uploads. Can't be combined with `image`/`end_image`. | |
| reference_imagesopt | IMAGE | Optional reference images (up to 10, free) that guide identity/style/scene in reference-to-video mode. Each item is a public image URL, a data URI, raw base64, or an uploaded-file URL from POST /v1/uploads. Can't be combined with `image`/`end_image`. | |
| reference_videosopt | VIDEO | Optional reference video clips (up to 5; each 2-15s, 15s combined; MP4/MOV, ≤50MB each) for editing, effect/camera replication, and extension. Each item is a public video URL or an uploaded-file URL from POST /v1/uploads (videos are passed by URL, not inlined). Free — only OUTPUT seconds are billed — but input video duration + `length_seconds` must not exceed 30. Can't be combined with `image`/`end_image`. | |
| resolutionopt | COMBO | 720p | Output resolution. Pricing varies by resolution — see `resolution_pricing` in GET /v1/models. |
| seedopt | INT | -1-1–2147483647 | Seed for reproducible generation. Omit for random. |
| force_rerunopt | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |