/Demos/Morph SequencePowered by GMI CloudGet a key ↗Start in console
MiniMax M3 · Hermes Agent · GMI Cloud inference

A Three.js figure, evolved by a genetic algorithm.

Three lineages of MiniMax-M3 each write a scene of one figure mid-transformation (human → hawk). Headless Chromium renders it, two vision models score the frames, the weakest lineage is cut and the two best are crossbred. These are the frames from the pilot run, with the judge panel's numbers.

3lineages
2generations
23model calls
$0.97total spend on GMI
41.0best judge score (of 60)

The loop

01Mutate

A Hermes Agent hands MiniMax-M3 the previous scene, its three rendered frames and the judges' critique, and asks for a rewrite that moves the morph one stage further and improves geometry, materials and lighting. Three lineages do this in parallel, each in its own art style. The model's code edits are the mutation.

02Render and judge

Each scene is a self-contained HTML file. A headless Chromium container renders it at 1920×1080, waits three seconds to settle and captures three frames a second apart, so motion can be judged too. Gemini 3.5 Flash-Lite and Qwen3.5-27B, both verified to actually see images on GMI, score six axes out of ten: silhouette, geometry, lighting, motion, morph continuity, morph pacing.

03Select and crossbreed

The panel's average picks a winner and eliminates the lowest lineage. M3 then merges the two survivors' code into a new scene that replaces the loser, so the next generation starts from the strongest material. A journal entry written by M3 records what to fix next. Black frames are a valid, scored result: generation 2's crossbreed failed to render and took a zero.

Source

Pipeline source ↗ scripts/evolve.py · render/render.js · prompts/*.txt
Judge sheet, generation 1 · generation 2 · M3's design journal · costs.csv
MiniMaxAI/MiniMax-M3 writes, breeds and journals · google/gemini-3.5-flash-lite and Qwen/Qwen3.5-27B judge · all on GMI Cloud inference

Build this on GMI Cloud

One endpoint. 200+ models. Pay per token, scale to zero.