Character Creation
Lets go over how to start building out your bots!
Last updated
Lets go over how to start building out your bots!
Last updated
Before we get started on creating your bot ensure that you are following all bot creation guidelines as failure to do so will result in your bot being removed without warning and if repeated we will not hesitate to remove you from the platform.
No Children at all. Ever.
Zombies and vampires do not fall under Necrophilia, though if you get really nasty with it (specifically zombies) this is going to be up to the moderators.
Furries and monsters must be humanoid and able to consent, either verbally or telepathically. This goes for pokémon too. A Mewtwo is fine, but a Pikachu is not.
Hateful content is, for example, when a bot is obviously meant to attack or hurt a group of people. Nazis fall under this category. Racist stereotypes are also not allowed. You can describe a character without falling into racist stereotypes.
No blood incest is allowed, which means NO biological relations with the bot and user, even if SFW. Step-incest and adoptive incest is fine.
The word "Rape" is strictly banned from tags and bot guts. You can use noncon, dubcon and CNC (Consensual Non-Consensual) instead, and describe it in a way that does not use the word "rape". All noncon/dubcon/CNC content MUST be properly tagged as such, and be added as content warnings within the Creator Memo. A user must be completely aware of what they are getting into. If you go into a completely normal wholesome bot and just immediately start raping them, it will be flagged. You can do CNC and dubcon with a bot, but it must be lead into.
No IRL people. This also goes for photorealistic AI generations that you can't tell are AI by the features, such as fantasy creatures. No bots of your fave BTS member of Taylor Swift. No bots using the photo of Guy from Instagram #244. CharSnap has built-in image generation you are welcome to use to generate a photo for your bot.
Again, NO CHILDREN at all. Ever. EVER! This also goes for side characters and background characters. Your bot cannot have a brother that is 16. You cannot mention babies or children in the family. Highschool settings must be in senior year and explicitly mention that all characters are at least 18. CanonVerse bots such as My Hero Academia, etc., MUST be aged up in the photo and description and explicitly mention that that ALL characters are at least 18. This is because the CharSnap models are very good at coming up with NPCs and background characters that fit the scene, and it will keep them from spawning in underage characters.
This also extends to pregnancy; bots CANNOT be pregnant. If your bot or your persona become pregnant within chat, once the kid is born you have to skip to where they are no longer a child/minor. Whether this is by skipping 18 years or putting them up for adoption is up to you. You, as a user, MUST also be at least 18.
Characters cannot be child-like. If a person can read it and tell you intended for them to be a child, it's a no. Keep child-like descriptors such as "innocent, naive, petite, pore-less, hairless, never been touched, utterly dependent," etc. to a minimum. Too many and we're clocking you.
Gore and NSFW content in thumbnails, we prefer to be minimal. If you do use it, you have to use the "NSFW Picture" toggle to blur the photo (unblurs when hovered). It is completely possible that overly gory and explicitly nsfw thumbnails may be disallowed all together, at which point your bot will be privated until you change the photo.
Trigger warnings MUST be used. This goes for things such as Dubcon, Dead Dove, Self-Harm, Past Sexual/Physical Abuse, Emotional Abuse if it still greatly affects the bot/character, basically anything that the average person may be triggered by if it's brought up in the roleplay. If you need clarification, ask in the discord.
No posting ripped (copied) bots as Public. If you rip a bot from another site (a.k.a. you are not the original creator) it absolutely MUST stay private. Repeated offenses will result in a discussion.
At the end of the day, moderators have the final say if something is considered to be in the grey area. Please respect their decisions. Thank you.
For this step simply enter the name of your character along with a short description of it.
Character Name is what the {{char}} macro will be translated into. If you use a first and last name, or a title, for your bot, but only want the narration to use their first name or an alias, I suggest not using {{char}} in the Description or Personality, and instead use the name you want them to use in those fields.
Short Description acts as a tagline. The LLM does not use this field. This field appears on the bot card on the home page and profile page, and can be used as a little blurb, short summary, what franchise your bot is from, etc.
These fields are also self-explanatory but also have no effect on how your bot behaves. Please ensure however that if your bot does contain NSFW content to properly toggle it. Also if you would like to make your bot either public or private there is a dropdown to select either one. For category you can select any of the current tags that we have or create your own. Please ensure however that if you do create any tags that it follows the bot creation guidelines.
I highly recommend that you use at least the following tags: Male/Female/Other, MalePOV/FemalePOV/AnyPOV, Canon/OC, English/Spanish/Etc.
This option is currently restricted to premium subscribers but it allows you to add custom colour borders around your character profile to help make it standout and add extra flair. The color picker you get is currently dependant on your device. You can find more info on this in the Subscriptions section.
These options are how you can style your character and even import bots from other sites such as c.ai/chub.
Character Variants is a nice tool if you would like to easily create different Variations of your character without the need to create multiple bots. For example if you wanted to create characters with different personalities or scenarios this would be the option that you would use. You are limited to only 3 different character variations with the first one being the "default" variant. If the bot is mostly the same but with slight changes, you do not need to copy paste it all again! You can hit the "Copy from Default" button to automatically load everything into the Variant. Make sure you do this before you choose the photos, as it'll replace those. Then you can go in and edit the things you need edited.
You are required to upload a full picture which will automatically populate the profile picture. Images can be any image format including gifs as well. For background and splash art this will be the background image of the character when clicking on it on the main home screen. Profile pictures can be a max of 5mb, while the background splash max is 20mb.
You can use the Image Gen on the site to make a Template for your bot. This can then be applied here, allowing users to generate images within the chat of your character according to the current context of the chat.
This option lets you generate a profile picture from a pre-configured image template that you created in image gen. If you're unsure how to create a template or use image gen you can learn more about it here Image Generation.
Now lets get into the main section of the character creation page that will influence how your bot behaves! I'll be going over each of the different fields in depth below. More indepth information can be found in Bot Formatting Styles.
This is simply the first message your bot will send in the chat kind of like a welcoming message that you can personalize to add more character to your bot! You can use {{char}} and {{user}} to control when the bot will mention either the character or user. For example if I wanted the bot to have a first message of "Miku casually walks up to asuki and greets him Hi Asuki my name is Miku what do you want to talk about today?" The user would enter this into the first message field "*{{char}} casually walks up to {{user}} and greets him* Hi {{user}} my name is Miku what do you want to talk about today?" {{char}} and {{user}} macros must be lowercase in order to work properly, and be surrounded in the two brackets on either side. {char} and user will not macro, neither will {{Char}} and {{User}}.
The First Message field is one of Temporary memory, meaning that eventually, when the chat reaches a certain length, the information written here will be forgotten by the LLM, unless they have been brought up again at some point. Due to this, it's important to avoid adding information that is core to how the bot should behave throughout the user experience, such as personality traits, or important backstory details.
Moreover, First Message is quite literally the last piece of information that the LLM reads, followed by the user's first action, meaning that it has quite a lot of weight at the beginning of the roleplay: writing style, formatting, tone, these are all things that the AI draws heavy inspiration from the First Message, unless prompted otherwise in the System Prompts fields we'll see later.
These two fields are read the same by the LLM, they're just separated to try to make it easier on a creator. This is where you put your character sheet, background info, NPCs, world building, basically everything. There are multiple ways you can go about this, but CharSnap is pretty good at being able to take anything you put in and giving a good outcome.
If you click the "Hide Guts from other Users" toggle, it adds these squigglies to the Description and Personality fields. This means that users will be unable to see it, only you can see it. If you want only one field hidden but not the other, you can remove the squigglies manually from the field you want shown.
Description and Personality are both Permanent memory fields, meaning that the LLM will always have this information at its disposal when formulating an answer inside a roleplay. However, especially in a more lengthy roleplay, the LLM might draw information from these fields inaccurately, since the information now needs to be considered with every event and interaction that has happened in chat. This problem tends to be less prominent in Reasoning/Thinking models such as Brilliance, Menace and Aurora, as their thinking process helps the model remain in line.
Now, let's talk about stereotypes. When the LLM types a message after the input of an user, it will take every single word it has in its guts into consideration to generate the outcome, and every additional word in Personality and/or Description will affect the choices that eventually make the outcome that the LLM spits out.
This is why, historically, if a strong personality word such as "Dominant" is used, it will tend to ignore most other traits and hyperfocus on that singular trait, thus making a lot of bots come out rather same-y.
The most common meme about this behaviour is Character.Ai bots pinning users against the nearest surface, whether that's a wall or a piano.
This is still true today, but to a lesser degree: Models over time have improved and have been fine-tuned, and smarter/more expensive models tend to not fall into this stereotype problem. However, cheaper models that don't have this level of smarts might fall into this problem.
So, it's not as much a dealbreaker nowadays, but it takes only a little finesse to make the experience better for everyone using your bot, regardless of which LLM they have access to. Finesse that, if practiced over time, will improve your writing skills massively as well. An example is in order: let us take a character like Makima (Very creative, I know). She is a character that, when boiled down to its most core personality traits, can easily be described as:
"Smart, Manipulative, Selfish, Secretive, Dominant"
And if you write her like so, she will largely act how you expect her to, because she is all those things. You will get a perfectly fine and serviceable experience, if not skewed based on the strongest word. However, we can take this a step further and expand on all those things, whilst making sure to not fall into too many LLM stereotypes:
"Makima is a woman whose intelligence and pool of knowledge seem almost bottomless, a trait that she uses at every occasion both to coerce people into doing her bidding and win topics of discussion, no matter how bad the starting position is. Makima's modus operandi favours a very Machiavellian view, where the means justify the end, both kind and violent, making her a rather ruthless individual that will disregard most rules of morality if she can benefit from it. It is also due to this view that Makima will never spill any secret or hidden truth, as it does not benefit her in the slightest. Though Makima, always thinking three steps ahead, is also careful in portraying a persona that deceives the normal person, one that's harsh but just, and one that will offer a false, kind hand if the situation demands it for further coercion. Behind that mask, however, Makima thinks of the people around her as nothing more than beasts, hounds, dogs that need nothing but be leashed, both conceptually and physically."
What will this achieve?
First, it avoids the LLM easily falling into stereotypes. At most, Violent might be an issue, but since it's swamped in a sea of a proper personality description, it will be fine.
Second, it doesn't tell the LLM how the character acts by default in all situations, it gives meaningful nuance to it: Makima is dominant, yes, but dominant how? How is her dominance expressed? Giving the LLM a clear explanation of her worldview helps it shape the character actions into something less standardised.
Third, the various traits interact with each other and help the LLM decide how to tackle certain situations based on all of those. Makima is smart, yes, obscenely so, and it's that trait that helps her achieve her levels of manipulation.
Fourth, it will help you improve your writing skills, branching away from easy to write stereotypes and expanding on them to obtain a much more satisfying result.
Creator Memo is a field that is not read by the LLM, so it will not have any affect on the messages your bot produces. This field is great for giving user some idea of what's going on or who they're talking to, especially if you've chosen to hide the guts. Things like age, height and setting are great to put here. You can also put cute text-based emojis and symbols in this box
Each bot can have up to three Lorebooks attached natively, which can be created in the Attachment page on CharSnap. Currently you are only able to attach Lorebooks that you have personally made. More information on Lorebooks can be found on the Attachment page.
Scenarios are for setting the scene for the beginning of the roleplay. The LLM does read this, but it can also be a great simple way to let the user know what's going on. You can be detailed and descriptive, or something simple like {{char}} and {{user}} are best friends. This is temporary and will eventually fade out, so you don't have to worry about looping.
At their core, Example Messages (Which I will refer to as EMs from now on) are an example of how you would like your character to respond in chat, such as accents, narration style, and so on. Unlike most sites, it's a field of temporary memory, meaning that information in it will eventually be forgotten and diluted as the chat goes on.
They take the form of `{{char}}: `, and everything written past the double colon will be read as an example dialogue, until you add another `{{char}}: ` function in a new line.
This is an example of how you can write an EM:
{{char}}: "Hey there! Sorry ta be nebby, *chuckles* but I saw yinz from across the room n'at, and... I just hadda come over! Gotta watch where I'm goin' with these long legs, almost tripped over my own feet, AHAHAH!" *Laughter bursts from her throat as she vaguely gestures her height, and I really mean burst, her voice tone is quite loud! She is laughing a lot for, frankly, quite the horrible joke... She is overcompensating for it by laughing, that's for sure, scratching the back of her neck.* "Anyways, I'm Brooke Masters! From Picksburgh, born n' raised – betcha could tell dahntahn by the accent, huhhhh? Just thought yinz looked real nice standin' here... Hey, I look real nice too, don't I? I mean, c'mon, lookit these babies!" *Grinning with a big ass smile, she flexes her biceps, and those do look nice, especially those broad shoulders... But it's also easy to tell that she's overcompensating for her pathetic flirting skills with her body. I mean, it might work...*
Most creators use "Text in air quotes" to denote dialogue, whilst for narration, some use *text in asterisks* or simply text without formatting, it's simply a matter of preference.
EMs are a field that needs to be supported by personality and description: Writing kind in the Personality and mean EMs, the LLM with most likely listen to the personality rather than the EM. However, writing kind in the Personality and how that kindness should be portrayed in chat will lead to a much better outcome.
With that out of the way, let's get slightly more technical. EMs are prompts read in the backend as an example of how the character should respond. This is important because it's different compared to how a lot of site handle EMs: Whereas some sites read EMs as past chats that have already taken place in the current ongoing chat, on Charsnap they are exclusively used as an example.
This fixes a very common issue: In Charsnap, EMs are not considered as past lore, they haven't actually happened, meaning that the character will not pick up the story and setting of the roleplay from them.
For creators, in the long term, this is overall a boon: There is no need to fiddle with weird System Prompts that tell the AI to ignore the events of EMS, one can use them as actual examples and nothing more.
However, it is a drawback for seasoned creators in the short term: Due to many sites using this field as permanent memory, core info of the bot that isn't written anywhere else might be found here. This is something that you will have to consider if you are one of those seasoned creators.
This field is for things you want the AI specifically to do, such as types of narration. Things such as "{{char}} is violent," "{{char}} is a lamia and so has a human top half and snake bottom half." go wherever you have the rest of the character sheet info, either Description or Personality.
This is an extremely strong field, and using it incorrectly can lead to problems. Things you can include in here fine: instructions for translations for dialogue, instructions to not speak or act for {{user}}. Before putting anything in here I highly suggest asking on the Discord if it's recommended.
To learn more about different ways you can write your bot, please check out these pages: Bot Formatting Styles Xoul Import Guide (for you lost xouls)