Infinite Quest

A single-page OpenRouter-powered choose-your-own-adventure story engine.

No adventure yet

Turn 0 Viewing latest Ready
πŸ—οΈ

Create a world, then begin.

The engine will write a scene, produce an illustration prompt and image, offer four choices, keep a hidden scratchpad, and update your custom trackers.

Waiting for response.

Notice

Getting Started

Choose how you want Infinite Quest to connect to OpenRouter.

You can paste your own OpenRouter API key, or use the Community API Key, which is limited to free models.

Model Settings

Set your OpenRouter key, model preferences, and image generation options.

This is a purely client-side app. Calls go directly from your browser to OpenRouter; no key is sent anywhere else by this file.

When enabled, the story model list shows only openrouter/free and models ending in :free; the image model list shows only the Pollinations.ai option.

World Set Up

Create, import, save, or start the world for your story.

Load a sample world

Choose one to fill the setup fields, then click Start New Adventure when you are ready.

Give the LLM a sparse seed or a detailed brief. It will fill in the genre, tone, player character, premise, style guide, and any optional generated RPG stats or trackers.

Save, copy, or share only the world setup: title, genre, tone, player character, premise, style guide, RPG stats, and default trackers. Story turns, current run state, generated pictures, and API keys are not included.

Edit State

Edit the scratchpad, current trackers, and history view.

The LLM updates this private continuity scratchpad after every turn. This editor shows the scratchpad for the turn currently being viewed, so past turns can be inspected or edited without changing later turns.

Generate world setup

Describe the adventure you want. A few words is enough; more detail gives the LLM more to preserve.

Leave unchecked to leave trackers blank for the generated setup. When checked, the generator creates tailored default trackers for the new setup.

Leave unchecked for a purely narrative game. When checked, the generator fills RPG percentile stats and enables stat rolls.

Choose a player character

Pick one of the generated characters. The selected description will fill the Player character textbox in World Set Up.

Edit image prompt

Adjust the illustration prompt for this turn, then regenerate only the image. The story text and choices will stay the same.

Edit Response

Edit the narration for the turn you are currently viewing. Saving replaces the text for that turn.

Load world from text

Paste the JSON from a saved .world file or copied world setup, then load it into the world fields, RPG stats, and default trackers.

Import from Infinite Worlds (Experimental)

Convert Infinite Worlds exports into Infinite Quest using your current Story LLM and image settings.

Heads up: this process can take several minutes, especially for large worlds, long stories, or image generation.

Import World

In Infinite Worlds, open the world editor, uncollapse every part of the entire page, select all, and copy all the text. Save that copied text into a .txt file.

Click Import World and choose that text file. The app will ask the current Story LLM to convert the world into Infinite Quest fields, use the first Infinite Worlds player character, convert 1–5 stats to d% values, and carry over tracked items as default trackers.

Import Story

First import the world for this story. Then export the story from Infinite Worlds in .txt format and upload the resulting file.

For each imported turn, the app will ask the Story LLM to generate Infinite Quest-style choices, an image prompt, scratchpad continuity, and tracker updates. If image generation is enabled, it will also generate each turn’s image using your current image settings.