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-oneawesome-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 preview là 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

  • displayName phả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 tra sliceData).
  • Dùng lại cùng giá trị object / attribute giữa các ngôn ngữ để hệ thống phân loại trên giao diện nhất quán.
  • Giữ langName thậ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.