EvoLink Sora 2 (Official)
OpenAI's Video Model, Via a Node That Isn't Secret
- image
- video
- task_id
- status_info
- result_urls
- response_json
Sora has been the model people spend sentences about - the one from the demos, the one you could never run, the one that made a local Wan generation feel like getting away with something. EvoLink Sora 2 (Official) is the wrapper that drops OpenAI's Sora 2 into a ComfyUI canvas: text-to-video and image-to-video through a pay-per-use API, with nothing running on your machine.
How it works
It's the same architecture as the whole EvoLink pack - submit a job to /videos/generations, poll until the platform says it's done, download the clip before the 24-hour result links expire, and hand it back as a native VIDEO output that connects straight to ComfyUI's Save Video node. No GPU, no downloads, no ComfyUI bakeoff on your card.
One genuinely nice mechanism detail: Sora 2 requires the reference image to be exactly the pixel size of the chosen aspect ratio. Rather than making you get that right by hand, the node auto-resizes your image to 1280x720 (16:9) or 720x1280 (9:16) before it uploads. Load an image, pick a ratio, done - no "why does Sora keep rejecting my reference" forensics.
The inputs that matter
prompt- required, up to ~5000 tokens, Chinese works. It's a camera/shot description, so write like a director's note.aspect_ratio-16:9landscape or9:16portrait, nothing else. Sora 2 doesn't do square.duration- 4, 8, or 12 seconds, and you're billed by the second, so this is your main cost lever.image- optional reference for image-to-video. Important: Sora's content moderation is strict, and the tooltip is blunt about it - no real-person photos as reference. Don't fight this; it refuses at the source and there's no local patch for a model you don't own.
Outputs
video is the one you wire into Save Video (the node needs a reasonably current ComfyUI for native VIDEO output - if you're on an old build you'll get an error telling you to upgrade). task_id is your receipt for the job log, status_info summarizes model/time/credits, result_urls has the raw links, response_json the full payload. And because everything EvoLink emits result_urls, you can chain the clip straight into the Topaz upscale node for a generate → upscale pipeline.
Install and gotchas
Part of the comfyui-evolink pack. Manager → search EvoLink → Install, then fully restart ComfyUI (close the console window - a browser refresh isn't enough). Or:
cd ComfyUI/custom_nodes
git clone https://github.com/deeplearning-goethe/comfyui-evolink
Only requests as a dependency; no model files, no VRAM. API key from evolink.ai/dashboard/keys, fill api_key once then leave it blank so it doesn't ride along in shared workflow JSON.
The default timeout_seconds is 1200 (20 minutes) - video takes a while, so don't panic if the queue shows progress for a long stretch. Failed or moderation-blocked tasks don't charge. 401 = bad key, 402 = no credit, 429 = rate limited. And if you rerun an unchanged workflow, ComfyUI caches it - Sora costs enough that the cache refund is a real feature, not a footnote.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | 镜头/画面描述,支持中文,最长约 5000 tokens。Sora 内容审核较严,参考图不支持真人照片。 | |
| aspect_ratioopt | COMBO | 16:9 | 横屏 16:9 / 竖屏 9:16 |
| durationopt | COMBO | 4 | 视频时长(秒),按时长计费 |
| imageopt | IMAGE | 参考图(图生视频);不支持真人照片 | |
| api_keyopt | STRING | EvoLink API Key(sk- 开头)。首次填写后自动保存到本机配置,之后可留空。分享工作流前请清空此框。获取:evolink.ai/dashboard/keys | |
| timeout_secondsopt | INT | 120060–3600 | 最长等待时间;生成失败或审核拦截的任务不扣费 |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | 生成结果(已下载落地,可直连保存节点) |
| task_id | STRING | EvoLink 任务 ID,可到 evolink.ai/zh/dashboard/logs 查询 |
| status_info | STRING | 人读状态摘要(模型/用时/消耗 credits) |
| result_urls | STRING | 结果原始链接,每行一个(24 小时过期) |
| response_json | STRING | 平台 GET /v1/tasks/{id} 的完整 JSON 响应(status/usage/results 等),供下游节点解析 |