Nodes/ComfyUI-MetaAI/Meta AI Single Video Generator
ComfyUI Node

Meta AI Single Video Generator

Free image-to-video without touching your GPU — this node rents Meta's browser instead

By systemaiofinterest-wq·Created 10 months ago·Updated 7 months ago· 0
Meta AI Single Video Generator
  • image
  • video_path
prompt
profile_namemeta_playwright_profile3
namevideo
force_generationfalse

Every local image-to-video route in ComfyUI - AnimateDiff, Wan, LTX-Video - has one thing in common: it eats VRAM for breakfast and makes you babysit a sampler for twenty minutes. This node goes the other way. It takes an image, ships it to Meta's free web generator at meta.ai, and waits for an mp4. No API key, no model download, no GPU work. The trade is time and fragility: a real Chrome window pops up on your desktop, and the node blocks your queue for as long as the generation takes.

The name is a bit of a lie. It doesn't call any API. Under the hood it's Playwright scraping the public meta.ai/media interface - the same thing you'd do by hand, automated. That's why there's no key, and that's why it can break without warning when Meta reworks their page.

How it works

Queue it and the node spins up a persistent Chromium profile (visible, not headless - the code sets headless=False), navigates to meta.ai/media, clicks into Video mode, and uploads your image through a file picker. Your prompt gets pasted with a clipboard trick instead of typed out, a common workaround for the bot-like slowness of per-key input. Then it polls the page for a [data-testid="generated-video"] element for up to four minutes, downloads the first new video it finds, and cleans up the chat history so your Meta gallery doesn't fill up. The file lands in ComfyUI/output/meta_ai/ and the node hands you the path.

The node forces a re-run every time you queue (IS_CHANGED returns NaN), so there's no caching to skip it - which is what you want, since you're almost always generating something new.

The inputs that matter

Five inputs, and only two really demand your attention.

  • image - the IMAGE you feed in from any local generator, KSampler, or Load Image node. This is your starting frame for the video.
  • prompt - multiline, but only the first non-empty line is used; the author splits the rest and throws it away.
  • namevideo - the output filename. Leave it empty and you get auto-incrementing meta_001.mp4 style names.
  • profile_name - which logged-in Playwright profile to use. Defaults to meta_playwright_profile3, the same one the Meta AI Browser Launcher opens.
  • force_generation - a boolean that, in the current code, is accepted but does nothing; the NaN IS_CHANGED already guarantees a fresh run.

The single output is video_path (VIDEO), a string path you can wire into a VHS video loader, PreviewVideo, or anything that accepts a video file. On failure it returns None, so downstream nodes should tolerate that.

Installing it

Install the pack via ComfyUI Manager (search "ComfyUI-MetaAI") or clone by hand:

cd ComfyUI/custom_nodes
git clone https://github.com/systemaiofinterest-wq/ComfyUI-MetaAI.git
cd ComfyUI-MetaAI
pip install -r requirements.txt
playwright install

The Python deps are the standard scrape stack (playwright, opencv-python, numpy, Pillow, requests, psutil, torch). The README's Windows-only instalar_ffmpeg.bat additionally needs WinRAR installed and admin rights, and it drops a full ffmpeg build on C:\ffmpeg and adds it to your PATH. You'll want ffmpeg on PATH anyway so ComfyUI can actually play the returned video.

Where people get burned

  • You must be logged in. The video node reuses a persistent browser profile - the whole reason the pack ships a separate Browser Launcher. Run that first, log into meta.ai once, close the window, then queue this node. A cold profile hits a login wall or CAPTCHA and the node times out waiting for a video that never appears.
  • It's slow and it blocks your queue. The node waits up to four minutes, and Chrome sits on your screen the whole time. This is not a background API call; plan the workflow around it.
  • It's scraping. The node targets specific data-testid selectors, so any meta.ai redesign breaks it until the author updates the selectors. It's also riding the free tier against the spirit - and possibly the letter - of Meta's terms, so don't build anything commercial on it.
  • It returns None on failure, with the error only in the ComfyUI console. The logs are in Spanish (the author writes in Spanish), so "[ERROR] Prompt vacío." means your prompt was empty.

If you want repeatable image-to-video with real control over seed and duration, run Wan or LTX-Video locally. If you want a free zero-VRAM video once in a while without leaving the graph, this is your node.

CategoryMetaAI

Inputs (5)

NameTypeDefaultDescription
imageIMAGE
promptSTRING
profile_nameSTRINGmeta_playwright_profile3
namevideoSTRING
force_generationBOOLEANfalse

Outputs (1)

NameTypeDescription
video_pathVIDEO