Between 10 and 80 images per character. Training starts on upload with no approval step. One bot holds up to 4 characters.
| Setting | Value |
|---|---|
| Minimum | 10 |
| Maximum | 80 |
Outside that range the upload is refused.
Duplicates count toward the minimum: a character with fewer than 10 distinct shots can reach 10 by re-uploading the strongest one.
What a dataset size buys
| Images | Result |
|---|---|
| 10 | The minimum — training will not start below this |
| 6-8 distinct, padded to 10 | Enough for a simple character |
| Up to 80 | A complex character across new poses and appearances |
Leave the background in. Do not cut the character out of its scene; the full scene is what teaches the model to size and place the character in new scenes.
Cover every angle: front, both sides, and the back. An angle absent from the dataset is an angle the model has to invent.
Keep the character's own design constant across the set — same colours, same proportions. Vary the pose, not the character.
Training starts as soon as the images are uploaded. No one reviews or approves the dataset first.
| Setting | Value |
|---|---|
| Estimated | 1.5 hours on an RTX 5090, 2.5 hours on an RTX 4090 |
| Hard ceiling | 6 hours. A run past that is aborted. |
A revision retrains the model on a new or extended dataset. Monthly plans include free revision rounds: two on Starter, three on Heavy and above. The $5 Day Pass includes none: its single training run is spent once the model is trained, and a second attempt is refused.
While training runs, /emojipack and /presets already work. Neither uses the trained character.
One bot holds up to 4 characters. A fifth upload is refused.
Per character
| Element | Per character |
|---|---|
| Trigger word | Unique across the bot — it selects the character |
| Trained model | Its own, trained on its own images |
| Dataset | 10 to 80 images of its own |
A user picks the character by which trigger word they type. Multi-character is an add-on on Heavy plans.
Warning
A character's trigger cannot be the same as any custom command's trigger, and the reverse is also refused.