The browser UI is now embedded directly inside the ComfyUI node using addDOMWidget. Each node instance gets its own independent state. All DOM queries are scoped to the node container so multiple nodes work correctly. Mouse/wheel events are stopped from propagating to the canvas. Default node size 700x500; user can resize freely. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
ComfyUI Pixiv Browser Node
在 ComfyUI 中直接浏览 Pixiv,选图后输出为 IMAGE 张量,接入任意下游节点。
功能
| 功能 | 说明 |
|---|---|
| 📌 推荐作品 | 浏览 Pixiv 为你推荐的插画 |
| 🏆 排行榜 | 日榜/周榜/月榜等多种排行 |
| ⭐ 收藏作品 | 查看你收藏的所有插画 |
| 👥 收藏画师 | 左栏列出收藏画师,点击右栏展示其全部作品 |
| 🖼 多选输出 | 可框选多张图片,批量输出 IMAGE batch |
| ♾ 无限滚动 | 所有页面均支持滚动到底部自动加载下一页 |
| 🔒 OAuth 登录 | 使用 pixivpy3 官方 PKCE 流程,token 本地保存,重启免登录 |
安装
1. 克隆到 ComfyUI custom_nodes
cd ComfyUI/custom_nodes
git clone https://github.com/wrt122311/comfyui-pixiv-node.git
2. 安装依赖
在 ComfyUI 的 Python 环境中执行:
pip install pixivpy3 Pillow
如果使用 ComfyUI 便携版,请用便携版自带的
python_embeded\python.exe -m pip install pixivpy3 Pillow
3. 重启 ComfyUI
控制台出现以下提示说明加载成功:
[PixivBrowser] Loaded successfully
首次登录
节点首次使用时需要完成登录,之后 token 自动保存,重启无需重新登录。
弹窗提供两种登录方式:
方式一:Refresh Token(推荐)
- 在 ComfyUI 的 Python 环境中安装工具:
pip install gppt - 运行登录命令(将邮箱和密码替换为你的账号):
gppt login-headless -u 你的邮箱 -p 你的密码 - 复制终端输出中的
refresh_token值 - 在 ComfyUI 画布中添加 Pixiv Browser 节点,点击 🖼 浏览 Pixiv 按钮
- 弹窗默认显示"🔑 Refresh Token(推荐)"标签,将 token 粘贴到输入框,点击 "保存并登录"
- 弹窗自动切换到图片浏览界面,登录完成
方式二:OAuth 授权(备选)
适用于无法使用命令行工具的情况。
- 点击节点上的 🖼 浏览 Pixiv 按钮,弹出弹窗
- 切换到 "🌐 OAuth 授权" 标签
- 点击 "① 用浏览器登录 Pixiv",在新标签页完成 Pixiv 账号登录
- 登录后查看浏览器地址栏,若出现以下格式的 URL:
将其完整复制,粘贴到弹窗输入框,点击 "② 确认登录"
pixiv://account/login?code=XXXXXXXXXXXXXXXX&via=login - 若地址栏始终未出现
pixiv://开头的 URL(部分浏览器/系统不支持),请改用方式一
Token 保存在节点目录下的
config.json,请勿将此文件提交到 git(已自动加入.gitignore)
使用方法
浏览与选图
弹窗顶部有四个 Tab:
- 推荐 — Pixiv 为你推荐的最新插画
- 排行榜 — 每日排行榜(日榜)
- 收藏 — 你收藏的插画
- 画师 — 左侧列出你收藏的画师,点击画师名在右侧显示其全部作品
点击图片卡片即可选中(紫色边框 + 右上角序号角标),再次点击取消选中。
支持跨 Tab 多选,底部显示已选张数。
输出图片
选好图片后点击 ✓ 确认选择,关闭弹窗。
点击 ComfyUI 的 Queue Prompt,节点将下载所选图片的原图并以 IMAGE batch 形式输出。
节点参数
| 参数 | 类型 | 说明 |
|---|---|---|
artwork_ids |
STRING(隐藏) | 由弹窗写入的 artwork ID 列表,逗号分隔,通常无需手动填写 |
| 输出 | 类型 | 说明 |
|---|---|---|
images |
IMAGE | 形状 [B, H, W, 3],float32,范围 [0, 1],B 为选中图片数量 |
示例工作流
示例 1:预览 Pixiv 图片
最简单的工作流,浏览 Pixiv 后直接在 ComfyUI 中预览。
[Pixiv Browser] ──images──▶ [Preview Image]
步骤:
- 添加 Pixiv Browser 节点
- 添加 PreviewImage 节点
- 将 Pixiv Browser 的
images输出连接到 PreviewImage 的images输入 - 点击节点上的按钮选好图片
- Queue Prompt
示例 2:以 Pixiv 图为参考做图生图(img2img)
用 Pixiv 收藏的插画作为参考图,通过 img2img 生成新的图像。
[Pixiv Browser] ──images──▶ [VAE Encode] ──latent──▶ [KSampler] ──latent──▶ [VAE Decode] ──▶ [Preview Image]
▲
[CLIP Text Encode (prompt)]
[Load Checkpoint] ──model / clip / vae──▶ 各节点
步骤:
- 加载模型:Load Checkpoint → model、clip、vae
- 添加 Pixiv Browser 节点,选好参考图
- 添加 VAE Encode,将 Pixiv Browser 的
images连接到pixels,vae 连接到vae - 添加 CLIP Text Encode,填写提示词
- 添加 KSampler,连接 model、positive prompt、latent_image(来自 VAE Encode)
- 建议
denoise设为0.6~0.8(值越低越接近原图)
- 建议
- 添加 VAE Decode 和 Preview Image
- Queue Prompt
示例 3:批量保存 Pixiv 图片到本地
[Pixiv Browser] ──images──▶ [Save Image]
步骤:
- 添加 Pixiv Browser 节点,选多张图
- 添加 Save Image 节点,设置保存路径前缀
- Queue Prompt,所有选中的图片会按序号保存到
ComfyUI/output/目录
工作流 JSON(示例 1)
将以下 JSON 保存为 .json 文件,在 ComfyUI 中通过 Load 导入即可:
{
"last_node_id": 3,
"last_link_id": 2,
"nodes": [
{
"id": 1,
"type": "PixivBrowser",
"pos": [100, 200],
"size": [210, 80],
"flags": {},
"order": 0,
"mode": 0,
"inputs": [],
"outputs": [
{"name": "images", "type": "IMAGE", "links": [1], "slot_index": 0}
],
"properties": {},
"widgets_values": [""]
},
{
"id": 2,
"type": "PreviewImage",
"pos": [380, 200],
"size": [210, 246],
"flags": {},
"order": 1,
"mode": 0,
"inputs": [
{"name": "images", "type": "IMAGE", "link": 1}
],
"outputs": [],
"properties": {}
}
],
"links": [
[1, 1, 0, 2, 0, "IMAGE"]
],
"groups": [],
"config": {},
"extra": {},
"version": 0.4
}
常见问题
Q: gppt login-headless 报错或找不到命令?
A: 确认在 ComfyUI 所用的 Python 环境中安装了 gppt:pip install gppt。便携版用户请用 python_embeded\python.exe -m pip install gppt。
Q: OAuth 登录后地址栏没有出现 pixiv:// 开头的 URL?
A: 部分浏览器(如 Chrome/Edge)在未安装 Pixiv 客户端时不会显示 pixiv:// 协议地址。请改用方式一(Refresh Token)登录。
Q: 登录后弹窗没有自动刷新?
A: 检查粘贴的 URL 是否完整,OAuth 方式要求以 pixiv://account/login?code= 开头。
Q: 图片加载不出来?
A: Pixiv 图片需要通过代理加载以绕过防盗链限制,代理由节点自动处理。若仍失败,检查网络是否能访问 Pixiv(可能需要代理工具)。
Q: 选好图片后 Queue Prompt 报错"所有图片下载失败"?
A: 原图下载需要网络能访问 i.pximg.net。请确认网络环境。
Q: 重启 ComfyUI 需要重新登录吗?
A: 不需要。token 保存在 config.json,重启后自动使用。
依赖
- pixivpy3 — Pixiv App API Python 客户端
- Pillow — 图像处理
- aiohttp — 已包含在 ComfyUI 中
- torch — 已包含在 ComfyUI 中
License
MIT