Runway Gen-4.5
The image-to-video node that only needs frames
- frameImages
- video
Runway is the New York company that published Stable Diffusion 1.5 back when that was Stability's call to make - but its modern product line is video. Gen-4.5 (runway:1@2) is its current video-generation model, and this node is the cleanest way to reach it from ComfyUI: you wire in some frames, optionally type a prompt, and get a VIDEO tensor back.
Notice what's unusual about this node compared to most video nodes: positivePrompt is optional, and width/height are required. That's a strong hint about how Runway positions Gen-4.5 - it's an image-to-video tool first. It's happiest when you hand it a reference frame and let it animate what's already there, which is exactly the workflow where it beats pure text-to-video models.
How it works
Like every node in the Runware pack, this is a thin generated wrapper. The base class sends a videoInference request with the model AIR runway:1@2, ships your IMAGE frames up as base64 PNGs, waits for Runway to render, then downloads the result and wraps it as ComfyUI's native VIDEO type. Your GPU does nothing. The interesting part is that Runway's image-to-video path treats the first frame (or first frames) as the visual anchor - feed it a strong image and the model mostly respects its composition, lighting, and subject.
The inputs that matter
width/height- required, 1024×1024 defaults. Set these to match your source frames or you'll get letterboxing or a crop surprise.frameImages- the star input. Wire in anIMAGEtensor to animate from a still (or multiple frames for a lead-in).positivePrompt- optional. Give it camera moves ("slow dolly in"), motion ("waves rolling"), or mood; leave it empty if the frames carry the idea.duration- 5, 8, or 10 seconds (default 10). Longer costs more.seed- reproducible runs; 0 means "surprise me."numberResults- up to 4 variations.
Two Runway-specific touches worth knowing: providerSettings.runway.contentModeration.publicFigureThreshold (default auto, or low) controls how aggressively it filters recognizable public figures, and the standard safety.mode dropdown adds Runware's own content checking on top.
Installing it
Install the pack, not the model. ComfyUI Manager → search Runware → install → restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/Runware/ComfyUI-Runware
pip install -r ComfyUI-Runware/requirements.txt
Get an API key at runware.ai/api-keys and put it in ComfyUI Settings → Runware API key (or set RUNWARE_API_KEY). No weights download - this model is closed and cloud-only, which is the entire point of the node.
Where people get burned
- The frames rule. Gen-4.5 is an image-to-video model at heart. A blurry or low-quality
frameImagesinput produces a blurry video; the node can't fix what you feed it. - Cost shows on the title bar. Each run is metered and video seconds are the expensive kind - 10 seconds of Gen-4.5 is not a free experiment.
- Dimension mismatch. If your source image isn't the same ratio as
width/height, you'll see crops or bars. Match them. - Public-figure filter. If you're generating a specific known person, expect the
publicFigureThresholdfilter to bite. That's the model being cautious, not the node misbehaving.
Runway Gen-4.5 is the node you reach for when you have a strong still and want a cinematic motion out of it - the classic "keyframe to video" step of a bigger pipeline.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| frameImagesopt | IMAGE | — | |
| positivePromptopt | STRING | Text prompt describing elements to include in the generated output. | |
| sizeopt | COMBO | 720p (1:1) | Output size. Only one of resolution or dimensions is sent. |
| seedopt | INT | 00–4294967295 | Random seed for reproducible generation. When not provided, a random seed is generated in the unsigned 32-bit range. |
| durationopt | COMBO | 10 | 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. |
| providerSettings.runway.contentModeration.publicFigureThresholdopt | COMBO | auto | Public figure filtering strictness. |
| 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 | — |