Skip to content

Cách tôi tự động hóa toàn bộ ảnh bìa bằng Hermes Agent & Nano Banana 2

Để viết xong một bài note thực hành rồi phải tự tay vẽ ảnh bìa cho đúng chuẩn, căn chỉnh nhân vật rồi xóa nền mộc mạc là một lực cản lớn khiến nhiều ghi chép mãi nằm trong hòm nháp. Tôi đã dựng một quy trình khép kín: đẩy bài viết qua Gemini 3.1 Flash Image (Nano Banana 2) kèm theo bảng nhân vật mẫu, rồi tự động tách nền bằng ImageMagick để đưa thẳng lên web Astro.

Sức ì sinh ra từ những bộ ảnh bìa

Trên trang thanhan.dev, mỗi ghi chép thực hành đều cần một bức ảnh bìa để định hình nội dung. Thế nhưng, với một người vừa viết vừa làm kỹ thuật như tôi, khâu hình ảnh là một lực cản trì hoãn thực sự:

  1. Gõ lệnh rồi thử đi thử lại nhiều lần trên các mô hình ảnh rất mất thời gian mới ra được tấm đúng ý.
  2. Việc giữ vững một phong cách vẽ và đặc biệt là khuôn dáng của cùng hệ nhân vật qua các bài viết khác nhau là điều cực kỳ khó khăn nếu chỉ dùng các câu lệnh chữ thông thường.
  3. Ảnh thô từ mô hình trả về luôn có nền đen đặc thay vì lớp màu trong suốt tiện lợi. Việc phải mở Photoshop hay Figma ra để cắt ghép, xóa nền thủ công trước khi đăng bài làm mất rất nhiều động lực viết lách.

Sự mệt mỏi trong khâu xử lý ảnh này tạo ra nút thắt. Nhiều bài đã viết xong xuôi nhưng vẫn nằm nguyên trong hòm nháp chỉ vì “thiếu ảnh bìa”.


Giải pháp: Quy trình tạo ảnh tự chạy

Thay vì mất thời gian chỉnh sửa ảnh bằng tay, tôi tự động hóa khâu này. Quy trình chạy trực tiếp qua mô hình Gemini 3.1 Flash Image (Nano Banana 2) trên OpenRouter kết hợp với các bước xử lý ảnh địa phương bằng ImageMagick.

Để nhân vật không bị lệch dáng, hệ thống gửi kèm bảng nhân vật gốc dưới dạng dữ liệu ảnh song song với mô tả bối cảnh của mỗi bài:

Mô tả bài viết và bảng nhân vật mẫu đi qua Nano Banana 2, ImageMagick và Astro để thành ảnh bìa PNG trong suốt
Mở sơ đồ quy trình đầy đủ

Để quy trình này lặp lại dễ dàng trong tương lai chỉ bằng một câu lệnh, tôi đã đóng gói toàn bộ các bước thành một skill Hermes tái sử dụng mang tên thanhan-dev-post-hero-images. Bây giờ, tôi chỉ cần nhắn với agent:

“Tạo ảnh bìa cho bài viết mới về chủ đề X”

Hệ thống sẽ tự động quét bài nháp, soạn lệnh vẽ, tải bảng thiết kế nhân vật chuẩn, gọi API, chạy lọc nền và lưu ảnh lưu trữ hoàn toàn tự động.


Bảng thiết kế nhân vật chuẩn

Đây là đúng bảng biểu cảm được script gửi kèm trong mỗi lần tạo ảnh. Nó không phải ảnh bìa hoàn thiện. Nó là thước đo để Gemini giữ được phần bóng trên đầu, lông mày rậm, cặp kính tròn, trang phục, nét vẽ và dải biểu cảm của nhân vật khi dựng bối cảnh mới.

Bảng nhân vật gốc được gửi cho Nano Banana 2


Giải quyết bài toán tách nền đen đặc

Các mô hình ảnh tạo ra kết quả tốt nhất trên nền màu đặc cố định thay vì lớp trong suốt. Để biến đổi tấm ảnh thô nền đen đặc này thành một file ảnh có nền trong suốt, tương thích tự nhiên với cả giao diện tối và sáng của website, hệ thống sẽ kích hoạt một trình xử lý phụ.

Chúng ta tuyệt đối không thể dùng lệnh lọc tách đen đại trà trên toàn bộ ảnh, vì điều đó sẽ phá hủy luôn mắt nhân vật, bộ comple đen hay các chi tiết vẽ màu tối bên trong. Thay vào đó, quy trình sử dụng thuật toán loang màu (floodfill) có viền đệm để lọc nền từ ngoài vào trong:

# 1. Thêm một viền đệm tạm thời để mọi mảng nền rìa ngoài tiếp nối được với nhau
raw-hero.png -bordercolor black -border 4x4 padded.png

# 2. Chạy thuật toán loang tách nền bắt đầu từ góc của viền đệm ngoài cùng
magick padded.png -alpha on -fuzz 3% -fill none -draw 'color 0,0 floodfill' cutout-padded.png

# 3. Cắt bỏ viền đệm tạm thời đi
magick cutout-padded.png -shave 4x4 cutout.png

# 4. Trích xuất và làm mượt rìa ngoài (feather) để tạo đường viền mịn màng
magick cutout.png -alpha extract -blur 0x0.65 mask.png
magick raw-hero.png mask.png -alpha off -compose CopyOpacity -composite transparent-hero.png

Quy trình này giữ nguyên vẹn mực đen vẽ bên trong nhân vật, trong khi rìa bóng ngoài của hình vẽ mờ nét mượt mà vào màu nền trang web của bạn:

Bức ảnh sau khi tách nền hoàn hảo trên trang web


Bản thiết kế mang về: Gửi đoạn này cho Hermes Agent của bạn

Đây không phải câu lệnh để tạo một tấm ảnh. Hãy chép nguyên khối dưới đây vào Hermes Agent của bạn để nó dựng quy trình dùng lại được với bảng nhân vật và website của riêng bạn:

Hãy xây cho tôi một quy trình tạo ảnh bìa bài viết có thể dùng lại trong repository này. Trước hết, hãy đọc cấu trúc nội dung, quy ước đặt ảnh và lệnh build đang có. Dùng đúng các quy ước đó, không dựng thêm một hệ riêng song song.

Yêu cầu:
1. Tạo một đường dẫn cố định cho bảng nhân vật mẫu trong phần assets của repository. Mỗi lần tạo ảnh đều phải đính kèm chính bảng này dưới dạng đầu vào ảnh, không chỉ mô tả nhân vật bằng chữ.
2. Thêm một script nhỏ đọc `OPENROUTER_API_KEY` từ environment rồi gọi model `google/gemini-3.1-flash-image` qua OpenRouter. Request phải gửi cả mô tả bối cảnh lẫn bảng nhân vật đã mã hóa base64. Tạo ảnh vuông trên nền đen đặc; không yêu cầu model trả nền trong suốt.
3. Lưu ảnh thô ngoài thư mục tài sản xuất bản. Khi duyệt xong, resize theo chuẩn ảnh của site.
4. Dùng ImageMagick để chỉ xóa nền đen thông với mép ngoài: thêm viền đen tạm, flood-fill từ góc viền với fuzz nhỏ, cắt viền ra rồi feather alpha mask. Không được đổi toàn bộ màu đen thành trong suốt vì cách đó xóa cả nét mực, áo, mắt và kính bên trong ảnh.
5. Chép PNG trong suốt đã kiểm tra vào thư mục ảnh public, gắn nó vào metadata của bài liên quan, và lưu scene prompt cạnh assets để sau này tạo lại được.
6. Đóng gói các đường dẫn, lệnh tạo ảnh, bước ImageMagick, cách QA và build verification thành một Hermes skill. Lần sau tôi chỉ cần nhắn: "Tạo ảnh bìa cho [bài viết]" là agent phải chạy được trọn quy trình.

Trước khi sửa file, hãy cho tôi biết các đường dẫn và lệnh đã tìm thấy. Sau đó mới triển khai, chạy build thật và báo lại file ảnh đã tạo, route đã sửa cùng kết quả kiểm tra. Không bao giờ in API key.

Tự động hóa khâu hình ảnh của bạn

Loại bỏ những rào cản vụn vặt trong khâu làm nội dung là phương án tối ưu để bạn có nhiều không gian tập trung cho việc viết lách. Nếu bạn muốn cấu hình agent của mình tự động gọi thư viện ảnh mẫu, dựng quy trình tự tách lọc nền hoặc tích hợp bộ công cụ xử lý tệp tin cục bộ: