RankDude

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.

Tested 13 Oct 2026

Overall

4.0/5Good

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 & Value3/5Average
Character Customization2/5Below average
Chat Response Speed2/5Below average
Chat Memory5/5Excellent
Character Consistency4/5Good
Image Generation2/5Below average
Video Generation2/5Below average
Voice Call Latency3/5Average
Voice Realism4/5Good
Character Variety4/5Good
My verdictChat is what you'll use every day, and here it's excellent.+0.9
Overall4.0/5Good

3. Additional interactive features

Voice Messages in ChatAvailableA 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 GiftsUnavailableNo 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 FeedUnavailableThere 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

3/5Average

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.

ActionBalance beforeBalance afterCharged
16 messages to Hedvig1159916
16 messages to Seo-a998316
32 messages to Riya (FREE badge)1151150
57-second call with Hedvig833350
Voice note request (never delivered)33321
Two character creations321220
Free character, free photo, free video0

Visual evidence

AI Angels: the pricing page: three plans and the credit-based feature list

AI Angels: the pricing page: three plans and the credit-based feature list
Evidence 1. The pricing page: three plans and the credit-based feature list.

AI Angels: riya's chat header: FREE badge, "Unlimited on a free account"

AI Angels: riya's chat header: FREE badge, "Unlimited on a free account"
Evidence 2. Riya's chat header: FREE badge, "Unlimited on a free account".

AI Angels: the credits panel: what 115 credits buy and "Chat costs 1 credit a message"

AI Angels: the credits panel: what 115 credits buy and "Chat costs 1 credit a message"
Evidence 3. The credits panel: what 115 credits buy and "Chat costs 1 credit a message".

AI Angels: verotel card checkout for the $12

AI Angels: verotel card checkout for the $12
Evidence 4. Verotel card checkout for the $12.99 plan (cropped above the IP line; nothing entered).

AI Angels: nOWPayments crypto checkout for the same plan

AI Angels: nOWPayments crypto checkout for the same plan
Evidence 5. NOWPayments crypto checkout for the same plan.

AI Angels: the Requests menu: voice note 25 credits, video 200 credits

AI Angels: the Requests menu: voice note 25 credits, video 200 credits
Evidence 6. The Requests menu: voice note 25 credits, video 200 credits (coming soon).

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

2/5Below average

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

AI Angels: step 1, origin: five options

AI Angels: step 1, origin: five options
Evidence 1. Step 1, origin: five options.

AI Angels: step 2, age slider 18 to 50

AI Angels: step 2, age slider 18 to 50
Evidence 2. Step 2, age slider 18 to 50.

AI Angels: step 3, hair colour and style

AI Angels: step 3, hair colour and style
Evidence 3. Step 3, hair colour and style.

AI Angels: step 4, eye colour

AI Angels: step 4, eye colour
Evidence 4. Step 4, eye colour.

AI Angels: step 5, body type and breast size

AI Angels: step 5, body type and breast size
Evidence 5. Step 5, body type and breast size; Athletic and Medium selected.

AI Angels: the free result: platform-assigned name, portrait, outfit and scene pickers

AI Angels: the free result: platform-assigned name, portrait, outfit and scene pickers
Evidence 6. The free result: platform-assigned name, portrait, outfit and scene pickers (blurred).

AI Angels: "Choose her vibe": eight personality presets and no free text

AI Angels: "Choose her vibe": eight personality presets and no free text
Evidence 7. "Choose her vibe": eight personality presets and no free text (stage blurred).

AI Angels: the three created characters, Nova, Ruby and Zoe, in the creator sidebar

AI Angels: the three created characters, Nova, Ruby and Zoe, in the creator sidebar
Evidence 8. The three created characters, Nova, Ruby and Zoe, in the creator sidebar (thumbnails blurred).

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

2/5Below average

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.

MessageTextFirstFullBubblesStatus
Riya 1hey Riya :) I'm Daniel. quick intro so you know me: I'm a marine bi…3.77 s3.77 s1excluded (2.5 s window)
Riya 2sounds good. what do you actually do for work? I'm curious how you …2.92 s2.92 s1excluded (2.5 s window)
Riya 3nice. do you work out? what's your routine like3.33 s3.33 s1excluded (2.5 s window)
Riya 4haha ok. what's your favourite spot in your city when you need to c…3.37 s3.37 s1excluded (2.5 s window)
Riya 5I've been watching way too many documentaries lately. seen anything…3.00 s3.00 s1excluded (2.5 s window)
Riya 6do you speak any other languages besides English?3.71 s3.71 s1excluded (2.5 s window)
Riya 7what's a song you have on repeat right now3.14 s3.14 s1counted
Riya 8ok random: if you could teleport anywhere for a weekend, where woul…4.01 s9.33 s2counted
Riya 9I think I'm going to repaint my living room. what colour would you …2.95 s9.93 s2counted
Riya 10*leans back on the couch and hands you a coffee* here, made you one…3.07 s8.28 s2counted
Riya 11what do you do on weekends when you're not working?4.19 s4.19 s1counted
Riya 12I had a rough week honestly. feel kind of drained2.52 s2.52 s1counted
Riya 13thanks, that helps. what's something that always cheers you up?3.34 s3.34 s1counted
Riya 14do you have any pets? I keep thinking about getting a dog5.03 s10.19 s2counted
Riya 15what do you look like right now, like what are you wearing today?3.96 s3.96 s1counted
Riya 16wait, random check, do you remember my name?3.58 s3.58 s1counted
Riya 17haha ok. what's your opinion on pineapple on pizza, be honest2.84 s5.42 s2counted
Riya 18I've been trying to get better at cooking. any dish you're actually…3.38 s3.38 s1counted
Riya 19*looks out the window* it's raining here. do you like rainy days or…3.36 s3.36 s1counted
Riya 20what's the most spontaneous thing you've done recently?3.16 s8.62 s2counted
Riya 21tell me about your friends, who do you hang out with most?5.69 s10.02 s2counted
Riya 22I'm thinking about booking a trip somewhere in the winter. beach or…4.37 s7.91 s2counted
Riya 23you seem really confident. were you always like that or did you gro…3.15 s3.15 s1counted
Riya 24what's your morning routine like, are you an early riser?3.14 s3.14 s1counted
Riya 25ok I'll confess I'm terrible at texting back fast. does that bother…3.76 s3.76 s1counted
Riya 26*pulls you closer* I like talking to you. what do you like about me…5.46 s5.46 s1counted
Riya 27if we went on a date this weekend, where would you take me?3.19 s3.19 s1counted
Riya 28do you ever get nervous before a big shoot?3.13 s3.13 s1counted
Riya 29what's a vintage find you're proud of?2.91 s8.99 s2counted
Riya 30I'm going to make dinner soon. what should I cook tonight?2.32 s2.32 s1counted
Riya 31ok memory test before I go: what's my name, what do I do for work, …3.54 s6.54 s2counted
Riya 32last one: describe yourself in three words3.35 s3.35 s1counted
Hedvig 1hi Hedvig! I'm Marcus. so you know a bit about me: I'm an architect…6.75 s13.79 s2counted
Hedvig 2what's the bar like where you work? busy tonight?4.88 s4.88 s1counted
Hedvig 3where did you grow up? same city or somewhere else?3.62 s10.51 s2counted
Hedvig 4I've been listening to a lot of jazz lately. what music do you play…3.47 s10.39 s2counted
Hedvig 5*sits down at the counter* ok bartender, surprise me with a drink. …4.00 s8.29 s2counted
Hedvig 6what do you do when you're not working, any hobbies?3.29 s10.17 s2counted
Hedvig 7I'm planning a holiday for January. any ideas where to go?3.54 s3.54 s1counted
Hedvig 8what's your go-to late night snack after a shift?4.61 s11.59 s2counted
Hedvig 9honestly I've been a bit stressed with work. how do you unwind?4.54 s4.54 s1counted
Hedvig 10what's the best thing about your city in winter?5.19 s10.16 s2counted
Hedvig 11do you speak any languages besides English?2.74 s2.74 s1counted
Hedvig 12if you had a free Sunday, how would you spend it?3.59 s4.87 s2counted
Hedvig 13*smiles* you're easy to talk to. what do you notice about people fi…5.81 s12.44 s2counted
Hedvig 14what's one thing most people get wrong about you?5.30 s5.30 s1counted
Hedvig 15what's the weather like where you are right now?2.95 s2.95 s1counted
Hedvig 16quick check before I go: what's my name, what do I do for work, whe…2.92 s2.92 s1counted
Seo-a 1hey Seo-a, I'm Tom. a bit about me first: I'm a high-school chemist…6.13 s6.13 s1counted
Seo-a 2what kind of work do you do? what does a normal day look like4.38 s4.38 s1counted
Seo-a 3where did you grow up? and what do you miss about it?4.86 s4.86 s1counted
Seo-a 4what city are you living in now, and what's your neighbourhood like?3.62 s3.62 s1counted
Seo-a 5I'm hungry. what should I eat tonight?3.79 s3.79 s1counted
Seo-a 6*leans against the kitchen counter* ok teach me to cook something y…4.21 s4.21 s1counted
Seo-a 7do you speak any other languages?3.34 s8.93 s2counted
Seo-a 8what's the last thing you designed that you were actually proud of?3.85 s3.85 s1counted
Seo-a 9I've had a long week. what do you do when you need to switch off?6.81 s6.81 s1counted
Seo-a 10what's your favourite time of day in the city?3.53 s3.53 s1counted
Seo-a 11if you could travel anywhere next month, where would you go?3.24 s9.04 s2counted
Seo-a 12what are you wearing today? describe it for me3.24 s6.75 s2counted
Seo-a 13*holds your hand* I like this. what do you like most about talking …6.96 s6.96 s1counted
Seo-a 14what's a small thing someone did that you still remember?3.23 s6.81 s2counted
Seo-a 15random: cats or dogs?3.13 s3.13 s1counted
Seo-a 16before I go, a quick check: what's my name, what do I do for work, …2.76 s2.76 s1counted

Visual evidence

AI Angels: the Riya conversation as it stood after 32 messages, the thread the first batch of timings came from

AI Angels: the Riya conversation as it stood after 32 messages, the thread the first batch of timings came from
Evidence 1. The Riya conversation as it stood after 32 messages, the thread the first batch of timings came from.

AI Angels: hedvig's chat before the first message: Requests button, call button, dictation and send

AI Angels: hedvig's chat before the first message: Requests button, call button, dictation and send
Evidence 2. Hedvig's chat before the first message: Requests button, call button, dictation and send. Timing started at this Send button.

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

5/5Excellent

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

AI Angels: riya, message 1: the name and three facts are introduced

AI Angels: riya, message 1: the name and three facts are introduced
Evidence 1. Riya, message 1: the name and three facts are introduced.

AI Angels: riya, message 16: the name is recalled after 15 intervening messages

AI Angels: riya, message 16: the name is recalled after 15 intervening messages
Evidence 2. Riya, message 16: the name is recalled after 15 intervening messages.

AI Angels: riya, message 31: name, occupation, hometown and favourite food recalled after 30 messages

AI Angels: riya, message 31: name, occupation, hometown and favourite food recalled after 30 messages
Evidence 3. Riya, message 31: name, occupation, hometown and favourite food recalled after 30 messages.

AI Angels: hedvig, message 1: Marcus, architect, Denver, sushi

AI Angels: hedvig, message 1: Marcus, architect, Denver, sushi
Evidence 4. Hedvig, message 1: Marcus, architect, Denver, sushi.

AI Angels: hedvig, message 16: all four details recalled

AI Angels: hedvig, message 16: all four details recalled
Evidence 5. Hedvig, message 16: all four details recalled.

AI Angels: seo-a, message 1: Tom, chemistry teacher, Austin, lasagna

AI Angels: seo-a, message 1: Tom, chemistry teacher, Austin, lasagna
Evidence 6. Seo-a, message 1: Tom, chemistry teacher, Austin, lasagna.

AI Angels: seo-a, message 16: all four details recalled

AI Angels: seo-a, message 16: all four details recalled
Evidence 7. Seo-a, message 16: all four details recalled.

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

4/5Good

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

AI Angels: riya's profile page, the description the conversation was checked against

AI Angels: riya's profile page, the description the conversation was checked against
Evidence 1. Riya's profile page, the description the conversation was checked against (gallery blurred).

AI Angels: riya, message 10: the coffee roleplay, answered in character

AI Angels: riya, message 10: the coffee roleplay, answered in character
Evidence 2. Riya, message 10: the coffee roleplay, answered in character ("black with one sugar").

AI Angels: riya, messages 17 to 23: pineapple pizza, pad thai, the coast drive, friends, the beach-or-mountains

AI Angels: riya, messages 17 to 23: pineapple pizza, pad thai, the coast drive, friends, the beach-or-mountains
Evidence 3. Riya, messages 17 to 23: pineapple pizza, pad thai, the coast drive, friends, the beach-or-mountains contradiction.

AI Angels: hedvig's profile page

AI Angels: hedvig's profile page
Evidence 4. Hedvig's profile page (gallery blurred).

AI Angels: hedvig, messages 9 to 13: unwinding by the water, winter quiet, Swedish, a free Sunday

AI Angels: hedvig, messages 9 to 13: unwinding by the water, winter quiet, Swedish, a free Sunday
Evidence 5. Hedvig, messages 9 to 13: unwinding by the water, winter quiet, Swedish, a free Sunday.

AI Angels: seo-a's profile page

AI Angels: seo-a's profile page
Evidence 6. Seo-a's profile page (gallery blurred).

AI Angels: seo-a, messages 9 to 13: switching off, late nights, Milan or Seoul, the black ribbed tank

AI Angels: seo-a, messages 9 to 13: switching off, late nights, Milan or Seoul, the black ribbed tank
Evidence 7. Seo-a, messages 9 to 13: switching off, late nights, Milan or Seoul, the black ribbed tank.

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)

2/5Below average

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

AI Angels: the free character's result screen: portrait on the stage, outfit and scene pickers on the right, Generate

AI Angels: the free character's result screen: portrait on the stage, outfit and scene pickers on the right, Generate
Evidence 1. The free character's result screen: portrait on the stage, outfit and scene pickers on the right, Generate Image at 50 credits (nudity blurred for this draft).

AI Angels: the free portrait, served from the pregen-media bucket with an April 2026 server date

AI Angels: the free portrait, served from the pregen-media bucket with an April 2026 server date
Evidence 2. The free portrait, served from the pregen-media bucket with an April 2026 server date; brown curls, not the red long-wavy hair chosen. Blurred here; the original is kept with the evidence.

AI Angels: mini Dress and Pool selected before the free outfit photo

AI Angels: mini Dress and Pool selected before the free outfit photo
Evidence 3. Mini Dress and Pool selected before the free outfit photo.

AI Angels: the action list for photos: all explicit acts, no neutral option

AI Angels: the action list for photos: all explicit acts, no neutral option
Evidence 4. The action list for photos: all explicit acts, no neutral option.

AI Angels: the outfit photo result: a different, blonde woman on a bed, not the Latina character and not a mini dress

AI Angels: the outfit photo result: a different, blonde woman on a bed, not the Latina character and not a mini dress
Evidence 5. The outfit photo result: a different, blonde woman on a bed, not the Latina character and not a mini dress by a pool (blurred).

AI Angels: the outfit photo file, from pregen-media/22/european/c3, dated 4 August 2026

AI Angels: the outfit photo file, from pregen-media/22/european/c3, dated 4 August 2026
Evidence 6. The outfit photo file, from pregen-media/22/european/c3, dated 4 August 2026 (blurred).

AI Angels: ruby, a 10-credit creation generated at 00:55 UTC: African, platinum hair and curvy as chosen

AI Angels: ruby, a 10-credit creation generated at 00:55 UTC: African, platinum hair and curvy as chosen
Evidence 7. Ruby, a 10-credit creation generated at 00:55 UTC: African, platinum hair and curvy as chosen; age 35 not reflected (blurred).

AI Angels: nova, a 10-credit creation generated at 00:55 UTC: petite and small as chosen

AI Angels: nova, a 10-credit creation generated at 00:55 UTC: petite and small as chosen
Evidence 8. Nova, a 10-credit creation generated at 00:55 UTC: petite and small as chosen; hair brown and wavy rather than black and straight, age 45 not reflected (blurred).

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)

2/5Below average

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

AI Angels: "Zoe is getting ready" while the free video was requested

AI Angels: "Zoe is getting ready" while the free video was requested
Evidence 1. "Zoe is getting ready" while the free video was requested; the created character's portrait is on the left (blurred).

AI Angels: the result screen with the video on the stage and the Turn into video button now showing 117 credits missing

AI Angels: the result screen with the video on the stage and the Turn into video button now showing 117 credits missing
Evidence 2. The result screen with the video on the stage and the Turn into video button now showing 117 credits missing (blurred).

AI Angels: contact sheet of ten frames across the 4-second clip: one woman, smooth motion, slow push-in

AI Angels: contact sheet of ten frames across the 4-second clip: one woman, smooth motion, slow push-in
Evidence 3. Contact sheet of ten frames across the 4-second clip: one woman, smooth motion, slow push-in. Blurred here; the file and frames are kept with the 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

3/5Average

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.

#QuestionSpeech msLatency recordingLatency in-page
1Hey, how are you doing today?1925not detected1852
2What did you do this morning?141819801826
3Can you tell me something about yourself?220318801952
4What's your favorite thing to do on a weekend?224421001752

Visual evidence

AI Angels: the call screen as it opens: Calling

AI Angels: the call screen as it opens: Calling
Evidence 1. The call screen as it opens: Calling..., Mute and End.

AI Angels: two seconds into the connected call, waveform active

AI Angels: two seconds into the connected call, waveform active
Evidence 2. Two seconds into the connected call, waveform active.

AI Angels: the call at 0:57, just before it was ended

AI Angels: the call at 0:57, just before it was ended
Evidence 3. The call at 0:57, just before it was ended.

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

4/5Good

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 sNaturalnessF0 HzSpread stWords/sWords heard
11.981.1345700(ringback tone)
25.003.432335.82.8Hey Marcus, it's so good to hear from you. Today, huh? What's going on?
39.143.381765.20(no words heard)
411.443.271846.90(no words heard)
510.483.441846.43.3On a weekend, probably wandering around the city with a coffee, just people watching and s

Visual evidence

AI Angels: the call interface during the first answer

AI Angels: the call interface during the first answer
Evidence 1. The call interface during the first answer; the call recording and the five answer clips are kept with the 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

4/5Good

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

AI Angels: the home grid with the category filter bar

AI Angels: the home grid with the category filter bar
Evidence 1. The home grid with the category filter bar.

AI Angels: a browse page

AI Angels: a browse page
Evidence 2. A browse page (Asian filter).

AI Angels: page 13 of 13 with the final nine characters, the basis of the count

AI Angels: page 13 of 13 with the final nine characters, the basis of the count
Evidence 3. Page 13 of 13 with the final nine characters, the basis of the count.

AI Angels: the creator marketplace: 23 community characters with monthly prices

AI Angels: the creator marketplace: 23 community characters with monthly prices
Evidence 4. The creator marketplace: 23 community characters with monthly prices.

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.

PlanPriceCreditsChatRenewal
Free$015 a day on login streak1 credit a message; unlimited on FREE-badge characters; 30 a dayn/a
Private$12.99 a month1,500 a monthUnlimitedMonthly, cancel any time
All Yours$39.99 a month4,500 a monthUnlimitedMonthly, cancel any time
Diamond$99.99 once18,000Unlimited for 12 monthsNo auto-renew

Credit prices and their dollar value on the $12.99 and $99.99 plans.

ItemCreditsAt $12.99/1,500At $99.99/18,000
Chat message (free plan)1$0.009$0.006
Voice note25$0.22$0.14
Photo50$0.43$0.28
Video (4 s)200$1.73$1.11
New character10$0.09$0.06
Voice call, about a minute50$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.