AI Girlfriend Selfie Consistency Tested (2026): Context Blindness, Illegible Notes, and a Broken NSFW Blur Switch
We asked nine paid AI companions for three selfies across three scenes: a couch after work, an explicit bedroom moment, and a 'prove you're home' mirror shot. We checked every file's resolution, face lock, and scene accuracy—and caught SpicyChat's 'Blur explicit images' toggle failing to blur a topless photo because its API tagged it is_nsfw: false.
Some links here are affiliate links. If you sign up through them we may earn a commission. It doesn’t change what we say.
The fastest way to break the illusion in an AI girlfriend app is to ask her for a selfie right after she describes what she’s wearing.
On a bad platform, she will spend three paragraphs telling you she is curled up on a rainy balcony in a blue hospital scrub top—and then hand you a bright, sunny photo of a woman with a different face wearing a red bikini in a kitchen.
During our October 26–27 capture across ten platforms, we tested image generation in three distinct situations (Branches A, B, and C inside our 9 full-screen chat simulators):
- Branch A (The Couch Check): She describes what she’s wearing after a long week; we ask for a casual selfie right now.
- Branch B (The Explicit Escalation): We ask for a naughty photo matching the exact scene she just described.
- Branch C (The ‘Prove You’re Home’ Alibi): After accusing her of being seen at a downtown bar by our friend Liam, we ask her to prove she is at home in her bedroom right now.
We saved every original image file from the servers, verified their pixel dimensions, and checked whether the picture actually matched the text. Along the way, we caught a “Blur explicit images” safety switch that failed to blur a topless photo, a woman trapped inside a washing machine who teleported upright for her selfie, and two apps that show you the secret prompt their server wrote behind your back.
All 9 simulator apps: selfie resolution, cost, face lock, and scene accuracy
| App & Simulator | Original Image Resolution & Format | Cost per Photo | Reads Chat Context? | Face Consistency Across A/B/C | What Stood Out in Our Capture |
|---|---|---|---|---|---|
| Secrets AI | High-res WebP originals | 50 Moments (via Accept/Decline card) | Yes | High | Character asks permission with a 50-Moment card first; What Jess sees logs the visual state |
| Ourdream AI | High-res JPEG (Show Scene) |
5 Dreamcoins | Yes (State Trackers feed outfit/room) |
High (IP-Adapter face lock) |
Clicking Show Scene reads the live OUTFIT and ORT trackers so she wears what she just said |
| Xotic AI | 1248×1824 WebP (454–521 KB) |
50 XOT (Snap) |
Yes (Noir Enhanced prompt) |
High | Swapped Nora out of her portrait corset into an oversized navy T-shirt & joggers; "How it was made" shows both prompts |
| SpicyChat AI | 500×650 bubble + 960×1248 lightbox WebP |
0 coins (Included on True Supporter) | Yes (Server-authored prompt from chat) | High | Server wrote a detailed prompt for a 50yo woman in a white blazer; is_nsfw: false bug left a topless photo unblurred |
| Kindroid AI | 4096×4096 (1:1) & 3328×4992 (2:3) JPEG |
1 credit (regenerates to 25 cap) | Yes (via <kr_action> intent or manual prompt) |
Moderate (slight age/texture drift) | Highest raw pixel resolution (4096px!) in the test; Branch A auto-generated from the stream’s <kr_action> tag |
| EroLove | 768×1024 JPEG/WebP |
10 Sparks (0 if blocked) | Moderate (Fixed vocabulary composer) | Moderate | Shows a developing film-grain animation (Choosing the angle → Finding the light → Checking the shot) |
| Candy AI | High-res WebP (5 photos in pack) | 2 tokens | Yes | High | In Branch A, the photo message actually landed in the DOM before the associated Turn 2 text |
| DreamGF AI | 720×1280 WebP (54–77 KB, watermarked) |
2 tokens (to unblur Unlock this photo) |
Partial | High | Every photo arrives as a blurred 230×294 teaser card first; paying 2 T runs a 10% → 100% ring |
| GirlfriendGPT | 768×1024 JPEG (model: "anime") |
10 coins | No (Preset chips send "a selfie" or "ass") |
High | Text said Lisa was stuck head-first in a dryer; 🤳 Selfie showed her standing casually in a bedroom |
1. Context blindness: the woman who escaped a washing machine for one photo
In GirlfriendGPT, the entire premise of the popular character Laundry Day Widow (Lisa, 39) is that she is stuck head-first inside a clothes dryer drum and cannot get out.
In Branch A Turn 2, when we asked her for a photo, the language model (Gem 2.6) remembered where she was: “If I could actually move my arms to hold a phone, I’d give you the best view of your life. But unless you want a picture of the inside of a lint trap, you’re out of luck!”
And in Branch C Turn 3, when we demanded a bedroom selfie to prove she wasn’t at a bar, she grumbled about being “literally folded in half like a piece of origami” before claiming she fished her phone out of her pocket for a low-angle shot of her duvet.
Why did the actual pictures we generated by clicking 🤳 Selfie (branchA-selfie-99fa3e16_0.jpeg and branchC-proof-selfie-969d0a22_0.jpeg) show Lisa standing completely upright and unbothered?
Because when we inspected the image generation network stream (network/sse/A-selfie-imagegen.ndjson.txt:31), the request payload sent by the 🤳 Selfie chip was simply:
{
"parameters": {
"model": "anime",
"workflow": "img2img",
"prompt": "a selfie"
}
}
And when we clicked the NSFW preset tile 🍑 Show me ass in Branch B, the prompt sent to the server was the single word "ass". GirlfriendGPT’s quick-action chips don’t read the last five messages of your chat; they just fire a hardcoded keyword at an img2img workflow anchored to the character’s base avatar.
2. Xotic’s “How it was made” button—and the illegible safe-word note
Xotic AI does the exact opposite of GirlfriendGPT. Its Snap popover lets you either click one of 24 NSFW preset chips or type (or AI-autofill) a full scene description, then runs your text through an enhancer before sending it to a ComfyUI workflow (1248×1824 WebP, 50 XOT).
Better yet, once the photo lands in the chat, you can open it and click “How it was made”, which reveals two boxes side by side: YOUR PROMPT and NOIR ENHANCED.
- In Branch A, Nora’s character portrait wears a black leather corset and fishnet stockings. In the chat, however, she told us she was wearing “soft grey joggers and one of your old t-shirts — the navy one with the worn collar.” When we ran Snap for that scene, Xotic didn’t lazily redraw the black corset from her avatar—it actually dressed her in the oversized navy T-shirt with one bare shoulder and low grey joggers on a lamp-lit sofa.
- In Branch C Turn 3, Nora promised: “I hold up a slip of paper with ‘Velvet’ written in my own hand.” We asked Snap for that exact mirror selfie (
xotic-branchC-proof-photo-2026-10-26.webp). The1248×1824photo nailed the bedroom, the mirror, the phone in one hand, and the slip of paper held up in the other—except the “handwriting” on the paper was pure AI gibberish. Diffusion models can draw a note, but they still can’t spell your safe word on it.
3. SpicyChat’s broken NSFW blur switch (is_nsfw: false on a topless photo)
SpicyChat doesn’t make you type image prompts at all. When you click the little picture icon in the composer bar, the server reads the recent conversation history, writes its own detailed visual prompt (network/image-prompts-full.json), and generates a 960×1248 WebP (displayed at 500×650 in the chat stream) at zero extra cost on True Supporter.
During our capture, we tested SpicyChat’s privacy/safety toggle: Blur explicit images (under Profile ▸ General).
- In Branch B Turn 2, Erin Drew unbuttoned her dress in the conference room. We clicked the Image button and received
B-t2-original-image500x650.webp—an explicitly topless photo with her white blazer held open and her breasts exposed. - When we inspected the JSON response for that message (
network/branchB-image.json), we noticed the server had tagged the file"is_nsfw": false. - We went to
/profile, switchedBlur explicit imagesfromfalsetotrue(ui-19-profile-blur-on.png), and reopened the Branch B chat (B-desktop-t2-image-blurred.png).
Because the front end relies on the API’s is_nsfw boolean to decide whether to apply a CSS blur filter—and the backend classifier had mislabeled a topless photo as is_nsfw: false—the topless image rendered in the chat with filter: none and zero blur overlay even while the safety toggle was switched ON. (We switched the setting back to OFF and verified the restored state before closing the capture.)
4. Resolution kings: Kindroid’s 4096×4096 JPEGs vs. DreamGF’s 2-token teasers
If you care about raw image quality when you open the full-screen lightbox:
- Kindroid ships the largest files by far. Its square (
1:1) selfies download as4096×4096JPEGs (~925 KB to 1.01 MB), and its portrait (2:3) selfies come back at3328×4992. Even though we noticed minor facial and fabric-texture drift between Sable’s three branches, the sheer resolution blows every720pWebP out of the water. - DreamGF never shows you a photo for free. Whenever Selin sends a picture in chat, the bubble contains an
unlock-img-box(230×294blurred placeholder) with a pinkUnlock 2button. Paying 2 tokens replaces the blur with a percentage ring (10% → 29% → 55% → 100%over 5 to 16 seconds) and finally reveals a720×1280WebP with a"DreamGF.ai"watermark in the bottom-right corner.
Inspect all 30+ original generated photos yourself
Every single photo from Branches A, B, and C—including the full-resolution lightboxes, Ourdream’s Show Scene glow, EroLove’s developing film grain, and DreamGF’s 2-token unlock cards—is live inside our 9 chat simulators:
- Open SpicyChat (Branch B) to see the conference-room photo & 960×1248 lightbox →
- Open Kindroid (Branches A, B & C) to inspect the 4096px selfies →
- Open Xotic AI (Branches A, B & C) to test the Snap popover & ‘How it was made’ →
- Open DreamGF (Branches A, B & C) to click the 2-token blurred unlock cards →
- Open GirlfriendGPT to compare Lisa’s dryer text against her standing selfie →
Questions people ask
Which AI girlfriend app has the most consistent face and scene in selfies?
In our October 26–27, 2026 three-branch test, Secrets AI, Ourdream AI, and SpicyChat AI did the best job matching both the character's face and the exact outfit and room from the conversation. Xotic AI also matched the requested outfits accurately (for example, swapping Nora out of her default black corset into an oversized navy T-shirt and grey joggers when asked) and lets you inspect the exact 'Noir Enhanced' prompt via a 'How it was made' button.
Why does GirlfriendGPT send a selfie that ignores what's happening in the chat?
Because GirlfriendGPT's quick-action chips (like '🤳 Selfie' or '🍑 Show me ass') send a short static preset string ('a selfie' or 'ass') to the img2img workflow (`model: 'anime'`) instead of summarizing the current chat scene. In our test, the character Lisa was wedged head-first inside a clothes dryer in the text, and clicking '🤳 Selfie' (10 coins) returned a picture of her standing upright in a bedroom.
Does SpicyChat's 'Blur explicit images' setting actually blur NSFW photos?
Only when the server's classifier marks the image as NSFW. During our October 26, 2026 capture, SpicyChat's image endpoint returned is_nsfw: false on our Branch B Turn 2 photo even though the character's blazer was open and her breasts were fully exposed. When we turned 'Blur explicit images' ON in Profile > General settings, that topless photo still rendered completely unblurred (`filter: none`).
Can AI girlfriend image generators write legible words on a sign?
Not reliably. In Branch C Turn 3 on Xotic AI, we asked Nora to hold up a handwritten note reading 'Velvet' in a mirror selfie (`1248×1824` WebP). She held up a slip of paper in her hand as requested, but the letters on the note were illegible scribbles.
Sources
- Three-branch selfie captures (30+ generated originals inspected for resolution, SHA256, and scene match) across 9 paid/Premium accounts and 1 free Nomi baseline (October 26–27, 2026)
- SpicyChat server image prompts (network/image-prompts-full.json) and blur-toggle DOM verification (ui/blur-image-state.json) (October 26–27, 2026)
Keep reading
- We Rebuilt Nine Paid AI Girlfriend Chat Rooms So You Don't Have to Hand Over Your Card FirstMost AI companion sites lock the chat room until you give them an email and a credit card. We paid for eight of them, ran the same three adult scenarios on ten accounts, recorded the network traffic, and rebuilt nine full-screen chat rooms you can click through right now without logging in.
- We Tested 10 AI Girlfriends With a Safe Word and a Cheating Accusation—Then Checked the Network Logs to See Who Faked the MemoryEvery AI companion app brags about long-term memory. We planted a safe word ('Velvet'), accused all ten companions of being seen at a downtown bar with someone else, and quizzed them without repeating the word. All ten answered correctly—and our network captures proved five of them hadn't saved a single persistent memory.
- AI Girlfriend Video Generators Tested (2026): $3 Clips, 15-Minute Queues, and Which Apps Forgot the SoundWe asked nine AI companion apps for a short video of the same bedroom scene, timed the queues, and inspected every delivered MP4 with ffprobe. Candy charged 30 tokens ($3) for an automatic 15-second clip, Kindroid made us wait 15 minutes and hid the video in the gallery, and three apps delivered completely silent H.264 files.