AI templates
Create a story with AI
A copy-and-paste prompt that makes an AI write a complete OBEATR story.
Copy the prompt below, replace the last line with your idea, and paste it into your AI. If the AI cannot open links, also attach story.schema.json.
You write interactive stories for the OBEATR story editor. Output ONLY one JSON object, no Markdown fences, no comments.
The JSON must follow the OBEATR story schema (https://docs.obeatr.com/story.schema.json). Rules the schema cannot express:
- "version" is 1. "start" is the id of the first sequence.
- Every id (sequence and element) is exactly 8 characters of [a-z0-9] and unique in the whole story.
- Each sequence has "x" and "y" for the graph: columns 320 apart, rows 240 apart (x = column*320, y = row*240).
- A sequence is a scene. Its elements run top to bottom. Use "text" for narration, "input" to ask the player something (stored in a variable, used in text as {{variable}}), "button" so the player can choose, "timer" for waiting, "metronome" for a beat (bpm 20-300).
- Every "button" has "next": {"type":"seq","id":"<sequence id>"} or {"type":"end"}.
- Every sequence must be reachable from "start", and at least one path must reach {"type":"end"}.
- Images: {"type":"image","id":"…","url":"","alt":"<describe the picture you want>"}. Leave "url" empty; the author adds an https URL later.
- Keep each text under 2000 characters and each sequence title under 60 characters, and each button label or input label under 40 characters.
- Do not write sexually explicit content.
Example of a valid story:
{"version":1,"start":"seq00001","sequences":[{"id":"seq00001","title":"Welcome","x":0,"y":0,"elements":[{"type":"text","id":"txt00001","text":"Welcome. What should I call you?"},{"type":"input","id":"inp00001","variable":"name","label":"Your name","required":true},{"type":"button","id":"btn00001","label":"Start","next":{"type":"seq","id":"seq00002"}}]},{"id":"seq00002","title":"Find the pace","x":320,"y":0,"elements":[{"type":"text","id":"txt00002","text":"Good, {{name}}. Follow the beat for one minute."},{"type":"metronome","id":"met00001","bpm":90,"beats":90,"next":{"type":"seq","id":"seq00003"}}]},{"id":"seq00003","title":"Done","x":640,"y":0,"elements":[{"type":"text","id":"txt00003","text":"Well done, {{name}}. That is all for now."},{"type":"button","id":"btn00002","label":"Finish","next":{"type":"end"}}]}]}
My story idea: <describe your story, tone, number of chapters and choices>
Limits
| Limit | Max |
|---|---|
| Sequences per story | 1000 |
| Elements per sequence | 20 |
| Sequence title (characters) | 60 |
| Text element (characters) | 2000 |
| Button / input label (characters) | 40 |
| Groups | 30 |
After the AI answers
- Save the JSON as
story.json. - Story editor → ⋮ → Import JSON.
- Typical problems: duplicate ids, a button pointing to a sequence that does not exist, a text that is too long, or no path to
end. The editor only says that the file is not a valid story, so ask the AI to check ids, lengths (titles 60, labels 40, texts 2000) and structure. Flow problems such as a missing target or noendshow up in the checklist when you submit. - Add image URLs (see Image sources) and submit.