- Captioning
- Trigger words
- Kohya
- Flux
- SDXL
LoRA Captioning Guide: Trigger Words and What to Describe
How to write LoRA training captions: choosing a trigger word, the caption-what-changes rule, and caption formats for Flux, SDXL, and SD1.5 with examples.
Captions are the part of LoRA training most people rush, and the part that most often decides whether the finished model is flexible or stuck. A caption tells the trainer which words should be associated with which pixels. Get it right and you can drop your character into any scene with a single trigger word. Get it wrong and the LoRA either ignores the trigger or refuses to change the outfit. This guide covers trigger word selection, the one rule that governs what to describe, model-specific caption styles for Flux, SDXL, and SD1.5, and the mistakes that show up in most failed datasets.
What is a trigger word?
A trigger word is a token placed at the start of every caption that the LoRA learns to associate with your subject. At generation time, including the trigger word in the prompt activates the learned identity. It works because the trainer sees the same token paired with the same face across every image and binds the two together.
How to choose one
- Use a rare token.
ohwx,sks, andzwxare popular because the base model has almost no prior meaning for them. An invented name likeKaelithworks too if it is not a real celebrity or common word. - Avoid real words. Training on
Emmafights against everything the model already knows about the name. Training onredwould poison the color. - Add a class noun.
ohwx womanorohwx mangives the model a starting point and lets regularization images work on SD1.5 and SDXL. - Keep it short. One or two tokens. Long triggers waste caption budget and are easy to mistype at generation time.
The one rule: caption what changes, not what stays
The LoRA learns whatever is in the image but not in the caption as part of the trigger word. Anything you do describe becomes a separate, controllable concept. So:
- Do not describe permanent identity traits: face shape, eye color, natural hair color, skin tone, scars, freckles. You want these fused to the trigger.
- Do describe everything you want to be able to change later: pose, expression, clothing, accessories, hairstyle if it varies, lighting, camera framing, background, and setting.
Quick test
Trainers sometimes break this rule on purpose. If your character has a signature blue jacket that should appear by default, leave the jacket out of the captions so it binds to the trigger. If you want the jacket optional, caption it every time it appears.
Caption styles by base model
The right caption format depends on the text encoder the base model was trained with. Flux.1 pairs a T5-XXL encoder with CLIP-L and understands full sentences. SDXL uses two CLIP encoders and works with either short sentences or comma-separated tags. SD1.5 uses a single CLIP ViT-L/14 encoder with a 77-token window and responds best to tags.
| Model | Text encoder | Best caption style | Typical length |
|---|---|---|---|
| Flux.1 dev / schnell | T5-XXL + CLIP-L | Natural language sentence | 20–60 words |
| SDXL | OpenCLIP ViT-bigG + CLIP ViT-L | Short sentence or tags | 15–40 words or 10–25 tags |
| SD1.5 | CLIP ViT-L/14 | Comma-separated tags | 10–25 tags, under 77 tokens |
Flux example
ohwx, a woman in a charcoal wool coat standing on a rainy city street at dusk, looking over her shoulder at the camera, medium shot, shallow depth of field, neon reflections on wet pavementSDXL example
ohwx woman, charcoal wool coat, rainy city street, dusk, looking over shoulder, medium shot, shallow depth of field, neon reflectionsSD1.5 example
ohwx woman, 1girl, solo, coat, city street, rain, dusk, looking back, medium shot, neon lightsA caption template that works
Most good captions follow the same order. Keeping the order stable helps the model parse them.
- Trigger and class:
ohwx woman - Wardrobe and accessories:
in a green raincoat and white sneakers - Action and pose:
laughing, hands in pockets - Setting:
on a cobblestone street in the rain - Framing and camera:
full body shot, low angle - Lighting and mood:
overcast soft light
Caption settings that matter in Kohya
| Option | What it does | Recommended |
|---|---|---|
| keep_tokens | Keeps the first N comma-separated tokens fixed when shuffling | 1 or 2, so the trigger never moves |
| shuffle_caption | Randomizes tag order each step | On for tag captions; off for Flux sentences |
| caption_dropout_rate | Drops the whole caption some of the time | 0.05–0.1 to strengthen the trigger |
| caption_extension | File extension for caption files | .txt |
| max_token_length | CLIP token limit | 225 for SDXL/SD1.5 tag lists longer than 75 tokens |
Common captioning mistakes
- Describing the face. “Blue eyes, sharp jawline, freckles” in every caption means the LoRA learns those as promptable attributes, and the trigger word alone produces a generic face.
- Identical captions. Twenty images with the caption
ohwx womanteach the model that background, pose, and outfit are all part of the identity. - Quality tags on training captions. “Masterpiece, best quality, 8k” do nothing useful in training and consume tokens.
- Trigger word not first. If the trigger appears mid-caption and shuffling is on, the model binds to it more weakly.
- Inconsistent class noun. Mixing
woman,girl, andladyacross captions dilutes the anchor. - Auto-captions left unedited. BLIP and WD14 taggers routinely emit “a woman with brown hair and brown eyes,” which violates the one rule. Always strip permanent traits.
Auto-captioning without breaking the rule
Vision-language models can write captions faster than any human, but off-the-shelf captioners describe everything they see, including the face. A captioner built for LoRA training needs three constraints: start with the trigger token, describe only scene-level and wardrobe-level attributes, and keep length appropriate for the target model. LoRA Dataset generates captions under exactly those constraints during dataset creation, so each exported image arrives with a caption that begins with your trigger token and omits the permanent identity traits it extracted. You can see how the identity extraction step works in our guide to creating a LoRA dataset from one image.
Frequently asked questions
What is the best trigger word for a LoRA?
Any short, rare token the base model has no prior meaning for. Common choices are ohwx, sks, and zwx, or an invented name. Pair it with a class noun like "woman" or "man" and place it first in every caption.
Should I describe the face in LoRA captions?
No. Permanent traits such as eye color, face shape, and skin tone should be left out so the model binds them to the trigger word. Describe only attributes you want to control at generation time.
Do Flux LoRAs need tag-style captions?
No. Flux uses a T5 text encoder that understands full sentences, so natural-language captions of 20 to 60 words work best. Tag lists are better suited to SD1.5.
Can I use the same caption for every image?
Avoid it. Identical captions teach the model that everything varying across images, including pose and background, is part of the identity. Each caption should describe that image’s specific scene.
Should I add quality tags like "masterpiece" to training captions?
No. Quality tags carry no training signal for your subject and consume caption tokens. Reserve them for generation prompts if the base model responds to them.