Edited-Keyframe
Video Agent Loop

green: satisfied constraint
red: failed constraint
Pipeline: T2V -> observer -> controller -> image edit -> I2V -> observer
Step 1Generate V0 from prompt
User prompt: A realistic cinematic video in a modern kitchen. One chef in a white jacket stands centered behind a wooden table. Steam rises from a pot. Three red tomatoes are on the left; two blue bowls are on the right.
V0 text-to-video output
V0 has the right scene style, chef, steam, and blue bowls, but misses some constraints.
Step 2Observer checks V0
V0 frame 0
V0 f0
V0 frame 1
V0 f1
V0 frame 2
V0 f2 selected
OK: kitchen, one chef, white jacket, steam, two bowls
Fail: chef not centered; only two tomatoes
Step 3Controller plans repair
DiagnosisV0 misses centered chef and exactly three tomatoes.
Actionregenerate:video via edited keyframe.
Preservekitchen, chef identity, white jacket, steam, blue bowls.
Repaircenter chef; add the third red tomato on table-left.
Decision: do not directly regenerate from text; repair a keyframe first.
Step 4Edit selected keyframe
Reference before edit
Before: selected V0 frame
Edited keyframe
After: Agnes Image edited keyframe
Image edit adds the missing tomato and recenters the visual anchor before video regeneration.
Step 5Generate V1 from edited keyframe
V1 image-to-video output conditioned on edited keyframe
The edited keyframe acts as a visual anchor for scene, layout, and object count.
Step 6Observer checks V1
V1 frame 0
V1 f0
V1 frame 1
V1 f1
V1 frame 2
V1 f2
Fixed: centered chef, three tomatoes, two bowls, steam