Nodes/comfyui-stillfront/SF WaveSpeed Sora 2 Image to Video Pro
ComfyUI Node

SF WaveSpeed Sora 2 Image to Video Pro

The price tag is the feature

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

OpenAI's Sora 2 is about as closed as a frontier model gets - no weights, no local install, API only. This node is the crack through which it enters ComfyUI: an image in, a motion prompt, and Sora 2 Pro renders you a video on WaveSpeed's servers. It's the "Pro" tier, which matters, because the tooltip does something most API wrappers won't: it tells you exactly what you'll pay before you commit. 720p: 4s for $1.20, 8s for $2.40, 12s for $3.60. 1080p: 4s for $2.00, 8s for $4.00, 12s for $6.00. These are per-generation prices.

So the first question to ask isn't "is it good" - Sora 2 Pro is excellent at physics-aware motion, keeping your subject's identity, and cinematic camera moves. The first question is "do I want this to be my workflow's video engine," because every run is real money. This is a finish a hero shot node, not an iterate node.

How it works

You hand it an image URL, a prompt that describes mood, motion style, or camera behavior (per the tooltip - not a full scene re-description; the image already carries the scene), a resolution, and a duration. It POSTs to /api/v3/openai/sora-2/image-to-video-pro and returns a hosted video_url (STRING) - a link you save, download, or wire into a loader that accepts URLs.

The identity-preservation claim isn't marketing fluff you should dismiss, by the way. Image-to-video models live or die on keeping the first frame's subject consistent through the motion, and Sora 2 Pro's whole job is that it holds lighting, composition and character while the camera does something interesting. That's the value you're paying for over a generic animate-the-image model.

The inputs that matter

  • client - required, the SF WaveSpeed Client node connection.
  • image - reference image URL (PNG/JPEG per the tooltip), wired from ComfyUI's Upload Image node. Must be public; WaveSpeed's servers fetch it.
  • prompt - motion, mood, camera behavior. Short and directional beats long and descriptive here.
  • resolution - 720p or 1080p. 1080p is 60%+ more expensive at every duration.
  • duration - 4, 8, or 12 seconds, with the cost spelled out in the dropdown's tooltip.
  • enable_sync_mode - default off. The node submits and polls (up to a 30-minute timeout on the async path - long videos take a while), then returns the URL.

Install

The pack-wide route: ComfyUI Manager → search "SF ComfyUI Nodes" → install → restart. Or by hand:

cd ComfyUI/custom_nodes
git clone https://github.com/Stillfront/comfyui-sf-nodes.git
cd comfyui-sf-nodes
pip install -r requirements.txt

Then drop in the SF WaveSpeed Client node, add your WaveSpeed key (widget, config.ini [API] api_key, or WAVESPEED_API_KEY), and connect it to this node's client input. No models, no VRAM, nothing local to tune.

Gotchas

  • Budget first. The duration dropdown is a price list in disguise. A 12s 1080p run is $6.00 per generation, before retries. Decide whether you can afford a second take before you queue a batch.
  • The output is a URL, not a file. If your workflow expects a local video path, you need a download step.
  • Public image URLs only. Localhost and private addresses are rejected by design.
  • The README's config.ini example shows wavespeed_api_key; the code reads api_key. Copy config.ini.tmp.

If you mostly do local video and just need one unreasonably good shot, Sora 2 Pro is a defensible splurge. If you're testing motion ideas at 60 frames a minute, you'll run the bill up before you learn anything - for iteration, this is not your node. It's the reward node at the end of a workflow that's already working.

CategoryStillfront/WaveSpeed

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