NS WaveSpeed Sora 2 Text to Video Pro
When you need 1080p and a bigger canvas than the cheap node
- client
- video_url
The non-Pro Sora 2 text-to-video node tops out at 720p landscape or portrait. NSWaveSpeedSora2TextToVideoPro - same pack, symbiotica-ai/comfyui-nodes - is what you move to when a deliverable actually has to be 1080p, or when you want the taller 1024x1792 canvas. Same engine (OpenAI Sora 2, hosted on WaveSpeed's API), same prompt-first workflow, but two more resolution rungs and a price tag to match.
How it works
Mechanically it's the sibling of the plain text-to-video node: your prompt goes to WaveSpeed (/api/v3/openai/sora-2/text-to-video), the job runs on their hardware, and you get back a video_url string to the finished mp4. The differences are the size choices and the billing. Where the cheap node offers 720*1280 / 1280*720, Pro adds 1024*1792 and 1792*1024 - roughly 2.3× the pixels of 720p - and that's where the per-second cost climbs. The tooltip warns plainly that pricing "varies by resolution and duration": expect roughly the Pro i2v rates (a 4-second 1080p clip sits around $2, per the image-to-video tooltip) rather than the flat $0.10/sec of the standard tier.
enable_sync_mode defaults off, as with the whole family: submit, poll every second, block the graph until done, and Cancel actually stops the wait because the polling loop honors ComfyUI's interrupt flag.
The inputs that matter
prompt- describe the scene, style, camera movements, and audio cues. Sora 2 generates synchronized sound natively, so the audio can be part of the brief.size- four choices:720*1280,1280*720,1024*1792,1792*1024. The Pro resolutions are the point of this node.duration- 4, 8, or 12 seconds. At Pro prices, 12 seconds of 1080p is a meaningful spend; pick the shortest clip that does the job.client- theWAVESPEED_AI_API_CLIENTsocket from the NS WaveSpeed Client node.
Output: video_url (STRING) - the hosted clip. Open it in a browser or feed it to a download-from-URL node; the pack doesn't auto-save.
Install and keys
One pack install for the whole family:
# 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 (in its api_key field, in Settings → Symbiotica, or as WAVESPEED_API_KEY), and wire client in. No models, no heavy deps.
Common issues
The price floor. Pro clips cost 3–5× the standard tier for the same seconds. If you're iterating on motion or storyboarding, the non-Pro node is the sane default and Pro is for the final render. Everything else about the API-node caveats applies: your prompt leaves the machine, OpenAI's moderation rides along, and per-call billing is the whole business model (external-api-nodes.md).
Missing key error. "API_KEY is empty" almost always means the NS WaveSpeed Client node isn't wired in - the key lives there, not on this node.
And the recurring name trap in ComfyUI: "WaveSpeed" in most threads means the local first-block-cache acceleration technique, not wavespeed.ai. Different thing, different install.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| client | WAVESPEED_AI_API_CLIENT | — | |
| prompt | STRING | Describe the scene, style, camera movements, and audio cues for video generation | |
| size | COMBO | 1280*720 | Video resolution - Standard (720*1280, 1280*720) or Pro (1024*1792, 1792*1024) |
| duration | COMBO | 4 | Video duration in seconds (pricing varies by resolution and duration) |
| enable_sync_modeopt | BOOLEAN | false | Wait for generation to complete before returning |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video_url | STRING | — |