เผยโฉม Workflow1111: การคืนชีพ AUTOMATIC1111 บนแพลตฟอร์ม Gradio Workflow

ใน โพสต์ที่แล้ว เราได้สร้างกราฟ gr.Workflow ขนาดเล็ก 5 ชุดพร้อมทิ้งท้ายถึงการสร้างระบบที่ซับซ้อนอย่าง stable-diffusion-webui ของ AUTOMATIC1111 วันนี้เราขอนำเสนอ Workflow1111 ซึ่งเป็นการรวบรวมฟีเจอร์เกือบทั้งหมดของ AUTOMATIC1111 มาไว้ในรูปแบบวิดเจ็ตผืนผ้าใบ (canvas) เพียงหนึ่งเดียว

Workflow1111 คือกราฟระบบ media pipeline 11 สาย ที่ประกอบขึ้นจาก 73 โหนด โดยรวมโมเดลระดับ SOTA ไว้ครบครัน ตั้งแต่ text-to-image, hi-resolution fix, image-to-image ไปจนถึงฟีเจอร์ล้ำๆ อย่าง VLM interrogate, annotators สไตล์ ControlNet, การลบพื้นหลัง และการแปลงภาพเป็นวิดีโอ (image-to-video)

ผู้ใช้งานสามารถรัน pipeline เหล่านี้ได้ทันทีเพียงลงชื่อเข้าใช้ด้วยบัญชี Hugging Face หรือระบุ access token โดยการประมวลผลโมเดลจะใช้โควตาของตัวผู้ใช้เอง

👉 ลองใช้งาน Workflow1111 หรือจะคัดลอก (duplicate) Space เพื่อนำไปปรับแต่งสายงานใหม่ตามความต้องการของคุณก็ได้เช่นกัน

สิ่งที่อยู่บนผืนผ้าใบ

media pipeline ทั้งหมดสร้างขึ้นจากโอเปอเรเตอร์ 4 ประเภทตาม คู่มืออย่างเป็นทางการ โดยแต่ละโหนดจะทำหน้าที่เป็นพอร์ตสำหรับเชื่อมต่อเส้น (edges) ข้อมูลอ้างอิงสั้นๆ ได้แก่: fn (ฟังก์ชัน Python), model (โมเดลผ่าน InferenceClient), space (Gradio Space อื่น) และ dataset (ข้อมูลจาก Hub)

Text-to-image

นี่คือ pipeline หลักที่ถอดแบบมาจากแท็บ txt2img ของ A1111 ครบทุกฟังก์ชัน ทั้ง negative prompt, steps, CFG, seed และการเลือก checkpoint ผ่าน model_id โดยตัว prompt จะผ่านโหนด fn เพื่อจัดการสไตล์และทำความสะอาดข้อความก่อนส่งไปยังโหนด model และปิดท้ายด้วยการเขียน metadata ลงไฟล์ PNG เพื่อใช้กับ PNG Info ในภายหลัง

Hi-resolution fix

ในระบบนี้ hi-resolution fix จะทำงานผ่านสองโหนดหลัก โดยส่งผลลัพธ์จาก text-to-image ไปยังโมเดล FLUX.1-Kontext พร้อมคำสั่งเฉพาะเพื่อเพิ่มรายละเอียดไมโครเทกซ์เจอร์ ทำให้ภาพที่ได้มีความคมชัดและมีขนาดใหญ่ขึ้นโดยยังคงองค์ประกอบเดิมไว้

Image-to-image

โหนด Kontext ตัวเดียวกันยังสามารถทำหน้าที่เป็นระบบ image-to-image ได้อย่างมีประสิทธิภาพ เพียงแค่อัปโหลดรูปภาพและระบุการเปลี่ยนแปลงที่ต้องการ ระบบจะทำการแก้ไขและส่งรูปภาพใหม่กลับมาให้ทันที

ให้ LLM ช่วยเขียน prompt

คุณสามารถเริ่มต้นด้วย prompt ง่ายๆ แล้วให้ระบบส่งต่อไปยังโหนด model ของ Qwen3-4B จากนั้นโหนด fn จะขัดเกลาคำตอบให้กลายเป็นรายการแท็กที่สะอาดตา (ไม่เกิน 40 แท็ก) ซึ่งคุณสามารถเชื่อมต่อเอาต์พุตนี้เข้ากับโหนดโมเดล diffusion ใดก็ได้เพื่อสร้างภาพที่สวยงามขึ้น

ความพิเศษคือใน Gradio workflow ทั้ง LLM และโมเดล diffusion ต่างก็เป็นโอเปอเรเตอร์ model ธรรมดาบนผืนผ้าใบเดียวกัน ไม่จำเป็นต้องใช้โหนดปรับแต่งซับซ้อนเหมือนใน ComfyUI

อ่านรูปภาพกลับมาเป็น prompt

ฟีเจอร์นี้ทำงานเหมือนปุ่ม Interrogate ของ AUTOMATIC1111 แต่เปลี่ยนมาใช้ VLM อย่าง Qwen2.5-VL ในการวิเคราะห์ภาพ พร้อมโหนด ViT ที่ช่วยระบุเลเบลวัตถุในภาพเป็นเปอร์เซ็นต์ ซึ่ง gr.Workflow จะรันทั้งสองโหนดขนานกันทำให้ได้ผลลัพธ์อย่างรวดเร็ว

การตรวจจับเพื่อสร้าง inpaint mask

แทนที่จะต้องระบาย mask ด้วยมือ ระบบจะใช้ตัวตรวจจับ DETR ค้นหาวัตถุในภาพอัตโนมัติ จากนั้น workflow จะแยกสาขาเพื่อวาดกรอบวัตถุและสร้าง mask สำหรับส่งต่อไปยัง pipeline สำหรับ inpaint โดยกระบวนการสร้าง mask จะเกิดขึ้นในเครื่องผ่าน Pillow และ NumPy ซึ่งช่วยประหยัดทรัพยากรเครือข่าย

Prompt matrix

ระบบนี้เลียนแบบ prompt matrix โดยนำ prompt หลักมาผสมกับคำต่อท้ายหลายรูปแบบผ่านโหนด fn แม้ gr.Workflow จะไม่มีการวนซ้ำ (loop) แต่ใช้วิธีวางโหนด text-to-image เคียงข้างกันเพื่อให้ทำงานขนานกันไป ผลลัพธ์ที่ได้คือภาพหลายรูปแบบที่ถูกเย็บรวมเป็นแผ่นเดียว (contact sheet) ในเวลาที่รวดเร็ว

การอัปสเกลและการลบพื้นหลัง

ในแท็บ Extras นี้ มีสองทางเลือกคือการใช้ Lanczos ที่ประมวลผลในเครื่องอย่างรวดเร็ว หรือจะใช้ AuraSR ×4 ซึ่งเป็นโหนดประเภท space ที่ดึงพลังจาก Space อื่นบน Hub มาใช้งาน

สำหรับการลบพื้นหลังก็ใช้หลักการเดียวกันผ่าน BRIA RMBG-2.0 ซึ่งเป็นโหนด space แยกต่างหาก ทำให้ตัว workflow หลักไม่ต้องแบกรับภาระการประมวลผลทั้งหมด

Annotators

ตัวประมวลผลอย่าง Canny, line art หรือ luma-depth ที่ปกติอยู่ใน ControlNet ถูกเปลี่ยนเป็นโหนด fn ที่ทำงานด้วย NumPy บน CPU ซึ่งใช้เวลาเพียงเสี้ยววินาทีต่อภาพ ที่สำคัญคือโหนดส่วนใหญ่ (32 จาก 36 โหนด) ทำงานได้ในเครื่องโดยไม่ต้องพึ่งพาเครือข่าย ทำให้ระบบยังคงทำงานได้แม้การเชื่อมต่ออินเทอร์เน็ตจะมีปัญหา

PNG Info

Workflow1111 ยังคงความสามารถในการอ่านและเขียน metadata ในส่วน parameters ของไฟล์ PNG เหมือนต้นฉบับ ทำให้คุณสามารถดึงค่า prompt, steps, seed และชื่อโมเดลกลับมาใช้งานใหม่ได้ทุกเมื่อ

Image-to-video

ข้อมูลจากรูปภาพสามารถส่งต่อไปยังโหนด Wan 2.2 I2V A14B เพื่อสร้างความเคลื่อนไหวได้ทันที โดยไม่จำเป็นต้องอัปโหลดซ้ำซ้อน เพราะหนึ่งโหนดต้นทางสามารถส่งข้อมูลไปยังโหนดปลายทางได้ไม่จำกัด

การรันโมเดลบน GPU ของคุณเอง

แม้ Workflow1111 จะถูกออกแบบมาให้รันบนฮาร์ดแวร์ภายนอก แต่เนื่องจากโหนด fn เป็น Python ธรรมดา คุณจึงสามารถโหลดโมเดลมาประมวลผลบน GPU ของตัวเองได้ ตัวอย่างเช่น FastVideo ที่ใช้ ZeroGPU ในการบริหารจัดการทรัพยากรโดยอัตโนมัติ

โครงสร้างแอปสรุปได้ง่ายๆ ผ่านฟังก์ชันที่ผูกไว้ดังนี้:

@spaces.GPU(duration=get_duration, size=GPU_SIZE)
def _generate(prompt_embeds, text_token_tags, height, width, num_frames, seed):
    ...
 
gr.Workflow(bind={"generate": generate, "status": status}).launch()

ZeroGPU จะจัดสรร GPU ให้เมื่อจำเป็นและคืนค่าเมื่อเสร็จงาน ซึ่งคุณสามารถนำหลักการ bind= นี้ไปใช้กับเครื่องส่วนตัวเพื่อขับเคลื่อน GPU ของคุณเองได้เช่นกัน

ทุกเอาต์พุตคือ API

ทุกโหนดเอาต์พุตบนผืนผ้าใบจะกลายเป็น REST endpoint โดยอัตโนมัติ ซึ่ง Workflow1111 เตรียมไว้ให้ถึง 9 จุด เช่น /image, /detected_objects หรือ /png_info

from gradio_client import Client
 
client = Client("ysharma/Workflow1111", oauth_token="hf_...")
 
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",
)

นอกจากนี้ยังรองรับโปรโตคอล MCP ทำให้เอเจนต์ AI อย่าง Claude หรือ Cursor สามารถเรียกใช้เครื่องมือสร้างภาพหรือวิเคราะห์ภาพได้โดยตรงผ่าน JSON configuration

{
  "mcpServers": {
    "workflow1111": {
      "url": "https://ysharma-workflow1111.hf.space/gradio_api/mcp/",
      "headers": { "X-HF-Token": "hf_..." }
    }
  }
}

จุดยืนเมื่อเทียบกับ ComfyUI

แม้จะมีฟีเจอร์คล้าย AUTOMATIC1111 แต่ในเชิงโครงสร้าง gr.Workflow ถูกนำไปเปรียบเทียบกับ ComfyUI มากกว่า โดยมีจุดเด่นที่แตกต่างคือ:

  • การใช้ฮาร์ดแวร์ภายนอก: รันผ่าน API หรือ Space อื่นได้โดยไม่ต้องมี GPU แรงๆ เอง
  • API อัตโนมัติ: สร้าง REST endpoint จากกราฟโดยไม่ต้องเขียนโค้ดเพิ่ม
  • การเข้าถึงที่ง่าย: รองรับ OAuth ให้ทุกคนเข้าใช้งานผ่านเบราว์เซอร์ได้ทันที
  • ความยืดหยุ่นสูง: รวมโมเดลทุกประเภท (LLM, VLM, Diffusion) ไว้บนกราฟเดียวและเขียนฟังก์ชัน Python เสริมได้ตามต้องการ

สร้าง workflow ของคุณเอง

การเริ่มต้นสร้าง workflow นั้นง่ายกว่าที่คิด:

import gradio as gr
 
def your_function(text: str) -> str:
    pass
 
gr.Workflow(bind=[your_function]).launch()

เพียงใช้ bind= เพื่อสร้างโหนด edges= เพื่อเชื่อมต่อ และสั่ง .launch() เพื่อเริ่มใช้งาน หากต้องการศึกษาเพิ่มเติมสามารถดูได้ที่ คู่มือ gr.Workflow

หากคุณไม่อยากเริ่มจากศูนย์ สามารถ Duplicate Workflow1111 ไปทดลองสลับโมเดลหรือปรับแต่งเส้นทางใหม่ได้ทันที เมื่อสร้างเสร็จแล้วอย่าลืมแชร์ผลงานและแท็ก @gradio บน X ให้เราชมด้วย!

Source: Hugging Face Blog
ดูแลงานแปลและเรียบเรียงโดย TanasakP

ความคิดเห็น (0)

เข้าสู่ระบบเพื่อร่วมแสดงความเห็น

สมัครสมาชิก

มาเป็นคนแรกที่แสดงความเห็นกันเลยโบร