Short-drama generation has grown into a large, industrialized pipeline, and as it scales from isolated shots to the episode level, visual continuity has become a critical bottleneck. Current agent frameworks generate each shot in isolation, so context drifts across shots and props, character posture, and blocking turn inconsistent. Once assembled, these small discrepancies amplify into severe visual breaks. We present SEAM (Shot Entity-Attribute Memory), a training-free, model-agnostic memory graph that repairs continuity entirely at the prompt-text layer by extracting a multi-dimensional state for every shot, retrieving only causally prior context over the resulting graph, filtering it selectively, and injecting the surviving constraints by natural-language prompt rewriting. We further release SEAM-Bench, a double-blind continuity storyboarding benchmark, on which SEAM raises cross-episode continuity recall from 0.700 to 0.946, generalizes across six mainstream text models, and yields consistent, though not yet significant, gains at the generated-image layer. Deployed as a mandatory stage in CreativeFitting's SEAM-Agent production pipeline over 201 shots, SEAM reaches a 96.5% director-acceptance rate with zero unsafe injections; a conservative counterfactual attributes at least 21.9 percentage points of that rate to its cross-episode memory.
Figures & tables
Figure 1. Cross-shot continuity break vs. SEAM repair. Top: per-shot independent generation loses an earlier state (a removed glove reappears), a contradiction no single shot can catch. Bottom: SEAM injects the prior state from its memory graph into the shot prompt, carrying it forward so the contradiction disappears. Two rows of three keyframes for shots 0, 4, and 7. In the top row, generated per shot independently, a glove removed in shot 0 reappears in shots 4 and 7. In the bottom row, generated with memory injection, the bare-hand state is preserved in both later shots.
Figure 2. SEAM overview. The episode script is parsed into multi-dimensional shot states, which are linked into a memory graph by temporal, character, and scene edges. For each shot of the upstream shotlist, causally prior context is retrieved, filtered selectively, and rewritten into the visual description, yielding a continuity-enriched prompt. Block diagram of the three SEAM stages: the script is parsed into multi-dimensional shot states, the states are linked into a memory graph, and prior context is retrieved, filtered, and rewritten into each shot's visual description.
Figure 3. (a) The three relation types (temporal, character, and scene). (b) Graph retrieval with backward edge expansion over the prior subgraph G<i . Two panels: the left shows shot nodes joined by temporal, character, and scene edges; the right shows retrieval expanding backward from seed nodes over the earlier part of the graph only.
Figure 4. SEAM sits as the “memory optimizer” stage, placed after the authoring agents and before the loader. It builds the memory graph from the episode script and repairs continuity shot by shot over the shotlist that the authoring agents have already generated. Left-to-right pipeline diagram: Director Agent, Cinematographer Agent, SEAM Memory Optimizer, and Formatter, with the memory optimizer placed between the authoring agents and the downstream loader.
Drama
Ep.
Human
AI
Ref. img.
his-toyboy
23
754
907
15
beyond-the-wall
20
659
814
31
werewolf
25
826
997
12
Total
68
2,239
2,718
58
Table 1. SEAM-Bench data statistics. AI shots are counted on the claude run; other backbones differ by <5% .
Condition
Recall ↑
#Judged
#Modified
Control (episode-local retrieval)
0.700
10
7
SEAM (cross-episode graph)
0.946
37
35
Table 2. Q1 continuity recall ( his-toyboy , 23 episodes). The control restricts retrieval to the current episode, so it surfaces fewer judgeable defects; #Judged is therefore part of the effect rather than a fixed denominator (see text).
Mean prob. ↓
Rate ( p≥0.5 ) ↓
Drama
#Flag.
before
after
before
after
beyond-the-wall
1,085
0.344
0.106
0.320
0.069
his-toyboy
923
0.302
0.157
0.255
0.122
werewolf
938
0.273
0.133
0.209
0.091
All
2,946
0.308
0.131
0.264
0.093
Table 3. Targeted state-conditioned contradiction on repair-flagged shots. The premise is the graph-expected entity state and the score is the NLI contradiction probability before vs. after injection, pooled over six backbones per drama and weighted by flagged-shot count.
(a) Recall ↑
(b) Contradiction
(c) Δ Blind ↑
Backbone
btw
hty
wlf
mean
n
bef. ↓
aft. ↓
csc
prp
ifit
claude
0.760
0.667
0.767
0.731
178
0.321
0.129
+5.1
+0.9
+4.9
deepseek
0.912
0.959
0.915
0.929
863
0.286
0.115
+9.9
+5.9
+15.8
glm-5.1
0.983
0.947
0.960
0.963
248
0.308
0.116
+3.5
−0.0
+2.8
gpt-5.4
0.994
0.988
0.995
0.992
548
0.294
0.135
+2.1
+1.1
+2.8
kimi
0.961
0.928
0.960
0.950
399
0.353
0.103
+2.7
+1.0
+7.6
Table 4. Per-model results over the six backbones in three metric groups: (a) continuity recall per drama— btw ( beyond-the-wall ), hty ( his-toyboy ), wlf ( werewolf )—and its mean; (b) targeted contradiction probability before/after injection, pooled over dramas and weighted by flagged-shot count ( n ); (c) blind prompt-layer gains Δ=M−B on the memory-edited dimensions (Table 8 ). Every cell improves, answering Q2 in the affirmative.
(a) Prompt layer (per-shot)
csc ↑
scon ↑
prp ↑
cgen ↑
ifit ↑
B
88.1
91.8
92.7
91.1
87.8
M
92.5
92.9
95.7
91.7
94.2
Δ
+4.4∗
+1.1
+2.9∗
+0.6
+6.5∗
(b) Image layer (per-sequence)
capp ↑
slay ↑
prpi ↑
sfq ↑
Table 5. Double-blind LLM judgment (0–100) per dimension, pooled over six backbones ( beyond-the-wall , ep. 1–5): B baseline, M memory, Δ=M−B ( ∗ Holm-corrected p<0.05 ); n=30 model-episodes and 30 sequences.
sm-f1 ↑
bs-f1 ↑
sz-acc ↑
k τ↑
js ↓
s1
0.4755
0.6379
0.318
0.446
fixed
s2
0.4731
0.6367
0.313
0.412
fixed
Δ
−0.002∗
−0.001∗
−0.005
−0.034∗
0.000
eod ↑
acos-m ↑
acos-n ↑
nli-cr ↓
nli-mp ↓
s1
11.06
0.4860
0.148
0.668
0.656
s2
11.06
0.4908
0.148
0.660
0.649
Table 6. Offline text-layer metrics over 408 model-episodes, reference-based (top) and reference-free (bottom): s1 baseline, s2 memory, Δ=s2−s1 ( ∗ Holm-corrected p<0.05 ); ↑ / ↓ is the improvement direction. js pools the three divergences, bit-identical across conditions; NLI runs on beyond-the-wall ( n=192 ).
Metric
Value
Shots evaluated
201
Director-acceptance rate ↑
96.5%
w/o cross-episode memory (lower bound) ↑
74.6%
memory attribution ( Δ ) ↑
+21.9 pp
Selective memory-injection rate
27.4%
Injection edit locality (median)
27.6%
Table 7. Online memory-effectiveness over the four deployed episodes. The counterfactual row is a conservative lower bound : every cross-episode-dependent repair reclassified as a miss.
Appendix figures & tables7 assets
Supplementary material from the paper’s appendix.
Appendix
Abbr.
Full name
Dir.
Alignment layer (reference-based)
sm-p
Soft-Match Precision
↑
sm-r
Soft-Match Recall
↑
sm-f1
Soft-Match F1
↑
bs-f1
BERTScore F1
↑
k τ
Kendall’s τ (ordering)
↑
Appendix
Table 8. Master list of metric abbreviations. “Dir.” is the improvement direction: ↑ higher is better, ↓ lower is better.
Dimension
Meaning
scene
physical scene / location
atmosphere
lighting, color tone, mood
characters
on-screen characters
character states
per-character emotion and posture
spatial
spatial relations / blocking of characters, objects
props
key props and possession relations
Appendix
Table 9. Multi-dimensional definition of shot state ( d=8 dimensions), referenced from Section 4.2.1 .
Figure 5. Targeted state-conditioned contradiction probability before vs. after memory injection for all 2,946 repair-flagged shots (three dramas × six backbones, one point per shot). Points below the y=x diagonal are repaired; the mass collapsing onto the x -axis corresponds to the two-thirds contradiction drop of Table 3 , and the sparse above-diagonal points are the residual failures discussed in Section 5.4 . Scatter plot of before-injection versus after-injection contradiction probability for every repair-flagged shot, with most points falling below the diagonal and a dense band along the horizontal axis.
Figure 6. Mean targeted contradiction probability per drama–backbone cell, before (top) and after (bottom) memory injection. All 18 cells improve, from a 0.25 – 0.39 band down to 0.05 – 0.20 (Section 5.4 ). Two heatmaps of mean contradiction probability over three dramas by six backbones, before and after memory injection.
Figure 7. Relative improvement at flagged sites versus at the episode level. The two targeted metrics gain 57.7% and 64.9% ; every global metric moves by at most 1.3% , the dilution effect of Section 5.4 . Horizontal bar chart contrasting large relative improvements on the two targeted metrics against near-zero shifts on six episode-level metrics.
Figure 8. Double-blind judge scores by dimension (data of Table 5 ): baseline (gray) vs. memory (blue), pooled over six backbones; ∗ Holm-corrected p<0.05 . The prompt layer shows large, significant gains on the dimensions injection edits, while image-layer deltas point the same way but are attenuated by the stochastic text-to-image stage (Q3). Dumbbell chart with one row per judged dimension, each row joining the baseline score to the memory score; prompt-layer rows show wide gaps and image-layer rows show narrow ones.
Figure 9. Online deployment of SEAM as the memory-optimization stage of the SEAM-Agent storyboarding pipeline in CreativeFitting’s production system. A script flows through the Director, Cinematographer, and SEAM Memory Optimizer agents to the Formatter/Loader and on to downstream rendering. Solid arrows are system data flow; the bidirectional arrows are asset query and write-back against the shared repository; dashed arrows are the feedback from directors and editors that keeps a human in the loop; the highlighted block is the core SEAM-Agent pipeline. Architecture diagram of the production system: a script flows through the Director, Cinematographer, and SEAM Memory Optimizer agents to the Formatter/Loader and downstream rendering, with side connections to a shared asset repository, a storyboard repository that carries director feedback back into the pipeline, and a telemetry system.