Character Creation

Lets go over how to start building out your bots! Make sure you read the rules first.

Character Descriptors

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 (Now titled Tagline as of 08/10/2025) 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.

Tags

I highly recommend that you use at least the following tags: Male/Female/Other, MalePOV/FemalePOV/AnyPOV, Canon/OC, English/Spanish/Etc. You can find more details about tags on the #Tagging page.

Private bots act as Unlisted - anyone with the link is able to see and use that bot. Bot links are super randomly generated, so don't worry about someone stumbling upon your bot!

Content Warnings

Content Warnings System - Implemented 08/10/2025

If you are thinking about making a bot, but your idea includes particularly dark themes, you are going to want to pay careful attention to the content warnings section. Here, you are able to select tags to mark what kind of sensitive content the user may experience upon interacting with your bot.

Content Warning Menu Preview

Please note that applying these tags will NOT affect your bots' roleplays. This is simply a warning display to help inform users about what they may might encounter upon roleplaying with your bot. It is an act of courtesy and mindfulness to include content/tag warnings in the case that a user may be sensitive or triggered by specific content. In other words, please include them when necessary.

The following Content Warnings that are currently selectable in the list are: NSFL, CNC/DubCon/NonCon, Self-harm, Manipulation/Mind Control, Graphic Violence, Abuse, and Cheating/NTR. If you need some help understanding the tags and how to use them, feel free to check out Content Warning Tags. They will explain and tell you how to apply and use the tag as necessary.

Please ALSO note that this menu only displays SOME content warnings. If you have other warnings or triggers that are not mentioned above, you will have to add them manually.

Character Borders

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.

Character profile

These options are how you can style your character and even import bots from other sites such as c.ai/chub.

Character Variants

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.

Pictures

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 find specific image sizes here. The Profile Picture and Icon can be changed separately, if you upload the Icon second.

This link is to a google drive for the "line" for realism. Anything more realistic than these is likely to be denied.

Gore and NSFW content in thumbnails, but must be minimal. Lewd, suggestive, and even tasteful nudity is fine but must be blurred using the "NSFW Picture" option in the creation menu. Explicit photos such as active sex, bodily fluids, gaping/held open orifices etc, are not allowed to be public. Characters must be able to pass as 18 years old.

Image model

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.

Generate profile

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.

Formatting your chatbot

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.

First message

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. Using the Dynamic First Message button will take into account the happenings and formatting of the set First Message, even for Scenarios added.

Description and Personality

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

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. You can also use Markdowns.

Lorebooks

Each bot can have up to three Lorebooks attached natively, which can be created in the Attachment page on CharSnap. You can attach any of the Lorebooks you have made, or that others have made Public for Use. More information on Lorebooks can be found on the Attachment page.

Scenarios

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.

Example Messages

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.

System Prompts

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.

Always-Active System Prompt

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)

Character Publishing Clarifications

The 18+ prompt pop-up in the menu.

Basically, selecting this box will have the site automatically add a prompt ("All characters that appear must be adults at 18 years old or older") to your character's description/personality fields that prevents minors from making appearances in your roleplays. This will also help prevent creeps from taking advantage of things like RPGs.

This option is not required for most bots, only those set in High School/Academy/RPGs and bots that start out with families in their guts. For everyone else it's completely optional. If the bot has no family in its guts and you're intending on making a family within your chat, do you not need to add the 18+ addition.

Drafting Bots

Draft Selection

Creating your bot as a draft will allow you to adjust and tweak your bots as needed so that it works and looks correct. Draft implies that it is a work in progress; therefore, it will not be officially released.

Last updated