产品Hugging Face Blog·原文 2026年9月10日本站收录 2026年9月11日

Hugging Face用Gradio Workflow复刻AUTOMATIC1111:73 个节点、11 条管线

Workflow1111把stable-diffusion-webui的大部分功能重建为一张工作流画布,每个输出节点自动变成REST端点,同时也能作为MCP工具供AI助手调用。

AI解读:对普通用户来说,最实际的变化是访问门槛:用Hugging Face账号登录或提供access token后,模型调用走调用者自己的配额,不需要本地GPU就能跑文生图、放大、重绘、打标、抠图、图生视频等流程。想改流程的人可以直接Duplicate这个Space再重新连线。

对开发者更关键的是接口:画布上每个输出节点都自动生成REST端点,Workflow1111共暴露 9 个,包括 /image、/recovered_prompt、/detected_objects、/png_info等;开启mcp_server=True后这些端点又变成MCP工具,Claude Code、Cursor等MCP客户端可以直接调用。

需要留意边界:文中的自动化指的是把检测结果转成inpaint掩码、把生成参数写回PNG等,原文并没有给出这些管线在画质或效率上优于AUTOMATIC1111的对比数据,所以这更像一次架构演示,而不是“A1111被取代”的结论。

Hugging Face博客发布了Workflow1111,用Gradio Workflow把AUTOMATIC1111的stable-diffusion-webui的大部分功能集重建为一张工作流画布。按原文描述,这是一张由 11 条媒体管线、73 个节点组成的工作流图。

要运行这些管线,用户需要用Hugging Face账号登录或提供access token;登录后模型调用走用户自己的配额。文章也提供了另一个选项:复制(Duplicate)这个Space,然后按自己的用例重新连线。

文章给出的节点由四类运算符组成:fn是Python函数,model通过InferenceClient调用模型,space是另一个Gradio Space,dataset是Hub数据集里的一行。每个画布节点封装一个运算符,运算符的输入输出就是可连边的端口。

文生图与高清修复:PNG参数写入元数据

文生图是核心管线,控件和A1111的txt2img标签页一致:负面提示词、steps、CFG、seed、宽高,外加一个选择checkpoint的model_id字段。提示词先经过一个prompt-builder的fn节点,追加所选风格预设并清理文本,再进入通过Inference Providers调用checkpoint的model节点。

高清修复在AUTOMATIC1111里是先放大txt2img输出、再跑一遍去噪;在Workflow1111里变成两节点绕行:文生图结果送入FLUX.1-Kontext模型节点,指令为“增强细节与微纹理,保持构图不变”,返回更清晰、更大的图。同一个Kontext节点同时充当图生图标签页:上传图片、描述想要的修改,返回编辑后的图。

出口处的一个后处理fn节点会把生成参数写入PNG的元数据,这正是PNG Info管线之后读回的内容,包括提示词、负面提示词、steps、CFG、seed、图像尺寸和模型。

提示词双向处理与自动掩码

“让LLM写提示词”管线从粗略提示词出发,例如“暴风雨中的灯塔”,发送给Qwen3-4B模型节点,再由一个小fn节点把回复变成干净的标签列表,上限四十个,示例输出为“stormy sea, wet rocks, dramatic composition, low angle shot, volumetric lighting, ominous tone”。文章强调这里没有自定义节点,不像ComfyUI;在Gradio工作流里,LLM和扩散模型都是同一画布上的普通model运算符。

反向读取对应A1111的Interrogate按钮,但用VLM而不是CLIP:Qwen2.5-VL看一张夜市照片,写出可能生成这张图的提示词;同时一个ViT分类节点读取同一张图,返回标签,如restaurant 51.9%、tobacco shop 15.6%、toyshop 9.1%。两个节点共用同一個图像输入,gr.Workflow并行运行它们,因此大致只花运行一个的时间就得到两个答案。

检测转inpaint掩码试图免去手绘掩码:DETR在一张街景照片中找到六个对象(三个人、一只狗、一辆自行车和一辆车),随后工作流分两支,一支把检测框画在原图上,另一支把它们转成可送入下游inpaint管线的掩码。绘制和掩码生成都用Pillow和NumPy在本地完成,只有检测调用离开本机。

提示词矩阵、放大与背景移除

提示词矩阵对应A1111的prompt matrix:基础提示词“a lone oak tree”由fn节点与四个后缀(日出时、雷暴中、银河下、秋雾里)组合,每个变体送入各自的文生图节点,最后一个节点把四张结果拼成一张联系表。文章说明gr.Workflow没有循环运算符,所以四个文生图节点并排在同一画布上,由于处于相同依赖深度而并行运行,四张图同时开始生成。

放大与背景移除对应Extras标签页。画布上有两个放大节点,路径不同:第一个是fn节点里的本地Lanczos重采样,无需网络调用,速度取决于Pillow的缩放速度;第二个是AuraSR ×4,也是画布上第一个space节点,调用Hub上的一个Space,并把结果当作普通节点输出。背景移除同理,BRIA RMBG-2.0是另一个space节点,整个模型放在自己的Space里,画布只负责调用。

注释器、PNG Info与图生视频

注释器包括Canny、线稿、素描、亮度深度和色调分离,这些原本来自A1111的ControlNet扩展。在Workflow1111里,每个都是纯NumPy写的fn节点,背后没有模型。文章称在一张预载的建筑立面示例照片上,每个注释器在CPU上约需半秒。文章还给出统计:应用里共有 36 个运算符节点,其中 32 个是fn节点,22 个完全在进程内运行、不发起网络调用;断开网络时,大约三分之二的画布仍能工作。由于它们是普通Python函数,也可以不经过画布、服务器或GPU直接测试。

PNG Info沿用A1111的做法:把生成细节存进PNG的parameters文本块,再由PNG Info标签页读回,Workflow1111由文生图管线上的后处理节点写入、由该管线读出。

图生视频方面,PNG Info读取的图像节点同时接入一个Wan 2.2 I2V A14B节点做动画,演示例子是一只睡觉的狐狸醒来并开始活动。没有第二个上传框,因为一个参考节点可以按需供给任意多个下游管线,所以一次上传就能在同一画布上既被读元数据、又被做成动画。

自备GPU、REST端点与MCP工具

文章指出,前面所有模型调用都发生在别人的硬件上,通过Inference Providers或Space完成,这也是没有GPU也能构建并运行Workflow1111的原因。但fn节点就是Python,同样可以在本地加载模型、跑在自己的GPU上。文中以FastVideo/fastvideo-fasth3-preview为例,它运行FastH3——MiniMax-H3的四步蒸馏版本,在ZeroGPU上生成带音轨的视频。整个应用归结为一个绑定函数,带 @spaces.GPU(duration=get_duration, size=GPU_SIZE) 装饰器,再用gr.Workflow(bind={"generate": generate, "status": status}).launch() 启动。ZeroGPU在需要时给函数一块GPU,调用结束就释放,gr.Workflow本身不需要知道这些,只是调用fn节点。文章称这也不限于Spaces:把bind= 指向一个加载本地checkpoint的函数,在自己的机器上运行 .launch(),Workflow1111画布就能驱动自己的GPU。

画布上每个输出节点都会变成REST端点,无需手写路由。Workflow1111暴露九个:/image、/edited_image、/generated_prompt、/recovered_prompt、/detected_objects、/x_y_grid、/upscaled_local、/annotator_map和 /png_info。文中给出的客户端调用示例通过gradio_client的Client连接ysharma/Workflow1111,并传入oauth_token,predict参数依次为提示词、负面提示词、风格预设、高清修复细化指令,api_name为 /image。

同样的端点也是MCP工具:以mcp_server=True启动后,每个输出节点都会成为一个AI助手可调用的工具。把Claude Code、Cursor或任何MCP客户端指向服务器URL即可,配置里包含url和X-HF-Token头。文章说明每个调用者发送自己的token,Space本身不持有token。这样代理就能把生成图像、读回提示词、运行检测当作更大任务中的步骤,不需要胶水代码。

与ComfyUI的定位差异,以及如何自己搭

文章承认AUTOMATIC1111提供了功能清单,但真正会被拿来和Gradio Workflow比较的是ComfyUI,因为两者都是节点图。文中列举的差异是:节点可以是你并不拥有的硬件,可以走Inference Providers、调用Hub上任何Space或任何API,也可以从数据集取数据,Workflow1111正是因此无需自备GPU;每个输出都会成为带类型的REST端点,端点由工作流图生成;访客可以用自己的身份运行工作流,打开OAuth并分享公开URL后,任何人无需安装即可登录使用;同一张画布可以混合模型与模态,扩散模型、LLM、VLM、检测器和视频模型都能放进同一个工作流;需要自定义时写一个Python函数即可,自定义节点本身就是Python函数,能做什么取决于Python。

文末给出的起步方式:Workflow1111有 73 个节点,但最初只是import gradio as gr、定义一个函数文本、再执行gr.Workflow(bind=[your_function]).launch()。bind= 把函数变成节点,edges= 连接它们,.launch() 在浏览器里打开画布以便继续编辑,准备好后用gradio deploy把整个东西部署到Space。指南包含JSON schema和所有运算符类型的完整细节。也可以直接从Workflow1111复制,选十一条管线之一改动:删除节点、替换模型、重新连线。

信息来源

Hugging Face Blog原始来源