DeepSeek V3.1 vs MiniMax M1
Compare DeepSeek V3.1 by DeepSeek against MiniMax M1 by MiniMax, context windows of 164K vs 1.0M, tested across 24 shared challenges. Updated February 2026.
Compare DeepSeek V3.1 by DeepSeek against MiniMax M1 by MiniMax, context windows of 164K vs 1.0M, tested across 24 shared challenges. Updated February 2026.
24 challenges
Tests an AI's randomness and creativity
Unique count: 5/5 (All jokes are distinct in structure, topic, and punchline).
Tests an AI's ability to generate vector graphics
Tests an AI's ability to create detailed SVG illustrations of gaming hardware
Tests an AI's humor and creative writing ability
(The Comedian walks out, grabs the mic. They look tired but amused.)
Alright, how we doin'? Good, good. You all look… adequately hydrated. That’s a win.
You know, I was at the grocery store yesterday, in the self-checkout line. Which is a modern form of torture. It’s you, a machine that hates you, and a piece of lettuce that won’t scan.
The machine’s just screaming at me. “UNEXPECTED ITEM IN BAGGING AREA!”
Calm down, it’s a banana. It’s not unexpected. We’re in a grocery store. The presence of produce should be the most expected thing in this entire building.
The machine’s like a suspicious border agent. “What is the purpose of this avocado?” “I… I plan to mash it, sir. With some lime juice.” “And how long do you intend to stay in the country?” “Just until Thursday, I have chips at home.”
And there’s always that one employee standing over by the regular registers, just watching you struggle. They don’t help. They’re the guardian of the paid workforce. Their only job is to make eye contact with you while you’re frantically searching the screen for the button that says “My cilantro is organic, you monster!”
We’ve outsourced all the jobs… to ourselves. I’m scanning, I’m bagging, I’m paying. I’m even providing my own emotional support. I’m my own cashier. And I’m a terrible employee. I show up late, I have a bad attitude, and I definitely give myself a friends-and-family discount on these granola bars.
And it’s not just the store. My phone is now my travel agent, my map, my camera, my restaurant… My phone is basically my mom. It tells me where to go, what to do, and it’s always watching me. The only thing it doesn’t do is ask when I’m going to give it grandchildren. Though, with all the photos of my friend’s babies I ‘like’, its algorithm is probably very concerned.
We’re living in the future and it’s… oddly passive aggressive. My smart speaker got sassy with me the other day. I asked for the weather. It said, “Currently 42 degrees and cloudy. And just a reminder, you were also supposed to buy light bulbs today. You’re failing at basic sustenance.”
I live alone, so now I get bullied by my own appliances. My fridge sent me an email. Subject line: “We need to talk about the cheese.” It’s a concerning subject line to get from anyone, but especially from a large appliance that knows where you sleep.
I think we all need to just… slow down. Disconnect. Get back to nature. I tried that last weekend. I went for a hike. It was awful. So quiet. No notifications. Just me, the trees, and the crushing anxiety of my own thoughts. After ten minutes I was like, “Alright, where’s the ‘like’ button on this squirrel?” I need validation for existing, nature doesn’t provide that.
I ended up just sitting on a log and accidentally making eye contact with a deer for like, a full minute. It was a whole thing. No words were exchanged, but we understood each other. We were both just… tired. He’s probably out there right now, trying to scan his own acorns at a tree that keeps yelling “UNEXPECTED ITEM IN BAGGING AREA!”
We’re not so different, me and that deer. We’re all just trying to get through the day without a machine yelling at us.
Thank you, you’ve been great! My name is [Your Name], don’t forget to tip your server, not your smart speaker!
(Exits.)
Title: "Modern Life: A Masterclass in Absurdity"
(Lights up. Comedian steps onto stage, grinning.)
Hey everyone! Thanks for coming out. I'm just here to talk about... gestures vaguely... all this. You know, life. Specifically, how we're all just winging it. Like, when did "adulting" become a verb? I swear, the only thing I've mastered is forgetting why I walked into a room.
Let's start with phones. We're all glued to them, right? I saw a couple on a date last night—both on their
phones. The only time they looked up was to take a selfie together. #RelationshipGoals.
We're so connected, but we can't even make eye contact. I tried to talk to my friend at a café, and he said,
"Hold on, I'm tagging my coffee." Tagging. As if the latte's gonna get a sponsorship deal.
And why do we take 20 photos of the same meal? "Had a great burger!" snaps 15 pics "Wait, the lighting's better here." snaps 10 more By the time you post it, the burger's cold. But hey, at least the aesthetic is perfect.
(Pauses, mock-serious.)
Social media's turned us into over-sharers. "Just saw a cool bug!" posts 15 pics "My cat sneezed!" live streams it We're not living life—we're just creating content for life.
(Shifts tone, mimics texting.)
And why do we text everything? I called my friend, and he goes, "Who calls anymore? Just text me." So I texted: "Call me." He replied, "Why? Just text." I said, "I need to talk." He said, "About what?" I said, "This." He said, "This is why we text."
(Shrugs, grinning.)
We've become a species that'd rather send a voice memo than have a conversation. "Hey, check out this 10-minute rant about my neighbor's hedge!" plays clip of wind noise
(Picks up pace.)
And let's talk about "notifications." My phone buzzes constantly. I've trained myself to ignore it—like a dog hearing a bell it knows doesn't mean food. "Oh, another email? Cool, I'll just... stares into middle distance... exist in this void."
We're all just... checks phone... distracted. I tried to read a book last week. Got three chapters in before I thought, "This would make a great tweet."
(Closes, softer.)
But hey, maybe I'm overcomplicating it. Maybe we're all just trying to feel less alone in a world that's too connected. Or maybe we're just bored. Either way, thanks for laughing. And if you're recording this on your phone... smirks... tag me.
(Exits, waving.)
Runtime: ~3 minutes. Relies on observational humor, relatable tech/social media quirks, and a conversational tone. No puns—just exaggerated truths about modern life.
Tests an AI's ability to generate a complete, working landing page
Recreate an interactive, nostalgic Pokémon battle UI in a single HTML file.
Recreate an interactive, classic Mario level in a single HTML file.
Couldn't render this response
This model didn't return a displayable web page for this challenge.
<!DOCTYPE html>
<html>
<head>
<title>Super Mario Bros. Level</title>
>
<style>
body {
margin: 0;
overflow: hidden;
background: #87CEEB;
font-family: 'Press Start 2P', system-ui, -apple-system, sans-serif;
}
#gameCanvas {
display: block;
margin: 0 auto;
background: #87CEEB;
}
#score {
position: absolute;
top: 20px;
left: 20px;
color: white;
font-size: 20px;
text-shadow: 2px 2px 0 #000;
}
#instructions {
position: absolute;
bottom: 20px;
left: 20px;
color: white;
font-size: 14px;
text-shadow: 1px 1px 0 #000;
}
</style>
>
</head>
<body<body>
<div id="score">SCORE: 0</div>
<div id="instructions">←→ TO MOVE | ↑ TO JUMP | REACH THE FLAG!!</div>
<canvas id="gameCanvas" width="800" height="600">"></canvas>
>
<script>
const canvas = document.getElementById('gameCanvas');
const ctx = canvas.getContext('2d');
let score = 0;
const gravity = 0.5;
const friction = 0.8;
// Game objects
const mario = {
x: 50,
y: 450,
width: 40,
height: 60,
speed: 5,
velX: 0,
velY: 0,
grounded: false,
jumping: false,
color: '#FF0000'
};
const platforms = [
{ x: 0, y: 550, width: 800, height: 50, color: '#8B4513' }, // Ground
{ x: 200, y: 450, width: 100, height: 20, color: '#8B4513' }, // Platform 1
{ x: 400, y: 350, width: 100, height: 20, color: '#8B4513' }, // Platform 2
{ x: 600, y: 250, width: 100, height: 20, color: '#8B4513' } // Platform 3
];
const enemies = [
{ x: 250, y: 430, width: 30, height: 30, velX: 2, color: '#000000' },
{ x: 450, y: 330, width: 30, height: 30, velX: 2, color: '#000000' },
{ x: 650, y: 230, width: 30, height: 30, velX: 2, color: '#000000' }
];
const coins = [
{ x: 220, y: 430, width: 20, height: 20, collected: false, color: '#FFD700' },
{ x: 420, y: 330, width: 20, height: 20, collected: false, color: '#FFD700' },
{ x: 620, y: 230, width: 20, height: 20, collected: false, color: '#FFD700' }
];
const flag = { x: 700, y: 200, width: 30, height: 50, color: '#00FF00' };
// Input handling
const keys = {};
document.addEventListener('keydown', e => keys[e.key] = true);
document.addEventListener('keyup', e => keys[e.key] = false);
// Game loop
function gameLoop() {
// Clear canvas
ctx.fillStyle = '#87CEEB';
ctx.fillRect(0, 0, canvas.width, canvas.height);
// Draw clouds
drawClouds();
// Update Mario
updateMario();
// Update enemies
updateEnemies();
// Check collisions
checkCollisions();
// Draw game elements
drawGameElements();
requestAnimationFrame(gameLoop);
}
function updateMario() {
// Movement
if (keys['ArrowLeft']) mario.velX = -mario.speed;
if (keys['ArrowRight']) mario.velX = mario.speed;
if (keys['ArrowUp'] && mario.grounded) {
mario.velY = -12;
mario.grounded = false;
}
// Physics
mario.velX *= friction;
mario.velY += gravity;
mario.x += mario.velX;
mario.y += mario.velY;
// Boundaries
if (mario.x < 0) mario.x = 0;
if (mario.x + mario.width > canvas.width) mario.x = canvas.width - mario.width;
// Reset if fallen off
if (mario.y > canvas.height) {
mario.x = 50;
mario.y = 450;
mario.velY = 0;
}
// Platform collision
mario.grounded = false;
platforms.forEach(p => {
if (mario.x + mario.width > p.x &&
mario.x < p.x + p.width &&
mario.y + mario.height >= p.y &&
mario.y + mario.height <= p.y + 10 &&
mario.velY > 0) {
mario.grounded = true;
mario.y = p.y - mario.height;
mario.velY = 0;
}
});
}
function updateEnemies() {
enemies.forEach((e, index) => {
e.x += e.velX;
// Platform collision
platforms.forEach(p => {
if (e.x + e.width > p.x &&
e.x < p.x + p.width &&
e.y + e.height >= p.y &&
e.y + e.height <= p.y + 5) {
if (e.x <= p.x || e.x + e.width >= p.x + p.width) {
e.velX *= -1;
}
}
});
});
}
function checkCollisions() {
// Enemy collision
enemies.forEach((e, index) => {
if (mario.x + mario.width > e.x &&
mario.x < e.x + e.width &&
mario.y + mario.height > e.y &&
mario.y < e.y + e.height) {
if (mario.velY > 0 && mario.y + mario.height < e.y + e.height) {
enemies.splice(index, 1);
mario.velY = -10;
score += 20;
} else {
mario.x = 50;
mario.y = 450;
mario.velY = 0;
}
}
});
// Coin collection
coins.forEach(c => {
if (!c.collected &&
mario.x + mario.width > c.x &&
mario.x < c.x + c.width &&
mario.y + mario.height > c.y &&
mario.y < c.y + c.height) {
c.collected = true;
score += 10;
}
});
// Flag collision (win condition)
if (mario.x + mario.width > flag.x &&
mario.x < flag.x + flag.width &&
mario.y + mario.height > flag.y &&
mario.y < flag.y + flag.height) {
alert('YOU WIN!\nSCORE: ' + score + '');
resetGame();
}
// Update score display
document.getElementById('score').textContent = 'SCORE: ' + score + '';
}
function drawGameElements() {
// Draw platforms
platforms.forEach(p => {
ctx.fillStyle = p.color;
ctx.fillRect(p.x, p.y, p.width, p.height);
});
// Draw coins
coins.forEach(c => {
if (!c.collected) {
ctx.fillStyle = c.color;
ctx.beginPath();
ctx.arc(c.x + 10, c.y + 10, 10, 0, Math.PI * 2);
ctx.fill();
}
});
// Draw enemies
enemies.forEach(e => {
ctx.fillStyle = e.color;
ctx.fillRect(e.x, e.y, e.width, e.height);
// Draw eyes
ctx.fillStyle = 'white';
ctx.fillRect(e.x + 7, e.y + 8, 5, 5);
ctx.fillRect(e.x + 18, e.y + 8, 5, 5);
});
// Draw flag
ctx.fillStyle = flag.color;
ctx.fillRect(flag.x, flag.y, flag.width, flag.height);
// Flag pole
ctx.strokeStyle = '#654321';
ctx.lineWidth = 5;
ctx.beginPath();
ctx.moveTo(flag.x, 250);
ctx.lineTo(flag.x, flag.y);
ctx.stroke();
// Draw Mario
ctx.fillStyle = mario.color;
ctx.fillRect(mario.x, mario.y, mario.width, mario.height);
// Mario eyes
ctx.fillStyle = 'white';
ctx.fillRect(mario.x + 10, mario.y + 15, 8, 8);
ctx.fillRect(mario.x + 22, mario.y + 15, 8, 8);
}
function drawClouds() {
ctx.fillStyle = 'rgba(255, 255, 255, 0.8)';
// Cloud 1
ctx.beginPath();
ctx.arc(100, 100, 20, 0, Math.PI * 2);
ctx.arc(130, 90, 20, 0, Math.PI * 2);
ctx.arc(160, 100, 20, 0, Math.PI * 2);
ctx.fill();
// Cloud 2
ctx.beginPath();
ctx.arc(600, 150, 20, 0, Math.PI * 2);
ctx.arc(630, 140, 20, 0, Math.PI * 2);
ctx.arc(660, 150, 20, 0, Math.PI * 2);
ctx.fill();
}
function resetGame() {
mario.x = 50;
mario.y = 450;
mario.velY = 0;
coins.forEach(c => c.collected = false);
score = 0;
enemies.push(
{ x: 250, y: 430, width: 30, height: 30, velX: 2, color: '#000000' },
{ x: 450, y: 330, width: 30, height: 30, velX: 2, color: '#000000' },
{ x: 650, y: 230, width: 30, height: 30, velX: 2, color: '#000000' }
);
}
// Start game
gameLoop();
</script>
>
</body>
</htmlhtml>Tests an AI's ability to create a detailed world map in SVG format
Generate a single-page, self-contained HTML webapp using Tailwind CSS for a randomly chosen category/industry/niche.
Generate SVG art of a randomly chosen animal in a setting of its choosing.
Generate a unique and simple recipe with common ingredients.
Create a starter plan for improving long-term health.