diff --git a/admin.html b/admin.html
index c329bc4..9a366f3 100644
--- a/admin.html
+++ b/admin.html
@@ -111,8 +111,13 @@ function shotHtml(s) {
+ 'after filming — it was NOT used for the video above'
: '')
+ ''
+ // Copyable on purpose: the same text pasted into the Gemini web app is how
+ // we tell an artifact of OUR prompt from an artifact of the API path.
+ (s.prompt_sent
- ? 'Exact prompt sent
' + esc(s.prompt_sent) + '
'
+ ? 'Exact prompt sent'
+ + ''
+ + '
' + esc(s.prompt_sent) + '
'
: '
no prompt recorded (filmed before prompts were stored)
')
// The prompt and the request are not the same claim. An earlier version of
// video_render validated its images and then posted only the prompt, which
@@ -159,6 +164,21 @@ function projHtml(p) {
+ (p.owner_notes ? '
notes ' + esc(p.owner_notes) + '
' : '')
+ ''
+ (p.full_text ? 'Full piece as written
' + esc(p.full_text) + '
' : '')
+ // The master is what Veo produced. Everything else is derived from it and
+ // is disposable; the master is not regenerated and not overwritten.
+ + (p.renditions && p.renditions.length
+ ? '' + p.renditions.length + ' renditions'
+ + p.renditions.map(function (r) {
+ return '