Training-free story visualization without reference images must preserve recurring entities across frames while scaling to long narratives. Existing methods typically maintain consistency by conditioning each frame on other frames of the same story, coupling generation time, VRAM, or both to story length. We introduce ELECT, which instead settles cross-frame identity before final rendering through a language-guided scene-entity mapping and stationary anchors elected from the model's own drafts. This makes the per-frame cost of the final rendering pass independent of story length. Joint attention exceeds 96 GB of VRAM at 32 scenes, whereas ELECT remains at 8.3 s per frame and under 20 GB VRAM from 10 to 1000 scenes. On the Story50 long-story benchmark, ELECT reaches 0.833 average Character Consistency Similarity (aCCS), compared with 0.826 for ten-round refinement, at one seventh of its generation cost, with lower text alignment (0.327 vs. 0.340). At 1000 scenes, to our knowledge, the first evaluation of training-free story visualization at this length, ELECT exceeds ten-round refinement by 0.017 aCCS and the nearest flat-cost baseline by 0.091, while also surpassing refinement in text alignment at one twenty-fourth of its generation time. These results show that long-horizon consistency need not require increasingly expensive inter-frame conditioning as stories grow.
Figures & tables
Figure 1: Overview of ELECT. Stage 1, script construction : an LLM reads the full story and writes a Script, a recurring cast with short descriptions and a per-frame participant map, establishing cross-frame consistency symbolically. Stage 2, drafting and election : SDXL drafts each frame from text alone, a detector proposes crops for that frame’s cast, DINOv2 filtering removes misfires, and the best crop per entity is elected as its canonical anchor. Stage 3, anchored regeneration : each frame is regenerated from scratch using its own text and its participants’ anchors via IP-Adapter, independently of other frames, so the pass stays parallel and flat in N .
Method
CLIP-T ↑
aCCS ↑
AR-LDM [ 24 ]
0.216
0.673
StoryGen [ 18 ]
0.223
0.740
IP-Adapter [ 35 ]
0.274
0.751
FLUX.1.Kontext [ 2 ]
0.290
0.783
Nano Banana
0.310
0.791
IP-AdapterXL [ 35 ]
0.297
0.787
Table 1: Story50 [ 21 ] benchmark comparison. Rows below the rule are our own reproductions, run on identical stories, seeds and hardware; rows above are quoted from prior publications.
aCCS ↑
CLIP-T ↑
Pass 0
ELECT
Pass 0
ELECT
50-scene benchmark
Mean over 20 stories
0.7334
0.8334
0.352
0.3273
Δ
+0.100
−0.025
1000 scenes
Mean
0.7239
0.8050
0.318
0.306
Table 2: Effect of anchored conditioning. Pass 0 is ELECT’s own draft: identical prompts, backbone and seeds, generated independently from text with no cross-frame conditioning. The 50-scene row is the mean over 20 benchmark stories.
Method
CLIP-T ↑
aCCS ↑
s/frame
Total (h)
VRAM (GB)
Cost grows with N
ConsiStory [ 29 ]
OOM
OOM
–
–
92.7 ( N=16 )
Story-Iter [ 21 ]
0.3044
0.7885
200.1
55.6
59.7
Cost flat in N
1Prompt1Story [ 19 ]
0.309
0.714
7.37
2.05
16.7
StoryDiffusion [ 38 ]
0.315
0.639
4.40
1.22
66.4
Table 3: Quality and cost at N=1000 scenes ( 10242 , RTX 6000 PRO Blackwell, 96 GB). ConsiStory exceeds VRAM at 32 scenes; its peak is reported at N=16 . s/frame is end-to-end wall clock divided by N , covering every stage each method runs: for ELECT, Script extraction, the Pass 0 drafts, detection, embedding and clustering, and the anchored regeneration pass; for Story-Iter, all ten refinement rounds. Total (h) is this average per story generation time CLIP-T and aCCS are mean over 5 stories.
Figure 2: Scaling from 4 to 1000 scenes. Top: amortized cost per frame. ELECT is constant at 8.3 s/frame while Story-Iter degrades from 51.8 to 200.1 s/frame, a 24× gap at N=1000 ( 8.3 s vs. 200 s end-to-end); the shaded band is the resulting speedup. Bottom: peak VRAM. ELECT is constant at 19.7 GB, whereas ConsiStory exceeds the 96 GB device budget at N=32 (cross), while StoryDiffusion and DreamStory hold fixed budgets of 66.4 and 32.9 GB. Baselines limited to short horizons are plotted only over the range they complete.
λent
aCCS ↑
CLIP-T ↑
Flat
0.35
0.7872
0.3427
0.50
0.8083
0.3382
0.75
0.8107
0.3300
0.85
0.8293
0.3268
Scheduled
Table 4: Anchor strength during regeneration. λent scales the anchor token block inside IP-Adapter’s decoupled cross-attention, either held flat across the 50 sampling steps or swept linearly by Eq. 3 . The two scheduled arms share their endpoints and differ only in direction. Mean over the story50 stories; everything else fixed, including Script, drafts, harvest, election and seed. The last row is the configuration reported throughout.
aCCS ↑
CLIP-T ↑
Selection rule
Filtered
Raw pool
Filtered
Raw pool
argmax of Eq. 2
0.8334
0.8244
0.3273
0.3260
Random survivor
0.8065
0.7951
0.3280
0.3226
argmin of Eq. 2
0.7911
0.7335
0.3206
0.3136
Table 5: Where the anchor’s quality comes from: the rule that picks one crop per entity, crossed with whether the pool it picks from has been cluster-filtered. All cells share the pipeline, prompts, backbone and seeds, and differ only in these two factors. Random is the mean of three seeds, whose spread is at most 0.009 aCCS. The top-left cell is the reported configuration of Tab. 1 . Mean over the 20 benchmark stories.
(wc,ws,wa)
aCCS ↑
CLIP-T ↑
balanced (0.4,0.3,0.3)
0.8334
0.3273
confidence only (1,0,0)
0.8118
0.3262
sharpness only (0,1,0)
0.7980
0.3243
area only (0,0,1)
0.8291
0.3279
Table 6: Weights of the election score on the story50 benchmark, driving (wc,ws,wa) of Eq. 2 to each corner of the simplex with everything else fixed. The first row is the reported configuration.
λent
aCCS ↑
CLIP-T ↑
flat 0.15
0.7626
0.3512
flat 0.50
0.7807
0.3478
flat 0.70
0.7867
0.3457
decaying 0.85→0.35
0.7947
0.3442
Table 7: Draft-trajectory reuse ( s=0.75 ) instead of fresh noise; story50 benchmark. Against the fresh-noise default (0.8334 aCCS, 0.3273 CLIP-T), reuse costs 0.039 aCCS for 0.017 CLIP-T.
Script extractor
aCCS ↑
CLIP-T ↑
Qwen3-14B
0.8334
0.3273
Qwen3-4B
0.8216
0.3280
Table 8: Planner capacity. The Script is re-extracted with a smaller language model and the pipeline re-run end to end on the 50-scene benchmark, everything else fixed. The first row is the configuration reported throughout.
Story50
Long-story suite
Method
Hours
USD
Hours
USD
Story-Iter [ 21 ]
15.74
27.39
280.0
487.20
1Prompt1Story [ 19 ]
2.16
3.76
10.24
17.82
DreamStory [ 14 ] 10.99
19.123
53.5
93.09
StoryDiffusion [ 38 ]
1.22
2.12
6.11
10.63
ELECT (ours)
2.35
4.09
11.53
20.06
Table 9: Cost of generating each evaluation set, at $1.74 per GPU-hour (NVIDIA RTX 6000 PRO, on-demand(vast.ai), 22 August 2026). Story50 is 20 stories of 50 frames; the long-story suite is five stories of 1000 frames. Totals are the generation times of Tab. 3 and Fig. 2 ; hourly rates and hardware availability vary, so the ratios matter more than the absolute figures.
Figure 3: One recurring entity per 1000-scene story, shown at five frames sampled across the full length for the five stories.
Story Visualization aims to generate a sequence of images that faithfully depicts a textual narrative that preserve character identity, spatial configuration, and stylistic coherence as the narratives unfold. Maintaining such cross-frame consistency has traditionally relied on explicit memory banks, architectural expansion, or auxiliary language models, resulting in substantial parameter growth and inference overhead. We introduce ReCap, a lightweight consistency framework that improves character stability and visual fidelity without modifying the base diffusion backbone. ReCap's CORE (COnditional frame REferencing) module treats anaphors, in our case pronouns, as visual anchors, activating only when characters are referred to by a pronoun and conditioning on the preceding frame to propagate visual identity. This selective design avoids unconditional cross-frame conditioning and introduces only 149K additional parameters, a fraction of the cost of memory-bank and LLM-augmented approaches. To further stabilize identity, we incorporate SemDrift (Guided Semantic Drift Correction) applied only during training. When text is vague or referential, the denoiser lacks a visual anchor for identity-defining attributes, causing character appearance to drift across frames, SemDrift corrects this by aligning denoiser representations with pretrained DINOv3 visual embeddings, enforcing semantic identity stability at zero inference cost. ReCap outperforms previous state-of-the-art, StoryGPT-V, on the two main benchmarks for story visualization by 2.63% Character-Accuracy on FlintstonesSV and by 5.65% on PororoSV, establishing a new state-of-the-art character consistency on both benchmarks. Furthermore, we extend story visualization to human-centric narratives derived from real films, demonstrating the capability of ReCap beyond stylized cartoon domains.
Aditya Arora, Akshita Gupta, Pau Rodriguez +1
Technical University of Darmstadt & hessian.AI, Germany
Visual storytelling aims to generate image sequences that are both aligned with narrative prompts and consistent in character appearance across images. Recent training-free methods improve character consistency by reusing attention features, but rely on structured prompts where full character descriptions are repeated in every prompt. This assumption simplifies the task but deviates from natural storytelling, where characters are typically introduced once and later referred to using pronouns or type-based expressions. We propose FreeStory, a training-free framework that reformulates character consistency under free-form prompts as entity-grounded feature reuse. Our method associates reference mentions with their corresponding character descriptions and combines dynamic character masks, correspondence-aware feature matching, key-value injection, and query blending to preserve identity while retaining generation diversity. We also introduce FreeStoryBench, a benchmark for this setting that includes both single- and multi-character stories. Experiments show that FreeStory achieves state-of-the-art performance among training-free methods on structured benchmarks and stronger overall consistency over baselines under free-form prompts.
Sibo Dong, Ismail Shaheen, Sarah Adel Bargal
Department of Computer Science, Georgetown University
Long-form visual storytelling requires maintaining continuity across shots, including consistent characters, stable environments, and smooth scene transitions. While existing generative models can produce strong individual frames, they fail to preserve such continuity, leading to appearance changes, inconsistent backgrounds, and abrupt scene shifts. We introduce CANVAS (Continuity-Aware Narratives via Visual Agentic Storyboarding), a multi-agent framework that explicitly plans visual continuity in multi-shot narratives. CANVAS enforces coherence through character continuity, persistent background anchors, and location-aware scene planning for smooth transitions within the same setting We evaluate CANVAS on two storyboard generation benchmarks ST-BENCH and ViStoryBench and introduce a new challenging benchmark HardContinuityBench for long-range narrative consistency. CANVAS consistently outperforms the best-performing baseline, improving background continuity by 21.6%, character consistency by 9.6% and props consistency by 7.6%.