Nodes/ComfyUI Razv WaveSpeed Nodes/WaveSpeedAI OpenAI Sora 2 Text-to-Video Pro
ComfyUI Node

WaveSpeedAI OpenAI Sora 2 Text-to-Video Pro

Sora 2 Without an OpenAI Sub — Text-to-Video From Your ComfyUI Graph

By razvanmatei-sf·Created 12 months ago·Updated 9 months ago· 0
WaveSpeedAI OpenAI Sora 2 Text-to-Video Pro
  • client
  • video_url
prompt
size1280*720
duration4
enable_sync_modefalse

Sora 2 is one of those models you will never run on your own GPU. OpenAI doesn't ship weights for it - it's API-only, full stop. So if you want it inside ComfyUI instead of a separate web app, this node is the door: WaveSpeedAI OpenAI Sora 2 Text-to-Video Pro turns your graph into a Sora 2 client, no OpenAI account required. You pay per clip on WaveSpeed's hosted API instead.

This is the "Pro" tier, which matters. The same pack has a non-Pro Sora 2 text-to-video node, but its resolution tops out at 720p. Pro unlocks bigger frames - up to 1792×1024 - and both tiers run up to 12 seconds. If you just want a quick mood clip, the Pro tier is overkill and overpriced; it exists for people who need the resolution.

How it works

Mechanically it's unglamorous: the node takes your prompt, a size, and a duration, POSTs them to api.wavespeed.ai/api/v3/openai/sora-2/text-to-video-pro, then polls the task every couple of seconds until the render finishes. The actual generation happens on WaveSpeed's servers, so your GPU idles while the video cooks - the only thing using your machine is a requests call and a sleep loop.

The prompt is the real product here. This isn't a one-liner box; the tooltip asks you to describe "the scene, style, camera movements, and audio cues." Sora 2 generates synchronized sound, not just picture, so you can write camera direction into the prompt and get a cut with audio back. Treat it like a one-shot movie prompt, not a Stable Diffusion tag dump.

The inputs that matter

  • client - required WAVESPEED_AI_API_CLIENT from a WaveSpeedAI Client node. Everything in this pack hangs off that.
  • prompt - multiline. Scene, style, camera, audio cues. The whole job lives here.
  • size - four choices: portrait/landscape at 720×1280 / 1280×720 (Standard), or 1024×1792 / 1792×1024 (Pro). Default is 1280×720.
  • duration - 4, 8, or 12 seconds. Default 4. The tooltip's gentle reminder: "pricing varies by resolution and duration."

There's one optional toggle, enable_sync_mode, and here's the honest version: it doesn't mean what you hope. Both paths block until the video is done - "async" mode just waits on a polling loop (with a 30-minute cap). Turn it on or off, you're still waiting. The output is a single video_url string, a hosted file. Not a video tensor - you can't feed it into local processing nodes; preview it or open the URL.

Installing it

One pack, one install. ComfyUI Manager → search "razv-wavespeed" → Install, or:

cd ComfyUI/custom_nodes
git clone https://github.com/razvanmatei-sf/razv-wavespeed.git
cd razv-wavespeed
pip install -r requirements.txt

Then restart ComfyUI. The README tells you to copy config.ini.tmp to config.ini and set your API key - but the config format it shows (key =) doesn't match what the code reads (api_key =). Save yourself the round trip: leave config alone and paste the key into the WaveSpeedAI Client node directly. Get the key from wavespeed.ai.

Where people get burned

The biggest trap is googling "WaveSpeed" and landing on the wrong project. The ComfyUI community's "WaveSpeed" usually means the inference acceleration tool (chengzeyi/Comfy-WaveSpeed, the 2–3x local speedup). That's a completely different thing from the WaveSpeed AI API this pack talks to. You need the API key from wavespeed.ai, not a GitHub repo of acceleration patches.

Beyond that: 12-second Pro renders are the slow, expensive corner - expect minutes of a frozen ComfyUI progress bar while the poll loop runs. And remember the output is a URL, so if you're planning to upscale or post-process the result locally, you'll need a URL-to-video loader node first. If the node doesn't show up after install, check that PyAV (av) and torchaudio are present - the pack imports them even though requirements.txt doesn't list them.

CategoryWaveSpeedAI/OpenAI Sora 2

Inputs (5)

NameTypeDefaultDescription
clientWAVESPEED_AI_API_CLIENT
promptSTRINGDescribe the scene, style, camera movements, and audio cues for video generation
sizeCOMBO1280*720Video resolution - Standard (720*1280, 1280*720) or Pro (1024*1792, 1792*1024)
durationCOMBO4Video duration in seconds (pricing varies by resolution and duration)
enable_sync_modeoptBOOLEANfalseWait for generation to complete before returning

Outputs (1)

NameTypeDescription
video_urlSTRING