NS WaveSpeed Sora 2 Image to Video Pro
The $2-per-4-seconds decision
- client
- video_url
The Pro tier of Sora 2 image-to-video, NSWaveSpeedSora2ImageToVideoPro from symbiotica-ai/comfyui-nodes, exists to answer one question with a number: how much is 1080p worth to you? The standard i2v node renders at whatever 720p canvas WaveSpeed gives you; this one hands you resolution (720p or 1080p) and a duration picker, and the tooltip lays the pricing out in full so there's no mystery about the meter running.
How it works
Same shape as the whole Sora 2 family: your still goes in as a URL string (ComfyUI's Upload Image node → image), WaveSpeed runs OpenAI Sora 2 on their hardware (/api/v3/openai/sora-2/image-to-video), and you get a video_url string back. The node's docstring sells the engine's strengths: physics-aware motion, identity and lighting preserved from your reference frame, cinematic camera movement. enable_sync_mode defaults off - submit, poll every second, block the graph until done, and Cancel genuinely stops the wait because the polling honors ComfyUI's interrupt flag.
The price ladder, straight from the tooltip:
- 720p: 4s = $1.20, 8s = $2.40, 12s = $3.60
- 1080p: 4s = $2.00, 8s = $4.00, 12s = $6.00
That's 3× the standard node's $0.10/sec even at 720p, and 1080p stacks another 65% on top. Pro is a finish-line node, not an iteration node.
The inputs that matter
image- your reference still (PNG/JPEG per the tooltip), as a URL from the Upload Image node.prompt- mood, motion style, camera behavior. You're directing, not describing the scene.resolution- 720p or 1080p. 1080p is the reason this node exists.duration- 4, 8, or 12 seconds; the tooltip prices every combination.client- theWAVESPEED_AI_API_CLIENTsocket from the NS WaveSpeed Client node.
Output: video_url (STRING) - preview it in a browser or wire it into a download-from-URL node.
Install and keys
One pack, one install:
# ComfyUI Manager: search "Symbiotica", or:
cd ComfyUI/custom_nodes
git clone https://github.com/symbiotica-ai/comfyui-nodes.git symbiotica
pip install -r symbiotica/requirements.txt
Restart. Add the NS WaveSpeed Client node with your wavespeed.ai key (widget, Settings → Symbiotica, or WAVESPEED_API_KEY env), and wire client in. No model downloads.
Common issues
It's easy to click your way to a $6 clip. A single 12-second 1080p render is six dollars. That's not a bug - it's the real price of a premium closed-model render, and the reason the standard node is the better default for anything that isn't the final take (external-api-nodes.md).
Key errors mean the client node. "API_KEY is empty" = the NS WaveSpeed Client node isn't wired in. The key never lives on this node.
Reference quality matters. A dark or cluttered still gives Sora less to anchor the motion on - feed it the cleanest, brightest frame you have. And what you feed it leaves your machine, moderation and all.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| client | WAVESPEED_AI_API_CLIENT | — | |
| image | STRING | Reference image URL for video generation (PNG/JPEG) - connect from Upload Image node | |
| prompt | STRING | Describe the mood, motion style, or camera behavior for video generation | |
| resolution | COMBO | 720p | Video output resolution - 720p or 1080p (higher cost) |
| duration | COMBO | 4 | Video 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_modeopt | BOOLEAN | false | Wait for generation to complete before returning |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video_url | STRING | — |