ComfyUI Node

P-Video-2-Pro

Fewer knobs, smaller canvases, a speed/quality switch doing the work

By Runware·Created 2 years ago·Updated about 20 hours ago· 140
P-Video-2-Pro
  • frameImages
  • video
◄positivePrompt—►
◄size768p (~16:9)►
◄seed0►
◄duration5►
◄numberResults1►
◄settings.modespeed►
◄settings.promptUpsamplingturbo►
◄safetyfalse►
◄safety.checkContentfalse►
◄safety.modefast►
◄ttlfalse►
◄ttl_value60►
◄outputFormatMP4►
◄outputQuality95►

What "Pro" means here, and what it doesn't

P-Video-2-Pro is Pruna AI's quality tier of their video model, served through Runware. Pruna AI you may know from their optimization work - PrunaVAED, a drop-in faster VAE decoder for LTX-2.3, was ported into ComfyUI by kijai almost immediately and did well in the community. Their own generator, though, has almost no community track record yet, so go in expecting to do your own evaluation.

The counterintuitive part: Pro has a narrower widget set than the plain P-Video-2 node, and a lower resolution ceiling. Where P-Video-2 goes up to 1080p with a 24/48 fps choice, audio input and a draft mode, Pro tops out at 768p and trades all of that for two things: a recipe switch, and a finer prompt-expansion dial.

The inputs

positivePrompt is required. frameImages is the only image socket - feed it a frame for image-to-video, or leave it empty for text-to-video. That's the whole input surface: no audio reference, no fps, no audio-in-output toggle.

size gives you seventeen options: None (model default), 480p (from input), 768p (from input), then 480p and 768p at six aspect ratios each - 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 1:1. Default is 768p (~16:9). The (from input) entries pass the shape decision to your frame image, which is the right call when you're animating a photo you don't want to crop.

Then the two dials that are the reason to pick this node:

  • settings.mode - speed (default) or quality. This is the generation recipe, so it changes the whole computation, not a cosmetic detail. Iterate in speed, commit to quality for the final take. It's the closest thing to draft mode this tier has.
  • settings.promptUpsampling - off, turbo (default) or max, described as "Prompt expansion before generation." off is your reproducibility setting, turbo is the daily driver, max is for the shot you've already agreed on and want the model to gild.

Also on the node: duration is a plain INT from 5 to 15 seconds (no toggle games here - the number you see is the number you get), seed (0 to 2147483647), numberResults up to 4 variations, outputFormat (MP4/WEBM/MOV), outputQuality 20–99, the safety group with safety.checkContent and safety.mode (fast/full), and the ttl toggle gating ttl_value.

Output: one video, natively typed, ready for Save Video.

Install

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. Dependencies: runware-sdk>=1.6.5, pillow, soundfile. There are no model files to fetch - the pack ships node schemas and the model runs remotely. Get a key at runware.ai/api-keys, then set it via ComfyUI Settings → Runware API key, the RUNWARE_API_KEY env var, or runware auth login. The title bar shows the cost of each call once it's done.

Where people get burned

Expecting Pro to be the bigger version of P-Video-2. It isn't. If your deliverable is 1080p, or you need the audio input, or you want fps 48, you want the non-Pro node. Pro is about the recipe, not the pixel count.

Leaving prompt upsampling on while debugging wording. turbo is the default and it rewrites your prompt. When a change to your prompt seems to do nothing, or when a seed stops reproducing, that's usually why - set it to off and re-test.

Feeding a local MP4-shaped mental model to a cloud node. frameImages takes a real IMAGE socket, so a local frame is fine; but anything URL-based, host it first. And nothing in this node touches your GPU.

Getting a file path back instead of a VIDEO. On older ComfyUI builds the pack falls back to returning the saved file path, because it can only construct the native VIDEO type when the comfy_api video class is present. The mp4 is in your output folder either way (runware_<id>.mp4); update ComfyUI, restart and re-queue to get the proper socket.

CategoryRunware/Video/prunaai

Inputs (15)

NameTypeDefaultDescription
positivePromptSTRINGText prompt describing elements to include in the generated output.
frameImagesoptIMAGE—
sizeoptCOMBO768p (~16:9)Output size. Only one of resolution or dimensions is sent.
seedoptINT00–2147483647Random seed for reproducible generation. When not provided, a random seed is generated in the unsigned 32-bit range.
durationoptINT55–15Length of the generated video in seconds. The total number of frames produced is determined by duration multiplied by the model's frame rate (fps).
numberResultsoptINT11–4Number of results to generate. Each result uses a different seed, producing variations of the same parameters.
settings.modeoptCOMBOspeedGeneration recipe.
settings.promptUpsamplingoptCOMBOturboPrompt expansion before generation.
safetyoptBOOLEANfalseEnable to set safety. Off uses the model's default.
safety.checkContentoptBOOLEANfalseEnable or disable content safety checking. Increases total generation time.
safety.modeoptCOMBOfastSafety checking mode for video generation.
ttloptBOOLEANfalseEnable to set ttl. Off uses the model's default.
ttl_valueoptINT60Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`.
outputFormatoptCOMBOMP4File format for the generated video.
outputQualityoptINT9520–99Compression quality of the output. Higher values preserve quality but increase file size.

Outputs (1)

NameTypeDescription
videoVIDEO—