← Back to WriteAIBook
Story setup

Story Bible Guide: How to Build a JSON Story Bible for AI Book Generation

A good story bible gives the model durable context: premise, character logic, chapter direction, emotional movement, and unresolved tension. A weak one gives you drift.

What this upload actually does

If your JSON is valid, WriteAIBook uses your story bible instead of generating a new one.

If your JSON already includes a spine, that chapter spine is reused directly.

If your JSON has no spine, the engine can still build a new spine from the rest of your story bible.

The goal: better consistency, fewer random detours, and much stronger control over plot and tone.

Recommended top-level JSON structure

Your file must be a single JSON object. The safest structure is:

{
  "premise": "One paragraph that explains the hook, stakes, and central conflict.",
  "title": "Working title",
  "spine": {
    "Chapter 1": "Short chapter summary",
    "Chapter 2": "Short chapter summary"
  },
  "characters": {
    "Protagonist": {
      "name": "Character name",
      "role": "Narrative role",
      "core_wound": "Past pain shaping behavior",
      "surface_want": "What they consciously chase",
      "deep_need": "What they actually need to become whole",
      "fatal_flaw": "Trait that creates damage",
      "voice_traits": ["Speech pattern 1", "Speech pattern 2"],
      "physical_tell": "Observable habit under stress",
      "quirk": "Memorable detail",
      "intimacy_wound": "Relational fear or avoidance",
      "attraction_style": "How they pursue or avoid closeness",
      "boundaries": ["Line they will not cross"]
    }
  },
  "theme": {
    "central_question": "Core thematic question",
    "competing_values": ["Value A", "Value B"],
    "motifs": ["Recurring symbol 1", "Recurring symbol 2"],
    "emotional_keywords": ["keyword1", "keyword2"]
  },
  "relationships": [
    {
      "char_a": "Protagonist",
      "char_b": "Love interest",
      "initial_state": "How they start",
      "core_tension": "What keeps them unstable",
      "desired_arc": "How the relationship should evolve"
    }
  ],
  "emotional_arc": [
    {
      "chapter": 1,
      "target_emotion": "What the reader should feel",
      "character_shift": "Internal movement",
      "emotional_stakes": "Why it matters"
    }
  ],
  "tension_arc": [
    {
      "chapter": 1,
      "summary": "What happens in the chapter",
      "emotional_shift": "Mood transition",
      "open_loops": ["Question 1", "Question 2"]
    }
  ]
}

What each section is for

1. `premise`

This is the north star. Keep it to one tight paragraph that covers protagonist, conflict, stakes, and the engine of the story.

2. `title`

A working title helps the model maintain the project identity. It can be rough.

3. `spine`

This is the chapter map. If you want maximum control, this is the most important section after the premise. Each value should be a short, clear chapter objective or event summary.

4. `characters`

Use this to lock in behavior. Core wound, flaw, speech traits, and boundaries are especially useful because they reduce personality drift.

5. `theme`

This helps the model choose better recurring imagery and make scenes feel like they belong to the same book.

6. `relationships`

This prevents shallow interactions. Define the unstable dynamic, not just the labels.

7. `emotional_arc`

Think of this as reader-feeling guidance. It helps chapters escalate in the right emotional order instead of repeating the same beat.

8. `tension_arc`

This is where you track unresolved questions and pressure. The best use is chapter-by-chapter summaries plus the open loops that must stay alive.

A compact example you can copy

This is intentionally short and neutral. You can expand it as much as you want.

{
  "premise": "A burned-out architect inherits a ruined coastal hotel and must restore it before a developer buys the town's shoreline.",
  "title": "The Last Summer Hotel",
  "spine": {
    "Chapter 1": "Mara arrives, discovers the hotel is in worse shape than expected, and learns the sale deadline is in six weeks.",
    "Chapter 2": "She meets the local contractor who knows the building's hidden history and does not trust her."
  },
  "characters": {
    "Mara": {
      "name": "Mara Vale",
      "role": "Protagonist",
      "core_wound": "She equates rest with failure.",
      "surface_want": "Save the hotel fast.",
      "deep_need": "Learn to build a life, not just finish tasks.",
      "fatal_flaw": "Control obsession",
      "voice_traits": ["Precise", "Dry humor"],
      "physical_tell": "Taps her thumbnail when anxious",
      "quirk": "Labels everything",
      "intimacy_wound": "Avoids depending on people",
      "attraction_style": "Slow, skeptical, observant",
      "boundaries": ["Will not lie to clients"]
    }
  },
  "theme": {
    "central_question": "Is stability something you earn or something you choose?",
    "competing_values": ["Control", "Trust"],
    "motifs": ["Salt air", "Blueprints", "Broken windows"],
    "emotional_keywords": ["restless", "guarded", "hopeful"]
  },
  "relationships": [
    {
      "char_a": "Mara",
      "char_b": "Elias",
      "initial_state": "Distrustful collaborators",
      "core_tension": "She pushes too hard; he refuses rushed shortcuts.",
      "desired_arc": "From friction to earned trust"
    }
  ],
  "emotional_arc": [
    {
      "chapter": 1,
      "target_emotion": "Pressure",
      "character_shift": "Mara realizes she cannot solve this alone.",
      "emotional_stakes": "If she fails, she loses the inheritance and her final chance to reset."
    }
  ],
  "tension_arc": [
    {
      "chapter": 1,
      "summary": "Mara arrives, inspects the property, and discovers a hard sale deadline.",
      "emotional_shift": "From cautious optimism to urgency",
      "open_loops": ["Can the hotel be restored in time?", "Why did her aunt leave it to her specifically?"]
    }
  ]
}

What makes a story bible work well

Be specific, not long for the sake of being long. Precision beats bloat.

Write chapter summaries as actions. “Character learns the truth and leaves” is better than “high tension confrontation scene.”

Keep character psychology concrete. Wounds, tells, and boundaries are more useful than vague adjectives like “complex.”

Use open loops deliberately. If nothing is unresolved, the middle of the book can flatten.

Stay internally consistent. If the theme says “trust vs control,” your character arcs and relationship arcs should reinforce that.

Common formatting mistakes

Use it immediately
Build your story bible, then upload it in the generator form
If the JSON is valid, your custom structure becomes the generation blueprint.

Generate Your First AI Book Today

Get 30 free credits (≈ 3 chapters). Upload your own story bible if you want tighter control.

Try WriteAIBook Free →

No credit card required • JSON story bible supported • DOCX export

Keep reading:

© 2026 WriteAIBook. All rights reserved.