Dữ liệu prompt
Kho prompt của IMGPrompt được tổng hợp từ các nguồn trên mạng, promptoMANIA, sd-webui-prompt-all-in-one và awesome-gpt-image-2-prompts (CC BY 4.0). Sau khi loại trùng lặp, chuẩn hóa và bản địa hóa sang 18 ngôn ngữ, kho hiện có 5000+ mục prompt tạo ảnh/video, phân bố trong 16 danh mục chính và hàng trăm danh mục con.
Cấu trúc dữ liệu
Toàn bộ dữ liệu prompt nằm trong thư mục src/app/data của dự án:
src
└── app
└── data
├── prompt # Prompt trong 18 ngôn ngữ
│ ├── prompt-zh.json # Tiếng Trung giản thể (bản gốc, các ngôn ngữ khác phái sinh từ đây)
│ ├── prompt-en.json # Tiếng Anh
│ ├── prompt-ja.json # Tiếng Nhật
│ └── ...... # 15 ngôn ngữ khác
└── prompt-custom.json # Prompt do người dùng tự định nghĩa (nạp cho mọi ngôn ngữ)
Mỗi prompt là một đối tượng JSON:
{
"displayName": "portrait",
"langName": "Chân dung",
"object": "Nhân vật",
"attribute": "Nền tảng",
"description": "(Tùy chọn) mô tả hoặc ghi công tác giả",
"preview": "(Tùy chọn) URL ảnh xem trước"
}
Giải thích các trường
| Trường | Bắt buộc | Mô tả |
|---|---|---|
displayName |
✅ Có | Prompt tiếng Anh (duy nhất) — nội dung thực tế được chèn vào khung prompt |
langName |
✅ Có | Bản dịch tiếng mẹ đẻ/ngôn ngữ đích, hiển thị trên thẻ trong giao diện |
object |
✅ Có | Danh mục chính (như Nhân vật / Môi trường / Nhiếp ảnh / Phong cách nghệ thuật) |
attribute |
✅ Có | Danh mục con (như Nền tảng / Cười / Tiêu cự ống kính / Chân dung) |
description |
❌ Không | Chú thích bổ sung trong cửa sổ xem trước (ghi công tác giả, mẹo dùng…) — hiện khi di chuột (máy tính) / nhấn giữ (cảm ứng) |
preview |
❌ Không | URL ảnh xem trước — hiện trong cửa sổ khi di chuột hoặc nhấn giữ 0,5 giây; nhấp / chạm ảnh thu nhỏ để mở lightbox phóng to |
💡 Trường
previewlà nguồn dữ liệu cho tính năng "xem trước khi di chuột / nhấn giữ + nhấp phóng to". Máy tính kích hoạt bằng hover, thiết bị cảm ứng bằng nhấn giữ; chạm nhanh vẫn chỉ thêm / gỡ thẻ.
Mẹo bảo trì dữ liệu
displayNamephải duy nhất — mục trùng lặp sẽ bị bỏ qua và làm giảm chất lượng gợi ý.- Quy ước dấu phẩy:
", "(phẩy + dấu cách) là ký tự ngăn cách thẻ của ứng dụng; bên trong mục tổng hợp hãy nối từ khóa bằng","không dấu cách (nhưsnow,ice). Dấu phẩy có khoảng trắng hoặc dấu phẩy toàn dạng sẽ bị chặn lúc build (kiểm trasliceData). - Dùng lại cùng giá trị
object/attributegiữa các ngôn ngữ để hệ thống phân loại trên giao diện nhất quán. - Giữ
langNamethật ngắn gọn để nhãn thẻ không bị cắt cụt. - Với
preview, khuyến nghị định dạng WebP, ≤ 150 KB, bố cục vuông (1:1) — hiển thị đẹp nhất trong cửa sổ xem trước.
Thêm prompt tùy chỉnh
Để mở rộng nội dung prompt, dùng Bộ chuyển đổi dữ liệu IMGPrompt chuyển dữ liệu của bạn về định dạng chuẩn, rồi lưu kết quả vào src/app/data/prompt-custom.json. Tệp này được nạp khi ứng dụng khởi động và áp dụng cho mọi ngôn ngữ.
Ví dụ:
[
{
"displayName": "cyberpunk cityscape",
"langName": "Thành phố cyberpunk",
"object": "Môi trường",
"attribute": "Thành phố"
},
{
"displayName": "cinematic lighting",
"langName": "Ánh sáng điện ảnh",
"object": "Hiệu ứng ánh sáng và bóng tối",
"attribute": "Hiệu ứng ánh sáng",
"description": "Ánh sáng định hướng dịu + viền sáng tăng chiều sâu",
"preview": "https://example.com/preview/cinematic.webp"
}
]
Mục tùy chỉnh tuân theo đúng quy tắc hiển thị như mục có sẵn: mục nào có preview sẽ được hỗ trợ xem trước khi di chuột / nhấn giữ + nhấp phóng to.