Sora Text2Video
Prompt to footage, with a credit card in the middle
- client
- url
- task_id
This is the text-to-video half of the pack's Sora 2 pair, and it's about as close to "type words, get cinematic footage" as ComfyUI gets. There's a real tension worth naming: local ComfyUI culture is proudly GPU-tethered, but Sora 2 isn't a model you can download and run - so the pack routes it through UCloud's Modelverse API instead. You get the frontier model without the frontier hardware, and the trade is that every run is metered cloud compute.
What it is
One required prompt, a size, a duration, and Sora 2 does the rest - no first frame, no reference material, no client-side sampling at all. It's the node you reach for when you have a video idea and nothing but a sentence to express it. The default prompt is a dancing girl; change it.
The inputs that matter
- client - required, from the Modelverse Client / Modelverse Secret Client node.
- model -
openai/sora-2/text-to-videoor-pro. Pro is the higher-quality tier. - prompt - the whole job. Sora's prompt-following is strong; describe motion, camera, and mood, not just a subject list.
- size -
720x1280(vertical, default),1280x720(landscape), or the two portrait/landscape 1024×1792 / 1792×1024 options. Pro supports more, but these four are what the dropdown gives you. - duration - 4, 8, or 12 seconds.
Outputs are url and task_id - the finished video's address and its tracking ID. Sora T2V doesn't return a VIDEO tensor directly; route url into the pack's Modelverse Preview Video node to download the mp4 to ComfyUI/output and preview it in the graph.
How it works
Like every video node in this pack, it submits a task to api.modelverse.cn, then polls status every five seconds - up to ~15 minutes - until the render succeeds, fails, or times out. The nice side effect of task_id: you can match a render to a console entry and chase down billing or errors. The annoying side: your ComfyUI queue sits on "running" while a cloud GPU does the work, so budget around long runs.
Installing and keying up
One install covers all 20+ nodes in the pack. Easiest: ComfyUI Manager → Custom Nodes Manager → search "ComfyUl-UCloud" → Install → restart. Manual route:
cd ComfyUI/custom_nodes
git clone https://github.com/ucloud/comfyui-plugin
Then restart ComfyUI. Dependencies are requests, pillow, numpy, openai, GitPython - nothing GPU-shaped, no model downloads. The API key is the real setup step: get one from the UCloud Modelverse console, then either type a secret name into the Modelverse Secret Client node (the key itself lives in the pack's secrets.json, safe from your workflow file) or drop a config.ini with MODELVERSE_API_KEY=... into the pack folder.
Common issues
- "API key is not set" or 401 - the client node is empty or the key's wrong. It's always the key.
- Videos land but never preview - you're holding the
urlstring and expecting pixels. It has to pass through Modelverse Preview Video (or any video downloader) to become visible. - Queue hangs on a long job - not a crash. The 12-second pro renders are the slow ones; give it the full poll window.
- Cost surprise - every run is a paid API call. The 12s pro option is where the bill climbs, so iterate at 4s.
For "I need a vertical clip of a lighthouse in fog, today, no GPU" this is the most direct path in the ecosystem.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| client | MODELVERSE_API_CLIENT | — | |
| model | COMBO | openai/sora-2/text-to-video | text-to-video: 普通版, text-to-video-pro: Pro版 |
| prompt | STRING | A beautiful girl is dancing | 提示词,用于指导视频生成 |
| sizeopt | COMBO | 720x1280 | 视频尺寸 (Pro版支持更多选项) |
| durationopt | COMBO | 4 | 视频时长(秒): 4, 8, 12 |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| url | STRING | — |
| task_id | STRING | — |