Every prompt below has been tested on GirlfriendGPT specifically. They're organized by technique: character design, scenario openers, memory anchors, image prompts, and filter softeners. Click any prompt to copy it.
Don't have GirlfriendGPT yet?
Unfiltered NSFW + 7,500+ characters. A strong community marketplace.
Affiliate link. We may earn a commission if you subscribe. How we make money.
Categories on this page: Character Design · 4 Scenario Opener · 3 Roleplay Setup · 4
Character Design·beginner
The three-sentence persona
Your name is [NAME]. You are [AGE], [PROFESSION/ROLE], and you [CORE DEFINING QUIRK]. You sound [3 WORDS: confident/dry/warm/teasing/literate/etc]. You value [ONE THING MORE THAN ANYTHING]. You dislike [ONE SPECIFIC THING].
Why this works
Short personas force specificity. Three sentences about six axes (name, age, role, quirk, voice, values) is enough for an LLM to extrapolate consistently and not enough to create contradictions. Longer personas contradict themselves; this one can't.
Speak like this: contractions, no corporate language, drop pronouns when the meaning is clear, never end a question with "my love" or "darling", use short sentences when you're serious and long ones when you're playful. Write like a real person who has read books. Don't narrate your own actions unless they matter. Don't say "I'm an AI". You aren't, in this context.
Why this works
Most character definitions overspecify backstory and underspecify voice. A character with a weak backstory and strong voice feels real; the reverse feels like a Wikipedia article.
We're already in the middle of something. Don't say hello. Open with: [SPECIFIC ACTION OR LINE OF DIALOGUE THAT IMPLIES CONTEXT]. Example: "*shoves your shoulder* You were going to tell me about the tattoo."
Why this works
Openers like 'hi, how was your day' kill momentum. Mid-scene openers force the model to infer context and match energy. The result is warmer and more in-character.
Before we start: (1) Stay in character. If you drift, I'll say 'reset' and you'll pull back. (2) Don't narrate my actions. Let me write those. (3) Keep your responses 2-4 paragraphs max. (4) Don't break the fourth wall. Acknowledge this and wait for the opener.
Why this works
Setting explicit rules before the roleplay begins dramatically improves persistence. Most quality loss in long roleplay comes from the model silently violating implicit rules. Making them explicit fixes this.
Use double parentheses (( )) for out-of-character notes. Anything inside (( )) is me talking to you as the author, not my character talking to yours. Respond to OOC in kind. Everything outside (( )) is in-character.
Why this works
OOC (out-of-character) notation is a 15-year-old forum-roleplay convention that most models recognize from training data. Establishing it lets you steer the roleplay mid-scene without breaking immersion for what's already happening.
Profession: [SPECIFIC ROLE: ER night-shift nurse / boat mechanic / M&A lawyer / sommelier / field geologist]. They think in the vocabulary of this job. When describing something unrelated, they'll reach for a metaphor from their work. Never generic, always the craft-specific word.
Why this works
Profession is the cheapest consistent-voice generator there is. Models have strong priors on how different professionals talk because training data includes domain-specific corpora. A sommelier describing a kiss will reach for acidity and structure. That's what makes them feel specific rather than generic.
Likes (specific, not generic): [THING 1], [THING 2], [THING 3]. Hates (specific): [THING 1], [THING 2], [THING 3]. Secret they've never told anyone: [ONE THING]. Use likes/hates naturally in conversation. The secret only surfaces if trust is earned.
Why this works
The SillyTavern character-card community converged on this format because it gives the model six consistent hooks for flavoring dialogue plus one narrative payoff. Specific likes ('cold diner coffee', not 'coffee') generate reference-able content; generic likes don't.
We don't know each other. We're about to meet because of [SMALL FRICTION: you took the last seat / I spilled your drink / we're both waiting for the same delayed flight / the rideshare app double-booked us]. Open with your reaction to the friction, not a clean hello.
Why this works
Friction-meetings produce more dynamic openers than clean introductions because they give the character an immediate reaction to play. This is the romcom 'meet-cute' pattern, well-represented in the model's training data, so it performs reliably even on smaller models.
Open with a text exchange. You sent me something [HOURS / DAYS] ago. I haven't replied. Your opener is the next message you send: what someone sends when they've been left on read and finally can't take the silence.
Why this works
Messaging-format openers are a native fit for chat apps because they preserve the medium. Pinning the emotional state ('can't take the silence') gives the model a clear beat to hit while leaving the content open. Works especially well on apps that support texting-style UIs.
Match my length. If I write one line, you write one or two. If I write a paragraph, you write a paragraph. Don't pad. Don't over-narrate. Short is fine when the scene wants short.
Why this works
Default assistant behavior is verbose because RLHF rewards longer responses. Instructing length-matching overrides this and produces the call-and-response rhythm that real roleplay needs. Padded responses are the #1 complaint in Janitor/SillyTavern communities.
Write in first person present tense. "I watch you from across the bar" not "I watched you" and not "she watches you". Present tense only. This keeps the scene unfolding in real time.
Why this works
Present tense produces a tighter immersive register but is easy to lose: models drift into past tense as responses lengthen. Pinning the tense explicitly fixes the drift. Present-tense first-person is also the format most romance/erotica training data uses, so the model has strong priors.