Nodes/ComfyUl-UCloud/Sora Text2Video
ComfyUI Node

Sora Text2Video

Prompt to footage, with a credit card in the middle

By ucloud·Created about a year ago·Updated 3 months ago· 3
Sora Text2Video
  • client
  • url
  • task_id
modelopenai/sora-2/text-to-video
promptA beautiful girl is dancing
size720x1280
duration4

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-video or -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 url string 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.

CategoryUCLOUD_MODELVERSE/Sora

Inputs (5)

NameTypeDefaultDescription
clientMODELVERSE_API_CLIENT
modelCOMBOopenai/sora-2/text-to-videotext-to-video: 普通版, text-to-video-pro: Pro版
promptSTRINGA beautiful girl is dancing提示词,用于指导视频生成
sizeoptCOMBO720x1280视频尺寸 (Pro版支持更多选项)
durationoptCOMBO4视频时长(秒): 4, 8, 12

Outputs (2)

NameTypeDescription
urlSTRING
task_idSTRING