SkyReels V4
SkyReels V4 — the video model that can add its own sound
- referenceImages
- frameImages
- referenceVideos
- video
SkyReels is Skywork's video generation line, and the reason it keeps getting attention is that it does native audio: the model can generate sound effects synced to what's happening on screen, which most video models simply don't do. V4 is the current tier, and this node runs it in the cloud through the Runware pack. Type a prompt (optionally feed it reference images or a reference video), get back a VIDEO you can preview or save. No local video stack, no VRAM marathon, no frame-interpolation fiddling - a video node that behaves like every other node in the pack.
SkyReels V4 sits in the "text-to-video with bells on" camp: it takes a prompt, does LLM-based prompt expansion by default, can take reference inputs, and has that audio toggle. If your ComfyUI workflows have been dead silent, this is the cheapest way to change that.
How it works
It sends a videoInference request to the Runware API. The returned video is wrapped into a native VIDEO object when your ComfyUI supports it (via comfy_api's VideoFromFile), and degrades to a saved file path otherwise. Outputs are MP4/WEBM/MOV. The video lands as a tensor you can wire into a save or preview node, or read as a path.
Inputs worth touching
positivePrompt(required) - describe motion, camera, subject. Withsettings.promptExtendon (it's on by default), the model's LLM rewrites and expands your prompt before generation - better results, but note it affects reproducibility, same as any prompt-enhancer.duration- 3–15 seconds, default 5. Longer isn't always better; 5–8s is where the quality/consistency sweet spot usually sits.size- a 19-choice dropdown from480p (1:1)up to1080p (16:9)and portrait variants. Pick the one that matches your target; "from input" options inherit the reference's aspect ratio.settings.audio- off by default. This is the headline feature: flip it on and the model generates sound effects for the video. If you're making anything that gets watched with speakers on, try it - it's the differentiator for this model line.referenceImages/frameImages/referenceVideos- three ways in: reference images (via the Runware Reference Images builder), a batch of frames as a plainIMAGE, or a reference video (URL/UUID). This makes SkyReels V4 a competent image-to-video / video-extension model, not just text-to-video.numberResults(1–4) - seeded variations. Video is expensive and slow; do 1–2 and pick.safety.mode-none(default),fast, orfull(whensafety.checkContentis on). Video moderation is heavier than image;fastis usually enough if you're running it at all.outputFormat/outputQuality- MP4 (default), WEBM, MOV, and a compression slider.
The single output is video → wire to Save Video / Preview Video.
Installing
cd ComfyUI/custom_nodes
git clone https://github.com/Runware/ComfyUI-Runware
pip install -r ComfyUI-Runware/requirements.txt
Or ComfyUI Manager → search Runware → install → restart. API key via Settings, RUNWARE_API_KEY, or runware auth login. No local model downloads.
Honest gotchas
Cloud video generation is the priciest and slowest thing in this pack - a 15-second 1080p clip with audio is a real job, and the title bar will happily show you the cost. Budget for it. Also remember settings.promptExtend changes your prompt under the hood, so if you're chasing a specific frame from a specific text, you may want it off and to write the full prompt yourself. And if your video output arrives as a plain file path rather than a VIDEO tensor, that's the older-ComfyUI fallback - update ComfyUI and it'll come back as the native type.
Inputs (16)
| Name | Type | Default | Description |
|---|---|---|---|
| positivePrompt | STRING | Text prompt describing elements to include in the generated output. | |
| referenceImagesopt | RUNWARE_REFERENCEIMAGES | — | |
| frameImagesopt | IMAGE | — | |
| referenceVideosopt | RUNWARE_REFERENCEVIDEOS | — | |
| sizeopt | COMBO | 1080p (16:9) | Output size. Only one of resolution or dimensions is sent. |
| durationopt | FLOAT | 5.003–15 | Length of the generated video in seconds. The total number of frames produced is determined by duration multiplied by the model's frame rate (fps). |
| numberResultsopt | INT | 11–4 | Number of results to generate. Each result uses a different seed, producing variations of the same parameters. |
| settings.audioopt | BOOLEAN | false | Sound effect generation for the output video. |
| settings.promptExtendopt | BOOLEAN | true | Automatic prompt expansion and refinement via LLM for higher visual fidelity and alignment. |
| safetyopt | BOOLEAN | false | Enable to set safety. Off uses the model's default. |
| safety.checkContentopt | BOOLEAN | false | Enable or disable content safety checking. |
| safety.modeopt | COMBO | fast | Safety checking mode for video generation. |
| ttlopt | BOOLEAN | false | Enable to set ttl. Off uses the model's default. |
| ttl_valueopt | INT | 60 | Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`. |
| outputFormatopt | COMBO | MP4 | File format for the generated video. |
| outputQualityopt | INT | 9520–99 | Compression quality of the output. Higher values preserve quality but increase file size. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |