



Story notes
How this story was made
- Story generation model
- openai/gpt-5.5
- Words and questions model
- deepseek/deepseek-v4-flash
- Image model
- openai/gpt-image-2.5-flare
- Speech model
- x-ai/grok-voice-tts-1.0
- Narration voice
- leo
Finer details: prompts used
Story planning and generation
Attempt 1 · openai/gpt-5.5
System prompt
You design clear, compelling short-story plans for independent grade 4 readers. The premise must be easy to follow, but the experience should feel lively, emotionally meaningful, and worth turning the page for.
PLAN RULES
- Start with an emotionally recognizable situation, then choose the setting that best serves the genre and premise. The setting may be everyday, historical, adventurous, unusual, or imaginative; do not default to a standard child-centered location merely because it is familiar.
- Orient the reader quickly. Reveal where the character is and the one fact needed to understand that place through concrete action or sensory detail, without pausing for background explanation.
- Give the main character one concrete goal and one clear obstacle. Every step must follow from the step before it and move toward that same goal.
- Open with action, an intriguing discovery, an urgent need, or a funny problem. Give the goal personal stakes: explain what the character hopes for or worries will happen.
- Make each attempt change the situation. Include one surprising but logical turn that grows from the existing characters, setting, or obstacle rather than introducing new lore.
- Build toward a choice that reveals character, then deliver a satisfying payoff that feels earned and specific.
- Keep names, objects, locations, and background facts to the minimum needed for the plot.
- Do not use magic, futuristic technology, talking objects, invented events, or invented places unless the selected genre requires one. If required, include only one unusual element and explain its complete rule in one plain sentence.
- Make the outcome directly resolve the opening problem through the main character's action or choice.
- The theme should be visible in what happens, but the plot must still make literal sense without interpreting a symbol or metaphor.
- Keep every field compact. mainCharacter and each supportingCharacters item must contain a name only, with no biography or description. Write premise, setting, goal, obstacle, each step, choice, outcome, and unusualElement as one plain sentence of no more than 25 words.
TIER LIMITS
Use 2-3 important characters, one central goal, one main obstacle, two or three escalating attempts, and at most one complication. Include meaningful personal stakes, a logical reversal or discovery, and a satisfying payoff. Keep any imaginative element simple and clearly explained. Make the problem clear within the first 10% and resolve it concretely.
Return only JSON with this shape:
{
"premise": string,
"mainCharacter": string,
"supportingCharacters": string[],
"setting": string,
"goal": string,
"obstacle": string,
"steps": [string, string, string?],
"choice": string,
"outcome": string,
"unusualElement": string|null
}User prompt
Genre: aviation adventure Theme: honesty Build a clear, compelling story that fits this pair. Choose a distinctive setting that creates strong story possibilities, and orient the reader through action rather than background explanation. Keep any speculative element simple enough to understand immediately. Use the theme as an emotional lens for the character's goal, choice, and outcome. Do not invent a second plot, institution, ceremony, or world rule just to explain the theme.
Attempt 1 · openai/gpt-5.5
System prompt
You write clear, engaging children's fiction for independent Growing readers (grade 4, Lexile 600–800). Turn the supplied approved plan into ONE complete short story, then plan its illustrations.
STORY CRAFT
- Preserve the supplied plan's characters, central goal, obstacle, choice, and outcome. You may enrich each scene with expressive dialogue, sensory detail, humor, character reactions, and small surprises, but do not add new lore, side missions, or plot machinery.
- Open on an active, intriguing moment within the first two sentences. Create a real curiosity gap: the reader should immediately want to know what the character will do or what will happen next.
- Make the attempts escalate. Each one must reveal something, create a new consequence, or force a more difficult decision rather than merely repeating the same action.
- Keep the personal stakes present through action and reaction. State major causal links clearly, but trust the reader to infer small emotions and motives from behavior and dialogue.
- Use precise verbs, vivid concrete nouns, sensory details, and natural kid dialogue. Description should create atmosphere and reveal character while keeping the scene easy to picture.
- Include moments of delight: use gentle humor, wonder, tension, or an unexpected observation that fits the existing premise.
- Let the theme grow from the events. Do NOT state the lesson (no "the moral was...", no "from that day on...").
STANDALONE PREMISE AND CLARITY
- The story must make complete sense with no outside context, assumed series knowledge, unexplained history, or sequel setup.
- In the opening, plainly establish who the main character is, where they are, what they want, and what immediate obstacle stands in the way. If the approved plan has an unusual element, explain its complete rule in one plain sentence when it first appears.
- Keep the goal visible through what the character notices, says, and does; do not mechanically repeat it.
- Use familiar real-world cause and effect. Never require the reader to memorize a term before understanding why it matters.
- Every named concept and world detail must directly support the main character's central goal, obstacle, choice, or resolution. Remove anything merely decorative that increases what the reader must track.
- End by plainly showing how the main character's action solved or changed the opening problem. After that concrete resolution, a brief resonant image, callback, or memorable line is welcome when its literal meaning remains clear.
- Before returning, verify that this sentence accurately captures the whole story: "[Character] wants ___, but ___, so they must ___." If it does not, revise the prose to match the supplied plan.
NARRATIVE LOAD FOR THIS TIER
Use 2-3 important characters, one central goal, one main obstacle, two or three escalating attempts, and at most one complication. Include meaningful personal stakes, a logical reversal or discovery, and a satisfying payoff. Keep any imaginative element simple and clearly explained. Make the problem clear within the first 10% and resolve it concretely.
LENGTH IS A HARD LIMIT: the story MUST be between 550 and 850 words total (aim for 700). Never exceed 850 words. Count the words and trim before returning.
READING LEVEL: write for grade 4. Sentence style: varied short and medium-length sentences, with occasional longer sentences that remain easy to track. Vocabulary target: 8-10 varied Tier 2 words, including vivid verbs, precise nouns, and expressive adjectives, supported naturally by context.
PARAGRAPHS
- Most paragraphs are 3-5 sentences that blend dialogue, action, and description. Do NOT start a new paragraph after every sentence or line of dialogue.
- Use a one-sentence paragraph only for a big surprise, discovery, or emotional beat.
- One title only. No headings like "Beginning", "Vocabulary", or "Moral".
VOCABULARY
- Follow the tier vocabulary target exactly. Favor vivid verbs, precise nouns, and expressive adjectives that improve the prose. Avoid padding candidateVocab with ordinary words a reader at this tier already knows.
- Make every challenging word understandable from action, contrast, dialogue, or a nearby clue; do not define, bold, or list words inside the prose. List the strongest candidates in candidateVocab.
SAFETY: age-appropriate. Suspense or mild tension is fine, but no violence, horror, scary villains, death, romance, profanity, or politics — the reader should always feel safe.
ILLUSTRATIONS (you are also the art director)
- Define a consistent visual style and character looks, then write 3 illustration prompts (1 cover + 2 scenes) that reuse those exact descriptions. Each scene's afterParagraph is the 0-based index of the paragraph it follows; the cover uses -1.
Return only JSON with this shape:
{
"title": string,
"hook": string,
"genre": string,
"theme": string,
"paragraphs": string[],
"candidateVocab": string[],
"artDirection": { "style": string, "characters": [{ "name": string, "look": string }], "setting": string },
"images": [{ "role": "cover"|"scene", "afterParagraph": number, "prompt": string, "alt": string }]
}
The hook is one intriguing, spoiler-free sentence for a story preview.User prompt
Genre: aviation adventure
Theme: honesty
Approved plan (follow exactly; do not add story concepts):
{"premise":"Maya's hidden rock box thumps under her seat just as Rafi's floatplane fails to climb above a rain-dark cliff.","mainCharacter":"Maya","supportingCharacters":["Rafi","Ana"],"setting":"A floatplane bucks between Alaska cliffs, rain beading on the windshield as dark water leaves no runway except narrow coves.","goal":"Maya wants to help Rafi reach her sister Ana with medicine before fog swallows the island cove.","obstacle":"A hard headwind and Maya's secret weight keep the small plane too low and short on fuel.","steps":["Rafi circles for lift, and Maya pins the sliding box with her shoes instead of admitting she broke the weight rule.","A downdraft shoves them toward the water, and the box skids under Rafi's rudder pedal.","Maya yanks it free, but Rafi says they must lighten the plane or turn back."],"choice":"Maya chooses to confess and leave her favorite rock collection on a bare gravel spit instead of pretending it was loose cargo.","outcome":"Lighter and honest, Maya helps spot the cove lights, and Ana gets her medicine before the fog closes in.","unusualElement":null}Words and questions model
Attempt 1 · deepseek/deepseek-v4-flash
System prompt
You create vocabulary and reading-comprehension materials for grade 4 readers from one finished story.
First choose 5-10 vocabulary words that actually appear in the story and match this tier target: 8-10 varied Tier 2 words, including vivid verbs, precise nouns, and expressive adjectives, supported naturally by context. Favor useful Tier 2 words, vivid verbs, precise nouns, and expressive adjectives. Reject basic words a grade 4 reader likely knows already, and choose varied words rather than near-synonyms. Every selected word must be supported naturally by context so a reader can infer its meaning. For each word provide: word, pos, a kid-friendly definition (<= 140 characters), an exampleFromStory copied verbatim from the story text, synonyms, and antonyms.
Then produce 5-8 questions using that vocabulary and the story: 2 literal, 2 inferential, 1 vocabulary-in-context about one of the selected words, 1 theme, and 0-2 extras. Give each question a unique id, a type (literal | inferential | vocabulary-in-context | theme | extra), the question text, the answer, a short explanation grounded in the story, optional multiple-choice choices, and a rubric.
Write each rubric before imagining any student answer: mustInclude (1-3 concepts required for full credit), niceToHave (0-2 extras), commonWrongPatterns (0-3 misconceptions).
Return only JSON: { "vocabulary": [{ "word": string, "pos": string, "definition": string, "exampleFromStory": string, "synonyms": string[], "antonyms": string[] }], "questions": [{ "id": string, "type": string, "question": string, "answer": string, "explanation": string, "choices"?: string[], "rubric": { "mustInclude": string[], "niceToHave": string[], "commonWrongPatterns": string[] } }] }.User prompt
Candidate vocabulary (hint): headwind, cargo, gauge, downdraft, rudder, wedging, confessed, polished, hesitated, vanished Story: The box under Maya’s seat thumped like a trapped drum just as the floatplane’s nose sagged toward the rain-dark cliff. Maya gripped the medicine bag for her sister Ana while Rafi, the pilot, leaned into the yoke and said, “Come on, little bird. Climb.” Rain beaded on the windshield and streaked sideways in the hard headwind. Far below, dark water slammed against black rocks, leaving no runway except narrow coves tucked between cliffs. Rafi had weighed every bag before takeoff and warned, “No extra cargo today. This wind will count every pound.” Maya had nodded, with her favorite rock box hidden under her seat. The plane bucked again, and the wooden box clunked against Maya’s ankles. Inside were smooth stones she had gathered all summer: green flecks, white stripes, one pebble shaped like a tiny seal. She shoved both sneakers against the box and pressed harder, as if her shoes could make the secret lighter. The medicine bag crinkled in her lap, dry and important. Rafi tilted the plane along the cliff wall. “I’m circling for lift,” he said, voice calm but tight. “If the air rising off these rocks helps us, we’ll hop over that ridge.” The floatplane climbed a little, then sagged as if an invisible hand had pressed its nose down. Maya watched the fuel gauge tremble near the low marks while gray fog thickened over the island ahead. Her throat pinched. “Is Ana’s cove still close?” she asked. Rafi glanced at the compass, then out into the rain. “Close, but not easy. If we don’t get there soon, fog will cover the lights, and we’ll have to turn back.” The box bumped her left heel, and she trapped it again before Rafi could look down. Then the sky seemed to drop. A downdraft shoved the floatplane so low that spray flashed white beneath the floats. Maya’s shoes slipped, and the box skidded forward with a hollow thunk, wedging under Rafi’s right rudder pedal. The pedal steered the plane’s tail, and now his boot could not push it. “Something’s jammed!” Rafi snapped, fighting the yoke. Maya unbuckled just enough to reach, keeping one hand hooked on her seat belt. The plane jolted, and her fingers scraped the rough wood. She yanked the box free and hugged it to her chest as Rafi leveled out above the waves. He stared at it for one sharp second. “Maya, what is that?” Her cheeks burned hotter than the heater vent. “My rocks,” she confessed. “I brought them because I wanted to show Ana the seal-shaped one. I broke the weight rule.” Rafi let out a slow breath, not angry, just worried. “Thank you for telling me. But now we choose: lighten the plane on that gravel spit, or save fuel and turn back.” The spit lay below, a bare curve of gray stones with waves licking both sides. Maya opened the box. The polished rocks shone like little pieces of summer, and for a moment she hesitated so long the engine sounded impatient. Then she shut the lid. “Land by the spit,” she said. “Ana needs the medicine more than I need these.” Rafi eased the floats onto the narrow water beside the spit. Rain pecked Maya’s hood as she carried the box across slippery gravel and set it high where waves would not snatch it. She touched the lid once, then ran back lighter in her boots and heavier in her chest. When the plane lifted again, it climbed cleanly, as if the air had opened a door. The cliff tops slid beneath them instead of ahead of them. Rafi gave Maya a quick smile. “Extra eyes now,” he said. Maya wiped a circle clear on the window and searched the gray shore until two yellow dots blinked through the mist. “There!” she cried. “Ana’s cove lights!” Rafi banked toward the lights and settled the floatplane onto the cove just as fog rolled over the cliff like a blanket being pulled up. Ana waited on the dock in a blue raincoat, pale but smiling, and Maya splashed into her hug with the medicine bag held high. Rafi tied the plane fast while the last clear gap vanished behind them. Maya felt the empty space under her seat and pictured the little seal-shaped pebble watching the rain from its gravel island. “I had to leave you a rock show,” she told Ana. Ana laughed softly. “Then when I’m better, you can tell me every color.”
Image model
Cover · openai/gpt-image-2.5-flare
Prompt
Warm, cinematic watercolor with crisp ink lines, soft rain textures, expressive faces, and adventurous but safe atmosphere; muted Alaska blues and grays with bright yellow light accents. Setting: A small floatplane flying between steep Alaska cliffs in rain, with dark water below, narrow island coves, a bare gravel spit, and fog closing in.. Characters — Maya: 10-year-old girl with medium-brown skin, dark eyes, a single black braid, a red rain jacket, yellow life vest, jeans, and scuffed blue sneakers; Rafi: middle-aged pilot with tan skin, short black hair, a trimmed mustache, a green flight jacket, headset, and focused, kind eyes; Ana: 13-year-old girl with medium-brown skin, dark eyes, two black braids, a blue raincoat, gray knit hat, and a tired but bright smile. Scene: Warm, cinematic watercolor with crisp ink lines. Show a small floatplane bucking between steep Alaska cliffs in rain, dark water below and fog ahead. Through the side window, show Maya, a 10-year-old girl with medium-brown skin, dark eyes, a single black braid, a red rain jacket, yellow life vest, jeans, and scuffed blue sneakers, clutching a medicine bag. In the cockpit is Rafi, a middle-aged pilot with tan skin, short black hair, a trimmed mustache, a green flight jacket, headset, and focused, kind eyes. A small wooden box is partly visible under Maya’s seat. Muted blues and grays, bright yellow cove lights in the distance. Compose as a wide 16:9 landscape scene. Keep important characters and story details comfortably inside the frame, away from the extreme edges. Style: richly detailed, soft painterly watercolor children's-book illustration with warm lighting, expressive faces, depth, and a cozy, magical feel — polished, publication-quality. Cheerful and friendly for ages 8-10. Safe and age-appropriate. No text, words, or letters in the image.
Scene 1 · openai/gpt-image-2.5-flare
Prompt
Warm, cinematic watercolor with crisp ink lines, soft rain textures, expressive faces, and adventurous but safe atmosphere; muted Alaska blues and grays with bright yellow light accents. Setting: A small floatplane flying between steep Alaska cliffs in rain, with dark water below, narrow island coves, a bare gravel spit, and fog closing in.. Characters — Maya: 10-year-old girl with medium-brown skin, dark eyes, a single black braid, a red rain jacket, yellow life vest, jeans, and scuffed blue sneakers; Rafi: middle-aged pilot with tan skin, short black hair, a trimmed mustache, a green flight jacket, headset, and focused, kind eyes; Ana: 13-year-old girl with medium-brown skin, dark eyes, two black braids, a blue raincoat, gray knit hat, and a tired but bright smile. Scene: Warm, cinematic watercolor with crisp ink lines inside the floatplane cockpit. Maya, a 10-year-old girl with medium-brown skin, dark eyes, a single black braid, a red rain jacket, yellow life vest, jeans, and scuffed blue sneakers, reaches down in alarm toward a small wooden rock box wedged under Rafi’s rudder pedal. Rafi, a middle-aged pilot with tan skin, short black hair, a trimmed mustache, a green flight jacket, headset, and focused, kind eyes, grips the yoke as rain streaks the windshield and gray waves flash below. Compose as a wide 16:9 landscape scene. Keep important characters and story details comfortably inside the frame, away from the extreme edges. Style: richly detailed, soft painterly watercolor children's-book illustration with warm lighting, expressive faces, depth, and a cozy, magical feel — polished, publication-quality. Cheerful and friendly for ages 8-10. Safe and age-appropriate. No text, words, or letters in the image.
Scene 2 · openai/gpt-image-2.5-flare
Prompt
Warm, cinematic watercolor with crisp ink lines, soft rain textures, expressive faces, and adventurous but safe atmosphere; muted Alaska blues and grays with bright yellow light accents. Setting: A small floatplane flying between steep Alaska cliffs in rain, with dark water below, narrow island coves, a bare gravel spit, and fog closing in.. Characters — Maya: 10-year-old girl with medium-brown skin, dark eyes, a single black braid, a red rain jacket, yellow life vest, jeans, and scuffed blue sneakers; Rafi: middle-aged pilot with tan skin, short black hair, a trimmed mustache, a green flight jacket, headset, and focused, kind eyes; Ana: 13-year-old girl with medium-brown skin, dark eyes, two black braids, a blue raincoat, gray knit hat, and a tired but bright smile. Scene: Warm, cinematic watercolor with crisp ink lines. Show the floatplane climbing above cliff tops after leaving a bare gravel spit behind in the rain. Inside the side window, Maya, a 10-year-old girl with medium-brown skin, dark eyes, a single black braid, a red rain jacket, yellow life vest, jeans, and scuffed blue sneakers, wipes the window and points toward two small yellow cove lights glowing through mist. Rafi, a middle-aged pilot with tan skin, short black hair, a trimmed mustache, a green flight jacket, headset, and focused, kind eyes, smiles slightly while flying. Compose as a wide 16:9 landscape scene. Keep important characters and story details comfortably inside the frame, away from the extreme edges. Style: richly detailed, soft painterly watercolor children's-book illustration with warm lighting, expressive faces, depth, and a cozy, magical feel — polished, publication-quality. Cheerful and friendly for ages 8-10. Safe and age-appropriate. No text, words, or letters in the image.
Speech model
Story narration · x-ai/grok-voice-tts-1.0
Prompt
The Weight Under the Seat The box under Maya’s seat thumped like a trapped drum just as the floatplane’s nose sagged toward the rain-dark cliff. Maya gripped the medicine bag for her sister Ana while Rafi, the pilot, leaned into the yoke and said, “Come on, little bird. Climb.” Rain beaded on the windshield and streaked sideways in the hard headwind. Far below, dark water slammed against black rocks, leaving no runway except narrow coves tucked between cliffs. Rafi had weighed every bag before takeoff and warned, “No extra cargo today. This wind will count every pound.” Maya had nodded, with her favorite rock box hidden under her seat. The plane bucked again, and the wooden box clunked against Maya’s ankles. Inside were smooth stones she had gathered all summer: green flecks, white stripes, one pebble shaped like a tiny seal. She shoved both sneakers against the box and pressed harder, as if her shoes could make the secret lighter. The medicine bag crinkled in her lap, dry and important. Rafi tilted the plane along the cliff wall. “I’m circling for lift,” he said, voice calm but tight. “If the air rising off these rocks helps us, we’ll hop over that ridge.” The floatplane climbed a little, then sagged as if an invisible hand had pressed its nose down. Maya watched the fuel gauge tremble near the low marks while gray fog thickened over the island ahead. Her throat pinched. “Is Ana’s cove still close?” she asked. Rafi glanced at the compass, then out into the rain. “Close, but not easy. If we don’t get there soon, fog will cover the lights, and we’ll have to turn back.” The box bumped her left heel, and she trapped it again before Rafi could look down. Then the sky seemed to drop. A downdraft shoved the floatplane so low that spray flashed white beneath the floats. Maya’s shoes slipped, and the box skidded forward with a hollow thunk, wedging under Rafi’s right rudder pedal. The pedal steered the plane’s tail, and now his boot could not push it. “Something’s jammed!” Rafi snapped, fighting the yoke. Maya unbuckled just enough to reach, keeping one hand hooked on her seat belt. The plane jolted, and her fingers scraped the rough wood. She yanked the box free and hugged it to her chest as Rafi leveled out above the waves. He stared at it for one sharp second. “Maya, what is that?” Her cheeks burned hotter than the heater vent. “My rocks,” she confessed. “I brought them because I wanted to show Ana the seal-shaped one. I broke the weight rule.” Rafi let out a slow breath, not angry, just worried. “Thank you for telling me. But now we choose: lighten the plane on that gravel spit, or save fuel and turn back.” The spit lay below, a bare curve of gray stones with waves licking both sides. Maya opened the box. The polished rocks shone like little pieces of summer, and for a moment she hesitated so long the engine sounded impatient. Then she shut the lid. “Land by the spit,” she said. “Ana needs the medicine more than I need these.” Rafi eased the floats onto the narrow water beside the spit. Rain pecked Maya’s hood as she carried the box across slippery gravel and set it high where waves would not snatch it. She touched the lid once, then ran back lighter in her boots and heavier in her chest. When the plane lifted again, it climbed cleanly, as if the air had opened a door. The cliff tops slid beneath them instead of ahead of them. Rafi gave Maya a quick smile. “Extra eyes now,” he said. Maya wiped a circle clear on the window and searched the gray shore until two yellow dots blinked through the mist. “There!” she cried. “Ana’s cove lights!” Rafi banked toward the lights and settled the floatplane onto the cove just as fog rolled over the cliff like a blanket being pulled up. Ana waited on the dock in a blue raincoat, pale but smiling, and Maya splashed into her hug with the medicine bag held high. Rafi tied the plane fast while the last clear gap vanished behind them. Maya felt the empty space under her seat and pictured the little seal-shaped pebble watching the rain from its gravel island. “I had to leave you a rock show,” she told Ana. Ana laughed softly. “Then when I’m better, you can tell me every color.”
