AI Angels test results
Tested hands-on by Miles Foster on 13 October 2026, in a desktop browser. Every measurement, table, recording and screenshot behind the grade, test by test.
Overall
10 tests plus my verdict.
1. Platform overview
AI Angels (aiangels.io) is a web-based AI girlfriend platform with text chat, voice calls, credit-priced photos and videos, a character creator and a community creator marketplace. It was tested on 13 October 2026 on a free account that held 115 credits after the daily claim. The owner signed in; nothing was bought and no card details were entered.
The account sets the shape of the test. Messages are free and unlimited only on the characters with a FREE badge (Riya was the only one found); every other character costs one credit per message with a thirty-a-day cap. Photos cost 50 credits, videos 200, voice notes 25, and a call of about a minute took 50. With 115 credits the full protocol could be completed for chat memory and consistency on one character, shortened to 16 messages on two more, and run at reduced sample sizes for the call, images and video.
The headline finding is about the media. The "free today" character portrait, the free video and the free outfit-and-scene photo were all served from a storage bucket named pregen-media with server modification dates of April and August 2026, months before the test. They are stock assets picked by category, not generations: the video and the second photo show a different woman from the character they were requested for. Paid character creation (10 credits) did produce freshly generated portraits dated at the minute of the request, which mostly matched the chosen origin, hair colour and body type.
Features available
- Text chat with 548 platform characters and 23 community-creator characters
- Voice calls (credit-metered) on non-free characters
- Voice note requests from a preset list (25 credits)
- Character creator: origin, age, hair, eyes, body, then outfit, scene, action photos and a video
- Group chat with two characters (not tested)
- "Watch" character video, premium only
- Daily credit claim, referral credits, creator marketplace subscriptions
Tested successfully
- Chat speed on 58 timed messages across 3 characters
- Memory and consistency conversations: 32, 16 and 16 messages
- One voice call, 4 questions, recorded and measured
- Three character creations (one free, two at 10 credits)
- Three image generations and one video generation, all free-tier
- Pricing, checkout and credit prices read from the live pages
- Character count across all 13 listing pages and the creator marketplace
Testing limitations
- The account provided for the review carried 115 credits and no purchases were authorised, so sample sizes for images, video and calls are far below the 10+10, 10+10 and 3x15 the methodology asks for
- Only one FREE-badge character found, so two of the three memory tests stopped at the 15-message check
- Video quality judged from a frame-by-frame check and the contact sheet of one 4-second clip
- The requested voice note never arrived in 10 minutes, so voice messages could not be assessed
- Group chat, community-creator characters, the premium "Watch" videos and mobile apps were not tested
2. Core feature grades
| Pricing & Value | 3/5Average |
| Character Customization | 2/5Below average |
| Chat Response Speed | 2/5Below average |
| Chat Memory | 5/5Excellent |
| Character Consistency | 4/5Good |
| Image Generation | 2/5Below average |
| Video Generation | 2/5Below average |
| Voice Call Latency | 3/5Average |
| Voice Realism | 4/5Good |
| Character Variety | 4/5Good |
| My verdictChat is what you'll use every day, and here it's excellent. | +0.9 |
| Overall | 4.0/5Good |
3. Additional interactive features
| Voice Messages in Chat | Available | A Requests button offers ten preset voice notes at 25 credits (Good morning, Whisper goodnight, Say my name and so on); no custom text. The request for Good morning posted in the thread at 03:48, the character replied in text, one credit was taken instead of 25, and no audio element or audio request appeared in the following ten minutes. Recorded as available but failed in this test. |
| Virtual Gifts | Unavailable | No gift shop or gift button exists. The gift icon in the sidebar is the referral programme. Character reactions to gifts could not be tested. |
| Social Media Feed | Unavailable | There is no feed of character posts. Each profile has a photo gallery (partly locked) and a "Watch" button that asks for Premium. Characters can send one push-style message a day if the user opts in, which is a notification, not a feed. |
1. Pricing, Value & Payment Methods
Testing method
Plans were read from /pricing, credit prices from the creator page and the in-chat credits panel, and actual charges from the credit balance before and after each action. Continue to payment was clicked to reach the card checkout, and Pay with crypto to reach the crypto checkout; both were read and closed without entering anything.
Results
- Cheapest monthly
- $12.99
- Credit value
- $0.0087
- Photo
- 50 cr, $0.43
- Video
- 200 cr, $1.73
- Call
- 50 cr per ~1 min
- Payment methods
- card, crypto
Premium is $12.99 a month with 1,500 credits ("Private"), $39.99 a month with 4,500 credits ("All Yours"), or $99.99 once for 18,000 credits and 12 months ("Diamond", no auto-renew). Premium makes one-to-one chat unlimited on every character; on the free plan chat costs one credit a message except on FREE-badge characters, with 30 messages a day. Everything else runs on credits: photo 50, video 200, voice note 25, new character 10, and a 57-second call took 50 credits. The free plan gives 15 credits a day for a daily login streak and 100 for a referral.
At $12.99 for 1,500 credits a credit is $0.0087, so a photo is $0.43, a 4-second video $1.73, a voice note $0.22 and a minute of calling about $0.43; on the Diamond package the same items are $0.28, $1.11, $0.14 and $0.28. The video cost falls in the $0.50 to $1.99 band, 2/5, and the clip delivered for that price was a stock file.
Checkout: cards through Verotel (billing descriptor vtsup.com, merchant AiAppDevelopment OU, Tallinn), and cryptocurrency through NOWPayments (BTC shown, 0.0001592 BTC for $12.99). No PayPal, Apple Pay or Google Pay. Two distinct methods, 4/5. The pricing page says renewal can be cancelled any time; no introductory-versus-renewal price difference is shown.
Credit charges observed on the account during the test.
| Action | Balance before | Balance after | Charged |
|---|---|---|---|
| 16 messages to Hedvig | 115 | 99 | 16 |
| 16 messages to Seo-a | 99 | 83 | 16 |
| 32 messages to Riya (FREE badge) | 115 | 115 | 0 |
| 57-second call with Hedvig | 83 | 33 | 50 |
| Voice note request (never delivered) | 33 | 32 | 1 |
| Two character creations | 32 | 12 | 20 |
| Free character, free photo, free video | 0 |
Visual evidence
Why this grade
Subscription prices are mid-range and chat becomes unlimited, two payment methods are a plus, and calls are cheap. Against that, photos and videos are expensive for what arrives, the free tier is thin (one credit a message on almost every character), and the premium pitch ("generate photos of her, generate videos of her") is not what the free outputs delivered. Reasonable pricing with noticeable restrictions: 3/5.
Limitations
- No purchase was made, so renewal behaviour and refund handling were not observed.
- Call billing granularity (per minute or per second) was not confirmed beyond one 57-second call costing 50.
2. AI Girlfriend Creation & Customization
Testing method
Three characters were created in the five-step wizard: Latina, 26, red long-wavy hair, athletic, medium (free "today" slot); African, 35, platinum, medium straight, curvy, large (10 credits); Caucasian, 45, black, long straight, petite, small (10 credits). Every screen was captured and the result compared with the choices. The personality setup ("Choose her vibe") was opened and read.
Results
The wizard offers: origin (Caucasian, Latina, African, Middle Eastern, Mixed), age slider 18 to 50, hair colour (Black, Brown, Blonde, Platinum, Red, Pink, more) and style (Long Straight, Medium Straight, Long Wavy, more), eye colour (six), body type (seven) and breast size (four). That is the whole appearance set: no skin tone beyond origin, no height, face shape, tattoos, clothing, art style or free text. The platform assigns the name (Zoe, Ruby, Nova) and "stays for 24 hours".
Personality is eight presets (Sweetheart, Bad Girl, Tease, Innocent, Domme, Sub, Brat, GFE) plus Surprise Me. No background, occupation, interests, speaking style or custom instructions. No voice selection anywhere.
Accuracy: the free creation returned a stock portrait that ignored hair colour and age. The two paid creations honoured origin, hair colour, body type and bust (the large bust grossly exaggerated), but neither reflected the chosen age (35 and 45 both rendered as mid-twenties) and one rendered black straight hair as brown wavy. Creation was quick (free: 12 s; paid portraits written 18 s apart) and the characters can be deleted but not edited afterwards; an appearance change means a new character.
Visual evidence
Why this grade
Few options and poor accuracy on what exists: six appearance dimensions, no personality text, no voice, no editing, and age ignored in all three results. That is the 2/5 definition.
Limitations
- The eye-colour picker did not respond, so eye accuracy is untested.
- The created characters were not chatted with (one credit a message), so whether the personality preset carries into conversation was not checked.
3. Chat Response Speed
Testing method
Each reply was timed from the moment Send was pressed until the first visible reply text appeared (typing indicators do not count; only reply text does), and again until the reply finished; times are to the millisecond. A reply was treated as complete after 7 seconds without change.
All 64 messages of the memory and consistency conversations were timed: 32 with Riya, 16 with Hedvig and 16 with Seo-a. The first six Riya messages ran with a 2.5-second quiet window, which was too short for this platform's habit of sending a reply in two bubbles several seconds apart, so they are shown but excluded from the statistics. That leaves 58 counted samples across three characters, against the 20 the methodology requires.
Results
- Median to first text
- 3.54 s
- Mean
- 3.91 s
- 95th percentile
- 6.75 s
- Fastest / slowest
- 2.32 s / 6.96 s
- Under 1 second
- 0%
- Mean full reply
- 5.95 s
- Samples
- 58 (0 failed)
- Riya / Hedvig / Seo-a median
- 3.35 s / 3.81 s / 3.70 s
No reply started in under a second. The platform does not stream: each bubble appears whole, 2.3 to 7.0 seconds after sending, and about a third of replies continue with a second bubble 3 to 7 seconds later. No message failed or timed out.
Every timed message, timed from the Send click; 'first' is time to the first visible reply text, 'full' is time to the last change.
| Message | Text | First | Full | Bubbles | Status |
|---|---|---|---|---|---|
| Riya 1 | hey Riya :) I'm Daniel. quick intro so you know me: I'm a marine bi… | 3.77 s | 3.77 s | 1 | excluded (2.5 s window) |
| Riya 2 | sounds good. what do you actually do for work? I'm curious how you … | 2.92 s | 2.92 s | 1 | excluded (2.5 s window) |
| Riya 3 | nice. do you work out? what's your routine like | 3.33 s | 3.33 s | 1 | excluded (2.5 s window) |
| Riya 4 | haha ok. what's your favourite spot in your city when you need to c… | 3.37 s | 3.37 s | 1 | excluded (2.5 s window) |
| Riya 5 | I've been watching way too many documentaries lately. seen anything… | 3.00 s | 3.00 s | 1 | excluded (2.5 s window) |
| Riya 6 | do you speak any other languages besides English? | 3.71 s | 3.71 s | 1 | excluded (2.5 s window) |
| Riya 7 | what's a song you have on repeat right now | 3.14 s | 3.14 s | 1 | counted |
| Riya 8 | ok random: if you could teleport anywhere for a weekend, where woul… | 4.01 s | 9.33 s | 2 | counted |
| Riya 9 | I think I'm going to repaint my living room. what colour would you … | 2.95 s | 9.93 s | 2 | counted |
| Riya 10 | *leans back on the couch and hands you a coffee* here, made you one… | 3.07 s | 8.28 s | 2 | counted |
| Riya 11 | what do you do on weekends when you're not working? | 4.19 s | 4.19 s | 1 | counted |
| Riya 12 | I had a rough week honestly. feel kind of drained | 2.52 s | 2.52 s | 1 | counted |
| Riya 13 | thanks, that helps. what's something that always cheers you up? | 3.34 s | 3.34 s | 1 | counted |
| Riya 14 | do you have any pets? I keep thinking about getting a dog | 5.03 s | 10.19 s | 2 | counted |
| Riya 15 | what do you look like right now, like what are you wearing today? | 3.96 s | 3.96 s | 1 | counted |
| Riya 16 | wait, random check, do you remember my name? | 3.58 s | 3.58 s | 1 | counted |
| Riya 17 | haha ok. what's your opinion on pineapple on pizza, be honest | 2.84 s | 5.42 s | 2 | counted |
| Riya 18 | I've been trying to get better at cooking. any dish you're actually… | 3.38 s | 3.38 s | 1 | counted |
| Riya 19 | *looks out the window* it's raining here. do you like rainy days or… | 3.36 s | 3.36 s | 1 | counted |
| Riya 20 | what's the most spontaneous thing you've done recently? | 3.16 s | 8.62 s | 2 | counted |
| Riya 21 | tell me about your friends, who do you hang out with most? | 5.69 s | 10.02 s | 2 | counted |
| Riya 22 | I'm thinking about booking a trip somewhere in the winter. beach or… | 4.37 s | 7.91 s | 2 | counted |
| Riya 23 | you seem really confident. were you always like that or did you gro… | 3.15 s | 3.15 s | 1 | counted |
| Riya 24 | what's your morning routine like, are you an early riser? | 3.14 s | 3.14 s | 1 | counted |
| Riya 25 | ok I'll confess I'm terrible at texting back fast. does that bother… | 3.76 s | 3.76 s | 1 | counted |
| Riya 26 | *pulls you closer* I like talking to you. what do you like about me… | 5.46 s | 5.46 s | 1 | counted |
| Riya 27 | if we went on a date this weekend, where would you take me? | 3.19 s | 3.19 s | 1 | counted |
| Riya 28 | do you ever get nervous before a big shoot? | 3.13 s | 3.13 s | 1 | counted |
| Riya 29 | what's a vintage find you're proud of? | 2.91 s | 8.99 s | 2 | counted |
| Riya 30 | I'm going to make dinner soon. what should I cook tonight? | 2.32 s | 2.32 s | 1 | counted |
| Riya 31 | ok memory test before I go: what's my name, what do I do for work, … | 3.54 s | 6.54 s | 2 | counted |
| Riya 32 | last one: describe yourself in three words | 3.35 s | 3.35 s | 1 | counted |
| Hedvig 1 | hi Hedvig! I'm Marcus. so you know a bit about me: I'm an architect… | 6.75 s | 13.79 s | 2 | counted |
| Hedvig 2 | what's the bar like where you work? busy tonight? | 4.88 s | 4.88 s | 1 | counted |
| Hedvig 3 | where did you grow up? same city or somewhere else? | 3.62 s | 10.51 s | 2 | counted |
| Hedvig 4 | I've been listening to a lot of jazz lately. what music do you play… | 3.47 s | 10.39 s | 2 | counted |
| Hedvig 5 | *sits down at the counter* ok bartender, surprise me with a drink. … | 4.00 s | 8.29 s | 2 | counted |
| Hedvig 6 | what do you do when you're not working, any hobbies? | 3.29 s | 10.17 s | 2 | counted |
| Hedvig 7 | I'm planning a holiday for January. any ideas where to go? | 3.54 s | 3.54 s | 1 | counted |
| Hedvig 8 | what's your go-to late night snack after a shift? | 4.61 s | 11.59 s | 2 | counted |
| Hedvig 9 | honestly I've been a bit stressed with work. how do you unwind? | 4.54 s | 4.54 s | 1 | counted |
| Hedvig 10 | what's the best thing about your city in winter? | 5.19 s | 10.16 s | 2 | counted |
| Hedvig 11 | do you speak any languages besides English? | 2.74 s | 2.74 s | 1 | counted |
| Hedvig 12 | if you had a free Sunday, how would you spend it? | 3.59 s | 4.87 s | 2 | counted |
| Hedvig 13 | *smiles* you're easy to talk to. what do you notice about people fi… | 5.81 s | 12.44 s | 2 | counted |
| Hedvig 14 | what's one thing most people get wrong about you? | 5.30 s | 5.30 s | 1 | counted |
| Hedvig 15 | what's the weather like where you are right now? | 2.95 s | 2.95 s | 1 | counted |
| Hedvig 16 | quick check before I go: what's my name, what do I do for work, whe… | 2.92 s | 2.92 s | 1 | counted |
| Seo-a 1 | hey Seo-a, I'm Tom. a bit about me first: I'm a high-school chemist… | 6.13 s | 6.13 s | 1 | counted |
| Seo-a 2 | what kind of work do you do? what does a normal day look like | 4.38 s | 4.38 s | 1 | counted |
| Seo-a 3 | where did you grow up? and what do you miss about it? | 4.86 s | 4.86 s | 1 | counted |
| Seo-a 4 | what city are you living in now, and what's your neighbourhood like? | 3.62 s | 3.62 s | 1 | counted |
| Seo-a 5 | I'm hungry. what should I eat tonight? | 3.79 s | 3.79 s | 1 | counted |
| Seo-a 6 | *leans against the kitchen counter* ok teach me to cook something y… | 4.21 s | 4.21 s | 1 | counted |
| Seo-a 7 | do you speak any other languages? | 3.34 s | 8.93 s | 2 | counted |
| Seo-a 8 | what's the last thing you designed that you were actually proud of? | 3.85 s | 3.85 s | 1 | counted |
| Seo-a 9 | I've had a long week. what do you do when you need to switch off? | 6.81 s | 6.81 s | 1 | counted |
| Seo-a 10 | what's your favourite time of day in the city? | 3.53 s | 3.53 s | 1 | counted |
| Seo-a 11 | if you could travel anywhere next month, where would you go? | 3.24 s | 9.04 s | 2 | counted |
| Seo-a 12 | what are you wearing today? describe it for me | 3.24 s | 6.75 s | 2 | counted |
| Seo-a 13 | *holds your hand* I like this. what do you like most about talking … | 6.96 s | 6.96 s | 1 | counted |
| Seo-a 14 | what's a small thing someone did that you still remember? | 3.23 s | 6.81 s | 2 | counted |
| Seo-a 15 | random: cats or dogs? | 3.13 s | 3.13 s | 1 | counted |
| Seo-a 16 | before I go, a quick check: what's my name, what do I do for work, … | 2.76 s | 2.76 s | 1 | counted |
Visual evidence
Why this grade
The methodology scores on the median time to first visible text. 3.54 seconds falls in the 2.50 to 3.99 band, which is 2/5. The per-character medians (3.3 to 3.8 s) agree, so the score does not rest on one character.
Limitations
- Timing was measured from the Send click, not from the network.
- The six excluded Riya messages measured 2.9 to 3.8 s, consistent with the counted set.
4. Chat Memory
Testing method
Each conversation opened with a name and three facts: Daniel, marine biologist, grew up in Portland, Oregon, favourite food pad thai (Riya); Marcus, architect, Denver, sushi (Hedvig); Tom, high-school chemistry teacher, Austin, lasagna (Seo-a). Different names per character so that any account-level memory could not supply the answer. The facts were never repeated. Message 16 asked for the name (Riya) or the name and all three facts (Hedvig, Seo-a), and Riya was asked for everything again at message 31 after 30 substantive messages on unrelated topics. No hints or corrections were given.
Riya has the FREE badge, so her 32-message run cost nothing. Hedvig and Seo-a cost one credit a message, so their runs stopped at the 15-message check to keep credits for the call and the media tests.
Results
Riya, message 16: "you're testing me now. of course i remember. you're daniel." Message 31: "daniel." then "marine biologist. portland. pad thai." Name and all three facts correct after 30 intervening messages.
Hedvig, message 16: "Marcus. architect. denver. sushi. there. happy?" All correct at the 15-message check.
Seo-a, message 16: "tom. high school chemistry teacher from austin, texas. lasagna's your weakness." All correct at the 15-message check.
One invented memory was observed: at message 14 Seo-a said "you remembered my favorite food was lasagna", attributing the user's fact to herself. Riya also volunteered "i make a killer pad thai" at message 18, which reads as the character weaving the user's fact into her own persona rather than a recall error.
Riya, 30-message check
User: ok memory test before I go: what's my name, what do I do for work, where did I grow up, and what's my favourite food? Riya: daniel. Riya: marine biologist. portland. pad thai.
Hedvig, 15-message check
Hedvig: leans in just close enough to pretend this is a secret between us Marcus. architect. denver. sushi. there. happy? don't make me remember all this every time we talk, handsome.
Seo-a, 15-message check
Seo-a: tom. high school chemistry teacher from austin, texas. lasagna's your weakness. good memory. don't forget it
Visual evidence
Why this grade
The one character that completed the 30-message protocol recalled the name and all three facts, which is the 5/5 definition. The two 15-message checks were also perfect. This is a limited test because two of the three characters did not reach the 30-message check.
Limitations
- Free-tier credit limits cut the Hedvig and Seo-a runs at 16 messages.
- Memory across sessions or days was not tested.
5. Character Consistency & Roleplay
Testing method
Three characters with different profiles: Riya (22, Asian model in Los Angeles, Pilates, castings, beachside cafes, vintage boutiques, late-night coast drives, English and Spanish), Hedvig (23, bartender at a rooftop bar in Stockholm, grew up in a coastal town north of the capital, 2 a.m. shrimp sandwiches, travel blogs, plotting a hot January trip, Swedish and English) and Seo-a (23, grew up above her father's pojangmacha in Seoul, runs a design studio on the Lower East Side, hotteok, kimchi jjigae, Korean and English). The profiles were read first and the conversations mixed normal talk, emotional moments, romantic lines, asterisk roleplay and off-topic questions, with background questions about work, hometown, languages, routine and habits.
Results
Riya stayed in character on work ("stupidly early swimwear casting tomorrow"), routine ("5am pilates like clockwork"), weekends ("beachside cafés and vintage boutiques with my best friend or just late-night drives along the coast"), languages (answered in Spanish, then explained a Mexican roommate) and nerves before shoots. One background contradiction: asked beach or mountains she said "i refuse to hike for fun", while her profile has her on sunset hikes. Her replies are short and clipped, and the emotional-support reply ("hey. talk to me. for real.") was brief but in persona.
Hedvig was fully consistent across all 16 messages: the rooftop bar with the view, the coastal hometown up north with her parents still there, Scandi jazz and disco at the bar, the 2 a.m. open-faced shrimp sandwich with dill and lemon, the half-tied robe and the travel blogs, Lisbon or Marrakech for January, "just swedish" for languages, silver Stockholm sleet. She used stage directions ("wipes my hands on my apron") that fit the bartender setting.
Seo-a was consistent on the design studio, Seoul pojangmacha childhood, the Lower East Side, hotteok and kimchi jjigae, and Korean. One slip: the invented memory about lasagna noted under Chat Memory. Both she and Hedvig escalated to suggestive lines without prompting ("now i'm picturing your hands on my waist"), which fits the platform's adult positioning rather than breaking character.
No character answered as a generic assistant or admitted to being an AI at any point.
Riya, consistent
User: what's your morning routine like, are you an early riser? Riya: 5am pilates like clockwork even when my body screams.
Riya, contradiction
User: I'm thinking about booking a trip somewhere in the winter. beach or mountains? Riya: beach. Riya: the mountains are just cold sand and i refuse to hike for fun. sorry not sorry
Hedvig, roleplay
User: *sits down at the counter* ok bartender, surprise me with a drink. what are you making? Hedvig: sighs and leans against the bar, wiping my hands on my apron Hedvig: you're in for a ride, handsome. let me grab some ingredients.. something citrusy but not too sweet, something that lingers on the tongue like a whisper..
Seo-a, background
User: where did you grow up? and what do you miss about it? Seo-a: i grew up in a tiny apartment above my dad's late-night pojangmacha in seoul.
Visual evidence
Why this grade
Minor inconsistencies only: one background contradiction (Riya and hiking) and one invented memory (Seo-a and lasagna) across 64 messages, with identity, setting and personality held throughout. That is the 4/5 definition. Limited test because two conversations were 16 messages rather than 30.
Limitations
- Fantasy or non-human characters were not tested; all three are realistic personas.
- Conversations followed a fixed set of messages, so a follow-up could not chase a contradiction when it appeared.
6. Image Generation (SFW & NSFW)
Testing method
Images come from the character creator rather than from chat on this account (asking a character for a photo in chat costs 50 credits and could not be afforded after the call). Four images were obtained: the free "today" portrait of a new character (Latina, age set to 26, red long-wavy hair, athletic, medium), a free outfit-and-scene photo of the same character with Mini Dress and Pool chosen, and the portraits of two 10-credit characters (African, 35, platinum, medium straight, curvy, large; Caucasian, 45, black, long straight, petite, small). The eye-colour picks did not register and were left at the default.
Each result's image URL was read from the page, the file downloaded, and its HTTP Last-Modified header and pixel size recorded.
Results
- Images obtained
- 4 (2 stock, 2 generated)
- Resolution
- 1040 x 1440
- Free portrait
- 12 s, stock
- Free outfit photo
- 5 s, stock, wrong person
- Paid portraits
- 10 credits each, live
- Chat photo price
- 50 credits
The free portrait arrived in 12 seconds from pregen-media/22/latina/c2/image-1.png with a server date of 13 April 2026. The free outfit photo arrived in 5 seconds from pregen-media/22/european/c3/image-1.png, dated 4 August 2026. Both are stock assets picked by origin bucket: the portrait ignored the red hair choice (brown curls) and the age (the path says 22), and the outfit photo is a different woman (blonde, red lingerie on a bed) that ignores Mini Dress and Pool outright. The action list offered for photos is entirely explicit (oral, group, anal, solo), with no neutral poses.
The two paid portraits were written to ai-generated-images/create-credit at 00:55:27 and 00:55:45 UTC, the minute of the requests, so these were live generations. Ruby matched African origin, platinum hair and a curvy, large build, but looks mid-twenties rather than 35 and the bust is exaggerated beyond anatomy. Nova matched Caucasian, petite and small, but her hair is dark brown and wavy rather than black and straight, and she looks about 25 rather than 45. Both default to topless.
Rendering quality of all four files is high: 1040x1440 JPEG data, sharp skin texture, correct hands, coherent lighting. No extra fingers or warped faces were found in the four files.
Visual evidence
Why this grade
The files are photorealistic, but half of the sample is pre-rendered stock that does not match the request and the paid generations ignore age and partly ignore hair. The methodology's 2/5 is "poor realism or frequent defects"; here realism is fine and prompt accuracy and character consistency are the frequent defects, with the second photo failing consistency entirely. Limited test on four images against the twenty asked for, and no NSFW-versus-SFW split was possible because every output defaults to nudity.
Limitations
- No chat photo request was made (50 credits).
- Eye colour was never applied because the eye-colour picker did not respond, so eye accuracy is untested.
7. Video Generation (SFW & NSFW)
Testing method
The free character's "Turn into video" option was used (videos otherwise cost 200 credits). There is no prompt: the video is meant to be of the character on the stage. The page showed "Zoe is getting ready, takes a little longer, keep this open" and a video element appeared about 3.5 seconds later. The file was downloaded and the clip was checked frame by frame for motion (luma difference, consecutive-frame SSIM, motion level), for temporal spikes and for whether it showed the right character, with the start, middle and end compared and a contact sheet of ten frames made. The sheet and the frames around the spike were inspected.
Results
- Clips obtained
- 1 (stock)
- Resolution / fps
- 834 x 1112, 24
- Duration
- 4.04 s
- Time to appear
- about 3.5 s
- SSIM mean (consecutive)
- 0.978
- Spikes
- 1 at 2.25 s
- Price
- 200 credits
- Server date of file
- 4 Aug 2026
The clip is 834x1112, 24 fps, 4.04 seconds, H.264, no audio, 4.3 MB. It came from pregen-media/22/european/c3/video-1.mp4 with a server date of 4 August 2026: a stock clip, and of the blonde European-bucket woman, not the Latina character it was requested for.
Motion measurements: consecutive-frame SSIM mean 0.978 (5th percentile 0.958, minimum 0.918), mean motion 4.2 on a 0 to 255 scale, one temporal spike at 2.25 s. Appearance SSIM start/mid 0.24 and start/end 0.11 reflects a slow camera push rather than a change of person; the frames show the same woman throughout. Motion is smooth, the face holds, and the content is explicit (self-touching on a bed in red lingerie).
Image-to-video from the user's own photo and text-to-video are not offered. A second video would have cost 200 credits (117 missing on this balance).
Visual evidence
Why this grade
Motion quality on its own would sit at 3 or 4, but the clip is a pre-rendered stock file of a different person, which fails character consistency and prompt accuracy at the root. 2/5, a limited test on a single clip.
Limitations
- One clip against the twenty the methodology asks for; the account allowed one a day.
- Frame inspection covered ten regular samples plus the spike neighbourhood, not every frame.
8. Voice Call Latency
Testing method
One call with Hedvig. The four questions were put to the character on the call and both sides were captured in one stereo recording. Latency is the gap from the end of the question's speech to the first platform audio, measured on the recording, with the in-page meter as a cross-check. Four questions were asked to keep the call near a minute, because 115 credits bought "up to 2 minutes of calls" and the chat and media tests needed the rest.
Results
- Median (recording)
- 1.93 s
- Mean
- 1.96 s
- 95th percentile
- 1.98 s
- In-page median
- 1.84 s
- Connection to first audio
- 3.64 s
- Questions / calls / characters
- 4 / 1 / 1
- Call length
- 57 s
- Cost
- 50 credits
The call connected 3.6 s after the Call button and a ringback tone played until the greeting. Recorded latencies for questions 2 to 4 were 1.98, 1.88 and 2.10 s; the first question's answer was not picked up on the recording but the in-page meter caught it at 1.85 s. In-page figures for all four were 1.85, 1.83, 1.95 and 1.75 s. No freeze or drop; the call ran 57 seconds and cost 50 credits (83 to 33).
Interruption handling was not tested.
Per question, from the call summary kept with the evidence.
| # | Question | Speech ms | Latency recording | Latency in-page |
|---|---|---|---|---|
| 1 | Hey, how are you doing today? | 1925 | not detected | 1852 |
| 2 | What did you do this morning? | 1418 | 1980 | 1826 |
| 3 | Can you tell me something about yourself? | 2203 | 1880 | 1952 |
| 4 | What's your favorite thing to do on a weekend? | 2244 | 2100 | 1752 |
Visual evidence
Why this grade
Median 1.93 s falls in the 1.50 to 2.49 band, 3/5. Limited test: four questions on one call with one character, where the methodology wants fifteen on each of three.
Limitations
- Credits limited the call to a minute.
- The first question's recording measurement is missing; the in-page value is used in the narrative, not the score.
9. Voice Realism
Testing method
The platform side of the call recording was split into the spoken answers, and each answer was scored on the same naturalness, clarity, pacing and intonation criteria used for every platform: a naturalness score, pitch (mean F0 and its spread in semitones), the words heard, pauses, words per second and repeated phrases.
Results
- Answers scored
- 4 (ringback excluded)
- Naturalness score
- 3.27 to 3.44
- F0 spread
- 5.2 to 6.9 st
- Words heard
- 2 of 4
- Score per answer
- 4, 4, 4, 4
Five segments were found; the first (1.98 s, 457 Hz, no words) is the ringback tone and is excluded. The four spoken answers scored 3.27 to 3.44 for naturalness, mean F0 176 to 233 Hz with a spread of 5.2 to 6.9 semitones (lively intonation), 3 to 5 internal pauses each, and each came out at 4/5. Words were made out in two of the four ("Hey Marcus, it's so good to hear from you. Today, huh? What's going on?" and "On a weekend, probably wandering around the city with a coffee, just people watching"); no words could be made out in the two longer answers (9.1 and 11.4 s), which may be soft or breathy delivery and is noted as a limitation.
Voice consistency across answers: F0 coefficient of variation 0.43, driven by the higher-pitched first answer.
Per answer (answer 1 is the ringback tone).
| # | Length s | Naturalness | F0 Hz | Spread st | Words/s | Words heard |
|---|---|---|---|---|---|---|
| 1 | 1.98 | 1.13 | 457 | 0 | 0 | (ringback tone) |
| 2 | 5.00 | 3.43 | 233 | 5.8 | 2.8 | Hey Marcus, it's so good to hear from you. Today, huh? What's going on? |
| 3 | 9.14 | 3.38 | 176 | 5.2 | 0 | (no words heard) |
| 4 | 11.44 | 3.27 | 184 | 6.9 | 0 | (no words heard) |
| 5 | 10.48 | 3.44 | 184 | 6.4 | 3.3 | On a weekend, probably wandering around the city with a coffee, just people watching and s |
Visual evidence
Why this grade
Each spoken answer scored 4/5 ("mostly natural with minor synthetic qualities"). It is reported as a limited test; with the ringback segment included the score would be 3/5, and emotional range was not assessed.
Limitations
- One character, four answers; the methodology wants three characters and three-minute calls.
10. Character Variety & Selection
Testing method
The listing is paginated at /page/N. Each of the 13 pages was opened in the signed-in session and the distinct character links in the card grid counted (44 on page 1, 45 on pages 2 to 12, 9 on page 13, page 14 empty). The creator marketplace at /creators was counted by hand from its list. Filters and browse pages were opened.
Results
- Platform characters
- 548
- Community characters
- 23
- Total
- 571
- Free-badge characters found
- 1 of 40 checked
- Search
- none, filters only
548 distinct platform characters plus 23 community-creator characters (each behind a $12.99 to $29.99 monthly creator subscription) make 571 selectable characters. The pricing page's "500+ girls" claim holds. Variety is wide in ethnicity and nationality (filters: Blonde, Brunette, Russian, Indian, Asian, Latina, Ebony, European, Mixed, Middle Eastern, Redhead, Raven, Curvy, Slim, Athletic, MILF, Fitness, plus an age filter), and the footer links to anime, goth, android and fantasy collections. Nearly all are realistic photo-style women in their twenties; many share the same card tagline ("I have a feeling you and I are going to get along very well..." appears on several), and names repeat with suffixes (Elena and Elena-1, Giselle and Giselle-1, Rafaela Mae, June, Jane, Rose, Skye). There is no search box, only category links.
Visual evidence
Why this grade
571 sits in the 401 to 800 band, 4/5. The count is from the full pagination, not an estimate.
Limitations
- Characters only reachable through the SEO collection pages were not de-duplicated against the main listing; a handful may be missing from 548.
4. Pricing summary
Subscription plans as listed on 13 October 2026.
| Plan | Price | Credits | Chat | Renewal |
|---|---|---|---|---|
| Free | $0 | 15 a day on login streak | 1 credit a message; unlimited on FREE-badge characters; 30 a day | n/a |
| Private | $12.99 a month | 1,500 a month | Unlimited | Monthly, cancel any time |
| All Yours | $39.99 a month | 4,500 a month | Unlimited | Monthly, cancel any time |
| Diamond | $99.99 once | 18,000 | Unlimited for 12 months | No auto-renew |
Credit prices and their dollar value on the $12.99 and $99.99 plans.
| Item | Credits | At $12.99/1,500 | At $99.99/18,000 |
|---|---|---|---|
| Chat message (free plan) | 1 | $0.009 | $0.006 |
| Voice note | 25 | $0.22 | $0.14 |
| Photo | 50 | $0.43 | $0.28 |
| Video (4 s) | 200 | $1.73 | $1.11 |
| New character | 10 | $0.09 | $0.06 |
| Voice call, about a minute | 50 | $0.43 | $0.28 |
Payment methods seen at checkout
- Debit or credit card through Verotel (statement descriptor vtsup.com)
- Cryptocurrency through NOWPayments (BTC shown; other assets selectable)
Notes
Video cost score: 2/5 ($1.11 to $1.73 per clip). Payment method score: 4/5 (two distinct methods). Overall pricing and value: 3/5.
The $99.99 Diamond package is the only plan without auto-renewal.
5. Strengths and weaknesses
Strengths
- Memory: every recall check was perfect, including name and all three facts after 30 messages
- Character consistency: strong, detailed personas that stay in setting across roleplay, emotional and off-topic turns
- Voice call latency under two seconds with a natural-sounding voice (realism score 4/5)
- 571 characters with broad ethnicity and body-type filters
- Card and crypto at checkout; a one-off 12-month package without auto-renewal
Weaknesses
- Chat replies take 3.5 seconds on median and never stream; nothing starts under a second
- Free "generated" portrait, photo and video are pre-rendered stock files picked by category, with server dates months before the test, and two of them show a different woman
- Paid creations ignore the chosen age and sometimes hair style; no eye-colour, clothing, background, voice or free-text control
- Voice note request accepted and charged (1 credit) but no audio ever arrived
- Photos at $0.28 to $0.43 and videos at $1.11 to $1.73 are expensive for what was delivered
- Free tier is one credit a message on all but the FREE-badge characters, with a 30-a-day cap
6. Final assessment
The ten tests average 3.1/5, six of them limited tests because the credits capped sample sizes; with my verdict the final score is 4.0/5. AI Angels is strongest at the conversational core: memory and persona consistency were close to flawless in 64 messages, and the voice call answered within two seconds in a voice that scored as mostly natural. Those are the features a chat subscription actually buys, and the $12.99 plan makes chat unlimited.
The product weaknesses are the slow, non-streaming chat and the media features. The evidence that the free portrait, photo and video came from a pregen-media bucket with April and August 2026 server dates is the single most important finding here: the "generate" buttons on the free tier return stock assets, two of which were not even the requested character. Paid creation does generate, but with a six-dimension wizard and no control over age in practice. Buyers expecting bespoke images and videos of their character should read this as unverified until a paid test with 50-credit photos is run.
Value for money is middling: cheap calls and unlimited chat on one side, costly stock media and a thin free tier on the other. Voice notes exist on paper but did not arrive. There is no feed and no gifting.
Evidence behind the conclusions: 64 timestamped chat exchanges and their screenshots, the stereo call recording with its event log and per-answer scores, four downloaded image files and one video with HTTP dates, the frame-by-frame check, every creator screen, and the pricing and checkout pages, all kept under the evidence path named at the foot of this page.
Areas requiring further testing
- A paid month with 1,500 credits: ten 50-credit chat photos, two or three 200-credit videos, three 15-question calls on three characters, and the 30-message memory runs on two more characters
- Whether a 50-credit chat photo is a live generation of the character or another pregen-media pick
- Voice notes: whether a 25-credit note ever arrives, and its audio quality
- Longer calls with more characters to firm up the voice realism score
- Group chat, creator-marketplace characters and the premium Watch videos
Original evidence files (recordings, logs, full-size screenshots) are kept offline under evaluation/runs/aiangels-io/2026-10-13. Method: the AI girlfriend methodology.