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

OpenAI Sora API Plus节点

9, HD, and duration

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

    The Sora node with the dials

    Sora is a closed model - no weights, no local run, API only (closed-source-models.md) - and this is the version of zhenzhen's Sora wrapper that actually lets you steer it. Where the plain OpenAI_Sora_API node is "key, prompt, go," this one adds three controls that matter: aspect_ratio, hd, and duration. It's the same OpenAI-compatible chat/completions streaming call under the hood, same sora_video2 default model, just with the parameters the server actually accepts exposed on the canvas.

    The controls worth touching

    • aspect_ratio - 16:9 by default, 9:16 for vertical. For short-form video, this is usually the first thing you set.
    • hd - defaults to true. This is the big one. HD Sora renders are much slower and pricier; the README's history is full of "HD takes forever" warnings, with 15s HD runs in the multi-minute range. Turn it off for drafts.
    • duration - 10 or 15 seconds. The README's pain is concentrated here too: 25s used to exist and caused endless timeouts and "don't combine with HD" footnotes. The current schema keeps it simple at 10/15.
    • base_url - https://ai.t8star.org/v1 by default, zhenzhen's overseas proxy. Leave it unless you're pointed elsewhere.
    • model - sora_video2 by default, free-form string. The proxy serves whatever's live on the site right now; the README shows this field cycling through sora-2, sora-2-pro, and newer variants as OpenAI's own availability shifts.
    • api_key - your zhenzhen key, typed straight into the node (no shared settings node for this one).
    • user_prompt - the generation description.

    Optional image input flips it into image-to-video: the node base64-encodes the image and sends it OpenAI multimodal style, so you get first-frame control. skip_error stops a failed call from killing your graph - returns an empty result instead.

    How it works

    Same streaming mechanism as the plain node: POST chat/completions with stream: true, read the incremental delta.content lines, fall back to non-streaming if nothing comes back, then extract the video URL from the accumulated text and download it into a ComfyUI VIDEO. 600-second timeout, and long HD jobs ride it hard - a "timeout" often means the render finished and the wait just got long, so check the site's async-task page before rerunning and burning another credit.

    Outputs

    video (ready to preview/save), video_url (raw link), tokens_usage (usually empty with these chat-compat proxies - a debug string, not a meter).

    Install and the standing advice

    Same pack install as everything else:

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

    or ComfyUI Manager → "Comfyui-zhenzhen", then restart. When a 500 hits, the README's refrain is worth repeating: it's usually OpenAI's load, rerun once before you blame your settings. And given how much of the changelog is upstream-availability whiplash, treat the model string as a thing to re-check at the site's price page whenever Sora seems flaky.

    Categoryzhenzhen

    Inputs (9)

    NameTypeDefaultDescription
    base_urlSTRINGhttps://ai.t8star.org/v1
    modelSTRINGsora_video2
    api_keySTRING
    user_promptSTRING请描述要生成的视频内容
    aspect_ratiooptCOMBO16:92 options: 16:9, 9:16
    hdoptBOOLEANtrue
    durationoptCOMBO152 options: 10, 15
    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