ComfyUI Node

p-video

Pay-per-second video generation with no GPU — but the output is a URL, not a file

By PrunaAI·Created 4 months ago·Updated 4 months ago· 0
p-video
  • image
  • video_url
prompt
duration5
resolution720p
aspect_ratio16:9
draftfalse
api_key

PrunaVideo (p-video) is the pack's hosted video generator: give it a prompt, optionally an image to animate, and it returns a video - generated on Pruna's servers, billed by the second. This is the node that makes the whole "no GPU" pitch land hardest, because local video is where the VRAM pain is worst. Running something like LTX or Wan locally means multi-gigabyte models, careful memory juggling, and a graphics card that feels inadequate. Here you get 5 seconds of video for about a dime and none of that.

But read that first sentence again: it returns a video, and the node's output is a STRING - a URL, not a file. That's the practical quirk that catches everyone. The README is blunt about it: you pass video_url to a video preview or download node that can fetch from a URL, or grab the link yourself. Core ComfyUI expects a file path for its built-in video preview, so a bare string output won't just show a preview on its own - you need a node in the graph that can pull a video from a URL before you can watch or save it. Sort that wiring out first, or the first run feels broken when it isn't.

What you set

  • prompt - text description of the video, multiline.
  • duration - seconds, 1 to 20, default 5.
  • resolution - 720p or 1080p, default 720p.
  • aspect_ratio - 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 1:1; default 16:9.
  • draft - boolean, off by default. Draft mode is faster and cheaper per the README - the obvious choice for iteration, full quality for finals.
  • api_key - Pruna key or PRUNA_API_KEY.
  • image (optional) - connect an IMAGE to animate it (image-to-video) instead of generating from scratch.

Output: video_url, a STRING.

How it works

Text-to-video, it POSTs the prompt, duration, resolution, aspect ratio and draft flag to /v1/predictions and polls until the job finishes. Image-to-video, it first uploads your image to Pruna's files API and adds the returned URL to the payload - same upload mechanism as the pack's edit and upscale nodes. Either way the response's generation_url becomes the string that comes out of the node, so the graph hands you a link to a video Pruna is hosting rather than the video itself.

Install

ComfyUI Manager → search ComfyUI Pruna API → Install → restart, or:

cd ComfyUI/custom_nodes
git clone https://github.com/PrunaAI/comfyui-pruna-api
pip install -r comfyui-pruna-api/requirements.txt

Requirements are only requests and Pillow; a key from the Pruna developer portal is the actual gatekeeper.

Where people get burned

  • Pricing scales with everything: 720p is $0.02/sec (draft off) or $0.005/sec (draft on); 1080p doubles both to $0.04/sec and $0.01/sec. A default 5-second 720p run is $0.10 - and a 20-second 1080p non-draft run is $0.80. One expensive queue is a lot of cheap ones.
  • The STRING output trips people up - you need a URL-fetching preview/download node in the graph, or you'll be copy-pasting links from the console.
  • Jobs can take a while - video is the slowest thing in the pack, and the node polls up to five minutes before giving up with "Pruna job did not complete within 300s."
  • The usual key errors apply: "No Pruna API key provided", 401/403 for a bad key.

The verdict: genuinely the easiest way to generate video inside ComfyUI if you own no GPU and no patience for local setup. Just budget for it and wire a URL download node ahead of time - the moment of "wait, where's my video?" is avoidable.

Categorypruna ai

Inputs (7)

NameTypeDefaultDescription
promptSTRING
durationINT51–20
resolutionCOMBO720p2 options: 720p, 1080p
aspect_ratioCOMBO16:97 options: 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, +1
draftBOOLEANfalse
api_keySTRING
imageoptIMAGE

Outputs (1)

NameTypeDescription
video_urlSTRING