Sora 2 Pro Image-to-Video (fal)
OpenAI's video model, no waitlist required
- image
- STRING
Remember when Sora dropped that first batch of demo videos with a giant "nope, you can't have it" over them? This node is the other end of that story. Sora 2 Pro is OpenAI's current flagship video model, it's API-only, and this node lets you push a still image plus a prompt into it from inside ComfyUI and get a clip back - no OpenAI waitlist, no separate app, just a node in your graph.
What it actually does
Nothing runs locally. You feed it an image and a prompt, the node ships them to fal.ai, fal calls Sora on OpenAI's infrastructure, and you get a finished video. No VRAM, no downloads, and fal bills you per generation. The usual API bargain: your inputs leave your machine, and each run costs real money.
Sora's calling card is physical coherence - objects that behave like objects, motion that respects momentum - and Sora 2 also generates synchronized audio, which is still a genuine gap that open local models haven't closed. If you're doing i2v where believable physics matters more than fine-grained control, it's one of the strongest options you can reach.
The inputs that matter
- image (required): the starting frame the video animates from.
- prompt (required): describe the motion, the action, the camera. Plain cinematic language works best.
- duration:
4,8, or12seconds. Longer clips cost proportionally more. - resolution:
auto,720p, or1080p.autolets the service pick. - aspect_ratio:
auto,9:16, or16:9- set9:16for vertical/social,16:9for widescreen.
There's also a delete_video toggle (on by default) that controls whether the generated file is cleaned up on fal's side after delivery; the default is fine to leave alone. The output is a single STRING - the video URL, not a playable clip in ComfyUI. Wire it into the pack's Fal Save Media from URL node to pull the file down into your output/ folder.
Installing it
Quickest: ComfyUI Manager → search ComfyUI-fal-API → install → restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/gokayfem/ComfyUI-fal-API.git
cd ComfyUI-fal-API
pip install -r requirements.txt
Restart ComfyUI. No model file goes in models/; the dependencies are fal-client (from requirements.txt) and a fal API key. Copy config.ini.example to config.ini in the pack folder and paste the key under [API], or export FAL_KEY before launch. No key, no video.
Where people get burned
The big one with Sora specifically is content policy. OpenAI's filters are strict - recognizable public figures, certain likenesses, and a lot of edge content simply won't be served, and you'll get a refusal, not a video. The pack shows you fal's real error text, so read it; a policy rejection is the model saying no, not the node breaking.
Cost is the other watch-item: 12 seconds at 1080p is the top of the bill, so start short and small while you're testing a prompt. Identical re-runs are served free from the pack's cache, but any change bills again. And on ComfyUI Windows Portable, an import error means the client isn't installed in the embedded Python - fix it with .\python_embeded\python.exe -m pip install fal-client.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| image | IMAGE | — | |
| resolutionopt | COMBO | auto | 3 options: auto, 720p, 1080p |
| aspect_ratioopt | COMBO | auto | 3 options: auto, 9:16, 16:9 |
| durationopt | COMBO | 4 | 3 options: 4, 8, 12 |
| delete_videoopt | BOOLEAN | true | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | — |