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

WaveSpeedAI OpenAI Sora 2 Image-to-Video Pro

The paid, no-GPU route

By razvanmatei-sf·Created 12 months ago·Updated 9 months ago· 0
WaveSpeedAI OpenAI Sora 2 Image-to-Video Pro
  • client
  • video_url
image
prompt
resolution720p
duration4
enable_sync_modefalse

You can't run Sora 2 on your own GPU - it's a closed API model, full stop. What this node does is put that API inside ComfyUI so you can drop a still image into your existing graph and get a physics-aware video clip out the other end, all billed per second to a WaveSpeed AI account. If you've been kicking around local video models and wondering what the "just works" alternative looks like, this is it: no 14B checkpoint to babysit, no VRAM roulette, just a prompt, an image, and a credit balance.

What it is

This is the "Pro" tier of the pack's Sora 2 image-to-video pair. Where the plain Sora 2 Image-to-Video node just takes a duration, this one adds a resolution choice (720p or 1080p) so you can pick the quality you're actually paying for. That's the whole difference, and it's reflected in the pricing baked into the tooltip: 720p runs $1.20 per 4 seconds ($0.30/s) and 1080p runs $2.00 per 4 seconds ($0.50/s), doubling with length. The base node is $0.10/s at a fixed resolution. You reach for Pro when output resolution matters - a delivery, a client piece, something you're not going to re-encode down anyway.

How it works

Like every node in the razvanmatei-sf/razv-wavespeed pack, this is a thin wrapper over the WaveSpeed AI API at api.wavespeed.ai. You feed it a client (from the WaveSpeedAI Client node), a public image URL, and a prompt; the node POSTs to the Sora 2 endpoint and hands you back a video_url string, not a video tensor. There's nothing running on your machine beyond a requests call.

One setting matters more than the rest: enable_sync_mode. On (it polls until the video is done, up to 30 minutes), the node blocks and returns the finished URL. Off, it returns a task ID and you check back later - which lets ComfyUI keep the rest of the queue moving. For a single render just leave sync on and let it block.

The inputs that matter

  • image - the source frame, as a URL (the tooltip says to connect it from the Upload Image node). It must be reachable by WaveSpeed's servers; localhost won't work.
  • prompt - describe mood, motion style, and camera behavior. Sora rewards explicit camera language ("slow push-in, handheld, gentle wind").
  • resolution - 720p or 1080p. This is the Pro-upsell.
  • duration - 4, 8, or 12 seconds. Price scales linearly.

The output, video_url, is a string - wire it into a download/save node or grab it from the console print. There's no built-in preview, so budget one extra node or a browser tab.

Install & setup

Install once for the whole pack:

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

Or just search "razv-wavespeed" in ComfyUI Manager and hit Install, then restart ComfyUI. You need a WaveSpeed AI API key from wavespeed.ai - drop it in config.ini (copy from config.ini.tmp), in the Client node directly, or as a WAVESPEED_API_KEY env var. No models download; the only pip deps are requests, pillow, numpy<2.0.0, and torch.

Gotchas

  • A 401 Unauthorized means the key is wrong, expired, or out of credit.
  • "No output received" after a long wait usually means the job hit the 30-minute timeout or the image URL was unreachable.
  • Don't confuse this with the "WaveSpeed" ComfyUI plugin people rave about for fast local inference - that's a different project entirely. This pack is the hosted API.

For one-off videos the plain Sora 2 node is the better deal. Pro earns its keep only when you specifically need 1080p.

CategoryWaveSpeedAI/OpenAI Sora 2

Inputs (6)

NameTypeDefaultDescription
clientWAVESPEED_AI_API_CLIENT
imageSTRINGReference image URL for video generation (PNG/JPEG) - connect from Upload Image node
promptSTRINGDescribe the mood, motion style, or camera behavior for video generation
resolutionCOMBO720pVideo output resolution - 720p or 1080p (higher cost)
durationCOMBO4Video duration in seconds (720p: 4s=$1.20, 8s=$2.40, 12s=$3.60 | 1080p: 4s=$2.00, 8s=$4.00, 12s=$6.00)
enable_sync_modeoptBOOLEANfalseWait for generation to complete before returning

Outputs (1)

NameTypeDescription
video_urlSTRING