Nodes/ComfyUI-LumaAI-API/LumaAI Preview Video
ComfyUI Node

LumaAI Preview Video

The last node in every workflow — a proper preview for your generated clip

By lumalabs·Created 2 years ago·Updated about a year ago· 213
LumaAI Preview Video
      video_url

      Every workflow in this pack ends the same way: a LumaPreviewVideo node. It's the output terminal - you wire a video_url string into it and it displays the clip in ComfyUI, resized down to 768px so it doesn't blow out your interface. It has no outputs, does no generation, and costs no credits. It just exists to give you a sane preview instead of squinting at a URL string.

      Why do you need it at all? Because the generation nodes return video_url as a string, and a raw string in a node does nothing useful on screen. The pack's videos are hosted on Luma's CDN and, depending on your settings, saved locally in the outputs folder - but the node that renders that into something watchable is LumaPreviewVideo. Look at any of the example workflows (Text2Video.json, Image2Video.json, Upscale.json) and you'll see the pattern: LumaText2Video → LumaPreviewVideo.

      How it works

      It's the simplest node in the pack. One required input, video_url (STRING, force-input so it's wired, not typed), one IS_CHANGED that returns NaN so the preview always re-renders on queue, and a UI output that displays the video. There are no outputs to wire onward because preview nodes are the end of the line - anything you want to do with the clip has to happen before it.

      What you'll run into

      • Audio won't play in the preview. This is the pack's documented gotcha: LumaAddAudio2Video's result shows in the preview, but silently. Right-click the video and select Open Image - despite the name, that opens the clip in a new browser tab where the audio actually plays. "Open Image" is just ComfyUI's generic video-preview action.
      • Preview is 768px and that's the point. It's a preview, not the master. If you need to scrutinize quality, the saved file in your outputs folder is the real thing.
      • It previews one video at a time - the node takes a single video_url. For A/B comparisons you'll be running two preview nodes or flipping wires.

      Installing

      Ships with the pack, so one install covers it: ComfyUI Manager → search "ComfyUI-LumaAI-API", or git clone https://github.com/lumalabs/ComfyUI-LumaAI-API into ComfyUI/custom_nodes and pip install -r requirements.txt. No extra dependencies beyond the pack's standard set, no API key needed in this node - it's pure display, which is also why it's free.

      Common issues

      • Preview shows nothing - the video_url input is empty or wired to a node that hasn't run yet (e.g. you're previewing a generation_id string instead of a video_url). Check you grabbed the right output.
      • Wrong clip shows up - if you have several generation nodes in one graph, it's easy to wire the preview to the wrong video_url. Follow the wire; it should come from the node whose output you actually want to look at.
      • Video looks small/blurry - that's the 768px preview working as intended. Open the local file for the full-resolution check.

      There's nothing clever to tune here - it's a dumb, reliable end-of-line display node, and once you've built one Luma workflow you'll add it to every subsequent one without thinking. It's also the first node to reach for when a clip looks "wrong," because it's the fastest way to confirm the API actually returned what you asked for.

      CategoryLumaAI/Utils

      Inputs (1)

      NameTypeDefaultDescription
      video_urlSTRING

      Outputs (0)

      No outputs