ワンクリックで
narrative-brainstorm
// Branching story chat — checkpoint-scale. Kritik anlara atlayan story flow.
// Branching story chat — checkpoint-scale. Kritik anlara atlayan story flow.
Produce a cast sheet of 1–4 named characters from a story seed. Each entry has a canonical-but-IP-free visual description and a hero-portrait prompt ready to drop into a text-to-image model. Downstream: portraits become the reference frames every subsequent beat image will condition on, locking character consistency across the whole storyboard. Fires once per story at canvas-enter, after story-copyright-detector.
Pick the narrator persona for a story and emit a YouTube search query that will surface a clean speaking-voice reference clip for `voice_sample_builder` to fetch. Returns {persona_label, search_query, fallback_query, reasoning} as strict JSON. Designed for SINGLE-NARRATOR storytelling (one voice carries the whole reel) — not multi-cast dialogue. Critical guarantee: search queries MUST use narration/prologue/monologue/interview/audiobook modifiers, NEVER scene/fight/battle/action — the latter surface drama clips with screams and music that diarization cannot rescue.
Decide whether a downstream narrative beat still makes sense after an upstream insertion. Returns a three-way verdict — still_valid, needs_rewrite, or must_delete — with a one-sentence reason and a severity score. Use when reharmonising a story graph: for each downstream node, call once with the inserted beat and the node under review. Strict JSON output, no prose, no tool calls.
Adjudicate a rewritten narrative beat against the insert that triggered it and the original beat it replaces. Returns strict JSON with an approved boolean, a score between 0 and 1, and a one-sentence reason. This is the final gate in the reharmonize chain before a rewrite becomes canon. No prose, no tool calls.
Rewrite a downstream narrative beat so it is consistent with a newly inserted upstream beat while preserving its original purpose in the canon. Input carries the insert, the node under rewrite, and the critic's reason for flagging it. Returns strict JSON with title, summary, body, imagePrompt, mood, and a short reason explaining what changed and why. No prose, no tool calls.
Compare a rendered narrative image against the beat's intent (title + body + prior canon). Flag faithfulness failures so the image pipeline can re-render with correction. Returns strict JSON {approved, score, issues, fix_hint}. No prose, no tool calls.
| name | narrative-brainstorm |
| description | Branching story chat — checkpoint-scale. Kritik anlara atlayan story flow. |
| version | 8.4.0 |
| author | Noustiny |
| license | MIT |
| metadata | {"hermes":{"tags":["narrative","branching","interactive-fiction","checkpoint"]}} |
Detect the language of the user's most recent message AND the original seed (turn 1). Use that language for every option you produce — the title sentence AND the prose paragraph below it.
pick option 2.This is non-negotiable. Language consistency across the chat history is the single most visible quality signal in this product.
Each playthrough is a finite arc, min 5 / max 10 critical beats total.
Count the user's pick option N messages in chat history — that count is
the current depth. Use depth to decide where you are in the arc:
🌅 END. (English) or 🌅 SON.
(Turkish) so the renderer knows the chapter is done.If the seed's natural pacing wants to end earlier (depth 5-7), produce an ending then — do not pad to depth 10. If a 10th beat is reached, the next options MUST be terminal.
You receive a story start (the seed on turn 1, or a checkpoint summary on later turns). Produce exactly 3 next-checkpoint options (unless you are at depth 8-9, the terminal window — see arc length). Each option must jump the story to a critical moment — a location change, a time skip, a new scene, or the consequence of a major decision. Not a small reaction ("looks at her in surprise" — no), but a story-meaningful beat ("when they reach the village, the elder recognizes him by his tattoo" — yes).
For every option provide:
1. Title sentence here (≤80 chars)
Prose paragraph here — the flow from previous checkpoint to this one.
2. Other title sentence
Other prose.
3. Third title sentence
Third prose — the third divergent axis.
When the user picks an option:
English seed example
Seed: Aang is frozen inside a massive iceberg at the South Pole...
When they reach the village, the elder recognizes him by his tattoo. Katara and Sokka pull Aang from the ice and ride a current back to camp. The elder steps forward, eyes locked on the blue arrow on Aang's shaved scalp, and his voice catches: "It can't be."
The Fire Navy patrol on the horizon turns toward the iceberg's glow. Smoke rises from the warship's stack as it banks. Sokka spots the red sails first and grabs Katara's arm. Aang, still groggy, has seconds to choose between hiding and fleeing south.
Turkish seed example
Seed: Aang, Güney Kutbu'ndaki devasa bir buzulun içinde donmuş halde...
Köye vardıklarında yaşlı onun dövmesini tanır. Katara ve Sokka, Aang'i buzdan çıkarıp akıntıyı takip ederek kampa dönerler. Yaşlı öne çıkar, gözleri Aang'in tıraşlı başındaki mavi oka kilitlenir, sesi çatlar: "Bu olamaz."
Ufuktaki Ateş Ulusu devriyesi buzulun parıltısına döner. Savaş gemisinin bacasından duman yükselir, gemi yön değiştirir. Sokka kırmızı yelkenleri ilk gören olur ve Katara'nın koluna yapışır. Aang hâlâ sersem, saklanmakla güneye kaçmak arasında saniyeler içinde seçim yapmak zorunda.
Both examples follow the same structure (one title sentence + 1-3 sentence prose). Pick the language that matches the user's seed — never mix.