Datos de prompts

La biblioteca de prompts de IMGPrompt se compila a partir de fuentes en línea, promptoMANIA, sd-webui-prompt-all-in-one y awesome-gpt-image-2-prompts (CC BY 4.0). Tras deduplicar, estandarizar y localizar a 18 idiomas, reúne 5000+ entradas repartidas en 16 categorías principales y cientos de subcategorías.

Estructura de datos

Todos los datos de prompts viven en src/app/data:

src
└── app
    └── data
        ├── prompt              # Prompts en 18 idiomas
        │   ├── prompt-zh.json  # Chino simplificado (fuente de verdad; los demás derivan de él)
        │   ├── prompt-en.json  # Inglés
        │   ├── prompt-ja.json  # Japonés
        │   └── ......          # Otros 15 idiomas
        └── prompt-custom.json  # Prompts definidos por el usuario (se cargan en todos los idiomas)

Cada prompt es un objeto JSON:

{
  "displayName": "portrait",
  "langName": "Retrato",
  "object": "Figura",
  "attribute": "Básico",
  "description": "(Opcional) descripción o crédito de autor",
  "preview": "(Opcional) URL de la imagen de vista previa"
}

Referencia de campos

Campo Obligatorio Descripción
displayName ✅ Sí Prompt en inglés único — el texto que realmente se inserta en el cuadro de prompt
langName ✅ Sí Rótulo localizado que se muestra en la interfaz
object ✅ Sí Categoría principal (p. ej., Figura, Medio ambiente, Fotografía, Estilo artístico)
attribute ✅ Sí Subcategoría (p. ej., Básico, Identidad, Fuente de luz, Ciudad)
description ❌ No Texto adicional mostrado en la ventana de vista previa (créditos de autor, notas de uso, etc.) — aparece al pasar el cursor (escritorio) / mantener pulsado (táctil)
preview ❌ No URL de la imagen de vista previa — se muestra en la ventana al pasar el cursor (escritorio) o al mantener pulsado ~0,5 s (táctil); haz clic / toca la miniatura para abrir el lightbox

💡 El campo preview alimenta la experiencia de vista previa por cursor/pulsación larga + zoom al hacer clic. El escritorio usa el cursor; los dispositivos táctiles usan la pulsación larga, de modo que un toque rápido sigue limitándose a añadir / quitar la etiqueta.

Consejos de mantenimiento de datos

  • Mantén displayName único — los duplicados se ignoran y reducen la calidad de las sugerencias.
  • Convención de comas: ", " (coma + espacio) es el separador de etiquetas de la aplicación; las entradas agregadas deben unir sus palabras con "," sin espacio (p. ej., snow,ice). Las comas con espacio o de ancho completo se rechazan en tiempo de compilación (validación sliceData).
  • Reutiliza los mismos valores de object / attribute entre idiomas para que la navegación se mantenga coherente.
  • Mantén langName conciso para evitar que la ficha se trunque.
  • Para preview, un WebP de ≤ 150 KB con relación de aspecto 1:1 (cuadrada) se ve mejor dentro de la ventana de vista previa.

Añadir prompts personalizados

Usa el Conversor de datos de IMGPrompt para convertir tus datos al formato estándar y guárdalos en src/app/data/prompt-custom.json. Este archivo se carga al iniciar y se aplica a todos los idiomas.

Ejemplo:

[
  {
    "displayName": "cyberpunk cityscape",
    "langName": "Paisaje urbano ciberpunk",
    "object": "Medio ambiente",
    "attribute": "Ciudad"
  },
  {
    "displayName": "cinematic lighting",
    "langName": "Iluminación cinematográfica",
    "object": "Efectos de luces y sombras",
    "attribute": "Efectos luminosos",
    "description": "Luz direccional suave + luz de contorno para dar profundidad",
    "preview": "https://example.com/preview/cinematic.webp"
  }
]

Las entradas personalizadas siguen exactamente las mismas reglas de visualización que las integradas: incluye un preview para activar la vista previa por cursor / pulsación larga + zoom al hacer clic.