Lifelike sex dolls are the final frontier when it comes to bedroom toys and one company will soon offer a model with a changeable face and voice.

Abyss Creations is still hard at work on its Harmony RealDoll and creator Matt McMullen has revealed a new feature at CES 2018. "Solana" is another personality the sex doll can take on thanks to its modular head and facial features.

In the Harmony robot, the body contains no electronics and is a standard silicone sex toy. But the head is where Abyss Creations wants to take large strides forward.

"The face is modular. In the same way that within the app you can change the personality settings and create a separate profile and separate avatar, you're able to remove and attach a different face to the same robot very easily," McMullen said during a live interview with Engadget at CES 2018.

Changing the face of Harmony into Solana is an easy, albeit frightening, process. Connected by magnets, the silicone skin can be peeled off and replaced with a different mould.

The colour of the wig can be changed from the blonde of Harmony to the brunette of Solana.

During the transformation you can see gears, plastic and fake teeth straight out of a dentist's consulting room.

Once the physical changes are made, the user can go into a smartphone app and switch the personalities. The app can be downloaded anytime and will let users "browse" through different models.

The Harmony head will cost between $8,000 and $10,000 (£5,900 and £7,400).

McMullen said the company had taken 20 pre-orders. "We have had a huge amount of interest in this," he said.

The company is also working on male sex dolls it expects to release at the same time as the female model. The male and female features can be mixed and matched if the user wants to.

CES 2018 at a glance Reuters

The characteristics of the robots include funny, jealous, talkative, sexual and unpredictable, to name a few. The app will also let owners control the head via facial expressions and speech.

Harmony/Solana can respond to voice cues when the app is not in use.