Describe the world
Where is it, when is it, and what is it like? Pick a suggestion or write your own. The model that invents the vocabulary reads exactly these three fields.
Suggestions
One model call per cell. A 12 × 12 map is 144 decisions.
Vocabulary (optional)
The list of element types the map is built from, as JSON. A suggestion fills it in for free. Leave it empty and the narrative model writes one for your setting (the one paid call). Edit it as you like: the same checks a model's answer must pass run on this box.
How this works, and why two models
One creative call, or none. A language model (Claude, GPT, Gemini, your pick) reads your three fields and writes the vocabulary of the world: 6 to 24 element types, each with a description, placement rules, whether you can walk on it, and the properties one instance of it would need later. That JSON is checked, and the model is asked to fix it if it is wrong. It is also the expensive part, so every suggestion ships with its vocabulary written already, and you can read, edit or replace it in the Vocabulary box above.
Many fast decisions. Then, for every cell, a decision model (TypeSafe's Jev, by default) is given the neighbouring cells and asked one typed question: which type goes here? It answers with a choice and a probability per option, not with text. Cheap, fast, and exactly the kind of decision it is built for.
Plain code checks the result. When the map is full, a flood fill finds walkable cells that cannot be reached from the largest open area, so a sealed-off room is reported rather than hidden.
Connect the models
Every AI request goes through OpenRouter, one gateway to Claude, GPT, Gemini, Jev and hundreds more. You bring your own key, so you pay only for what you generate, and this page has no server that could see it.
-
Create a free OpenRouter account
No subscription and no card is required to make a key. Some models are free; the defaults here cost a few cents per map.
-
Create a key
On that page press Create Key, give it a name, and set a credit limit if you like. OpenRouter shows the key once: copy it.
-
Paste it here
The key stays in this browser and is sent only to openrouter.ai. Anything else with access to this browser can read it, so set a credit limit on the key, and forget it here when you are done.
-
Choose which model does which job
Jev Latest is the default: it answers typed questions with probabilities, at about $0.04 per million tokens. A text model can stand in when Jev is down, slower and dearer.
Writes the vocabulary as strict JSON. Claude Sonnet is the default; any model that supports JSON output works.
Drag to pan, wheel or pinch to zoom, click a cell to inspect it. An orange corner marks a fallback cell; a blue corner marks a cell you changed.