Nodes/Comfyui-zhenzhen/OpenAI Sora API节点
ComfyUI Node

OpenAI Sora API节点

Key, prompt, go

By T8mars·Created about a year ago·Updated 2 days ago· 740
OpenAI Sora API节点
  • image
  • video
  • video_url
  • tokens_usage
base_urlhttps://ai.t8star.org/v1
modelsora_video2
api_key
user_prompt请描述要生成的视频内容
skip_errorfalse
seed0

The bare-bones Sora node

Sora is the closed video model with no open weights and no local option - if you want it inside a ComfyUI graph, it has to come through an API (closed-source-models.md). This node is zhenzhen's plainest version of that: an OpenAI-compatible chat/completions call to their proxy that streams back a video. No resolution selector, no duration, no HD toggle. You get four fields and a run button, which is refreshingly honest about what's actually being decided server-side.

The other thing to know up front: this is the plain node. Its sibling OpenAI_Sora_API_Plus adds aspect ratio, HD, and duration controls on top. If you already know you want those, skip straight there. This one is for when you want the default server behavior and nothing else.

What you fill in

  • base_url - defaults to https://ai.t8star.org/v1 (zhenzhen's overseas site). Leave it unless you're pointing at something else.
  • model - defaults to sora_video2. It's a plain string, so you can put any model the proxy serves - the README's history shows this slot has held everything from sora-2 to sora-2-pro to the newer Sora 2 variants. Pick per the site's current model list.
  • api_key - your zhenzhen key. This node takes it directly in the field, not through the shared settings node.
  • user_prompt - what to generate. Multiline, so go ahead and describe.

Optional: image - connect one and it becomes image-to-video (the code base64-encodes your image and sends it in the OpenAI multimodal format). skip_error - when on, a failure returns an empty result instead of throwing, so your graph survives a bad call.

How it works

This is a streaming chat-completions call, not a submit-and-poll job like the Seedance nodes. The node POSTs {base_url}/chat/completions with stream: true, reads the incremental delta.content lines as the server reports progress, and if the stream comes back empty it retries non-streaming. It then extracts the video URL from the accumulated response and downloads it into a ComfyUI VIDEO object. Timeout is 600 seconds - long Sora jobs can ride right up against that.

Outputs

  • video - the clip, ready to preview or save.
  • video_url - the raw MP4 link, if you'd rather grab it yourself.
  • tokens_usage - the token count from the response; with these chat-compat proxies it's often empty. Not a cost meter, just a debug string.

Install

Standard pack install - ComfyUI Manager (search "Comfyui-zhenzhen"), or:

cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/Comfyui-zhenzhen

then restart. Dependencies install automatically.

The usual suspects

The README's Sora section is essentially a long apology for upstream instability: Sora 2 has spent its life fighting OpenAI load and 风控 (risk-control) throttling. When you see a 500, the standing advice is to just rerun - most of the time it's OpenAI, not you and not the node. Timeout on the node but no error? Check the site's async-task page for the task; generation often finished even when the wait didn't.

Categoryzhenzhen

Inputs (7)

NameTypeDefaultDescription
base_urlSTRINGhttps://ai.t8star.org/v1
modelSTRINGsora_video2
api_keySTRING
user_promptSTRING请描述要生成的视频内容
imageoptIMAGE
skip_erroroptBOOLEANfalse开启后,节点失败时不报错、按旧行为返回默认空结果;关闭时(默认)失败直接抛出错误。
seedoptINT00–18446744073709550000Execution seed for ComfyUI cache control. Fixed reuses the cached result; randomize/increment/decrement requests a new run. This compatibility seed is not sent to APIs that do not expose a native seed parameter.

Outputs (3)

NameTypeDescription
videoVIDEO
video_urlSTRING
tokens_usageSTRING