Nodes/civitai-comfy-nodes/sora / image-to-video
ComfyUI Node

sora / image-to-video

Sora image-to-video from your ComfyUI canvas — via Civitai's cloud

By civitai·Created 2 months ago·Updated about a month ago· 42
sora / image-to-video
  • images
  • api_config
  • video
  • workflow_id
  • raw_json
prompt
duration4
seed0
resolution720p
aspect_ratioauto
use_profalse

You remember when Sora clips were unattainable video you could only watch. This node ends that for ComfyUI: it runs OpenAI's Sora as an image-to-video job on Civitai's cloud, and drops the result back into your graph as a native VIDEO. No OpenAI API key, no Comfy account credits, no local GPU - you authenticate to Civitai and pay in Buzz, like every other node in the civitai-comfy-nodes pack.

The image-to-video variant is the one that earns its keep. Anchor a first frame with a LoadImage node and Sora animates forward from something you actually control - that's the difference between "a scene happens to appear" and "the scene I designed appears." If you want to compare against its sibling, the text-to-video Sora node is the same recipe minus the image input.

The inputs that matter

Only prompt is required. The rest are the dials most beginners actually set:

  • images - the star input. Wire your starting frame here. This is what makes it image-to-video.
  • duration - 4 to 12 seconds (default 4). Longer clips cost more, so it's worth starting short.
  • resolution - 720p or 1080p (default 720p).
  • aspect_ratio - auto, 16:9, or 9:16. auto follows your input image, which is usually what you want with a real source frame.
  • use_pro - off by default. This is the Sora Pro tier toggle: better quality, bigger bill. Leave it off until you've got a prompt worth paying for.
  • seed - set it to reproduce a result; otherwise leave at 0.
  • api_config - auth.

Outputs

The usual pack trio: video (VIDEO) straight into a Save Video / preview node, plus workflow_id (STRING) to find the job in the Civitai sidebar and raw_json (STRING) for the raw response and per-run cost.

Install and auth

Shared one-time setup. ComfyUI Manager → search Civitai Comfy Nodes → install, restart:

cd ComfyUI/custom_nodes
git clone https://github.com/civitai/civitai-comfy-nodes.git
pip install -r civitai-comfy-nodes/requirements.txt   # just `requests`

Then authenticate: wire a Civitai Auth node, set CIVITAI_API_TOKEN (the reliable route for headless), or sign in from the sidebar.

Troubleshooting and honest takes

  • Cost. Sora is among the pricier engines in this pack, and OpenAI's model has its own filter regardless of where you call it from. use_pro doubles the meter; 1080p and longer durations climb too. The community's line on API video holds here: it's the right tool for a model you can't run, and an expensive default for a test.
  • Slow / timeouts at launch. This pack went live June 2026 in the middle of Civitai's GPU crunch - queue times were long and some users hit the default 30-minute timeout. Bump timeout_minutes on the Civitai Auth node or set CIVITAI_COMFY_TIMEOUT.
  • Why did my output ignore the image? If you leave aspect_ratio on something other than auto while feeding a differently-shaped input, Sora can crop or reframe. Set auto and match the source.
  • Filter refusals aren't a bug. Sora's content policy applies server-side; the node can't override it, so a refusal means "the model said no," not "broken install."

Reach for this when you have a strong still and want to see what Sora's physics does to it. For pure prompt-to-video, grab the text-to-video sibling instead and save the extra socket.

CategoryCivitai/Video/sora

Inputs (8)

NameTypeDefaultDescription
promptSTRING
durationoptINT44–12
seedoptINT00–4294967295
resolutionoptCOMBO720p2 options: 720p, 1080p
aspect_ratiooptCOMBOauto3 options: auto, 16:9, 9:16
use_prooptBOOLEANfalse
imagesoptIMAGE
api_configoptCIVITAI_CONFIGOptional Civitai Auth connection; defaults to CIVITAI_API_TOKEN or stored OAuth login.

Outputs (3)

NameTypeDescription
videoVIDEO
workflow_idSTRING
raw_jsonSTRING