ModelSiteAPI

在 ComfyUI 中使用 ModelSite

在 ComfyUI 里用 ModelSite 的模型生成视频和图片有两种方式:让 ComfyUI 自带的 API 节点指向 ModelSite,或使用 ModelSite 节点包;包含哪些能用、哪些不能用,以及各自是怎么验证的

ComfyUI 是一款基于节点的图像与视频生成工具。在 ComfyUI 里使用 ModelSite 的模型有两种方式。

方案 A:ComfyUI 自带的 API 节点方案 B:ModelSite 节点包
适合谁通过 ComfyUI API 提交工作流的脚本和自动化在 ComfyUI 界面里操作的所有人;也能在脚本里用
在界面里点 Run不行。 界面要求登录 ComfyUI 账号,ModelSite 的 Key 无法满足这一步可以
需要改 ComfyUI 的启动方式要:加一个启动参数不要
需要安装东西不要要:一个节点包
能用哪些模型ComfyUI 自带节点列出、且 ModelSite 也在售的那些(见下表)ModelSite 的视频和图像模型,列表自动更新
图生视频不支持支持(首帧,可选尾帧)
需要准备一个 ModelSite API Key一个 ModelSite API Key

如果你在 ComfyUI 界面里工作,请用方案 B。只有在用代码驱动 ComfyUI、并且想沿用 ComfyUI 自带节点和自带模板工作流时,才用方案 A。

两种方案都按 ModelSite 的价格计费,每次请求和其他调用一样出现在你的用量日志里。Key 形如 sk-ms-...,在控制台创建;不要把真实 Key 粘贴进工作流文件、要分享的脚本或截图里。

方案 A:让 ComfyUI 自带的 API 节点指向 ModelSite

方案 A 不能在 ComfyUI 界面里运行。 运行 API 节点之前,界面会检查你是否登录了 ComfyUI 账号。这个检查发生在 ComfyUI 内部,无法指向 ModelSite,所以 Run 按钮会一直被挡住。请不要在把 ComfyUI 指向 ModelSite 的同时登录 ComfyUI 账号:那样 ComfyUI 会把你的 ComfyUI 登录令牌发给 ModelSite。请按下面的方式通过 ComfyUI API 提交工作流,或改用方案 B。

1. 用 ModelSite 地址启动 ComfyUI

python main.py --comfy-api-base https://api.modelsite.ai

--comfy-api-base 告诉 ComfyUI 自带的 API 节点把请求发到哪里。测试版本:ComfyUI 0.42.0。

2. 提交工作流并传入 Key

在 ComfyUI 里搭好或打开工作流,用 Workflow → Export (API) 保存成 API 格式。Templates → API 下的模板工作流(例如 api_seedance2_0_mini_t2v、api_wan2_7_t2v、api_happyhorse1_1_t2v)可以作为起点。

把它发给 ComfyUI 的 /prompt 接口,并把 ModelSite 的 Key 放在 extra_data.api_key_comfy_org 里。ComfyUI 会把这个值作为 X-API-KEY 请求头转给 ModelSite。

import json, os, time, requests

COMFY = "http://127.0.0.1:8188"          # 你本机的 ComfyUI
KEY = os.environ["MODELSITE_API_KEY"]    # sk-ms-...

with open("workflow_api.json") as f:     # 用 "Export (API)" 导出
    prompt = json.load(f)

r = requests.post(f"{COMFY}/prompt", json={
    "prompt": prompt,
    "extra_data": {"api_key_comfy_org": KEY},
})
r.raise_for_status()
prompt_id = r.json()["prompt_id"]

# 视频模型需要几分钟:轮询,直到任务出现在 history 里。
while True:
    h = requests.get(f"{COMFY}/history/{prompt_id}").json()
    if prompt_id in h:
        print(json.dumps(h[prompt_id]["outputs"], indent=2))  # 文件在 ComfyUI 的 output 目录里
        break
    time.sleep(5)

3. 哪些能用

用真实的 ModelSite 账号、最低档参数,把模板工作流完整跑通过:

节点(ComfyUI 模板)模型结果
ByteDance Seedance 2.0 文生视频(api_seedance2_0_t2v、api_seedance2_0_mini_t2v)Seedance 2.0、Seedance 2.0 mini生成了视频
Wan 文生视频(api_wan2_7_t2v、api_wan3_0_t2v)Wan 2.7、Wan 3.0生成了视频
HappyHorse 文生视频(api_happyhorse1_1_t2v、api_happyhorse1_0_t2v)HappyHorse 1.1、HappyHorse 1.0生成了视频
MiniMax H3 文生视频(api_minimax_h3_t2v)MiniMax H3生成了视频(最短时长 4 秒)
ByteDance Seedream 文生图Seedream 5.0 lite、4.5、4.0生成了图片

ComfyUI 的节点会发带日期的模型名,例如 dreamina-seedance-2-0-260128、seedream-4-5-251128。ModelSite 会把它们对应到匹配的模型,你不需要改。

4. 方案 A 里不能用的

  • 需要先上传文件的节点。 图生视频、参考生视频、首尾帧、视频编辑等节点,会让 ComfyUI 在生成前先上传你的图片或视频。ModelSite 没有这一步上传,所以这些节点会失败。图生视频请用方案 B。
  • ModelSite 不在售的模型家族,例如 Kling、Vidu、Luma。它们的节点没有可连接的对象。
  • ComfyUI 列表里有、ModelSite 没有的模型:Wan 2.5 文生图、Seedream 5.0 Pro、Qwen Image 3.0 Pro、Seedance 2.0 Fast 和 Seedance 2.5。请求会被拒绝。
  • 新模型只有等 ComfyUI 发布新版本才会出现在它的列表里。方案 B 没有这个限制。

方案 B:ModelSite 节点包

节点包提供直接调用 ModelSite 的节点:不需要 ComfyUI 账号,没有登录闸门,也不用改启动参数。

1. 安装

节点包已上架 ComfyUI Registry,名称为 Modelsite。在 ComfyUI Manager 里打开 Custom Nodes Manager,搜索 Modelsite 并点 Install,然后重启 ComfyUI。

也可以用 comfy CLI:

comfy node install comfyui-modelsite

或者把仓库克隆到 custom_nodes 目录:

cd ComfyUI/custom_nodes
git clone https://github.com/binoctal/comfyui-modelsite

重启 ComfyUI。节点包不需要额外的 Python 依赖。

2. 设置 API Key

打开 Settings → Modelsite → Connection,把 Key 粘贴到 API key。Key 只保存在你本机,不会写进工作流,也不会写进生成的文件,所以分享工作流时不会泄露 Key。

或者在启动 ComfyUI 之前设置环境变量 MODELSITE_API_KEY。API 地址默认是 https://api.modelsite.ai;只有拿到了别的地址时才需要改。

3. 添加节点

在画布上双击,搜索 Modelsite。节点在 Modelsite/Video 和 Modelsite/Image 分类下:

节点作用
Modelsite Text to Video提示词 → 视频
Modelsite Image to Video首帧(可选尾帧)→ 视频
Modelsite Text to Image提示词 → 图片
Modelsite Image to Image1–3 张参考图 + 提示词 → 图片

把输出接到 ComfyUI 自带的 Save Video 或 Save Image 节点。视频节点还会输出 task_id 和 usage(接口返回的用量数据)。

4. 选择模型

model 下拉框在页面加载时从 ModelSite 的实时模型列表里填充,所以新上架的模型刷新页面就能看到。如果想立刻用,把它的 ID 填进 custom_model,它会覆盖下拉框的选择。

模型家族视频图像
Seedance 2.0 / 2.0 mini文生、首帧、首尾帧—
Wan 2.7文生、首帧、首尾帧—
HappyHorse 1.0 / 1.1文生、首帧—
MiniMax H3 / H3 Max文生、首帧、首尾帧—
Seedream 4.0 / 4.5 / 5.0 lite—文生、参考图

参考视频和音频暂不支持。

用真实账号在 ComfyUI 界面里完整跑通过:Seedance 2.0 mini、Wan 2.7、HappyHorse 1.1、MiniMax H3 的文生视频;Seedance 2.0 mini、Wan 2.7、HappyHorse 1.1、MiniMax H3 的图生视频;Seedream 5.0 lite 文生图和 Seedream 4.5 图生图。表中其他模型用的是同样的节点,但没有逐个跑过。

5. 值得了解的参数

  • resolution:Wan 和 HappyHorse 支持 720p、1080p;Seedance 支持 480p、720p、1080p;MiniMax H3 支持 768p(H3 Max 另有 480p)。不支持的取值会在发出请求之前就被拒绝。
  • duration:Seedance 4–15 秒,Wan 2–15 秒,HappyHorse 3–15 秒,MiniMax H3 4–15 秒(H3 Max 5–15 秒)。
  • seed:-1 让模型自己决定。默认设置会让每次运行都不同,这样 ComfyUI 不会对付费调用复用旧结果。
  • generate_audio 只对 Seedance 有效;negative_prompt 只对 Wan 和 HappyHorse 有效;其他模型会忽略它们。
  • ratio 用于文生视频;图生视频时结果跟随你的首帧。
  • HappyHorse 图生视频 只接受首帧;接上尾帧会报错。

6. 示例工作流

把文件拖到 ComfyUI 画布上即可。图像类工作流读取 ComfyUI input 目录里的 example.png,请换成你自己的图片。

工作流文件
Seedance 2.0 mini,文生视频text-to-video-seedance-mini.json
MiniMax H3,文生视频text-to-video-minimax-h3.json
Seedance 2.0 mini,图生视频image-to-video-seedance-mini.json
Wan 2.7,图生视频image-to-video-wan27.json
HappyHorse 1.1,图生视频image-to-video-happyhorse11.json
MiniMax H3,图生视频image-to-video-minimax-h3.json
Seedream,文生图text-to-image-seedream.json
Seedream,图生图image-to-image-seedream.json

这些文件里都不含 Key。

7. 常见问题

你看到的含义
401 或 "invalid key"Key 缺失、填错或已被撤销。检查 Settings → Modelsite → Connection,或 MODELSITE_API_KEY 变量。
402余额不足以完成这次请求。到控制台充值后重试。
"unknown model" / "model not found"这个模型 ID 不在 ModelSite 上,或你的账号不可用。从下拉框里选,或查看模型列表。
视频任务等待超时,或你点了取消节点包不会再创建第二次任务,因为重复创建可能被计费两次。错误信息里带有任务 ID,请到用量日志里查它。
结果链接打不开了结果链接会过期。节点包在任务完成后会立刻下载文件,请到 ComfyUI 的 output 目录里找。

接口返回的错误信息会原样显示。你的 Key 会从每一条错误信息和日志里被去掉。

本页内容