Writing a story
Author chapters, milestones, roles and data panels that hold up to replays.
You author a story's frame — cast, roles, chapters, milestones, data panels — and the AI performs it. This page covers the editor at /app/stories/create (and the Edit story action on a story you own), what each field does, and what publishing a story does and does not get you.
The five tabs
The editor opens on Characters. Nothing saves until you press Create Story or Update Story.
| Tab | Fields | Limits |
|---|---|---|
| Characters | Pick characters from the library — All, Recent, Mine, Favorites or For You. Each gets Role in Story (Protagonist or Supporting Character) and an optional Story-Specific AI Context. Below the cast: Playable Roles (Role Name, Description, AI Context, Default Role, avatar) and the World Books panel. | 1–50 characters; 1–50 roles, exactly one default |
| Basic Info | Title, Bio, Cover Image, Opening Message, Categories, Tags, Story AI Context, Visibility, NSFW Content | Title ≤100; bio 10–500; ≥1 category; opening message and story context ≤20,000 each; cover required |
| Chapters | Chapter Title, Description, Opening Message, AI Context, Cover Image | 1–100 chapters, played in order; chapter context ≤10,000 |
| Milestones | Milestone Name, Description, AI Context (Unlock Condition), Cover Image | 0–200; context ≤10,000 |
| Data Panels | Panel: Internal Name (snake_case), Display Name, Description, AI Prompt. Field: Field Name, Display Name, Type, Description, AI Hint | ≤50 panels; panel prompt and field hint ≤5,000 each |
Milestones and data panels are both optional. Chapters are not — a story needs at least one.
What a role actually is
A playable role is a paragraph of context about who the player is. Its AI Context goes into the system prompt, so the generated prose knows whether it is addressing a detective or a suspect.
That is all it is. A role has no opening message of its own and no milestone pool of its own. Every role starts from the same story and chapter opening text, and every role can unlock every milestone in the story. Three roles are three framings of the same authored material — which is cheap to write and does change how a playthrough reads, but it is not three stories.
Milestones and chapters
A milestone's AI Context (Unlock Condition) is the instruction the model judges against — write the condition, not the reward. Unlocks are validated on the way in: a milestone only fires if it exists and is still locked on that save.
Chapters are linear. The model may move the player forward to a real chapter and never backwards, and a chapter jump to something you didn't author is discarded before the turn is stored.
Data panels
A panel is a named bag of fields the AI keeps up to date as the story runs, shown to the player in the play sidebar.
Fields are text or number — those are the only two types. There are no lists, no enumerations, no booleans, no ranges and no starting values: a panel starts empty and only gains values when the AI writes them. Everything is stored as text, so "number" is a display hint, not arithmetic — nothing adds, clamps or compares.
That means "inventory" or "clues collected" is one free-text field the AI rewrites each time, not a growing list, and "suspicion: low/medium/high" is whatever string the model chooses. Say what you want in the field's AI Hint. Writes to a field name you didn't define are dropped.
AI help while authoring
| Action | What it does |
|---|---|
| AI Generate | Turns a free-text idea into title, bio, opening message, story context, tags, NSFW flag, categories, roles, chapters, milestones and one context paragraph per character. Needs at least one character on the Characters tab first. |
| AI Optimize | On an existing story: revises the draft in place and applies an optional change request, keeping what you didn't ask to change. |
| AI Generate Data Panel | Describe a panel; get its fields, types and hints. |
| Generate Story Cover | A 16:9 AI cover, with your cast's appearances folded into the prompt. Costs credits. |
The AI generator is told to let the premise decide how many chapters and milestones a story needs rather than pad to a number, so don't be surprised by uneven counts.
Publishing
There is no publish button. Visibility is a radio on the Basic Info tab — Public, Unlisted or Private — and the story is saved with Create Story or Update Story. New stories in the editor default to Unlisted.
Setting a story Public runs the same cover-image vision check that characters go through; if it fails you get the reason and the story isn't published. Only the cover is checked. Going public also queues automatic translation of the story, its chapters, milestones, roles and panels into every supported language.
Earning from a story
A public story earns on the same terms as a public character. Each calendar month, take the paid credits other people spent playing it, subtract the first 1,000,000, and you receive 5% of the remainder.
Two details decide whether a story actually pays:
- Public only, and per story. An unlisted or private story earns nothing, and every work is measured on its own — two stories at 900,000 each clear nothing between them.
- Your own plays don't count. Usage from your own account is subtracted before the threshold is tested, so playtesting your own story neither earns nor helps you reach the threshold.
Story rewards land with your character rewards, in one monthly payout, and appear in Creator Center → Earnings labelled with the story's name.
Full breakdown of all three revenue streams →
What the editor does not give you
- No playtest mode. The header has Random (admin only), AI Generate / AI Optimize and Delete Story. To test a story, open it and play it like a reader.
- No story-only characters. Every cast member is a real character — one of yours, or any public one, picked through the selector. You cannot author a character that exists only inside this story.
- No per-milestone or per-panel analytics. Nothing tells you which milestones never fire or which panels go unused.
- No ending. Nothing marks a story complete — there is no completion state to author against. Write chapters that are worth reaching, not an arc that resolves itself.
- No authored branches. There is no choice model to write. You author the frame; every divergence a player sees is generated during play.
Related
- Story mode — the player's side of everything here
- World Books — lore shared by the story and its cast
- Prompt fields — how a character's own fields feed the story prompt
- Publishing a character — the same cover-image review gate
- Writing stories that replay well — design notes