Sản phẩm
Hugging Face ra mắt Workflow1111: Tái hiện sức mạnh của AUTOMATIC1111 bằng Gradio
(giờ Việt Nam)
Tóm tắt AI
Hugging Face giới thiệu Workflow1111, sử dụng 73 node Gradio để tái lập hầu hết các tính năng chủ chốt của AUTOMATIC1111, từ tạo ảnh, inpaint, ControlNet đến hỗ trợ video, mang lại trải nghiệm linh hoạt và trực quan hơn.
Bản dịch AI
Trong bài viết trước, chúng tôi đã xây dựng năm đồ thị gr.Workflow nhỏ và gợi ý về những gì cần thiết để xây dựng một thứ phức tạp như stable-diffusion-webui của AUTOMATIC1111. Trong bài viết này, chúng tôi sẽ hướng dẫn bạn làm quen với Workflow1111, nơi chúng tôi đã tái tạo hầu hết các tính năng của AUTOMATIC1111 trên một canvas quy trình làm việc duy nhất.
Workflow1111 là một đồ thị gồm mười một đường ống truyền thông (media pipeline) được xây dựng bằng bảy mươi ba nút (node). Nó tập hợp các mô hình SOTA cho các tác vụ: chuyển văn bản thành hình ảnh (text-to-image), sửa lỗi độ phân giải cao (hi-resolution fix), chuyển hình ảnh thành hình ảnh (image-to-image), lưới ma trận gợi ý (prompt-matrix grids), truy vấn VLM (VLM interrogate), tạo mặt nạ inpaint từ phát hiện đối tượng, các bộ chú giải (annotator) kiểu ControlNet, xóa nền, lưu trữ thông tin PNG và chuyển hình ảnh thành video.
Bạn có thể chạy bất kỳ đường ống nào trong số này bằng cách đăng nhập bằng tài khoản Hugging Face hoặc cung cấp mã truy cập (access token). Sau khi đăng nhập, các lệnh gọi mô hình sẽ sử dụng hạn mức (quota) của riêng bạn.
👉 Hãy thử Workflow1111, hoặc sao chép (duplicate) Space này và bắt đầu tùy chỉnh lại cho trường hợp sử dụng của riêng bạn.
Hãy cùng khám phá canvas này.
Những gì có trên canvas
Tất cả các đường ống truyền thông đều được xây dựng từ bốn loại toán tử giống nhau đã được đề cập trong bài viết trước và hướng dẫn chính thức. Mỗi nút trên canvas bao bọc một toán tử, và đầu vào/đầu ra của toán tử trở thành các cổng (port) để bạn kết nối các cạnh (edge). Để tham khảo nhanh về bốn loại toán tử của chúng tôi: fn là một hàm Python, model là một mô hình được gọi thông qua InferenceClient, space là một Gradio Space khác, và dataset là một hàng từ một tập dữ liệu trên Hub.
Hãy cùng đi qua từng đường ống một.
Chuyển văn bản thành hình ảnh (Text-to-image)
Đây là đường ống cốt lõi. Nó có các tùy chỉnh mà bạn mong đợi từ tab txt2img của A1111: gợi ý phủ định (negative prompt), số bước (steps), CFG, hạt giống (seed), chiều rộng và chiều cao, cộng với trường model_id để chọn checkpoint. Gợi ý (prompt) sẽ đi qua một nút fn xây dựng gợi ý trước, giúp thêm các cài đặt trước về phong cách (style preset) và làm sạch văn bản, sau đó đi vào một nút mô hình để gọi checkpoint thông qua Inference Providers. Một nút fn hậu xử lý (post-process) sẽ ghi các tham số tạo ảnh vào siêu dữ liệu của tệp PNG ở đầu ra, đây chính là dữ liệu mà đường ống PNG Info sẽ đọc lại sau này.
Sửa lỗi độ phân giải cao (Hi-resolution fix)
Trong Automatic1111, tính năng sửa lỗi độ phân giải cao trước tiên sẽ nâng cấp (upscale) đầu ra của txt2img và sau đó chạy lượt khử nhiễu thứ hai. Ở đây, nó là một đường vòng gồm hai nút. Kết quả từ text-to-image đi vào một nút mô hình FLUX.1-Kontext với chỉ dẫn tinh chỉnh ("tăng cường chi tiết nhỏ và kết cấu vi mô, giữ nguyên bố cục") và trả về kết quả sắc nét hơn, kích thước lớn hơn.
Chuyển hình ảnh thành hình ảnh (Image-to-image)
Nút Kontext đó cũng đóng vai trò là tab image-to-image. Tải lên một hình ảnh, mô tả thay đổi bạn muốn, và nó sẽ trả về hình ảnh đã chỉnh sửa.
Để LLM viết gợi ý
Để LLM viết gợi ý
Bắt đầu với một gợi ý thô như "Một ngọn hải đăng trong cơn bão." Đường ống này gửi nó đến một nút mô hình Qwen3-4B, và một nút fn nhỏ sẽ biến câu trả lời thành một danh sách các thẻ (tag) sạch, giới hạn ở con số bốn mươi: "biển bão, đá ướt, bố cục kịch tính, góc chụp thấp, ánh sáng thể tích, tông màu đáng ngại." Bạn có thể kết nối bất kỳ nút mô hình khuếch tán (diffusion model) nào với đầu ra này để kết xuất hình ảnh.
Không có nút tùy chỉnh nào được sử dụng, không giống như trong ComfyUI. Trong một quy trình làm việc của Gradio, LLM và mô hình khuếch tán đều là các toán tử mô hình thông thường trên cùng một canvas.
Đọc hình ảnh trở lại thành gợi ý
Điều này giống như nút Interrogate của AUTOMATIC1111, với một VLM thực hiện việc truy vấn thay vì CLIP. Qwen2.5-VL nhìn vào ảnh chợ đêm và viết ra một gợi ý có thể đã tạo ra nó. Một nút phân loại ViT đọc cùng hình ảnh đó và trả về các nhãn: nhà hàng 51.9%, cửa hàng thuốc lá 15.6%, cửa hàng đồ chơi 9.1%.
Cả hai nút đều sử dụng cùng một đầu vào hình ảnh, vì vậy gr.Workflow chạy chúng song song và bạn nhận được cả hai câu trả lời trong khoảng thời gian tương đương với việc chạy một nút.
Phát hiện đối tượng để tạo mặt nạ inpaint
AUTOMATIC1111 bắt bạn phải vẽ mặt nạ inpaint bằng tay. Đường ống này tạo ra mặt nạ từ một bộ phát hiện (detector). DETR tìm thấy sáu đối tượng trong ảnh đường phố (ba người, một con chó, một chiếc xe đạp và một chiếc ô tô), và từ đó quy trình chia thành hai nhánh: một nhánh vẽ các hộp phát hiện lên ảnh gốc, nhánh kia biến chúng thành mặt nạ mà bạn có thể đưa vào đường ống inpaint ở phía sau.
Việc vẽ và tạo mặt nạ đều diễn ra cục bộ với Pillow và NumPy. Chỉ có lệnh gọi phát hiện là rời khỏi máy.
Ma trận gợi ý (Prompt matrix)
Điều này giống như ma trận gợi ý của AUTOMATIC1111. Một gợi ý cơ bản, "một cây sồi cô đơn," được kết hợp với bốn hậu tố (lúc bình minh, trong cơn giông, dưới dải Ngân hà, trong sương mù mùa thu) bởi một nút fn, và mỗi biến thể đi đến nút text-to-image riêng của nó. Một nút cuối cùng sẽ ghép bốn kết quả thành một bảng liên lạc (contact sheet).
gr.Workflow không có toán tử vòng lặp, vì vậy bốn nút text-to-image nằm cạnh nhau trên canvas. Vì chúng ở cùng độ sâu phụ thuộc nên chúng chạy song song, và cả bốn hình ảnh bắt đầu được tạo cùng một lúc.
Nâng cấp và xóa nền
Điều này giống như tab Extras trong Automatic1111. Có hai nút nâng cấp (upscaler), và chúng đi theo các lộ trình khác nhau. Đầu tiên là lấy mẫu lại Lanczos cục bộ trong một nút fn, không cần gọi mạng và hoàn thành nhanh như cách Pillow thay đổi kích thước. Thứ hai là AuraSR ×4, và đây là nút space đầu tiên trên canvas: nó gọi một Space trên Hub và xử lý kết quả giống như bất kỳ đầu ra nút nào khác.
Xóa nền hoạt động theo cách tương tự. BRIA RMBG-2.0 là một nút space khác, vì vậy toàn bộ mô hình nằm trong Space riêng của nó và canvas này chỉ gọi nó vào.
Các bộ chú giải (Annotators)
Canny, line art, sketch, luma-depth và posterize là các bộ tiền xử lý mà bạn thường thấy từ tiện ích mở rộng ControlNet trong Automatic1111. Ở đây, mỗi cái là một nút fn được viết bằng NumPy thuần túy, không có mô hình nào phía sau. Trên một ảnh ví dụ về mặt tiền tòa nhà đã tải sẵn, mỗi bộ chú giải mất khoảng nửa giây trên CPU.
Có 36 nút toán tử trong ứng dụng, 32 là nút fn, và 22 trong số đó chạy hoàn toàn trong tiến trình mà không cần gọi mạng. Khoảng hai phần ba canvas vẫn hoạt động nếu bạn mất kết nối. Vì đây là các hàm Python thông thường, bạn cũng có thể kiểm tra chúng trực tiếp mà không cần canvas, máy chủ hay GPU.
Thông tin PNG (PNG Info)
AUTOMATIC1111 lưu trữ chi tiết tạo ảnh trong đoạn văn bản tham số của tệp PNG, và tab PNG Info đọc lại chúng. Workflow1111 cũng làm như vậy. Nút hậu xử lý trên đường ống text-to-image ghi siêu dữ liệu, và đường ống này đọc lại nó, bao gồm gợi ý, gợi ý phủ định, số bước, CFG, hạt giống, kích thước hình ảnh và mô hình.
Chuyển hình ảnh thành video
Nút hình ảnh mà PNG Info đọc từ đó cũng cung cấp dữ liệu cho một nút Wan 2.2 I2V A14B, giúp tạo hiệu ứng chuyển động; trong ví dụ demo, một con cáo đang ngủ thức dậy và bắt đầu di chuyển. Không cần hộp tải lên thứ hai vì một nút tham chiếu có thể cung cấp dữ liệu cho bao nhiêu đường ống phía sau tùy thích, vì vậy chỉ cần một lần tải lên là siêu dữ liệu được đọc và hình ảnh được tạo chuyển động trên cùng một canvas.
Chạy mô hình trên GPU của riêng bạn
Cho đến nay, mọi lệnh gọi mô hình đều được gửi đến phần cứng của người khác, thông qua Inference Providers hoặc một Space. Đó là lý do tại sao bạn có thể xây dựng và chạy thứ gì đó như Workflow1111 mà không cần sở hữu GPU riêng.
Bài viết được AI dịch và tổng hợp tự động từ Hugging Face: Blog. Liên kết bài gốc ở phía trên. AIHOT.vn luôn dẫn nguồn đầy đủ — nếu bạn thấy điểm cần chỉnh sửa, hãy gửi ý kiến tại trang phản hồi.