2026-09-10 · 原文发布日
用Gradio Workflow复刻AUTOMATIC1111的画布工作流
Hugging Face作者用73个节点、11条管线在一张Gradio Workflow画布上重建了AUTOMATIC1111的大部分功能:文生图、高清修复、图生图、提示词矩阵、VLM反推提示词、检测生成局部重绘蒙版、背景移除、图生视频等。节点分函数、模型、Space、数据集四类,连线即串联。用HF账号登录后调用走自己的额度,还可以复制整个Space自行改线。
原文要点
Hugging Face官方博客介绍了Workflow1111:用73个节点、11条管线在一张Gradio Workflow画布上重建了AUTOMATIC1111的大部分功能,涵盖文生图、高清修复、图生图、提示词矩阵、VLM反推、检测生成重绘蒙版、ControlNet式预处理器、背景移除、PNG Info和图生视频。节点分四类:fn(Python函数)、model(InferenceClient调模型)、space(调Hub上其他Space)、dataset(Hub数据集行)。用HF账号登录后模型调用走自己的额度;画布上每个输出节点自动成为REST端点(共9个),开启mcp_server=True后同时是MCP工具。Space可复制(Duplicate)后自行改线。
这次做成什么
先用HF账号在Workflow1111里跑通文生图和一条并行管线,再复制Space改一条线,最后在自己机器上用bind/edges写一个最小gr.Workflow并通过API/MCP调用它。
准备什么
- 一个Hugging Face账号及访问令牌(模型调用走你自己额度,可能产生费用)
- 本地Python环境,可用pip安装gradio与gradio_client(版本要求以官方guide为准)
- 做本地GPU实验才需要自有显卡,仅用画布不需要
具体怎么做
登录跑通核心管线
打开ysharma/Workflow1111并用HF账号Sign in。在文生图管线填prompt、negative prompt、steps、CFG、seed、宽高和model_id(可先试文章示例'a red fox in a snowy pine forest'与风格预设),点运行;输出PNG内会写入生成参数,供PNG Info管线读回。
体验并行与外部节点
用同一张示例图分别跑VLM反推(Qwen2.5-VL)和ViT分类:两个节点共享同一输入、处于同一依赖深度,会并行执行。再试AuraSR×4超分和BRIA RMBG-2.0背景移除——它们是space节点,实际调用Hub上的其他Space。
复制Space改一条线
点Duplicate复制整个Space到自己名下,选一条管线动手:删掉不需要的节点、把文生图的输出改接到另一个model节点,或调整提示词矩阵的后缀fn节点。保存后用自己的HF配额验证新流程。
本地写最小工作流并暴露API
pip安装gradio后运行本文的最小示例:两个fn节点经bind/edges串成“润色提示词→统计字数”的小画布,.launch()后浏览器可编辑连线;再用gradio_client按api_name调用输出端点,验证“每个输出即API”。
可直接复制的材料
最小gr.Workflow示例(本地可跑)
本站独立编写的入门示例,非Workflow1111源码;bind/edges用法依据官方文档描述,不同gradio版本的参数细节请以官方guide核对。
import gradio as gr
def polish(text: str) -> str:
return text.strip().rstrip("。") + ",细节丰富,构图完整。"
def stats(text: str) -> dict:
return {"chars": len(text), "preview": text[:20]}
demo = gr.Workflow(
bind=[polish, stats],
edges=[(polish, stats)],
)
# 如需把输出端点同时暴露为MCP工具,改用:
# demo.launch(mcp_server=True)
demo.launch()MCP客户端配置示例
本站按原文给出的结构整理;token换成你自己的HF令牌,每个调用者用自己的token,Space本身不持密钥。
{
"mcpServers": {
"workflow1111": {
"url": "https://ysharma-workflow1111.hf.space/gradio_api/mcp/",
"headers": { "X-HF-Token": "hf_换成你自己的token" }
}
}
}gradio_client调用示例
调用结构来自原文示例;/image等9个端点的参数顺序以Space页面底部的API文档为准。
from gradio_client import Client
client = Client("ysharma/Workflow1111", oauth_token="hf_换成你自己的token")
image, params, hires = client.predict(
"a red fox in a snowy pine forest", # Prompt
"", # Negative prompt
"Cinematic", # Style preset
"enhance fine detail", # Hires refine instruction
api_name="/image",
)
print(type(image), params)输入与输出示例
本站虚构演示,仅说明各端点字段对应关系,非实际生成结果;生成耗时取决于模型与额度,不做保证。
输入
登录Space后在文生图管线输入prompt“a red fox in a snowy pine forest”、风格预设Cinematic、steps 28、CFG 3.5、seed 42、768×768,点运行对应输出
输出区得到一张雪地狐狸PNG;PNG Info管线从该图读回:prompt=a red fox in a snowy pine forest, negative=(空), steps=28, cfg=3.5, seed=42, size=768x768, model=所选checkpoint。同时该输出经 /image 端点可被gradio_client以相同参数取到做完检查这些
- 未登录时Space提示需要HF账号或token,登录后模型调用能正常返回并消耗自己额度
- VLM反推与ViT分类用同一输入几乎同时返回,确认并行执行而非排队
- 复制后的Space里删除或改接一个节点后,对应管线输出随之变化
- 本地最小示例launch后浏览器出现可编辑画布,gradio_client能按api_name拿到stats节点的字典输出
容易卡住的地方
- 登录后所有模型调用走你自己账号的Inference额度,高频生图/视频会产生实际费用
- space节点(AuraSR、RMBG-2.0)依赖Hub上其他Space可用性,对方下线该分支即失败
- 文中称多数本地fn节点在断网时仍可用,但model/space节点必须联网,别把整画布当离线工具
- 文章未承诺各模型生成耗时与费用数字,勿据此估算成本
- 本地复刻需自行安装gradio,bind/edges的JSON schema细节以官方gr.Workflow guide为准
本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。
- 原文标题
- Rebuilding AUTOMATIC1111 with Gradio Workflow
- 原作者
- Hugging Face / 文章署名作者
- 原始发布日期
- 2026-09-10T00:00:00+00:00
- 来源
- https://huggingface.co/blog/gradio-workflow-1111