GPT-4.1 vs MiniMax M1
Compare GPT-4.1 by OpenAI against MiniMax M1 by MiniMax, context windows of 1.0M vs 1.0M, tested across 25 shared challenges. Updated February 2026.
Compare GPT-4.1 by OpenAI against MiniMax M1 by MiniMax, context windows of 1.0M vs 1.0M, tested across 25 shared challenges. Updated February 2026.
25 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
Hey everyone! Great to be here. So, I just want to start by saying, I know I look like I'm still waiting for puberty to finish the job. Like, my barber always asks if my mom's okay with the haircut.
I'm at that age where the real milestone isn't getting married or buying a house — it's figuring out how to sleep without injuring myself. Like last week, I woke up with a cramp in my neck and somehow a pulled hamstring. My best guess? I was doing CrossFit in my dreams.
You ever realize adulthood is just Googling things your parents seemed to magically know? Like, my dad could build a bookshelf from scratch — I Google "how to boil water" and still check the comment section for tips. And people say, "Oh, you just follow your instincts!" Well, my instincts say Taco Bell is good food and that you can fix electronics by swearing at them. So, maybe not.
Now, some people say technology makes life easier, but honestly, I think my phone exists just to judge me. The "screen time" notification pops up every Sunday? "You averaged seven hours of screen time a day." Seven hours?! What am I — a bat? Am I just hanging upside down scrolling memes all night?
And when did every app become a subscription? Like, I can't even sneeze anymore without being asked if I want to upgrade to Sneeze Premium. "For just $4.99 a month, we'll throw in a tissue and reduce your ads by 20%."
Dating apps, too. When did dating go from meeting someone at a bar to doing a full marketing campaign on yourself? Bios are like: "I love adventure, I'm a foodie, and I really value authenticity." But you meet them and it's just, "So, uh, do you want to split this mozzarella stick?"
You ever notice no one drinks just water anymore? Everyone's drinking some special water — "This is glacier water, harvested by monks." I drink tap water and people act like I'm taking shots of bleach. "Are you okay? Did you lose a bet?"
And the gym — oh man, people at the gym are either training for the Olympics or just using the massage chairs for three hours. There's no in-between. I tried a Zumba class once. "It'll be fun!" they said. Forty-five minutes in, I'm sweating out things I ate in 2017. Pretty sure I cried out a Skittle.
Anyway, you've all been great. Remember: drink your monk water and don't trust your phone. Have a good night!
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, 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.