Repo OpenMOSS/MOSS-Image vừa mở công khai code lẫn weight cho MOSS-Image-Base và MOSS-Image-SFT. Đây là một base model DiT 5 tỷ tham số cho bài toán text-to-image, nhưng tập trung vào đúng chỗ mà đa số model sinh ảnh hay làm hỏng: render chữ và kiểm soát bố cục.
Nếu bạn từng thử bắt Stable Diffusion hay các model cùng thời vẽ một tấm poster có dòng chữ tiếng Việt hay tiếng Trung, bạn biết cảm giác nhận lại một mớ ký tự nhìn giống chữ nhưng đọc không ra. MOSS-Image nhắm thẳng vào vấn đề đó. README ghi rõ ba điểm chính: text rendering rõ và chính xác, layout control để đặt chữ và các phần tử hình ảnh theo vị trí mong muốn, và hỗ trợ prompt dài tới 4K token.
Nó giải quyết bài toán gì, cụ thể
Bài toán thứ nhất là chữ trong ảnh. Model nhận prompt mô tả một cảnh, trong đó có đoạn text cần xuất hiện, và phải vẽ ra đúng đoạn text đó. Ví dụ trong README có prompt yêu cầu vẽ tờ giấy nhớ dán trên cửa tủ lạnh, viết tay tiếng Trung “记得买牛奶和鸡蛋!牛奶两盒,鸡蛋一打。顺便带一袋面包。” Model phải render được cả khối chữ đó, không phải chỉ vài chữ cái rời rạc.
Bài toán thứ hai là layout. Thay vì chỉ đưa prompt văn xuôi rồi cầu nguyện, bạn đưa vào một file JSON mô tả từng phần tử: label là text hay object, caption mô tả phần tử đó, text là nội dung chữ cần vẽ, và bbox là bounding box. Model dùng JSON đó để dựng bố cục. Đây là kiểu điều khiển mà dân làm poster, banner, quảng cáo rất cần, vì prompt thuần văn xuôi gần như không nói được “chữ này nằm góc trên bên trái, cao chừng này”.
Điểm thứ ba ít được nói tới nhưng đáng để ý: model được train trên các nền tảng GPU khác nhau (heterogeneous GPU training). Với ai quan tâm chuyện hạ tầng, chi tiết này cho thấy pipeline train không bị khóa cứng vào một loại card.
Vì sao repo này đang được chú ý
Con số 504 sao không phải khủngng, nhưng repo mới tạo ngày 2026-10-16 và cập nhật cùng ngày. Nghĩa là nó vừa ra mắt, chưa có thời gian tích lũy. Cái khiến người ta để mắt tới là sự kết hợp: một base model 5B tham số, weight mở, license Apache-2.0, kèm plugin ComfyUI cài trực tiếp qua ComfyUI Manager, kèm user guide tiếng Anh lẫn tiếng Trung, kèm script prompt enhancer.
So với việc phải tự loay hoay với mấy model text-to-image tổng quát rồi hậu kỳ chữ bằng tay, một model có sẵn khả năng layout và render chữ là thứ nhiều team đang tìm. Cộng thêm việc OpenMOSS tung cả bản Base lẫn bản SFT, trong đó SFT được fine-tune trên dữ liệu chọn lọc, cho thấy họ nhắm tới cả người dùng cuối lẫn người muốn tự fine-tune tiếp.
Cài đặt và chạy thử
Clone repo và tạo venv theo đúng hướng dẫn:
git clone https://github.com/OpenMOSS/MOSS-Image.git
cd MOSS-Image
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
Chạy bằng Python API, lưu ý repo dùng custom_pipeline và trust_remote_code=True, tức là bạn đang chạy code từ xa, cân nhắc trước khi dùng trong môi trường nhạy cảm:
import torch
from diffusers import DiffusionPipeline
pipe = DiffusionPipeline.from_pretrained(
"OpenMOSS-Team/MOSS-Image-Base",
custom_pipeline="pipeline_moss_image",
trust_remote_code=True,
torch_dtype={"default": torch.bfloat16, "vae": torch.float32},
)
pipe.scheduler = type(pipe.scheduler).from_config(pipe.scheduler.config)
pipe.to("cuda")
image = pipe(
"A wide view of a refrigerator beside a kitchen counter with a fruit bowl. A small sticky note on the refrigerator door is handwritten in Chinese:"\n记得买牛奶和鸡蛋!\n牛奶两盒,鸡蛋一打。\n顺便带一袋面包。"",
height=1456,
width=1456,
num_inference_steps=50,
guidance_scale=3.0,
uncond_skip_layers=[22],
generator=torch.Generator("cpu").manual_seed(42),
).images[0]
image.save("refrigerator_note.png")
Có sẵn giao diện Gradio nếu không muốn viết code:
pip install -e '.[ui]'
python gradio_app.py --model OpenMOSS-Team/MOSS-Image-Base
Sampling mặc định đáng nhớ: sampler Flow-matching Euler, 50 steps, CFG 3, shift 5, layer skipping ở nhánh negative tại layer 22. Negative prompt mặc định để rỗng. Nếu bạn quen kiểu CFG 7 của SD thì con số 3 ở đây thấp hơn nhiều, đừng vội tăng lên rồi thắc mắc tại sao ảnh bị gắt.
Về bộ nhớ, Gradio có 3 chế độ: GPU resident (giữ toàn bộ model trên GPU), Component (chuyển từng phần giữa CPU và GPU khi cần), Sequential (ít RAM nhất, chậm nhất). Compile DiT mặc định tắt và không dùng được ở chế độ Sequential.
Layout-to-image: phần đáng thử nhất
Đây là chỗ MOSS-Image khác biệt rõ nhất so với model text-to-image thông thường. Bạn đưa JSON vào ô Prompt của Gradio, model dựng ảnh theo đúng bố cục đó. Ví dụ từ README, canvas 1024×1024:
{
"summary": {
"meta": ["poster"],
"canvas": "single",
"caption": "A minimalist travel poster with a cream background, a blue mountain illustration, and the title EXPLORE at the top."
},
"items": [
{
"label": "text",
"caption": "Large dark-blue uppercase title centered at the top.",
"text": "EXPLORE",
"bbox": [-416, -384, -288, 384]
},
{
"label": "object",
"caption": "A flat blue mountain illustration in the lower center.",
"bbox": [-192, -288, 384, 288]
}
],
"bbox_coord_space": "abs_centralized",
"bbox_format": "yxyx"
}
Cần chú ý hai tham số định dạng. bbox_format: "yxyx" nghĩa là thứ tự là [y_min, x_min, y_max, x_max], không phải xyxy như nhiều thư viện detection. Còn bbox_coord_space: "abs_centralized" là tọa độ pixel tính tương đối quanh tâm canvas. Hiểu sai hai cái này là ảnh ra lệch ngay, mà thông báo lỗi thì không có gì rõ ràng đâu.
README cũng nói layout hỗ trợ cả việc edit có kiểm soát: sửa text, sửa caption của phần tử, sửa bbox, rồi generate lại. Với ai làm công cụ thiết kế có bước hậu chỉnh, đây là hướng tiếp cận đáng học.
Ai nên dùng
- Team làm công cụ tạo poster, banner, ảnh quảng cáo có chữ, nơi bố cục phải cố định chứ không thể random.
- Ai cần generate ảnh có chữ tiếng Trung hoặc tiếng Anh rõ ràng, ví dụ ảnh chụp bảng trắng, nhãn dán, biển hiệu.
- Người muốn fine-tune một base model vào domain riêng: README có mục LoRA training guidance trong user guide, và bản Base được giới thiệu là dễ adapt sang task, domain tùy chỉnh.
- User ComfyUI muốn thử nhanh: plugin có sẵn trên ComfyUI Manager, chỉ cần tìm “MOSS-Image”.
Không phù hợp nếu bạn chỉ cần generate ảnh nghệ thuật tự do, không quan tâm chữ và layout. Lúc đó mấy model phổ thông nhẹ hơn sẽ hợp lý hơn.
Ưu điểm và những chỗ cần cân nhắc
Ưu điểm rõ: weight mở, license Apache-2.0 (khá thoáng cho cả mục đích thương mại, nhưng vẫn nên đọc kỹ phần license và acknowledgements trong repo), backbone chỉ 5B nên không quá ngốn VRAM so với mấy model hàng chục tỷ, hỗ trợ prompt 4K token, có JSON layout, có plugin ComfyUI, có sẵn cả Base lẫn SFT.
Mấy điểm tôi thấy cần để ý. Thứ nhất, repo mới ra ngày 2026-10-16, tức là cực non, chưa có cộng đồng đủ lớn để biết model hỏng ở đâu, bug nào hay gặp. Sao mới 504, tài liệu dựa chủ yếu vào README và user guide. Thứ hai, trust_remote_code=True với custom_pipeline là thứ bạn nên cân nhắc, nhất là khi deploy trong pipeline tự động. Thứ ba, repo dùng custom_pipeline="pipeline_moss_image" thay vì pipeline có sẵn trong diffusers, nên mỗi lần diffusers lên version mới có khả năng phải sửa. Đây là kiểu nợ kỹ thuật quen thuộc của các repo model mới.
Về license Apache-2.0, nó không ràng buộc nhiều, nhưng phần acknowledgements trong repo có thể nhắc tới các thành phần bên thứ ba, đọc cho chắc trước khi đưa vào sản phẩm.
Một chi tiết nhỏ: README giới thiệu prompt enhancer skill dành cho “GPT-6-family agents” với local file và Python tools. Script này chuyển bản nháp tọa độ pixel thành JSON gọn với tọa độ nguyên căn giữa, và nó không gọi dịch vụ sinh ảnh. Nghe hơi lạ nhưng thực ra hữu ích, vì khâu chuyển ý tưởng thành layout JSON là chỗ dễ sai nhất khi làm việc với model kiểu này.
Kết
504 sao sau đúng một ngày ra mắt, cộng với việc tung weight mở cho cả Base lẫn SFT, cho thấy OpenMOSS đang đặt cược vào phân khúc model sinh ảnh có kiểm soát layout và chữ, chứ không đua theo hướng ảnh đẹp nghệ thuật. Nếu công việc của bạn dính tới poster, banner hay ảnh cần chữ đọc được, đáng bỏ một buổi chiều clone về chạy thử. Còn nếu cần một thứ đã được cộng đồng đập lỗi đủ lâu, chờ thêm vài tháng xem repo OpenMOSS/MOSS-Image tiến hóa thế nào.
