OpenAI đã mở tính năng nền trong suốt cho GPT-Image-2 trên API, hiện được gắn nhãn preview. Mô tả công dụng chính thức rất rõ ràng: tạo ra tư liệu có thể tái sử dụng, đặt lên bất kỳ nền nào, dùng cho ảnh sản phẩm, thiết kế đồ họa, bản dựng website và vật liệu marketing.
Cách dùng chỉ cần đổi một tham số: đặt background thành transparent, đồng thời giữ output_format ở mặc định png, hoặc đổi sang webp. Jpeg không mang được kênh alpha, chọn định dạng này coi như bỏ phí tính năng. Không phát sinh thêm chi phí, giá vẫn theo bậc cũ.
Công đoạn nào trong quy trình được lược bớt
Trong quy trình thực tế của thương mại điện tử và thiết kế, giữa "tạo ra một tấm ảnh" và "có được một tấm ảnh dùng được" là bước tách nền. Trước đây bước này phải chạy riêng bằng mô hình phân đoạn chuyên dụng hoặc công cụ tách nền truyền thống: tạo ảnh hoàn chỉnh có nền trước, đưa vào phân đoạn, sửa viền, rồi xuất ra PNG có kênh alpha. Chuỗi xử lý dài, mỗi khâu đều có tỷ lệ lỗi riêng, và tóc, kính, vật liệu bán trong suốt luôn là bài toán khó.
Nền trong suốt chuyển bước này vào ngay công đoạn tạo ảnh. Mô hình xuất kết quả trực tiếp trên kênh alpha, về lý thuyết bỏ được một lượt suy luận phân đoạn, một lượt sửa viền, và cả bước chuyển đổi định dạng giữa hai mô hình. Với các đội làm tư liệu hàng loạt, đây là gộp ba bước thành một.
Cách viết prompt cũng có yêu cầu riêng. OpenAI khuyến nghị viết rõ "chủ thể tách biệt, nền hoàn toàn trong suốt", đồng thời nêu rõ loại trừ phong cảnh, nền màu đơn sắc, hoa văn ô cờ và bóng đổ thừa. Đây đều là những yếu tố gây nhiễu xuất hiện tần suất cao trong dữ liệu huấn luyện "nền trong suốt" mà mô hình từng thấy, không nói rõ, mô hình có thể vẽ ra hẳn một tấm nền ô cờ.
Ba lỗi đã được ghi nhận
Cộng đồng lập trình viên đã phát hiện vài vấn đề ngay trong ngày tính năng được mở, đều không ảnh hưởng đến việc dùng được hay không, nhưng đều ảnh hưởng đến việc có thể đưa thẳng vào sản xuất hay không:
- Giá trị alpha ở vùng không trong suốt chỉ dừng ở khoảng 252 đến 254, không đạt giá trị đầy đủ 255. Mắt thường không nhận ra, nhưng khi ghép lên nền tối sẽ lộ ra hiện tượng hơi lộ nền phía dưới trên toàn bộ ảnh.
- Viền ngoài của chủ thể trong suốt xuất hiện thêm một quầng viền xám không hề được yêu cầu, cộng đồng gọi đó là halo. Cần xử lý khử quầng thủ công ở phía client, nếu không viền sẽ bị bẩn khi ghép lên nền màu.
- Giao diện chỉnh sửa (edits) không giữ đúng lớp mặt nạ trong suốt. Khi dùng edits để chỉnh sửa lần hai trên một ảnh trong suốt, thông tin trong suốt sẽ bị mất trong quá trình xử lý, và bước sau đó thậm chí có thể tự vá thêm một nền mới vào.
Lỗi thứ ba gây thiệt hại nhiều nhất cho quy trình làm việc. Công việc làm tư liệu rất hiếm khi tạo ra là dùng được ngay, đa phần phải chỉnh màu, chỉnh góc, chỉnh chi tiết trên cùng một ảnh. Mặt nạ không giữ được nghĩa là mỗi lần chỉnh sửa đều phải tạo lại từ đầu, bố cục đã chỉnh trước đó coi như bỏ đi. Cách né tránh mà tài liệu chính thức đưa ra là nhắc lại yêu cầu giữ nền trong suốt trong prompt của từng bước chỉnh sửa, về bản chất chỉ là một cách vá tạm.
Trọng lượng của nhãn preview
Giá trị alpha 252 đến 254 khá đáng ngờ. Nó không giống một kết quả được thiết kế có chủ đích, mà giống phần dư lại sau một dạng hậu xử lý hoặc lượng tử hóa nào đó trên đầu ra của mô hình. Người thực sự làm công việc ghép ảnh rất nhạy với kiểu sai lệch này: xem một tấm thì không thấy gì, nhưng khi một trăm tấm ảnh được ghép vào cùng một khung mẫu, tông màu tổng thể sẽ tự nhiên ngả xám một cách khó hiểu, và việc truy tìm nguyên nhân cực kỳ tốn thời gian.
Vấn đề viền xám cũng tương tự. Công cụ tách nền truyền thống xử lý viền bằng alpha matting, tính ra một dải chuyển tiếp liên tục; còn mô hình sinh ảnh xuất trực tiếp kênh alpha, giá trị ở viền giống như bị "đoán" ra, thiếu căn cứ vật lý, nên việc xuất hiện quầng sáng không có gì lạ.
Cộng hai điểm này lại, có thể thấy nền trong suốt hiện tại chỉ đủ để làm "bản nháp bớt một công đoạn", còn cách khá xa so với "thành phẩm có thể đưa vào kho". Dùng để làm bản mẫu, làm đề xuất, làm ảnh minh họa cho mạng xã hội thì đủ dùng; còn làm ảnh sản phẩm chính để lên kệ bán hàng, làm vật liệu phải qua kiểm duyệt thương hiệu thì vẫn phải quay lại cách tách nền truyền thống.
Bản thân nhãn preview cũng là một gợi ý: tham số sẽ còn thay đổi, chất lượng đầu ra sẽ còn thay đổi, và logic xử lý đang được viết cứng hiện nay trong tương lai có thể phải viết lại. Những đội muốn dùng sớm, tốt nhất nên tách riêng hai bước khử quầng và chuẩn hóa alpha thành module độc lập, để khi OpenAI khắc phục xong có thể gỡ bỏ ngay, không nên trộn lẫn vào quy trình chính.
Nguồn tham khảo: thông báo và bình luận từ cộng đồng lập trình viên OpenAI, CocoLoop, hướng dẫn viết prompt cho mô hình ảnh GPT, tài liệu tham chiếu API của OpenAI; cách dùng tham số, các định dạng đầu ra được hỗ trợ và khoảng giá trị alpha do lập trình viên thực nghiệm được đối chiếu theo thông tin công khai.