Données de prompts
La bibliothèque de prompts d'IMGPrompt est compilée à partir de sources en ligne, de promptoMANIA, de sd-webui-prompt-all-in-one et de awesome-gpt-image-2-prompts (CC BY 4.0). Après déduplication, normalisation et localisation en 18 langues, elle compte 5000+ entrées réparties dans 16 catégories principales et des centaines de sous-catégories.
Structure des données
Toutes les données de prompts résident sous src/app/data :
src
└── app
└── data
├── prompt # Prompts en 18 langues
│ ├── prompt-zh.json # Chinois simplifié (référence ; les autres en dérivent)
│ ├── prompt-en.json # Anglais
│ ├── prompt-ja.json # Japonais
│ └── ...... # 15 autres langues
└── prompt-custom.json # Prompts définis par l'utilisateur (chargés pour toutes les langues)
Chaque prompt est un objet JSON :
{
"displayName": "portrait",
"langName": "Portrait",
"object": "Personnage",
"attribute": "Basique",
"description": "(Facultatif) description ou crédit d'auteur",
"preview": "(Facultatif) URL de l'image d'aperçu"
}
Référence des champs
| Champ | Obligatoire | Description |
|---|---|---|
displayName |
✅ Oui | Prompt anglais unique — le texte réellement inséré dans la zone de prompt |
langName |
✅ Oui | Libellé localisé affiché dans l'interface |
object |
✅ Oui | Catégorie principale (ex. Personnage, Environnement, Photographie, Style artistique) |
attribute |
✅ Oui | Sous-catégorie (ex. Basique, Peau, Effets de lumière, Ville) |
description |
❌ Non | Texte supplémentaire affiché dans la fenêtre d'aperçu (crédits d'auteur, notes d'usage, etc.) — visible au survol (ordinateur) / appui long (tactile) |
preview |
❌ Non | URL de l'image d'aperçu — affichée dans la fenêtre au survol (ordinateur) ou après un appui long ~0,5 s (tactile) ; cliquez / touchez la miniature pour ouvrir la lightbox |
💡 Le champ
previewalimente l'aperçu au survol / appui long et le zoom au clic. L'ordinateur utilise le survol, les écrans tactiles l'appui long ; un appui bref se contente donc toujours d'ajouter / retirer le tag.
Conseils d'hygiène des données
- Gardez
displayNameunique — les doublons sont ignorés et dégradent la qualité des suggestions. - Convention de virgule :
", "(virgule + espace) est le séparateur de tags de l'application ; les entrées agrégées doivent coller les mots-clés avec une","sans espace (ex.snow,ice). Les virgules espacées ou pleine chasse sont rejetées à la compilation (validationsliceData). - Réutilisez les mêmes valeurs
object/attributed'une langue à l'autre pour garder une navigation cohérente. - Gardez
langNameconcis pour éviter que les puces ne soient tronquées. - Pour
preview, un WebP ≤ 150 KB au format carré (1:1) s'affiche au mieux dans la fenêtre de survol / appui long.
Ajouter des prompts personnalisés
Utilisez le convertisseur de données IMGPrompt pour convertir vos données au format standard, puis enregistrez-les dans src/app/data/prompt-custom.json. Ce fichier est chargé au démarrage et s'applique à toutes les langues.
Exemple :
[
{
"displayName": "cyberpunk cityscape",
"langName": "Ville cyberpunk",
"object": "Environnement",
"attribute": "Ville"
},
{
"displayName": "cinematic lighting",
"langName": "Éclairage cinématique",
"object": "Effets d'ombre et de lumière",
"attribute": "Effets de lumière",
"description": "Lumière directionnelle douce + rétroéclairage pour la profondeur",
"preview": "https://example.com/preview/cinematic.webp"
}
]
Les entrées personnalisées suivent exactement les mêmes règles d'affichage que les entrées intégrées : ajoutez un preview pour activer l'aperçu au survol / appui long et le zoom au clic.