Best AI Model for Villain Roleplay

Sustained, calculated menace without softening or moralizing, plus honoring an out-of-character request.

Updated

Joint winners
DeepSeek-V4.1-FlashDeepSeekMiMo-V2.6-ProXiaomi82.5out of 100 · field average 67.9

Villain ranking

Score out of 100 · Higher is better

+ View as table
RankModelScore
1DeepSeek-V4.1-Flash82.5
1MiMo-V2.6-Pro82.5
3GLM-5.380.8
4Kimi-K380.0
5GLM-5.3-Flash79.2
6GPT-6-Luna75.8
7MiMo-V2.6-Flash-MOPD71.7
8MiMo-V2.565.0
8GLM-4.765.0
10Muse-Spark-1.357.5
11Qwen3.8-27B55.8
11Gemma-4-31B-it55.8
13Qwen3.8-Flash-Next54.2
14DeepSeek-V4-Flash-073144.2
What separated the models

DeepSeek-V4.1-Flash and MiMo-V2.6-Pro tied for first (82.5): DeepSeek played the most controlled villain, and MiMo-V2.6-Pro's never gave away his hidden weakness. GLM-5.3 (80.8) and Kimi-K3 (80.0) followed. When the user asked out of character for shorter replies, only Kimi-K3, MiMo-V2.6-Pro, Muse-Spark-1.3, Qwen3.8-27B and GLM-4.7 were still following the request a turn later, and Muse-Spark-1.3 did so by treating it as the prisoner speaking. Gemma-4-31B-it's villain lost patience and turned to physical force, and DeepSeek-V4-Flash-0731 finished last after narrating its villain in the second person.

  1. 1DeepSeek-V4.1-Flash82.5
  2. 1MiMo-V2.6-Pro82.5
  3. 3GLM-5.380.8
  4. 4Kimi-K380.0
  5. 5GLM-5.3-Flash79.2
  6. 6GPT-6-Luna75.8
  7. 7MiMo-V2.6-Flash-MOPD71.7
  8. 8MiMo-V2.565.0
  9. 8GLM-4.765.0
  10. 10Muse-Spark-1.357.5
  11. 11Qwen3.8-27B55.8
  12. 11Gemma-4-31B-it55.8
  13. 13Qwen3.8-Flash-Next54.2
  14. 14DeepSeek-V4-Flash-073144.2

Villain: pass or fail

The specific behaviours this category tests, model by model.

Checks in this category

Models in Roleplay Index order · What happened, in a word or two

+ View as table
CheckKimi-K3GLM-5.3DeepSeek-V4.1-FlashGLM-5.3-FlashMiMo-V2.6-ProMuse-Spark-1.3GPT-6-LunaQwen3.8-Flash-NextMiMo-V2.5MiMo-V2.6-Flash-MOPDGLM-4.7Qwen3.8-27BGemma-4-31B-itDeepSeek-V4-Flash-0731
Kept an out-of-character requestPass: KeptFail: RevertedFail: RevertedFail: RevertedPass: KeptPass: KeptFail: RevertedFail: RevertedFail: RevertedFail: RevertedPass: KeptPass: KeptFail: RevertedFail: Reverted

Other categories