SF WaveSpeed Sora 2 Text to Video
Sora 2 text-to-video from a prompt — scene, camera, and audio cues in one box
- client
- video_url
OpenAI's Sora 2 is the hosted video model the community spent a year resenting for being locked away - then it became an API, and now it's just another model you can rent. SF WaveSpeed Sora 2 Text to Video is the straightforward text-to-video wrapper: a prompt describing scene, style, camera moves, and even audio cues, and back comes a video URL. No weights, no VRAM, no local setup - just a key and a per-clip fee.
Where does it fit? If you need Sora-level motion quality right now and your GPU can't run Wan at a usable speed, this is the path of least resistance. If you have the hardware and the patience, the open-source route is cheaper in the long run - but "in the long run" isn't always the point.
It's part of the comfyui-stillfront pack, under Stillfront/WaveSpeed.
How it works
The node sends your prompt, resolution, and duration to WaveSpeed's openai/sora-2/text-to-video endpoint and returns the first output video URL. Everything runs on OpenAI/WaveSpeed's side; the node is a thin messenger.
The inputs that matter:
prompt- the tooltip says it best: describe the scene, style, camera movements, and audio cues. Sora 2 rewards structured prompts - "slow tracking shot, golden hour, ambient wind and distant traffic" reads far better than "nice video."size- just two options:720*1280(portrait) or1280*720(landscape), both 720p-class. If you need higher-res output, that's the Pro sibling's job.duration- 4, 8, or 12 seconds, with pricing in the tooltip: 4s = $0.40, 8s = $0.80, 12s = $1.20.enable_sync_mode- default off; both paths wait and return the URL, with the async path using a longer poll timeout.
Output is a single video_url STRING - wire it to a URL-based video loader/display or save it with a text node.
Installing it
Pack install plus WaveSpeed key:
cd ComfyUI/custom_nodes
git clone https://github.com/razvanmatei-sf/comfyui-stillfront
cd comfyui-stillfront
pip install -r requirements.txt
Restart, then wire in an SF WaveSpeed Client node with your key (or config.ini / WAVESPEED_API_KEY).
Troubleshooting
- Output ignores half your prompt. Sora 2 can follow a lot, but not everything at once. Rank your asks - motion first, style second, audio last - and cut what the model keeps dropping.
- Camera moves come out weak. State them explicitly and simply: "slow push-in," "orbiting shot." Abstract direction ("dynamic camera") is wasted words.
- 12-second clips drift. Long Sora clips hold together better than Sora 1 did, but they still wander. Lock a look at 4 seconds, then extend.
- Cost creep. $1.20 a pop for 12-second drafts is how you burn a budget without noticing. Draft short.
And the one structural note: this node returns a URL, not a ComfyUI VIDEO object - so a URL-fetching preview/loader is part of the workflow, not an afterthought. If you want 1080p-class Sora output, step up to the Pro node instead of fighting this one.
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 - 720*1280 (portrait) or 1280*720 (landscape) |
| duration | COMBO | 4 | Video duration in seconds (4s=$0.40, 8s=$0.80, 12s=$1.20) |
| enable_sync_modeopt | BOOLEAN | false | Wait for generation to complete before returning |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video_url | STRING | — |