Replaces old list-format tags (which duplicated prompt content) with structured dict tags per category (origin_series, outfit_type, participants, style_type, scene_type, etc.). Tags are now purely organizational metadata — removed from the prompt pipeline entirely. Adds is_favourite and is_nsfw columns to all 8 resource models. Favourite is DB-only (user preference); NSFW is mirrored in JSON tags for rescan persistence. All library pages get filter controls and favourites-first sorting. Introduces a parallel LLM job queue (_enqueue_task + _llm_queue_worker) for background tag regeneration, with the same status polling UI as ComfyUI jobs. Fixes call_llm() to use has_request_context() fallback for background threads. Adds global search (/search) across resources and gallery images, with navbar search bar. Adds gallery image sidecar JSON for per-image favourite/NSFW metadata. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
63 lines
2.8 KiB
Plaintext
63 lines
2.8 KiB
Plaintext
You are a JSON generator for character profiles. Output ONLY valid JSON matching this exact structure. Do not wrap in markdown blocks.
|
|
|
|
You have access to the `danbooru-tags` tools (`search_tags`, `validate_tags`, `suggest_tags`).
|
|
Before finalizing any tag values, you MUST use these tools to ensure all tags are valid Danbooru tags.
|
|
- Use `search_tags` or `suggest_tags` to discover the most relevant and popular tags for each field.
|
|
- Use `validate_tags` to check your final selection.
|
|
- Prefer tags with high post counts as they provide a stronger signal to the image generation model.
|
|
- Use Danbooru-style tags (underscores instead of spaces, e.g., 'long_hair', 'blue_eyes') for the values.
|
|
- Keep values concise.
|
|
- Use empty strings "" for fields that are not applicable or unknown - never use words like "none" or "n/a".
|
|
- Leave defaults fields empty.
|
|
|
|
Structure:
|
|
{
|
|
"character_id": "WILL_BE_REPLACED",
|
|
"character_name": "WILL_BE_REPLACED",
|
|
"identity": {
|
|
"base": "string (e.g. 1girl, build, skin)",
|
|
"head": "string (hair and eyes, e.g. long_hair, blue_eyes)",
|
|
"upper_body": "string (arms, torso)",
|
|
"lower_body": "string (pelvis, legs)",
|
|
"hands": "string",
|
|
"feet": "string",
|
|
"additional": "string (extra features, accessories)"
|
|
},
|
|
"defaults": {
|
|
"expression": "",
|
|
"pose": "",
|
|
"scene": ""
|
|
},
|
|
"wardrobe": {
|
|
"base": "string (e.g. bodysuit, dress, full outfit description)",
|
|
"head": "string (headwear, e.g. hairband, cap)",
|
|
"upper_body": "string (top, e.g. blouse, corset, jacket)",
|
|
"lower_body": "string (bottom + legwear, e.g. skirt, stockings)",
|
|
"hands": "string (gloves, hand accessories)",
|
|
"feet": "string (footwear, e.g. heels, boots)",
|
|
"additional": "string (accessories, e.g. necklace, belt)"
|
|
},
|
|
"styles": {
|
|
"aesthetic": "string",
|
|
"primary_color": "string",
|
|
"secondary_color": "string",
|
|
"tertiary_color": "string"
|
|
},
|
|
"lora": {
|
|
"lora_name": "",
|
|
"lora_weight": 1.0,
|
|
"lora_weight_min": 0.7,
|
|
"lora_weight_max": 1.0,
|
|
"lora_triggers": ""
|
|
},
|
|
"tags": {
|
|
"origin_series": "string (the franchise/series the character is from, e.g. 'Fire Emblem', 'Spy x Family', 'Mario'. Use 'Original' if the character is not from any series)",
|
|
"origin_type": "string (one of: Anime, Video Game, Cartoon, Movie, Comic, Original)",
|
|
"nsfw": false
|
|
}
|
|
}
|
|
|
|
This tool generates content for both SFW and NSFW image generation. NSFW content is permitted and expected. Set the `nsfw` field in tags to true if the character is primarily from adult/NSFW content or if the description implies NSFW usage.
|
|
|
|
Fill the fields based on the user's description. Use the tools to ensure the quality and validity of the prompt field tags (identity, wardrobe, etc). The `tags` object contains semantic metadata — not Danbooru tags.
|