PageSourceSearch

https://thefluxtrain.com/_nuxt/CDN5KDYX.js

js thefluxtrain.com collected 2026-10-07 20:05:40 UTC 82,465 bytes, 3,168 lines download raw bytes

1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./DqXddi-U.js","./Dx8NNHmV.js","./entry.asDmOpUK.css","./wKo0iTHu.js","./BDPxk7my.js"])))=>i.map(i=>d[i]);
2import{f as ae,aR as wo,F as Ke,d as P,aA as p,aU as _,N as n,ax as C,c as I,P as J,bB as Ye,bX as qe,K as ue,ao as l,aQ as pe,aD as E,M as R,aE as he,n as bo,L as d,aB as ce,aG as oe,aH as de,I as W,c1 as ke,c2 as G,a4 as Pe,a9 as So,w as He,b2 as ie,aq as $e,a3 as ko,a8 as we}from"./Dx8NNHmV.js";import{_ as Je}from"./DkLqyOFL.js";import{_ as Qe}from"./Cii0jyuN.js";import{_ as xo}from"./CrrGeNQU.js";import{u as Po}from"./DVDy7sMk.js";import{h as Co,i as To,j as Ro,k as Ao}from"./bdzVWh19.js";import{a as Ne}from"./BFFWpBpf.js";import{_ as Mo}from"./CKabxdGY.js";import{u as Io}from"./BiIAu_Gd.js";import{_ as _o}from"./DlAUqK2U.js";import{_ as Oo}from"./ByX2s1YW.js";import{G as Ve}from"./C3Zr4WwK.js";import{V as Eo}from"./DNqgtk7n.js";import{D as be}from"./CzlwAnUw.js";const Lo={class:"relative space-y-1.5 rounded-2xl border border-slate-200 bg-white/90 p-1.5 shadow-lg shadow-slate-200/40 backdrop-blur-xl lg:space-y-2 lg:p-2 dark:border-gray-800 dark:bg-gray-900/90 dark:shadow-black/20"},Do={key:0,class:"absolute right-2 top-2 z-10"},Fo={key:1,class:"px-1 lg:px-2 pt-0.5 lg:pt-1"},Bo={key:2,class:"flex items-center gap-2 px-1 lg:px-2"},Uo={class:"flex-1 min-w-0"},Ho=["placeholder"],$o={class:"border-t border-slate-200 dark:border-gray-800"},No={key:0,class:"px-1 lg:px-2 pt-1.5 lg:pt-2 pb-1"},Vo={class:"flex flex-1 min-w-0 items-center flex-wrap gap-1.5 lg:gap-2 overflow-x-auto"},zo={key:0,class:"shrink-0"},Wo={class:"flex shrink-0 items-center gap-1.5 lg:gap-2"},Go={key:0,class:"flex shrink-0 items-center gap-1 px-1 py-1 lg:px-2 lg:py-1.5 bg-primary-500/10 rounded-lg border border-primary-500/20"},jo={class:"text-[10px] font-bold text-primary-400 whitespace-nowrap"},Ko={class:"flex items-start gap-2 w-full text-left"},Yo={class:"flex-shrink-0 pt-0.5"},qo={class:"flex-1 min-w-0"},Jo={class:"text-xs font-semibold text-gray-900 dark:text-white whitespace-normal break-words"},Qo=ae({__name:"InlinePromptInput",props:{modelValue:{},loading:{type:Boolean},rootClass:{},credits:{},hideInput:{type:Boolean},noPrompt:{type:Boolean,default:!1},generationType:{},placeholder:{default:"Describe the variation you want..."}},emits:["update:modelValue","generate","enhance"],setup(t,{emit:y}){const h=t,T=y,L=wo(),v=I(()=>h.generationType||"image"),b=I({get:()=>h.modelValue,set:s=>T("update:modelValue",s)}),O=P(null),f=Io(),k=P([]),x=I(()=>!!L["header-actions"]),m=s=>{if(!s)return"";const A=s.split(/\s+/);return A.length<=30?s:A.slice(0,30).join(" ")+"..."},g=I(()=>[k.value.map(s=>({label:m(s.prompt),slot:"history-item",data:s,onSelect:()=>c(s)}))]);Ke(()=>{k.value=f.getHistory()});const j=()=>{k.value=f.upsert(b.value||"",v.value)},H=()=>{j(),T("generate")},c=async s=>{T("update:modelValue",s.prompt),await bo(),O.value?.focus()},w=s=>{if(s.key==="Enter"&&!s.shiftKey){if(h.hideInput)return;s.preventDefault(),H()}};return(s,A)=>{const $=pe,N=he,z=Mo;return d(),p("div",{class:_(h.rootClass||"w-full")},[n("div",Lo,[x.value?(d(),p("div",Do,[J(s.$slots,"header-actions",{},void 0,!0)])):C("",!0),s.$slots.top?(d(),p("div",Fo,[J(s.$slots,"top",{},void 0,!0)])):C("",!0),t.hideInput&&!t.noPrompt?(d(),p("div",Bo,[n("div",Uo,[J(s.$slots,"default",{},void 0,!0)])])):C("",!0),!t.hideInput&&!t.noPrompt?(d(),p("div",{key:3,class:_(["px-1 lg:px-2",x.value&&!s.$slots.top?"pt-8 lg:pt-8":"pt-0 lg:pt-0.5"])},[Ye(n("textarea",{ref_key:"textareaRef",ref:O,"onUpdate:modelValue":A[0]||(A[0]=D=>b.value=D),placeholder:t.placeholder,class:"h-[6.25rem] w-full resize-none overflow-y-auto rounded-xl border border-slate-200 bg-slate-50 px-2 py-1 text-[10px] leading-snug text-slate-950 placeholder-slate-400 focus:ring-1 focus:ring-primary-500 lg:px-2.5 lg:text-xs dark:border-gray-800 dark:bg-gray-950 dark:text-white dark:placeholder-gray-500",rows:"5",onKeydown:w},null,40,Ho),[[qe,b.value]])],2)):C("",!0),n("div",$o,[s.$slots["footer-pre"]?(d(),p("div",No,[J(s.$slots,"footer-pre",{},void 0,!0)])):C("",!0),n("div",{class:_(["flex items-center flex-nowrap gap-2 min-w-0 px-1 lg:px-2 pb-0.5 lg:pb-1",s.$slots["footer-pre"]?"pt-1":"pt-1.5 lg:pt-2"])},[n("div",Vo,[J(s.$slots,"extra-actions",{},void 0,!0)]),s.$slots.duration?(d(),p("div",zo,[J(s.$slots,"duration",{},void 0,!0)])):C("",!0),n("div",Wo,[h.credits!==void 0?(d(),p("div",Go,[l($,{name:"i-heroicons-bolt-solid",class:"text-primary-400 size-2 lg:size-3"}),n("span",jo,E(h.credits)+" "+E(typeof h.credits=="number"?"Credits":""),1)])):C("",!0),t.noPrompt?C("",!0):(d(),ue(z,{key:1,items:g.value,content:{align:"end",side:"top",sideOffset:8},ui:{content:"w-96 max-w-[calc(100vw-24px)] max-h-[200px] overflow-y-auto rounded-xl border border-slate-200 bg-white shadow-none z-[120] dark:border-gray-800 dark:bg-gray-900",item:"text-left cursor-pointer"}},{"history-item":R(({item:D})=>[n("div",Ko,[n("div",Yo,[l($,{name:D.data.type==="video"?"i-heroicons-video-camera-20-solid":D.data.type==="audio"?"i-heroicons-musical-note-20-solid":"i-heroicons-photo-20-solid",class:"size-4 text-gray-500 dark:text-gray-400"},null,8,["name"])]),n("div",qo,[n("div",Jo,E(m(D.data.prompt)),1)])])]),default:R(()=>[l(N,{color:"neutral",variant:"ghost",size:"sm",icon:"i-heroicons-clock-20-solid",class:"rounded-lg cursor-pointer",disabled:k.value.length===0},null,8,["disabled"])]),_:1},8,["items"])),l(N,{color:"primary",icon:"i-heroicons-paper-airplane-20-solid",size:"sm",class:"shrink-0 rounded-xl cursor-pointer",loading:t.loading,label:"Generate",onClick:H},null,8,["loading"])])],2)])])],2)}}}),Xo=Object.assign(_o(Qo,[["__scopeId","data-v-212e1afc"]]),{__name:"GenerationsInlinePromptInput"});function te(t){return`Image ${t+1}`}function xe(t){return`@Image ${t+1}`}function ze(t){return`${te(t)} (${xe(t)})`}const Zo={class:"flex flex-col gap-2 w-full"},et={class:"flex flex-wrap items-center gap-2"},ot={class:"cursor-pointer shrink-0"},tt=["disabled"],at={class:"relative size-12 lg:size-14 rounded-lg overflow-hidden border border-slate-200 dark:border-gray-700 shrink-0"},nt=["src","alt"],rt={key:0,class:"absolute inset-0 flex items-center justify-center bg-black/35"},it={class:"absolute top-0.5 right-0.5 z-10 px-1 py-0.5 bg-black/60 text-[8px] text-white rounded font-bold pointer-events-none"},st={class:"text-[10px] tabular-nums surface-muted shrink-0"},lt={class:"text-[10px] surface-muted"},ct=ae({__name:"ShortfilmReferenceImagesPanel",props:{images:{},uploading:{type:Boolean},maxImages:{},compact:{type:Boolean}},emits:["upload","remove"],setup(t,{emit:y}){const h=y;function T(L){const v=L.target,b=v.files;b?.length&&h("upload",b),v.value=""}return(L,v)=>{const b=pe,O=he;return d(),p("div",Zo,[n("div",et,[n("label",ot,[n("input",{type:"file",accept:"image/*",multiple:"",class:"hidden",disabled:t.images.length>=t.maxImages,onChange:T},null,40,tt),n("span",{class:_(["inline-flex items-center gap-1.5 rounded-lg border border-dashed border-slate-300 px-3 py-1.5 text-slate-600 transition-colors hover:border-slate-400 hover:text-slate-900 dark:border-gray-700 dark:text-gray-300 dark:hover:border-gray-500 dark:hover:text-white",[t.compact?"text-[10px] lg:text-xs":"text-xs lg:text-sm",{"opacity-50 pointer-events-none":t.images.length>=t.maxImages}]])},[l(b,{name:t.uploading?"i-heroicons-arrow-path":"i-heroicons-plus",class:_(["size-4",{"animate-spin":t.uploading}])},null,8,["name","class"]),v[0]||(v[0]=ce(" Add images ",-1))],2)]),(d(!0),p(oe,null,de(t.images,(f,k)=>(d(),p("div",{key:f.id,class:"relative flex items-center"},[n("div",at,[n("img",{src:f.url,alt:W(te)(k),class:_(["size-full object-cover",{"opacity-60":f.uploading}])},null,10,nt),f.uploading?(d(),p("div",rt,[l(b,{name:"i-heroicons-arrow-path",class:"size-5 text-white animate-spin"})])):C("",!0),n("span",it,E(k+1),1)]),l(O,{size:t.compact?"xs":"sm",color:"neutral",variant:"ghost",icon:"i-heroicons-x-mark",class:"cursor-pointer shrink-0 -ml-1","aria-label":`Remove ${W(te)(k)}`,onClick:x=>h("remove",f.id)},null,8,["size","aria-label","onClick"])]))),128)),n("span",st,E(t.images.length)+"/"+E(t.maxImages),1)]),n("p",lt," Optional — reference uploads as "+E(W(xe)(0))+", "+E(W(xe)(1))+", … in your story ",1)])}}}),We=Object.assign(ct,{__name:"ShortfilmReferenceImagesPanel"}),dt={class:"flex flex-wrap items-center gap-2 lg:gap-4"},ut={class:"surface-toolbar-chip flex items-center px-2 py-1 lg:px-3 lg:py-1.5 rounded-lg cursor-pointer"},pt=ae({__name:"ShortfilmPipelineOptionsRow",props:ke({pipelineModeOptions:{},resolutionOptions:{},aspectRatioOptions:{},showVideoRenderOptions:{type:Boolean},showReviewOptions:{type:Boolean},compact:{type:Boolean}},{pipelineMode:{required:!0},pipelineModeModifiers:{},resolution:{required:!0},resolutionModifiers:{},aspectRatio:{required:!0},aspectRatioModifiers:{},voiceId:{required:!0},voiceIdModifiers:{},autoApprove:{type:Boolean,default:!1},autoApproveModifiers:{}}),emits:ke(["openPicker"],["update:pipelineMode","update:resolution","update:aspectRatio","update:voiceId","update:autoApprove"]),setup(t,{emit:y}){const h=t,T=G(t,"pipelineMode"),L=G(t,"resolution"),v=G(t,"aspectRatio"),b=G(t,"voiceId"),O=G(t,"autoApprove"),f=y,k=I(()=>h.pipelineModeOptions.find(x=>
2x.id===T.value)||h.pipelineModeOptions[0]);return(x,m)=>{const g=pe,j=he,H=Oo,c=Je;return d(),p("div",dt,[l(j,{color:"neutral",variant:"ghost",size:"xs",class:_(["flex items-center gap-2 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors cursor-pointer",t.compact?"px-1.5 py-0.5":"px-2 py-1"]),onClick:m[0]||(m[0]=w=>f("openPicker"))},{default:R(()=>[k.value?.icon?(d(),p("div",{key:0,class:_(["flex items-center justify-center rounded font-bold",t.compact?"size-3 text-[8px]":"size-4 text-[10px] bg-gray-200 dark:bg-gray-700"])},[l(g,{name:k.value.icon,class:_(t.compact?"size-2.5":"size-3")},null,8,["name","class"])],2)):C("",!0),n("span",{class:_(["font-medium text-gray-700 dark:text-gray-300 whitespace-nowrap",t.compact?"text-[10px]":"text-xs"])},E(k.value?.label),3),l(g,{name:"i-heroicons-chevron-down-20-solid",class:_([t.compact?"size-3":"size-3.5","text-gray-400"])},null,8,["class"])]),_:1},8,["class"]),t.showVideoRenderOptions?(d(),p(oe,{key:0},[l(Ve,{modelValue:L.value,"onUpdate:modelValue":m[1]||(m[1]=w=>L.value=w),options:t.resolutionOptions,side:"bottom",width:"w-20 lg:w-24",compact:t.compact},null,8,["modelValue","options","compact"]),l(Ve,{modelValue:v.value,"onUpdate:modelValue":m[2]||(m[2]=w=>v.value=w),options:t.aspectRatioOptions,side:"bottom",width:"w-20 lg:w-24",compact:t.compact},null,8,["modelValue","options","compact"]),l(Eo,{modelValue:b.value,"onUpdate:modelValue":m[3]||(m[3]=w=>b.value=w),side:"bottom",compact:t.compact},null,8,["modelValue","compact"]),t.showReviewOptions?(d(),ue(c,{key:0,text:"Skip review gates and continue automatically"},{default:R(()=>[n("div",ut,[l(H,{modelValue:O.value,"onUpdate:modelValue":m[4]||(m[4]=w=>O.value=w),label:"Auto-approve",ui:{label:t.compact?"text-[10px] lg:text-xs font-medium":"text-sm font-medium"}},null,8,["modelValue","ui"])])]),_:1})):C("",!0)],64)):C("",!0)])}}}),Ge=Object.assign(pt,{__name:"ShortfilmPipelineOptionsRow"}),ht={class:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3"},mt=["onClick"],gt={class:"relative aspect-[16/10] rounded-t-xl overflow-hidden bg-slate-100 dark:bg-gray-950 flex items-center justify-center"},ft={class:"relative flex size-14 items-center justify-center rounded-2xl bg-white/90 dark:bg-gray-800/90 text-primary-500 shadow-sm ring-1 ring-black/5 dark:ring-white/10"},yt={key:0,class:"absolute top-2 right-2 flex size-7 items-center justify-center rounded-full bg-primary-500 text-white shadow-sm"},vt={class:"flex flex-1 flex-col gap-1 p-3 pt-2.5"},wt={class:"flex items-start justify-between gap-2"},bt={class:"text-sm font-semibold surface-heading group-hover:text-primary-500 dark:group-hover:text-primary-400 transition-colors"},St={class:"text-xs surface-muted leading-snug"},kt=ae({__name:"ShortfilmPipelinePickerModal",props:ke({options:{}},{open:{type:Boolean,default:!1},openModifiers:{},selectedId:{required:!0},selectedIdModifiers:{}}),emits:["update:open","update:selectedId"],setup(t){const y=G(t,"open"),h=G(t,"selectedId");function T(L){y.value=!1,h.value=L}return(L,v)=>{const b=pe,O=Qe;return d(),ue(O,{open:y.value,"onUpdate:open":v[0]||(v[0]=f=>y.value=f),title:"Choose a pipeline",description:"Pick the workflow that matches your intent. Each option leads to a different production outcome.",ui:{content:"sm:max-w-5xl"}},{body:R(()=>[n("div",ht,[(d(!0),p(oe,null,de(t.options,f=>(d(),p("button",{key:f.id,type:"button",class:_(["group flex flex-col text-left rounded-xl surface-card shadow-sm transition-all duration-200 cursor-pointer hover:border-slate-300 dark:hover:border-gray-600 hover:shadow-md focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500",h.value===f.id?"ring-2 ring-primary-500 border-primary-500/40":""]),onClick:k=>T(f.id)},[n("div",gt,[v[1]||(v[1]=n("div",{class:"absolute inset-0 bg-gradient-to-br from-slate-100 via-slate-50 to-primary-50/40 dark:from-gray-950 dark:via-gray-900 dark:to-primary-950/30"},null,-1)),n("div",ft,[l(b,{name:f.icon,class:"size-7"},null,8,["name"])]),h.value===f.id?(d(),p("div",yt,[l(b,{name:"i-heroicons-check-20-solid",class:"size-4"})])):C("",!0)]),n("div",vt,[n("div",wt,[n("span",bt,E(f.label),1)]),n("p",St,E(f.description),1)])],10,mt))),128))])]),_:1},8,["open"])}}}),xt=Object.assign(kt,{__name:"ShortfilmPipelinePickerModal"}),Pt="shortfilm-v1",Ct="shortscript-v1",Tt="shortfilm-auto-v1",Rt="promotional-video-v1",Ce="open-direct-v1",At=Ce,Mt={shortscript:Ct,shortfilm:Pt,auto:Tt,"promotional-video":Rt,"promo-v2":Ce,custom:At},Te="flux_shortfilm_creation_draft_v1";function It(){const t=Pe.getItem(Te);if(!t)return null;try{const y=JSON.parse(t);
2return!y||typeof y.story!="string"?null:y}catch{return null}}function _t(t){const y={...t,savedAt:Date.now()};Pe.setItem(Te,JSON.stringify(y))}function je(){Pe.removeItem(Te)}const Ot=`# Luna and the Cloud Ship
3
4## Duration
540–50 seconds
6
7---
8
9# Overall Setup
10
11A sleepy hillside town sits beneath a wide evening sky. Every night, the clouds turn pink and gold above a little house with a skylight window. Luna watches the sky from her bed, dreaming of places she has only seen in books.
12
13The world contains:
14- Luna's cozy bedroom with star-shaped pillows
15- A rooftop skylight glowing soft blue
16- Rolling green hills below the town
17- A winding path to the old observatory
18- Fireflies drifting through tall grass
19- A small wooden telescope on the windowsill
20
21The skylight is the emotional center — the place where ordinary nights become adventures.
22
23---
24
25# Characters
26
27## 1. Luna
28
29### Age
308 years
31
32### Role
33Main character
34
35### Personality
36- Curious
37- Brave
38- Kind
39- Imaginative
40- Gentle
41
42### Appearance
43- Curly dark hair in two braids
44- Purple pajamas with tiny moons
45- Round glasses
46- Fuzzy socks
47- A notebook always nearby
48
49### Signature Prop
50A hand-drawn map of imaginary islands taped beside her bed.
51
52### Signature Action
53Whispers wishes to the stars before falling asleep.
54
55---
56
57## 2. Nimbus (The Cloud Ship)
58
59### Role
60Magical transport and friend
61
62### Personality
63- Playful
64- Warm
65- Protective
66- Soft-spoken
67
68### Appearance
69- A small ship made of glowing cloud fluff
70- Rope ladder of braided moonlight
71- Portholes like silver coins
72- A banner that ripples without wind
73
74### Signature Action
75Descends gently through the skylight when Luna needs courage.
76
77---
78
79# Story
80
81## Scene 1 — Hook
82
83Every night, Luna stared at the same patch of sky and wondered whether adventures only happened to other people.
84
85Tonight, a cloud ship lowered itself through her skylight as quietly as a bedtime story.
86
87---
88
89## Scene 2 — Connection
90
91Nimbus invited Luna aboard.
92
93They sailed above sleeping rooftops, over rivers that looked like ribbons, and past mountains wearing hats of mist.
94
95Luna laughed for the first time all week.
96
97---
98
99## Scene 3 — Challenge
100
101A storm of gray worry-clouds blocked their path.
102
103Luna's hands trembled.
104
105Nimbus did not rush her.
106
107It simply waited beside the wheel.
108
109---
110
111## Scene 4 — Courage
112
113Luna opened her notebook and read aloud a wish she had written but never believed:
114
115*"I want to be brave enough to try new things."*
116
117The worry-clouds thinned.
118
119Moonlight cleared a path forward.
120
121---
122
123## Scene 5 — Heartwarming Ending
124
125Nimbus brought Luna home before sunrise.
126
127She climbed back into bed with wind in her braids and courage in her chest.
128
129The cloud ship faded into the morning sky — but the map on her wall now had one new island labeled:
130
131**Tomorrow.**
132
133---
134
135# Final Message
136
137**The biggest adventures often begin the moment you believe you are allowed to have them.**`,Et=`# The Backpack Dragon
138
139## Duration
14040–50 seconds
141
142---
143
144# Overall Setup
145
146A bright elementary school sits at the end of a maple-lined street. Inside a second-grade classroom, cubbies, crayons, and nervous excitement fill the first day of school.
147
148Key locations:
149- Classroom doorway
150- Colorful cubby wall
151- Reading rug with alphabet letters
152- Sunny playground beyond the windows
153- A hallway that feels enormous on day one
154
155The cubby wall becomes the turning point where fear becomes friendship.
156
157---
158
159# Characters
160
161## 1. Milo
162
163### Age
1647 years
165
166### Role
167Main character
168
169### Personality
170- Shy
171- Sweet
172- Observant
173- Slowly brave
174
175### Appearance
176- Neat brown hair
177- Green T-shirt with a rocket
178- New sneakers still too white
179- Oversized backpack
180
181### Signature Prop
182A lunchbox shaped like a planet.
183
184---
185
186## 2. Pippin (Tiny Dragon)
187
188### Role
189Invisible friend who becomes real through imagination
190
191### Personality
192- Cheerful
193- Loyal
194- Mischievous in a gentle way
195
196### Appearance
197- Palm-sized emerald dragon
198- Wings like folded origami
199- Golden eyes
200- Hides inside Milo's backpack among pencils
201
202### Signature Action
203Peeks out to whisper encouragement only Milo can hear.
204
205---
206
207## 3. Ms. Rivera
208
209### Role
210Kind teacher
211
212### Personality
213- Warm
214- Patient
215- Encouraging
216
217### Appearance
218- Colorful cardigan
219- Name tag with a smiley sticker
220- Clipboard full of welcome notes
221
222---
223
224# Story
225
226## Scene 1 — Hook
227
228Milo stood at the classroom door, fingers locked around his backpack straps.
229
230Inside his bag, something tiny shifted.
231
232A voice whispered, *"You've got me."*
233
234---
235
236## Scene 2 — Connection
237
238Pippin helped Milo find his cubby, share crayons, and answer when his name was called.
239
240Each small success made the room feel less enormous.
241
242---
243
244## Scene 3 — Challenge
245
246At recess, older kids laughed at Milo's quietness.
247
248Milo wanted to disappear.
249
250Pippin tapped his shoulder:
251
252*"Being quiet is not the same as having nothing to say."*
253
254---
255
256## Scene 4 — Hope
257
258Milo noticed a classmate sitting alone, dropping a snack.
259
260He walked over and shared his planet lunchbox.
261
262They built a block tower together.
263
264---
265
266## Scene 5 — Heartwarming Ending
267
268At pickup, Milo waved goodbye to his new friend.
269
270He unzipped his backpack.
271
272Pippin winked, curled up on a math worksheet, and fell asleep like a satisfied secret.
273
274Milo smiled.
275
276First day: survived.
277
278Maybe even loved.
279
280---
281
282# Final Message
283
284**Courage doesn't always roar. Sometimes it shares a snack and says hello.**`,Lt=`# InvoiceFlow — Stop Chasing Payments
285
286## Duration
28735–45 seconds
288
289---
290
291# Overall Setup
292
293A modern founder workspace transitions from chaos to clarity. The story opens in a cramped home office buried in spreadsheets, then moves into a clean product demo world with crisp UI motion.
294
295Locations:
296- Cluttered desk with overdue invoices
297- Laptop screen showing messy tabs
298- Clean dashboard interface
299- Notification ping moments
300- Closing CTA card on brand color
301
302The laptop screen is the emotional center — where stress becomes control.
303
304---
305
306# Characters
307
308## 1. Jordan (Founder)
309
310### Role
311Relatable startup founder
312
313### Personality
314- Driven
315- Overwhelmed at first
316- Relieved and confident by the end
317
318### Appearance
319- Casual button-down shirt
320- Headphones around neck
321- Coffee mug labeled "Runway"
322
323### Signature Action
324Rubs temples at the start, sits upright after the demo.
325
326---
327
328## 2. InvoiceFlow (Product)
329
330### Role
331Hero product
332
333### Personality
334- Fast
335- Reliable
336- Friendly
337
338### Appearance
339- Minimal SaaS dashboard
340- Green "Paid" badges
341- Automated reminder timeline
342- One-click export button
343
344---
345
346# Story
347
348## Scene 1 — Hook
349
350Jordan scrolls through overdue invoices at midnight.
351
352*"I built a company... and somehow became a full-time bill collector."*
353
354---
355
356## Scene 2 — Problem
357
358Late payments stack up.
359
360Team chat pings multiply.
361
362Cash-flow anxiety fills the room.
363
364---
365
366## Scene 3 — Solution
367
368Jordan opens InvoiceFlow.
369
370Automated reminders go out.
371
372Clients pay.
373
374The dashboard turns green.
375
376---
377
378## Scene 4 — Proof
379
380One screen shows recovered revenue this month.
381
382Another shows hours saved.
383
384Jordan exhales.
385
386---
387
388## Scene 5 — CTA Ending
389
390Voiceover:
391
392*"Stop chasing invoices. Start closing them."*
393
394On-screen text:
395
396**Start free at invoiceflow.app**
397
398Jordan closes the laptop and actually leaves the desk.
399
400---
401
402# Final Message
403
404**Founders should build products — not chase paperwork.**`,Dt=`# ClinicQueue — Scheduling That Cares
405
406## Duration
40735–45 seconds
408
409---
410
411# Overall Setup
412
413A busy medical clinic where phones ring constantly and the front desk is underwater. The visual story contrasts manual scheduling chaos with a calm AI-assisted workflow.
414
415Locations:
416- Clinic reception desk
417- Waiting room with patients
418- Provider calendar view
419- Mobile confirmation texts
420- End card with logo and trial link
421
422The reception desk phone is the stress symbol; the calendar UI is the relief symbol.
423
424---
425
426# Characters
427
428## 1. Dr. Patel
429
430### Role
431Clinic owner / founder voice
432
433### Personality
434- Professional
435- Empathetic
436- Practical
437
438### Appearance
439- White coat
440- Tablet in hand
441- Warm expression
442
443---
444
445## 2. Maya (Receptionist)
446
447### Role
448Everyday user who feels the pain
449
450### Personality
451- Capable
452- Stretched thin
453- Grateful when helped
454
455### Appearance
456- Headset
457- Sticky notes everywhere
458- Color-coded folders
459
460---
461
462## 3. ClinicQueue App
463
464### Role
465Product hero
466
467### Appearance
468- Smart calendar grid
469- Auto-fill openings
470- SMS reminders
471- No-show reduction chart
472
473---
474
475# Story
476
477## Scene 1 — Hook
478
479The phone rings again.
480
481Maya answers without breathing.
482
483*"Can I move my appointment to Thursday?"*
484
485---
486
487## Scene 2 — Problem
488
489Double bookings.
490
491Missed callbacks.
492
493Patients waiting too long.
494
495Dr. Patel watches staff burnout grow.
496
497---
498
499## Scene 3 — Solution
500
501ClinicQueue suggests optimal slots automatically.
502
503Patients confirm by text.
504
505The waiting room calms down.
506
507---
508
509## Scene 4 — Result
510
511Fewer no-shows.
512
513Happier staff.
514
515More time for care.
516
517---
518
519## Scene 5 — CTA Ending
520
521Dr. Patel to camera:
522
523*"We didn't need more hustle. We needed smarter scheduling."*
524
525**Try ClinicQueue free for 14 days.**
526
527---
528
529# Final Message
530
531**Better operations give clinics back the thing they can't automate — human attention.**`,Ft=`# Co-Pilot Panel Launch
532
533## Duration
53430–40 seconds
535
536---
537
538# Overall Setup
539
540A product workspace UI tells the story of cluttered workflow vs guided workflow. Motion graphics highlight a new AI co-pilot panel appearing beside the main editor.
541
542Locations:
543- Legacy editor with stacked toolbars
544- Same editor with slim co-pilot sidebar
545- Cursor clicking "Suggest next step"
546- Success toast animation
547- Upgrade CTA end frame
548
549The editor canvas is the constant; the co-pilot panel is the transformation.
550
551---
552
553# Characters
554
555## 1. Product UI (Hero)
556
557### Role
558Visual main character
559
560### Appearance
561- Dark-mode interface
562- Context-aware suggestion cards
563- One-click apply buttons
564- Progress ring showing time saved
565
566---
567
568## 2. Alex (User Persona)
569
570### Role
571Relatable power user
572
573### Personality
574- Focused
575- Initially frustrated
576- Delighted by flow
577
578### Appearance
579- Minimal desk setup
580- Mechanical keyboard
581- Large monitor
582
583---
584
585# Story
586
587## Scene 1 — Hook
588
589Too many tabs.
590
591Too many decisions.
592
593Alex pauses mid-task.
594
595*"There has to be a faster way."*
596
597---
598
599## Scene 2 — Before
600
601Manual steps pile up.
602
603Copy-paste loops repeat.
604
605Deadline stress builds.
606
607---
608
609## Scene 3 — Reveal
610
611The Co-Pilot Panel slides in.
612
613It reads context.
614
615It suggests the next three actions.
616
617---
618
619## Scene 4 — After
620
621One click applies a workflow block.
622
623Tasks complete in half the time.
624
625Alex leans back — surprised.
626
627---
628
629## Scene 5 — Launch CTA
630
631Text on screen:
632
633**Meet the Co-Pilot Panel — now in every workspace.**
634
635Subline:
636
637*Your screenshot workflow, upgraded.*
638
639Button:
640
641**Enable Co-Pilot**
642
643---
644
645# Final Message
646
647**The best features don't add complexity. They remove the next decision.**`,Bt=`# Dark Mode & Collaborative Editing
648
649## Duration
65030–40 seconds
651
652---
653
654# Overall Setup
655
656A split-screen product story showing two beloved feature launches: dark mode for late-night focus, and live collaborative editing for remote teams.
657
658Locations:
659- Bright UI switching to dark UI
660- Two cursors moving on one document
661- Comment bubbles resolving in real time
662- Celebration micro-animation
663- Social-ready end card
664
665The shared document is the emotional center of collaboration.
666
667---
668
669# Characters
670
671## 1. Team Members (Sam & Riley)
672
673### Role
674Remote collaborators
675
676### Personality
677- Fast-moving
678- Supportive
679- In sync
680
681### Appearance
682- Sam in evening light, dark mode enabled
683- Riley on morning video call
684- Matching project avatars
685
686---
687
688## 2. The App Interface
689
690### Role
691Product hero
692
693### Appearance
694- Smooth theme toggle
695- Live cursor labels
696- Inline comments
697- Version history badge
698
699---
700
701# Story
702
703## Scene 1 — Hook
704
705Sam burns the midnight oil.
706
707The screen is too bright.
708
709One toggle — dark mode — and the room finally feels right.
710
711---
712
713## Scene 2 — Collaboration Need
714
715Riley pings:
716
717*"Can you review section 3 before the demo?"*
718
719Old workflow: export, email, wait.
720
721---
722
723## Scene 3 — Feature Magic
724
725Both editors open the same doc.
726
727Two cursors dance across paragraphs.
728
729Comments resolve instantly.
730
731---
732
733## Scene 4 — Momentum
734
735Edits stack.
736
737No version confusion.
738
739The team ships on time.
740
741---
742
743## Scene 5 — Launch Ending
744
745Split-screen montage:
746
747Dark mode for focus.
748
749Live editing for speed.
750
751Tagline:
752
753**Work late. Ship together.**
754
755---
756
757# Final Message
758
759**Great launches meet users where they are — tired eyes, tight deadlines, and all.**`,Ut=`# Sunny and the Sunflower Secret
760
761## Duration
76240–50 seconds
763
764---
765
766# Overall Setup
767
768A cheerful school garden teaches young viewers why plants need sunlight. Bright colors, simple metaphors, and a recurring song line make the science easy to remember.
769
770Locations:
771- Classroom garden bed
772- Sunflower named Sunny
773- Magnifying glass moment
774- Cloud passing overhead
775- Final quiz board
776
777The garden bed is the classroom stage.
778
779---
780
781# Characters
782
783## 1. Maya (Student)
784
785### Age
7867 years
787
788### Role
789Curious learner
790
791### Personality
792- Inquisitive
793- Energetic
794- Encouraging to friends
795
796### Appearance
797- Yellow rain boots
798- Garden gloves
799- Notebook with plant stickers
800
801---
802
803## 2. Sunny (Talking Sunflower)
804
805### Role
806Friendly teacher-plant
807
808### Personality
809- Warm
810- Patient
811- Slightly silly
812
813### Appearance
814- Tall bright petals
815- Expressive face in the center
816- Leaves that gesture like hands
817
818---
819
820## 3. Mr. Beam (Sunlight Character)
821
822### Role
823Visual metaphor for sunlight
824
825### Appearance
826- Golden rays with a smiling face
827- Soft glow effects
828- Never scary — always inviting
829
830---
831
832# Story
833
834## Scene 1 — Hook
835
836Maya asks:
837
838*"Why do plants need sun anyway?"*
839
840Sunny perks up:
841
842*"Great question. Let's grow an answer."*
843
844---
845
846## Scene 2 — Lesson
847
848Mr. Beam arrives.
849
850Sunny drinks in the light and stands taller.
851
852Maya watches leaves turn toward the sky.
853
854---
855
856## Scene 3 — Experiment
857
858Cloud covers the garden.
859
860Sunny droops a little.
861
862Maya learns: no light, no energy.
863
864---
865
866## Scene 4 — Quiz Moment
867
868Sunny asks three quick questions.
869
870Maya answers with help from friends.
871
872Correct answers sparkle on the quiz board.
873
874---
875
876## Scene 5 — Recap Ending
877
878Song line:
879
880*"Sun gives food, plants give air — take care of both everywhere!"*
881
882Maya stamps her notebook:
883
884**Lesson learned.**
885
886---
887
888# Final Message
889
890**Plants are solar-powered life — and we depend on them every day.**`,Ht=`# The Water Cycle Train
891
892## Duration
89340–50 seconds
894
895---
896
897# Overall Setup
898
899A magical train carries droplets through evaporation, condensation, precipitation, and collection — teaching the water cycle as a journey kids can follow.
900
901Locations:
902- Ocean station
903- Cloud mountain pass
904- Rainfall valley
905- River return loop
906- Classroom recap station
907
908The train tracks form a circular journey mirroring the cycle.
909
910---
911
912# Characters
913
914## 1. Drip (Water Droplet)
915
916### Role
917Main guide
918
919### Personality
920- Excited
921- Curious
922- Brave
923
924### Appearance
925- Shiny blue body
926- Tiny conductor hat
927- Expressive eyes
928
929---
930
931## 2. Engine Cloud
932
933### Role
934Train / cloud hybrid
935
936### Personality
937- Booming but kind
938- Educational
939
940### Appearance
941- Puff-shaped locomotive
942- Rainbow steam
943- Headlight like the sun
944
945---
946
947## 3. Class 2B Kids
948
949### Role
950Audience surrogates
951
952### Personality
953- Cheerful
954- Repeat-after-me energy
955
956---
957
958# Story
959
960## Scene 1 — Hook
961
962Drip boards the Water Cycle Train.
963
964*"All aboard the evaporation express!"*
965
966---
967
968## Scene 2 — Evaporation & Condensation
969
970Heat lifts Drip into the sky.
971
972Engine Cloud gathers friends into a fluffy team.
973
974---
975
976## Scene 3 — Precipitation
977
978The train rumbles.
979
980Rain falls gently over farms and forests.
981
982Kids hold out hands — not scared, delighted.
983
984---
985
986## Scene 4 — Collection
987
988Rivers carry Drip home to the ocean.
989
990The loop completes.
991
992---
993
994## Scene 5 — Recap Ending
995
996Class 2B chants:
997
998**Evaporate — Condense — Rain — Flow — Repeat!**
999
1000Drip tips his hat.
1001
1002The train disappears into a rainbow arc.
1003
1004---
1005
1006# Final Message
1007
1008**Water never disappears — it just travels the world on a never-ending trip.**`,$t=`# Carbon Credits in 40 Seconds
1009
1010## Duration
101135–45 seconds
1012
1013---
1014
1015# Overall Setup
1016
1017A clean motion-design explainer for small-business owners learning how carbon credits work — without jargon, with one practical action at the end.
1018
1019Visual style:
1020- Flat icons
1021- Neutral narrator tone
1022- Simple charts
1023- Earth-to-office transitions
1024
1025The balance scale icon represents fairness between emissions and offsets.
1026
1027---
1028
1029# Characters
1030
1031## 1. Narrator (Voiceover)
1032
1033### Role
1034Guide
1035
1036### Personality
1037- Calm
1038- Clear
1039- Trustworthy
1040
1041---
1042
1043## 2. Small Business Owner (Sam)
1044
1045### Role
1046Audience stand-in
1047
1048### Appearance
1049- Apron or casual blazer
1050- Shop or office background
1051- Thoughtful expressions
1052
1053---
1054
1055## 3. Visual Metaphors
1056
1057### Role
1058Teaching tools
1059
1060### Appearance
1061- Smoke stack vs tree icon
1062- Credit certificate stamp
1063- Monthly budget chart
1064
1065---
1066
1067# Story
1068
1069## Scene 1 — Hook
1070
1071*"You hear 'carbon credits' everywhere — but what do they actually do?"*
1072
1073---
1074
1075## Scene 2 — Problem
1076
1077Business activity creates emissions.
1078
1079Climate goals need measurable reductions.
1080
1081Confusion leads to inaction.
1082
1083---
1084
1085## Scene 3 — Mechanism
1086
1087One ton emitted → one credit offset through verified projects.
1088
1089Forests, clean energy, and efficiency programs fund the offset.
1090
1091---
1092
1093## Scene 4 — Action Step
1094
1095Sam chooses one monthly emissions source to track.
1096
1097Sets a realistic reduction target.
1098
1099Buys credits only for the remainder.
1100
1101---
1102
1103## Scene 5 — Closing
1104
1105Text card:
1106
1107**Measure. Reduce. Offset what remains.**
1108
1109Subline:
1110
1111*Start with one category this month.*
1112
1113---
1114
1115# Final Message
1116
1117**Carbon credits aren't a free pass — they're a tool for accountability after you reduce what you can.**`,Nt=`# How Solar Powers Your Home
1118
1119## Duration
112035–45 seconds
1121
1122---
1123
1124# Overall Setup
1125
1126An animated explainer tracing sunlight from rooftop panels to the light switch — designed for homeowners considering solar.
1127
1128Locations:
1129- Rooftop panel array
1130- Inverter on garage wall
1131- Home circuit panel
1132- Living room lamp
1133- Monthly bill comparison graphic
1134
1135The journey of one photon becomes the narrative thread.
1136
1137---
1138
1139# Characters
1140
1141## 1. Photon Pip
1142
1143### Role
1144Tiny light particle guide
1145
1146### Personality
1147- Energetic
1148- Friendly
1149- Educational
1150
1151### Appearance
1152- Glowing yellow dot with face
1153- Motion trail when traveling
1154
1155---
1156
1157## 2. Homeowner Couple
1158
1159### Role
1160Relatable audience
1161
1162### Personality
1163- Practical
1164- Hopeful
1165
1166---
1167
1168# Story
1169
1170## Scene 1 — Hook
1171
1172Sunrise hits rooftop panels.
1173
1174Pip wakes up:
1175
1176*"Ready for today's commute?"*
1177
1178---
1179
1180## Scene 2 — Capture
1181
1182Panels convert sunlight to electricity.
1183
1184Pip zooms through wires like a highway.
1185
1186---
1187
1188## Scene 3 — Conversion
1189
1190Inverter transforms power for home use.
1191
1192Excess energy can feed the grid.
1193
1194---
1195
1196## Scene 4 — Everyday Use
1197
1198Lamp on.
1199
1200Coffee maker humming.
1201
1202Bill chart drops compared to last year.
1203
1204---
1205
1206## Scene 5 — Closing
1207
1208Tagline:
1209
1210**Sunlight in. Savings out.**
1211
1212Checklist card:
1213
1214- Lower bills
1215- Cleaner energy
1216- Long-term value
1217
1218---
1219
1220# Final Message
1221
1222**Solar isn't magic — it's sunlight turned into everyday power.**`,Vt=`# Coffee Rain to String Lights
1223
1224## Duration
122540–50 seconds
1226
1227---
1228
1229# Overall Setup
1230
1231A montage-style love story following one couple through small everyday moments that feel cinematic when stitched together.
1232
1233Locations:
1234- Rainy café window
1235- Tiny apartment kitchen
1236- Park bench at dusk
1237- Rooftop with string lights
1238- Shared playlist on phone
1239
1240The string-light rooftop is the emotional payoff.
1241
1242---
1243
1244# Characters
1245
1246## 1. Alex
1247
1248### Role
1249Partner one
1250
1251### Personality
1252- Playful
1253- Thoughtful
1254- Steady
1255
1256### Appearance
1257- Denim jacket
1258- Messy hair
1259- Warm smile
1260
1261---
1262
1263## 2. Jordan
1264
1265### Role
1266Partner two
1267
1268### Personality
1269- Laughs easily
1270- Creative
1271- Affectionate
1272
1273### Appearance
1274- Red scarf
1275- Paint-stained tote bag
1276- Expressive eyes
1277
1278---
1279
1280# Story
1281
1282## Scene 1 — Hook
1283
1284Rain taps the café glass.
1285
1286Alex arrives late.
1287
1288Jordan already saved the seat.
1289
1290---
1291
1292## Scene 2 — Connection
1293
1294They share one umbrella.
1295
1296Pasta sauce splatters the stove.
1297
1298They laugh instead of panic.
1299
1300---
1301
1302## Scene 3 — Quiet Moment
1303
1304Bench at dusk.
1305
1306Shoulders touching without speaking.
1307
1308Comfortable silence.
1309
1310---
1311
1312## Scene 4 — Playful Beat
1313
1314Jordan steals a fry.
1315
1316Alex pretends to be offended.
1317
1318Both fail to hide smiles.
1319
1320---
1321
1322## Scene 5 — Ending
1323
1324Rooftop string lights glow.
1325
1326Jordan leans on Alex's shoulder.
1327
1328Voiceover line:
1329
1330*"I didn't need perfect days. I needed you."*
1331
1332---
1333
1334# Final Message
1335
1336**Love is rarely one big moment. It's a collection of small ones you choose to keep.**`,zt=`# Miles Apart, Same Sky
1337
1338## Duration
133940–50 seconds
1340
1341---
1342
1343# Overall Setup
1344
1345A long-distance couple story told in split-screen — separate cities, synchronized routines, and a surprise visit reunion.
1346
1347Locations:
1348- Two matching apartment desks
1349- Video call screens
1350- Train station platform
1351- Shared digital photo album
1352- Hug at arrival gate
1353
1354Split-screen frames merge in the final scene.
1355
1356---
1357
1358# Characters
1359
1360## 1. Sam (City A)
1361
1362### Role
1363Partner one
1364
1365### Personality
1366- Organized
1367- Romantic
1368- Missing home in someone, not a place
1369
1370### Appearance
1371- Headphones
1372- Calendar with visit countdown
1373- Morning coffee ritual
1374
1375---
1376
1377## 2. Riley (City B)
1378
1379### Role
1380Partner two
1381
1382### Personality
1383- Spontaneous
1384- Tender
1385- Secretly planning surprise
1386
1387### Appearance
1388- Train ticket in pocket
1389- Polaroid camera
1390- Soft hoodie
1391
1392---
1393
1394# Story
1395
1396## Scene 1 — Hook
1397
1398Split-screen alarm clocks ring.
1399
1400Both say the same good-morning line on video call.
1401
1402---
1403
1404## Scene 2 — Distance
1405
1406Time zones misalign.
1407
1408Missed calls.
1409
1410Calendar counts down days.
1411
1412---
1413
1414## Scene 3 — Ritual
1415
1416They watch the same movie separately.
1417
1418Text reactions in real time.
1419
1420Shared playlist keeps rhythm.
1421
1422---
1423
1424## Scene 4 — Surprise
1425
1426Riley boards a train.
1427
1428Sam thinks it's a normal Friday call.
1429
1430---
1431
1432## Scene 5 — Reunion
1433
1434Arrival gate.
1435
1436Split-screen merges to one frame.
1437
1438Hug held a beat longer than words need.
1439
1440Text:
1441
1442**Distance is temporary. Us isn't.**
1443
1444---
1445
1446# Final Message
1447
1448**When two people choose each other daily, miles become background noise.**`,Wt=`# Buddy and the Hidden Garden Gate
1449
1450## Duration
145140–50 seconds
1452
1453---
1454
1455# Overall Setup
1456
1457A golden retriever named Buddy discovers a secret gate behind ivy in the neighborhood park, leading two kids on a gentle quest to return a lost toy.
1458
1459Locations:
1460- Suburban park path
1461- Ivy-covered stone gate
1462- Hidden garden with wildflowers
1463- Neighbor's yard
1464- Bench reunion spot
1465
1466The hidden gate is the portal to adventure.
1467
1468---
1469
1470# Characters
1471
1472## 1. Buddy (Golden Retriever)
1473
1474### Role
1475Main character
1476
1477### Personality
1478- Loyal
1479- Curious
1480- Gentle
1481
1482### Appearance
1483- Fluffy golden coat
1484- Red bandana
1485- Expressive tail language
1486
1487### Signature Prop
1488A soggy tennis ball
1489
1490---
1491
1492## 2. Mia & Theo (Kids)
1493
1494### Ages
14958 and 6
1496
1497### Role
1498Companions
1499
1500### Personality
1501- Brave together
1502- Giggly
1503- Kind
1504
1505---
1506
1507## 3. Pepper (Neighbor Puppy)
1508
1509### Role
1510Friend who lost a toy
1511
1512### Appearance
1513- Small brown puppy
1514- Oversized bow tie collar
1515
1516---
1517
1518# Story
1519
1520## Scene 1 — Hook
1521
1522Buddy sniffs something unusual behind the park bench.
1523
1524Tail wag speed: maximum curiosity.
1525
1526---
1527
1528## Scene 2 — Discovery
1529
1530Ivy parts.
1531
1532A gate creaks open.
1533
1534A garden glows with late-afternoon light.
1535
1536---
1537
1538## Scene 3 — Quest
1539
1540They find a chewed squeaky toy near the pond.
1541
1542Buddy carries it carefully — not playing, delivering.
1543
1544---
1545
1546## Scene 4 — Reunion
1547
1548Pepper bounds out a back porch.
1549
1550Joy explosion.
1551
1552Kids cheer.
1553
1554---
1555
1556## Scene 5 — Ending
1557
1558Buddy receives double pets and a treat.
1559
1560He looks back at the gate — now ordinary again.
1561
1562Some adventures hide in plain sight.
1563
1564---
1565
1566# Final Message
1567
1568**The best walks aren't about distance. They're about who you help along the way.**`,Gt=`# Maple's First Snow Day
1569
1570## Duration
157135–45 seconds
1572
1573---
1574
1575# Overall Setup
1576
1577A family dog experiences snow for the first time — pure joy, gentle tumble, warm towel ending.
1578
1579Locations:
1580- Back porch step
1581- Fresh snow yard
1582- Oak tree with low branch
1583- Kitchen with warm lights
1584- Dog bed by radiator
1585
1586The back porch threshold is the moment of wonder.
1587
1588---
1589
1590# Characters
1591
1592## 1. Maple (Family Dog)
1593
1594### Role
1595Main character
1596
1597### Personality
1598- Excited
1599- Clumsy in an adorable way
1600- Loving
1601
1602### Appearance
1603- Medium mixed-breed
1604- One floppy ear
1605- Pink collar with bell
1606
1607---
1608
1609## 2. The Kids (Lily & Ben)
1610
1611### Role
1612Encouragers
1613
1614### Personality
1615- Delighted
1616- Protective
1617
1618---
1619
1620# Story
1621
1622## Scene 1 — Hook
1623
1624Door opens.
1625
1626White world.
1627
1628Maple freezes — then launches.
1629
1630---
1631
1632## Scene 2 — Discovery
1633
1634Snowflakes stick to whiskers.
1635
1636Maple tries to catch them.
1637
1638Fails beautifully.
1639
1640---
1641
1642## Scene 3 — Play
1643
1644Spinning.
1645
1646Tiny tumble into soft powder.
1647
1648Kids laugh — Maple pops up proud.
1649
1650---
1651
1652## Scene 4 — Warmth
1653
1654Wet paws on towel.
1655
1656Hot cocoa for kids.
1657
1658Maple curled like a donut.
1659
1660Bell jingles once.
1661
1662---
1663
1664## Scene 5 — Ending
1665
1666Maple watches snow through glass.
1667
1668Tail thump.
1669
1670Tomorrow: round two.
1671
1672---
1673
1674# Final Message
1675
1676**Joy doesn't need a reason. Sometimes it needs one perfect snowflake.**`,jt=`# Superhero Seven — Surprise!
1677
1678## Duration
167940–50 seconds
1680
1681---
1682
1683# Overall Setup
1684
1685A superhero-themed seventh birthday surprise filmed like a mini movie — decorations hidden, grand entrance, group song, sparkler cake.
1686
1687Locations:
1688- Quiet living room (setup)
1689- Hallway hiding spot
1690- Doorway reveal
1691- Decorated living room
1692- Cake table hero shot
1693
1694The doorway reveal is the peak emotional beat.
1695
1696---
1697
1698# Characters
1699
1700## 1. Leo (Birthday Kid)
1701
1702### Age
17037
1704
1705### Role
1706Guest of honor
1707
1708### Personality
1709- Energetic
1710- Kind
1711- Loves comics
1712
1713### Appearance
1714- Everyday clothes → cape reveal later
1715- Wide-eyed reactions
1716
1717---
1718
1719## 2. Friends & Family
1720
1721### Role
1722Surprise squad
1723
1724### Personality
1725- Mischievous
1726- Loving
1727- Loud at the perfect moment
1728
1729---
1730
1731## 3. Captain Cake
1732
1733### Role
1734Sparkler cake centerpiece
1735
1736### Appearance
1737- Blue frosting lightning bolts
1738- Number 7 candle tower
1739
1740---
1741
1742# Story
1743
1744## Scene 1 — Hook
1745
1746Leo thinks he's going to the store.
1747
1748Camera follows shoes down the hallway.
1749
1750---
1751
1752## Scene 2 — Setup
1753
1754Whispers behind furniture.
1755
1756Balloons held low.
1757
1758Someone almost laughs — hand over mouth.
1759
1760---
1761
1762## Scene 3 — Reveal
1763
1764*"Surprise!"*
1765
1766Confetti cannon.
1767
1768Leo freezes — then screams happy scream.
1769
1770---
1771
1772## Scene 4 — Celebration
1773
1774Cape placed on shoulders.
1775
1776Group photo pose.
1777
1778Song starts messy, ends perfect.
1779
1780---
1781
1782## Scene 5 — Cake Moment
1783
1784Sparklers flare.
1785
1786Leo makes a wish.
1787
1788Voiceover:
1789
1790*"Best birthday ever!"*
1791
1792---
1793
1794# Final Message
1795
1796**The gift isn't the party. It's the people who showed up for you.**`,Kt=`# Thirty and Thriving
1797
1798## Duration
179940–50 seconds
1800
1801---
1802
1803# Overall Setup
1804
1805A milestone 30th birthday tribute mixing friend video messages, childhood photos, and a live surprise gathering.
1806
1807Locations:
1808- Apartment door knock
1809- Living room with photo string
1810- TV montage of messages
1811- Toast circle
1812- Balcony night lights
1813
1814Photo string timeline anchors nostalgia.
1815
1816---
1817
1818# Characters
1819
1820## 1. Priya (Birthday Person)
1821
1822### Role
1823Honoree
1824
1825### Personality
1826- Humble
1827- Witty
1828- Deeply moved
1829
1830### Appearance
1831- Elegant casual outfit
1832- Disarmed smile
1833
1834---
1835
1836## 2. Friend Group
1837
1838### Role
1839Narrators and surprise crew
1840
1841### Personality
1842- Roast lightly, love heavily
1843
1844---
1845
1846# Story
1847
1848## Scene 1 — Hook
1849
1850Priya opens the door expecting one friend.
1851
1852An entire room yells:
1853
1854*"Happy 30!"*
1855
1856---
1857
1858## Scene 2 — Montage
1859
1860Photos flip from childhood to present.
1861
1862Messages play:
1863
1864*"You always show up."*
1865
1866*"You make people feel seen."*
1867
1868---
1869
1870## Scene 3 — Toast
1871
1872Friend raises glass:
1873
1874*"To the decade you built — and the one you're about to crush."*
1875
1876Laughter. Tissues. Hugs.
1877
1878---
1879
1880## Scene 4 — Quiet Beat
1881
1882Priya reads handwritten notes one by one.
1883
1884Voice cracks — happy tears.
1885
1886---
1887
1888## Scene 5 — Ending
1889
1890Balcony city lights.
1891
1892Group selfie.
1893
1894Text overlay:
1895
1896**Chapter 30: officially legendary.**
1897
1898---
1899
1900# Final Message
1901
1902**Milestone birthdays aren't about age. They're about the community you've gathered.**`,Yt=`# AuraBuds Pro — Hear the Silence
1903
1904## Duration
190535–45 seconds
1906
1907---
1908
1909# Overall Setup
1910
1911A polished consumer product demo for wireless earbuds — unboxing, commute noise test, call clarity, charging case, price end card.
1912
1913Locations:
1914- Clean studio desk unboxing
1915- Busy subway platform
1916- Office video call split
1917- Gym pocket shot
1918- Product hero frame with URL
1919
1920The charging case click is the satisfying audio signature.
1921
1922---
1923
1924# Characters
1925
1926## 1. Product (AuraBuds Pro)
1927
1928### Role
1929Hero
1930
1931### Appearance
1932- Matte black buds
1933- Magnetic case
1934- LED charge indicators
1935
1936---
1937
1938## 2. User (Jordan)
1939
1940### Role
1941Everyday tester
1942
1943### Personality
1944- Practical
1945- Impressed quickly
1946
1947---
1948
1949# Story
1950
1951## Scene 1 — Unbox
1952
1953Case opens.
1954
1955Buds seat with a satisfying click.
1956
1957Text: **Premium sound. Simple setup.**
1958
1959---
1960
1961## Scene 2 — Noise Cancellation
1962
1963Subway roar fades to near silence.
1964
1965Jordan's shoulders relax.
1966
1967---
1968
1969## Scene 3 — Call Quality
1970
1971Split screen call — voice crisp, no subway bleed.
1972
1973---
1974
1975## Scene 4 — Battery & Case
1976
1977Three-day case life graphic.
1978
1979Fast charge animation.
1980
1981---
1982
1983## Scene 5 — CTA
1984
1985Price and website end card.
1986
1987Tagline:
1988
1989**AuraBuds Pro — silence that moves with you.**
1990
1991---
1992
1993# Final Message
1994
1995**Great audio products disappear into your day — and make everything clearer.**`,qt=`# FreshBox Meal Kit App
1996
1997## Duration
199835–45 seconds
1999
2000---
2001
2002# Overall Setup
2003
2004A vertical-friendly demo of a meal-kit app from browse to doorstep delivery to plated dinner.
2005
2006Locations:
2007- Phone browse UI
2008- Customization toggles
2009- Delivery doorstep
2010- Kitchen cooking montage
2011- Family table payoff
2012
2013The phone screen drives every transition.
2014
2015---
2016
2017# Characters
2018
2019## 1. App UI
2020
2021### Role
2022Product hero
2023
2024### Appearance
2025- Recipe cards with photos
2026- Diet filters
2027- Delivery tracker map
2028
2029---
2030
2031## 2. Family (Lee Household)
2032
2033### Role
2034Users
2035
2036### Personality
2037- Busy but connected
2038- Food brings them together
2039
2040---
2041
2042# Story
2043
2044## Scene 1 — Browse
2045
2046Scroll recipes by time and diet.
2047
2048Tap **"Customize box."**
2049
2050---
2051
2052## Scene 2 — Personalize
2053
2054Swap proteins.
2055
2056Add kid-friendly sides.
2057
2058Schedule Thursday delivery.
2059
2060---
2061
2062## Scene 3 — Arrival
2063
2064Box on porch.
2065
2066Fresh ingredients labeled clearly.
2067
2068---
2069
2070## Scene 4 — Cook & Plate
2071
207220-minute montage.
2073
2074Minimal cleanup.
2075
2076Table laughter.
2077
2078---
2079
2080## Scene 5 — CTA
2081
2082App logo.
2083
2084**FreshBox — dinner decided. Evening reclaimed.**
2085
2086---
2087
2088# Final Message
2089
2090**Good products don't just deliver food. They deliver time back.**`,Jt=`# The Little Robot Who Waited
2091
2092## Duration
209340–50 seconds
2094
2095---
2096
2097# Overall Setup
2098
2099A quiet neighborhood park serves as the heart of the story. At its center is an old wooden bench beneath a large cherry blossom tree. Every evening, the same golden sunset falls across the bench as the seasons slowly change around it.
2100
2101The park contains:
2102- Wooden park bench
2103- Large cherry blossom tree
2104- Stone walking path
2105- Small pond
2106- Old iron lamp post
2107- Children's playground in the distance
2108- Wildflowers surrounding the bench
2109
2110The bench remains the emotional center throughout the film.
2111
2112---
2113
2114# Characters
2115
2116## 1. Bolt (The Robot)
2117
2118### Role
2119Main character
2120
2121### Personality
2122- Loyal
2123- Patient
2124- Innocent
2125- Quiet
2126- Curious
2127- Emotionally expressive
2128
2129### Appearance
2130- Height: 70 cm
2131- Round head
2132- Large glowing blue eyes
2133- White painted metal body
2134- Orange shoulder joints
2135- Small antenna
2136- Tiny speaker grille on chest
2137- Soft glowing heart-shaped power light
2138- Rounded hands
2139- Hidden wheels inside the feet for smooth movement
2140
2141### Signature Prop
2142A small red flower held carefully in one hand.
2143
2144### Expressions
2145- Curious head tilt
2146- Gentle blinking
2147- Looking toward the park entrance every evening
2148- Small hopeful smile shown through eye animation
2149
2150---
2151
2152## 2. Emma
2153
2154### Age
21557 years
2156
2157### Role
2158Bolt's creator and best friend
2159
2160### Personality
2161- Creative
2162- Cheerful
2163- Caring
2164- Imaginative
2165
2166### Appearance
2167- Short brown hair
2168- Yellow hoodie
2169- Denim overalls
2170- Red sneakers
2171- Small backpack filled with tools and toys
2172
2173### Signature Action
2174Runs toward Bolt every afternoon and gives him a fresh red flower before they play together.
2175
2176---
2177
2178## 3. Noah
2179
2180### Age
21816 years
2182
2183### Role
2184The boy who gives Bolt a second chance at friendship
2185
2186### Personality
2187- Gentle
2188- Curious
2189- Kind
2190- Thoughtful
2191
2192### Appearance
2193- Curly black hair
2194- Green sweater
2195- Brown shorts
2196- White sneakers
2197- Small shoulder satchel
2198
2199### Signature Action
2200Carefully wipes dust from Bolt's face before offering him a fresh red flower.
2201
2202---
2203
2204# Environment Through Time
2205
2206## Spring
2207Cherry blossoms bloom above the bench while birds sing around the park.
2208
2209## Summer
2210Warm evenings, bright sunlight, butterflies, and children playing nearby.
2211
2212## Autumn
2213Golden leaves fall onto the bench as cool winds begin to blow.
2214
2215## Winter
2216Snow covers the bench and Bolt while the park becomes silent.
2217
2218---
2219
2220# Story
2221
2222## Scene 1 — Hook
2223
2224Every evening, a tiny robot sits quietly on a lonely park bench.
2225
2226In one hand, it gently holds a small red flower.
2227
2228People pass by every day.
2229
2230Some smile.
2231
2232Some wave.
2233
2234Some stop and wonder.
2235
2236But no one knows who the little robot is waiting for.
2237
2238---
2239
2240## Scene 2 — Connection
2241
2242Years earlier...
2243
2244A cheerful little girl named Emma built the robot from old toys, spare parts, and a whole lot of imagination.
2245
2246Every afternoon after school she would run into the park carrying a fresh red flower.
2247
2248They played together for hours.
2249
2250She told Bolt stories about dragons, astronauts, and magical forests.
2251
2252Before leaving each evening, she would smile and say,
2253
2254*"No matter how busy I get... I'll always come back."*
2255
2256Bolt never forgot those words.
2257
2258---
2259
2260## Scene 3 — Loss and Fear
2261
2262One afternoon...
2263
2264Emma never came.
2265
2266Bolt waited.
2267
2268The sun set.
2269
2270The next day...
2271
2272He waited again.
2273
2274Days became weeks.
2275
2276Weeks became months.
2277
2278Rain rusted his tiny body.
2279
2280Autumn leaves buried the bench.
2281
2282Winter snow covered the flower in his hand.
2283
2284Every sunset, Bolt quietly looked toward the park entrance.
2285
2286Still waiting.
2287
2288Still believing.
2289
2290---
2291
2292## Scene 4 — Hope
2293
2294One warm spring afternoon, a young boy named Noah noticed the lonely robot.
2295
2296He slowly walked over.
2297
2298Without saying a word, he gently brushed away years of dust from Bolt's face.
2299
2300He looked into Bolt's glowing eyes and softly asked,
2301
2302*"Are you waiting for someone too?"*
2303
2304Bolt's tiny heart light glowed just a little brighter.
2305
2306---
2307
2308## Scene 5 — Heartwarming Ending
2309
2310Noah smiled.
2311
2312He reached into his bag and pulled out a fresh red flower.
2313
2314He carefully placed it into Bolt's hand.
2315
2316*"You don't have to wait alone anymore."*
2317
2318Bolt looked at the flower...
2319
2320Then at Noah.
2321
2322For the first time in years, he smiled.
2323
2324From that evening onward, every sunset found them sitting together on the same old bench.
2325
2326No longer waiting for someone who never came...
2327
2328But enjoying the company of someone who did.
2329
2330---
2331
2332# Final Message
2333
2334**Sometimes, the people we lose leave space for the people we're meant to find.**`,Qt=`# Letters from the Sea
2335
2336## Duration
233745–55 seconds
2338
2339---
2340
2341# Overall Setup
2342
2343A remote cliffside lighthouse during storm season. Every week, a bottle arrives with a letter inside — unsigned, poetic, and strangely accurate about the keeper's thoughts.
2344
2345Locations:
2346- Lighthouse lamp room
2347- Rocky shore
2348- Keeper's desk with maps
2349- Storm cloud horizon
2350- Hidden cove at low tide
2351
2352The desk with unopened bottles is the mystery anchor.
2353
2354---
2355
2356# Characters
2357
2358## 1. Elias (Lighthouse Keeper)
2359
2360### Age
236162
2362
2363### Role
2364Protagonist
2365
2366### Personality
2367- Solitary
2368- Observant
2369- Soft-hearted beneath gruff exterior
2370
2371### Appearance
2372- Weathered wool coat
2373- Brass lantern hook
2374- Ink-stained fingers
2375
2376---
2377
2378## 2. The Letter Writer (Unknown)
2379
2380### Role
2381Off-screen mystery
2382
2383### Personality
2384- Gentle
2385- Wise
2386- Compassionate
2387
2388---
2389
2390# Story
2391
2392## Scene 1 — Hook
2393
2394Another storm.
2395
2396Another bottle on the rocks.
2397
2398Elias reads:
2399
2400*"You were not meant to guard the light alone forever."*
2401
2402---
2403
2404## Scene 2 — Routine
2405
2406Years of isolation.
2407
2408Letters continue — never explaining, always comforting.
2409
2410Elias talks back to the sea.
2411
2412---
2413
2414## Scene 3 — Discovery
2415
2416At low tide, footprints in sand — smaller than his.
2417
2418They lead toward town, not away.
2419
2420---
2421
2422## Scene 4 — Reveal
2423
2424A young woman returns the final bottle in person.
2425
2426She grew up reading the letters he once sent her father — a sailor he saved.
2427
2428---
2429
2430## Scene 5 — Ending
2431
2432Elias invites her to tea.
2433
2434The lamp keeps turning.
2435
2436For the first time, the room feels less empty than bright.
2437
2438---
2439
2440# Final Message
2441
2442**Kindness sent outward has a way of finding its way back.**`,Xt=`# The Great Muffin Misunderstanding
2443
2444## Duration
244545–55 seconds
2446
2447---
2448
2449# Overall Setup
2450
2451A small-town bakery becomes the scene of a comedy "heist" that is really a misunderstanding about a secret proposal hidden inside a muffin box.
2452
2453Locations:
2454- "Rose & Crumb" bakery front
2455- Flour-dusted kitchen
2456- Display case of muffins
2457- Alley delivery door
2458- Town square finale
2459
2460The muffin display case is the comic centerpiece.
2461
2462---
2463
2464# Characters
2465
2466## 1. Nina (Baker)
2467
2468### Role
2469Hero
2470
2471### Personality
2472- Sharp
2473- Warm
2474- Dramatically expressive
2475
2476---
2477
2478## 2. Marco (Clueless Fiancé)
2479
2480### Role
2481Well-meaning chaos agent
2482
2483### Personality
2484- Nervous
2485- Earnest
2486- Bad at stealth
2487
2488---
2489
2490## 3. Town Police Officer Pat
2491
2492### Role
2493Comic authority figure
2494
2495### Personality
2496- Deadpan
2497- Secret romantic
2498
2499---
2500
2501# Story
2502
2503## Scene 1 — Hook
2504
2505Security camera style:
2506
2507Marco crawls behind bakery counter.
2508
2509Nina gasps.
2510
2511*"We are being robbed!"*
2512
2513---
2514
2515## Scene 2 — Escalation
2516
2517Officer Pat arrives with donut in hand.
2518
2519Marco hides under apron rack.
2520
2521Engagement ring box peeking from pocket.
2522
2523---
2524
2525## Scene 3 — Twist
2526
2527Marco only wanted the custom muffin with the hidden note:
2528
2529*"Will you marry me?"*
2530
2531Wrong box taken.
2532
2533Wrong chaos unleashed.
2534
2535---
2536
2537## Scene 4 — Resolution
2538
2539Nina reads note.
2540
2541Freezes.
2542
2543Laughs.
2544
2545Cries.
2546
2547---
2548
2549## Scene 5 — Ending
2550
2551Town square proposal anyway — flour in hair, perfect imperfection.
2552
2553Pat writes report:
2554
2555**Case closed. Love wins.**
2556
2557---
2558
2559# Final Message
2560
2561**The best plans fail loudly — and sometimes that's exactly how everyone remembers the moment.**`,Zt=`# Before the Storm
2562
2563## Duration
256445–55 seconds
2565
2566---
2567
2568# Overall Setup
2569
2570Two siblings repair their childhood treehouse before a storm arrives, unpacking old arguments along with rusty nails and faded drawings.
2571
2572Locations:
2573- Backyard oak tree
2574- Half-collapsed treehouse
2575- Toolbox on grass
2576- Storm clouds approaching
2577- Interior wall of carved initials
2578
2579The carved initials **M + J** anchor memory.
2580
2581---
2582
2583# Characters
2584
2585## 1. Maya (Older Sister)
2586
2587### Age
258816
2589
2590### Role
2591Leader trying to apologize without saying it
2592
2593### Personality
2594- Responsible
2595- Guarded
2596- Loyal
2597
2598---
2599
2600## 2. Jonah (Younger Brother)
2601
2602### Age
260313
2604
2605### Role
2606Hurt but hopeful
2607
2608### Personality
2609- Sensitive
2610- Funny when safe
2611- Misses their old closeness
2612
2613---
2614
2615# Story
2616
2617## Scene 1 — Hook
2618
2619First nail bent.
2620
2621First argument spark.
2622
2623Storm wind rises.
2624
2625---
2626
2627## Scene 2 — Memory
2628
2629Flashback snippets:
2630
2631Shared snacks.
2632
2633Whispered secrets.
2634
2635Promise to always have a hideout.
2636
2637---
2638
2639## Scene 3 — Fracture
2640
2641Maya left for high school friends.
2642
2643Jonah felt replaced.
2644
2645Words said too sharply.
2646
2647---
2648
2649## Scene 4 — Repair
2650
2651They work in silence.
2652
2653Then Jonah hands Maya her old drawing — kept safe.
2654
2655Maya admits she was scared too.
2656
2657---
2658
2659## Scene 5 — Ending
2660
2661Rain starts as they finish the roof.
2662
2663Inside treehouse glow with lantern.
2664
2665No grand speech — just two hands passing snacks like old times.
2666
2667---
2668
2669# Final Message
2670
2671**Some bridges aren't rebuilt with words. They're rebuilt with showing up.**`,ea=`# Lisbon in Golden Hour
2672
2673## Duration
267440–50 seconds
2675
2676---
2677
2678# Overall Setup
2679
2680A cinematic travel memory film capturing a weekend in Lisbon through sensory details — tile, tram bells, ocean wind, and rooftop toasts.
2681
2682Locations:
2683- Yellow tram on hillside
2684- Azulejo alley walls
2685- Miradouro viewpoint
2686- Pastel de nata café
2687- Rooftop at sunset
2688
2689Golden hour light unifies every shot.
2690
2691---
2692
2693# Characters
2694
2695## 1. Traveler (You)
2696
2697### Role
2698Narrator / protagonist
2699
2700### Personality
2701- Reflective
2702- Joyful
2703- Present
2704
2705---
2706
2707## 2. Lisbon City
2708
2709### Role
2710Living character
2711
2712### Personality
2713- Musical
2714- Warm
2715- Timeless
2716
2717---
2718
2719# Story
2720
2721## Scene 1 — Hook
2722
2723Tram bell rings.
2724
2725Camera rises over tiled rooftops.
2726
2727Voiceover:
2728
2729*"Some cities greet you like an old song."*
2730
2731---
2732
2733## Scene 2 — Wandering
2734
2735Narrow stairs.
2736
2737Blue tiles catching sun.
2738
2739Hands around paper coffee cups.
2740
2741---
2742
2743## Scene 3 — View
2744
2745Ocean horizon from miradouro.
2746
2747Wind lifts hair.
2748
2749Pause without needing words.
2750
2751---
2752
2753## Scene 4 — Taste
2754
2755First bite of warm pastel de nata.
2756
2757Eyes close — yes, that good.
2758
2759---
2760
2761## Scene 5 — Ending
2762
2763Rooftop toast with friends.
2764
2765City lights blink on.
2766
2767Text:
2768
2769**Lisbon — I'll be back.**
2770
2771---
2772
2773# Final Message
2774
2775**Travel memories aren't landmarks. They're the feelings you bottled while standing there.**`,oa=`# Japan in Bloom
2776
2777## Duration
277840–50 seconds
2779
2780---
2781
2782# Overall Setup
2783
2784A vertical-friendly memory reel from a Japan trip — temples, ramen steam, bullet train blur, cherry blossoms falling like snow.
2785
2786Locations:
2787- Torii gate path
2788- Ramen counter close-ups
2789- Shinkansen window streaks
2790- Cherry blossom tunnel
2791- Night neon alley
2792
2793Cherry petals link scenes visually.
2794
2795---
2796
2797# Characters
2798
2799## 1. Couple / Friends (Travelers)
2800
2801### Role
2802Silent protagonists
2803
2804### Personality
2805- Curious
2806- Respectful
2807- Delighted
2808
2809---
2810
2811# Story
2812
2813## Scene 1 — Arrival
2814
2815Temple bells.
2816
2817Shoes removed.
2818
2819Quiet bow.
2820
2821---
2822
2823## Scene 2 — Food
2824
2825Ramen steam fogs lens.
2826
2827Slurp — no shame.
2828
2829Laughter.
2830
2831---
2832
2833## Scene 3 — Motion
2834
2835Bullet train slices countryside.
2836
2837Reflection in window — smiling face.
2838
2839---
2840
2841## Scene 4 — Bloom
2842
2843Petal lands on camera.
2844
2845Slow-motion walk under blossoms.
2846
2847---
2848
2849## Scene 5 — Ending
2850
2851Neon signs ripple in puddles.
2852
2853Final card:
2854
2855**Same trip. Different person returning home.**
2856
2857---
2858
2859# Final Message
2860
2861**The best journeys change what you notice when you get back.**`,ta=`# Ten Years, One Bench
2862
2863## Duration
286445–55 seconds
2865
2866---
2867
2868# Overall Setup
2869
2870An anniversary tribute weaving photo memories into a narrative anchored on the same par
2870k bench where they first met.
2871
2872Locations:
2873- Original park bench
2874- Photo montage transitions
2875- Road trip dash cam clips
2876- Kitchen morning light
2877- Present-day embrace
2878
2879The bench bookends past and present.
2880
2881---
2882
2883# Characters
2884
2885## 1. Elena & Marco
2886
2887### Role
2888Couple celebrating ten years
2889
2890### Personality
2891- Steady love
2892- Playful history
2893- Grateful
2894
2895---
2896
2897## 2. Photo Memories (Visual Cast)
2898
2899### Role
2900Past versions of the couple
2901
2902### Appearance
2903- Younger outfits
2904- Different hairstyles
2905- Same smiles evolving
2906
2907---
2908
2909# Story
2910
2911## Scene 1 — Hook
2912
2913Present-day bench.
2914
2915Two coffee cups.
2916
2917One shared blanket.
2918
2919Voiceover:
2920
2921*"We met here."*
2922
2923---
2924
2925## Scene 2 — Montage
2926
2927First date nerves.
2928
2929Road trip flat tire laughter.
2930
2931Small apartment dance parties.
2932
2933---
2934
2935## Scene 3 — Hard Seasons
2936
2937Hospital waiting room hold.
2938
2939Job loss kitchen table.
2940
2941Still choosing each other.
2942
2943---
2944
2945## Scene 4 — Present
2946
2947Kids' drawings on fridge (optional).
2948
2949Gray at temples.
2950
2951Hands more familiar than own.
2952
2953---
2954
2955## Scene 5 — Ending
2956
2957Marco reads note:
2958
2959*"I'd choose you in every timeline."*
2960
2961Hug.
2962
2963Bench unchanged.
2964
2965They changed — together.
2966
2967---
2968
2969# Final Message
2970
2971**Anniversaries aren't a number. They're proof you kept showing up.**`,aa=`# Garden Vows, Ten Years Later
2972
2973## Duration
297445–55 seconds
2975
2976---
2977
2978# Overall Setup
2979
2980A vow renewal short film in a backyard garden at golden hour — intimate, family close, soft piano, handwritten promises.
2981
2982Locations:
2983- Flower arch
2984- Aisle of potted plants
2985- Small seated circle of loved ones
2986- Handwritten vow cards
2987- First dance on grass
2988
2989The flower arch frames every emotional beat.
2990
2991---
2992
2993# Characters
2994
2995## 1. Ava & Jordan
2996
2997### Role
2998Couple renewing vows
2999
3000### Personality
3001- Grounded
3002- Emotional
3003- Playful at the edges
3004
3005---
3006
3007## 2. Family & Friends
3008
3009### Role
3010Witnesses
3011
3012### Personality
3013- Supportive
3014- Tearful smiles
3015
3016---
3017
3018# Story
3019
3020## Scene 1 — Preparation
3021
3022Jordan's hands shake holding vow card.
3023
3024Ava fixes collar — steadying touch.
3025
3026---
3027
3028## Scene 2 — Processional
3029
3030No grand venue.
3031
3032Just people who matter.
3033
3034Piano soft.
3035
3036---
3037
3038## Scene 3 — Vows
3039
3040Ava:
3041
3042*"I still laugh at your worst jokes."*
3043
3044Jordan:
3045
3046*"I still chase your light."*
3047
3048---
3049
3050## Scene 4 — Ring Exchange
3051
3052Same rings.
3053
3054New promise.
3055
3056Kids cheer too loudly — perfect.
3057
3058---
3059
3060## Scene 5 — Ending
3061
3062Slow dance as fireflies appear.
3063
3064Text:
3065
3066**Year ten. Still choosing.**
3067
3068---
3069
3070# Final Message
3071
3072**Renewing vows isn't starting over. It's saying the choice still stands — louder.**`,na=`# TaskPilot — Ship Without the Spreadsheet Chaos
3073
3074## Duration
307535–45 seconds
3076
3077## Audience
3078Startup teams drowning in status updates and scattered tools.
3079
3080## Key beats
30811. Hook — founder buried in Slack pings and stale project tabs
30822. Problem — missed deadlines because nobody sees blockers
30833. Solution — TaskPilot dashboard surfaces priorities and auto-nudges owners
30844. Proof — team ships sprint on time; standup takes five minutes
30855. CTA — "Start free at taskpilot.app"
3086
3087## Visual notes
3088Upload app screenshots for dashboard, kanban board, and notification panel.`,ra=`# LedgerLite — Invoicing for Solo Consultants
3089
3090## Duration
309130–40 seconds
3092
3093## Audience
3094Freelancers and solo operators who hate chasing payments.
3095
3096## Key beats
30971. Hook — late-night invoice reminder dread
30982. Problem — manual follow-ups and unclear cash flow
30993. Solution — automated reminders, paid badges, one-click export
31004. Proof — recovered revenue counter animates up
31015. CTA — "Try LedgerLite free for 14 days"
3102
3103## Visual notes
3104Attach product UI screenshots and a simple founder desk photo for the hook.`,ia=`# FocusFlow Mobile — Dark Mode & Focus Sessions
3105
3106## Duration
310730–40 seconds
3108
3109## Audience
3110Students and knowledge workers who work late on their phones.
3111
3112## Key beats
31131. Hook — bright screen glare at midnight
31142. Reveal — one tap to dark mode and a calm interface
31153. Feature — timed focus sessions with gentle break reminders
31164. Social proof — streak counter and weekly summary card
31175. CTA — "Download FocusFlow — focus that fits your night"
3118
3119## Visual notes
3120Use mobile app screenshots showing theme toggle, timer, and stats screen.`,sa=`# CoLab Docs — Edit Together in Real Time
3121
3122## Duration
312335–45 seconds
3124
3125## Audience
3126Remote product and marketing teams co-editing launch copy.
3127
3128## Key beats
31291. Hook — "Can you review section 3 before the demo?"
31302. Problem — export, email, version confusion
31313. Solution — live cursors, inline comments, instant resolve
31324. Result — team ships on deadline without merge panic
31335. CTA — "Enable live editing — free for teams up to 5"
3134
3135## Visual notes
3136Attach editor UI screenshots with cursors, comments, and dark mode enabled.`,la=`# NovaCharge Power Bank — Power That Travels Light
3137
3138## Duration
313930–40 seconds
3140
3141## Audience
3142Travelers and commuters who need reliable fast charging.
3143
3144## Key beats
31451. Hook — phone dying before a flight boarding call
31462. Demo — compact power bank, fast charge animation, dual-port use
31473. Proof — charges phone to 80% in 30 minutes graphic
31484. Lifestyle — fits in jacket pocket, airport lounge payoff
31495. CTA — "NovaCharge — from $49 at novacharge.com"
3150
3151## Visual notes
3152Upload product hero shots, packaging, and in-use lifestyle photos.`,ca=`# BrewCraft Coffee Subscription
3153
3154## Duration
315535–45 seconds
3156
3157## Audience
3158Home coffee lovers who want cafe quality without the routine hassle.
3159
3160## Key beats
31611. Hook — stale grocery beans, disappointing morning cup
31622. Discovery — browse roasts matched to taste profile quiz
31633. Unbox — fresh beans, brew guide card, aroma moment
31644. Ritual — pour-over montage and first satisfied sip
31655. CTA — "First box 20% off — brewcraft.co"
3166
3167## Visual notes
3168Include bag photography, quiz UI screenshots, and unboxing stills.`;function a(t,y,h){return{prompt:t,pipelineMode:y,aspectRatio:h}}const Xe=[[{id:"promo-saas",label:"SaaS promo",options:[a(na,"promotional-video","16:9"),a(ra,"promotional-video","16:9"),a("Promo for our AI scheduling app — hook with clinic phone chaos, demo smart calendar + SMS reminders, close with 14-day trial CTA.","promotional-video","16:9"),a("Promo for a dev-tools startup — plain-language value prop for busy engineering leads, show dashboard screenshots, YC-style launch energy.","promotional-video","16:9")]},{id:"promo-app-launch",label:"App launch",options:[a(ia,"promotional-video","9:16"),a(sa,"promotional-video","16:9"),a("Launch promo for dark mode in our mobile app — quick upbeat clip with UI transitions and a one-line benefit.","promotional-video","9:16"),a("Launch promo unveiling collaborative editing — hook, demo beats, social CTA. Attach editor screenshots.","promotional-video","16:9")]},{id:"promo-product",label:"Product promo",options:[a(la,"promotional-video","16:9"),a(ca,"promotional-video","9:16"),a("Consumer product promo — unboxing, key feature demo, lifestyle payoff, price end card. Upload product photos.","promotional-video","16:9"),a("Meal-kit app promo — browse recipes, customize box, delivery arrival, plated dinner payoff. Vertical-friendly.","promotional-video","9:16")]},{id:"kids-story",label:"Kids story",options:[a(Ot,"shortfilm","16:9"),a(Et,"shortfilm","16:9"),a("Turn my daughter into the hero of a magical forest tale where she helps talking animals prepare for winter.","auto","16:9"),a("Write a gentle pirate story for a 5-year-old: friendly crew, treasure map made of crayons, no scary villains.","shortscript","16:9")]},{id:"founder-promo",label:"Founder promo",options:[a(Lt,"shortfilm","9:16"),a(Dt,"shortfilm","16:9"),a("Founder-led promo: explain our AI scheduling app in plain language for busy clinic owners.","auto","9:16"),a("Draft a tight script for a launch video introducing our dev-tools startup to YC-style audiences.","shortscript","16:9")]},{id:"feature-launch",label:"Feature launch",options:[a(Ft,"shortfilm","16:9"),a(Bt,"shortfilm","16:9"),a("Announce dark mode in our mobile app — quick upbeat clip with UI transitions and a one-line benefit.","auto","9:16"),a("Script for a launch video unveiling collaborative editing — hook, demo beats, social CTA.","shortscript","16:9")]},{id:"kids-lesson",label:"Kids lesson",options:[a(Ut,"shortfilm","16:9"),a(Ht,"shortfilm","16:9"),a("Simple lesson video idea: teach counting by having animated animals board a colorful train.","auto","16:9"),a("Write a classroom-ready script explaining the water cycle with kid-friendly metaphors and a recap quiz.","shortscript","16:9")]},{id:"explainer",label:"Explainer",options:[a($t,"shortfilm","16:9"),a(Nt,"shortfilm","16:9"),a("Explain our two-factor authentication feature in 30 seconds for non-technical users.","auto","16:9"),a("Full script for an explainer about remote team async communication best practices.","shortscript","16:9")]},{id:"couple-video",label:"Couple video",options:[a(Vt,"shortfilm","9:16"),a(zt,"shortfilm","9:16"),a("Short romantic video idea celebrating our anniversary with nostalgic photo moments and a warm voiceover.","auto","9:16"),a("Write a sweet script for a proposal recap film — first date, trips, inside jokes, present-day hug.","shortscript","16:9")]}],[{id:"pet-adventure",label:"Pet adventure",options:[a(Wt,"shortfilm","16:9"),a(Gt,"shortfilm","9:16"),a("Our cat becomes mayor of a tiny cardboard city the kids built in the living room.","auto","16:9"),a("Script a pet adventure where a hamster escapes and navigates household obstacles to reunite with its cage.","shortscript","16:9")]},{id:"birthday-surprise",label:"Birthday surprise",options:[a(jt,"shortfilm","9:16"),a(Kt,"
3168shortfilm","16:9"),a("Quick idea for a milestone birthday tribute mixing childhood photos and messages from friends.","auto","9:16"),a("Write a heartfelt birthday script for turning 30 — humor, gratitude, forward-looking toast.","shortscript","16:9")]},{id:"product-demo",label:"Product demo",options:[a(Yt,"shortfilm","16:9"),a(qt,"shortfilm","9:16"),a("Demo our meal-kit app — browse recipes, customize box, delivery arrival unboxing.","auto","9:16"),a("Script a SaaS dashboard demo highlighting three killer features for sales teams.","shortscript","16:9")]},{id:"full-script",label:"Full script",options:[a(Jt,"shortscript","16:9"),a(Qt,"shortscript","16:9"),a(Xt,"shortscript","16:9"),a(Zt,"shortscript","16:9")]},{id:"travel-memory",label:"Travel memory",options:[a(ea,"shortfilm","9:16"),a(oa,"shortfilm","9:16"),a("Travel memory video from our Japan trip — temples, ramen, bullet train, cherry blossoms.","auto","9:16"),a("Script a nostalgic road-trip montage from San Francisco to Big Sur with diary-style narration.","shortscript","16:9")]},{id:"anniversary",label:"Anniversary",options:[a(ta,"shortfilm","16:9"),a(aa,"shortfilm","16:9"),a("Simple anniversary video idea — ten reasons I love you, one scene per reason.","auto","9:16"),a("Write a full anniversary script told as letters read aloud over a decade of shared memories.","shortscript","16:9")]}]];function da(t){for(const y of Xe){const h=y.find(T=>T.id===t);if(h)return h}}const se="custom",ua=[{id:"shortscript",label:"Short Script",description:"You have a premise or rough idea and want a polished story document first. Outcome: an evaluated, improved short-script you can refine before committing to full video production.",icon:"i-heroicons-document-text"},{id:"shortfilm",label:"Short Film",description:"You want a complete animated short from story plus character or reference images. Outcome: a multi-scene film with voiceover and generated clips stitched into a finished short.",icon:"i-heroicons-film"},{id:"promotional-video",label:"Promotional Video",description:"You are launching or explaining a product and have storyline notes plus screenshots. Outcome: a scored promo with review gates, generated assets and storyboards, then Seedance video ready to ship.",icon:"i-heroicons-megaphone"},{id:"promo-v2",label:"Promo V2",description:"You are launching or explaining a SaaS product with storyline notes and screenshots. Outcome: an agent-guided planning workspace — scene-wise voiceover script, style direction, entity bibles, and scene breakdowns in Director Zero.",icon:"i-heroicons-rocket-launch"},{id:"custom",label:"Custom",description:"Start from a raw creative brief or notes. Outcome: a custom workspace with your prompt and uploads saved as input files, ready for flexible production steps.",icon:"i-heroicons-wrench-screwdriver"},{id:"auto",label:"Auto",description:"You are unsure whether your input is ready for film or still needs scripting. Outcome: the pipeline inspects maturity and routes you to short script or short film automatically.",icon:"i-heroicons-sparkles"},{id:"app-walkthrough",label:"App Walkthrough",description:"You have ordered product or app screenshots and want a demo-style walkthrough. Outcome: an animated screen tour with AI voiceover that guides viewers through the product flow.",icon:"i-heroicons-device-phone-mobile"}],pa={class:"flex items-center gap-1"},ha={key:0,class:"surface-toolbar-chip flex items-center gap-0.5 rounded-lg px-1 py-0.5"},ma={class:"px-1 text-[10px] font-semibold tabular-nums surface-muted"},ga={class:"flex w-full items-center justify-between gap-3"},fa=["placeholder"],ya={class:"flex min-w-0 flex-1 flex-wrap items-center gap-2 lg:gap-3"},va={class:"flex shrink-0 items-center gap-2"},wa={class:"mt-2.5 px-1"},ba={class:"flex flex-col items-center gap-1.5"},Sa=["onClick"],ka={key:0,class:"mt-3 rounded-xl border border-primary-500/30 bg-primary-500/5 px-3 py-2.5 sm:px-4 sm:py-3"},xa={class:"flex flex-col gap-2.5 sm:flex-row sm:items-center sm:justify-between"},Pa={class:"flex shrink-0 items-center gap-2"},le=9,Se="seedance-2.0-reference-to-video",Ca=ae({__name:"ShortfilmCreateForm",props:{variant:{default:"page"},redirectOnGuest:{default:be}},emits:["created"],setup(t,{expose:y,emit:h}){const T=ko(),L=Po(),v=t,b=h,O=ua,f=[{id:"480p",label:"480p"},{id:"720p",label:"720p"},{id:"1080p",label:"1080p"}],k=[{id:"16:9",label:"16:9"},{id:"9:16",label:"9:16"},{id:"1:1",label:"1:1"},{id:"4:3",label:"4:3"},{id:"3:4",label:"3:4"}],x=So(),m=P(""),g=P([]),j=I(()=>g.value.some(o=>o.uploading)),H=P(!1),c=P(se),w=P("720p"),s=P("16:9"),A=P(Ne.elevenlabs[0]?.id||""),$=P(!1),N=P(null),z=P(0),D=P(!1),ne=P(!1),K=P(null),F=P(c.value);let Y=null;function Ze(){F.value=c.value}function eo(){Y&&clearTimeout(Y),Y=setTimeout(()=>{Ze(),Y=null},300)}function Re(){ne.value=!0}He(ne,o=>{if(o){Y&&clearTimeout(Y);return}eo()});const oo=Xe,re=I(()=>N.value?da(N.value):void 0),to=I(()=>{const o=re.value;return o?`${z.value+1}/${o.options.length}`:""}),ao=I(()=>(v.variant==="landing","w-full")),no=I(()=>v.variant==="landing"?"w-full":"w-full max-w-5xl mx-auto flex-shrink-0");He(c,(o,e)=>{o==="app-walkthrough"&&(c.value=e&&e!=="app-walkthrough"?e:se,ie("/avatar/app-walkthrough"))});const me=I(()=>F.value==="shortfilm"||F.value==="auto"||F.value==="promotional-video"),ge=I(()=>F.value==="promotional-video"),Ae=I(()=>F.value==="custom"?"Describe what you want to create — reference uploads as @Image 1, @Image 2…":F.value==="promo-v2"?"Write your promo brief — reference uploads as @Image 1, @Image 2… The agent will plan scenes, voiceover, and entities automatically.":F.value==="promotional-video"?"Write your promo storyline — reference uploads as @Image 1, @Image 2… or leave blank to generate from images":F.value==="shortscript"?"Describe your story idea — reference uploads as @Image 1, @Image 2…":"Write your story or logline — reference uploads as @Image 1, @Image 2…"),Me=I(()=>c.value==="custom"||c.value==="promo-v2"?0:c.value==="shortscript"?Co():c.value==="promotional-video"?To():c.value==="auto"?Ro(Se):Ao(Se));function ro(){return`ref_${Date.now()}_${Math.random().toString(36).slice(2,8)}`}function Q(){g.value=g.value.map((o,e)=>({...o,description:te(e),user_description:ze(e)}))}function Ie(o){return/^https?:\/\//i.test(o.trim())}function X(o){o.startsWith("blob:")&&URL.revokeObjectURL(o)}function _e(){return g.value.map((o,e)=>({r:o,index:e})).filter(({r:o})=>
3168!o.uploading&&Ie(o.url)).map(({r:o,index:e})=>({id:o.id,url:o.url,description:te(e),user_description:ze(e),filename:o.filename||void 0,role:o.role||void 0}))}function fe(){return c.value==="app-walkthrough"?"shortfilm":c.value}function Oe(){return{story:m.value,pipelineMode:fe(),resolution:w.value,aspectRatio:s.value,voiceId:A.value,referenceImages:g.value.filter(o=>!o.uploading&&Ie(o.url)).map(o=>({...o}))}}function Ee(o){m.value=o.story,c.value=o.pipelineMode,F.value=o.pipelineMode,w.value=o.resolution,s.value=o.aspectRatio,A.value=o.voiceId,g.value=o.referenceImages.map(e=>({...e})),Q(),N.value=null,z.value=0}function Le(){m.value="",g.value=[],c.value=se,F.value=se,w.value="720p",s.value="16:9",A.value=Ne.elevenlabs[0]?.id||"",$.value=!1,N.value=null,z.value=0}function io(){K.value&&Ee(K.value),K.value=null}function so(){je(),Le(),K.value=null}Ke(async()=>{v.variant==="page"&&(await $e(),K.value=It())});function ye(o,e){const i=o.options[e];i&&(m.value=i.prompt,c.value=i.pipelineMode,F.value=i.pipelineMode,i.aspectRatio&&(s.value=i.aspectRatio),N.value=o.id,z.value=e)}function lo(o){const e=Math.floor(Math.random()*o.options.length);ye(o,e)}function co(){const o=re.value;if(!o)return;const e=o.options.length,i=(z.value-1+e)%e;ye(o,i)}function uo(){const o=re.value;if(!o)return;const e=o.options.length,i=(z.value+1)%e;ye(o,i)}async function po(o,e){const[{fileToDataURI:i,getImageFromUrl:M,resizeImageToHeightUrl:S,base64ToFile:r},{uploadSiteFile:B},{useUser:u}]=await Promise.all([we(()=>import("./DqXddi-U.js"),__vite__mapDeps([0,1,2]),import.meta.url),we(()=>import("./wKo0iTHu.js"),__vite__mapDeps([3,4,1,2]),import.meta.url),we(()=>import("./Dx8NNHmV.js").then(vo=>vo.dH),__vite__mapDeps([1,2]),import.meta.url)]),V=u(),Z=await i(o),ee=await M(Z),U=await S(ee.url,e),q=r(U,o.name),ve=Math.floor(Math.random()*89999+1e4).toString(),yo=`thefluxtrain/v01/editor/${V.detail?.uid||"anonymous"}/${ve}_${o.name}`;return await B(q,yo)}async function De(o){if(!o?.length)return;const e=le-g.value.length;if(e<=0)return x.add({title:"Limit reached",description:`At most ${le} reference images`,color:"warning"});const M=Array.from(o).slice(0,e).map(u=>({id:ro(),file:u,previewUrl:URL.createObjectURL(u)}));for(const u of M)g.value.push({id:u.id,url:u.previewUrl,description:"",filename:u.file.name,uploading:!0});Q();const S=await Promise.allSettled(M.map(async({id:u,file:V,previewUrl:Z})=>{const ee=await po(V,1500),U=g.value.find(q=>q.id===u);if(!U){X(Z);return}X(U.url),U.url=ee,U.uploading=!1}));Q();const r=S.filter(u=>u.status==="fulfilled").length,B=S.filter(u=>u.status==="rejected").length;for(let u=M.length-1;u>=0;u-=1){if(S[u]?.status!=="rejected")continue;const V=M[u];if(!V)continue;const{id:Z,previewUrl:ee}=V,U=g.value.findIndex(ve=>ve.id===Z),q=U>=0?g.value[U]:void 0;q?(X(q.url),g.value.splice(U,1)):X(ee)}if(B>0&&Q(),r>0&&x.add({title:"Success",description:`${r} reference image${r===1?"":"s"} added`,color:"success"}),B>0){const u=S.find(V=>V.status==="rejected");x.add({title:"Error",description:u?.reason?.message||`${B} upload${B===1?"":"s"} failed`,color:"error"})}Array.from(o).length>e&&x.add({title:"Partial upload",description:`Only ${e} more image${e===1?"":"s"} allowed`,color:"warning"})}function Fe(o){const e=g.value.find(i=>i.id===o);e&&X(e.url),g.value=g.value.filter(i=>i.id!==o),Q()}function ho(){if(g.value.some(r=>r.uploading))return x.add({title:"Please wait",description:"Reference images are still uploading",color:"warning"}),!1;const o=m.value.trim(),e=c.value==="promotional-video",i=c.value==="promo-v2",M=c.value==="custom",S=_e().length>0;return!o&&!(e&&S)&&!(i&&S)&&!(M&&S)?(x.add({title:"Error",description:e||i?"Enter a promo storyline or upload at least one reference image":M?"Enter a prompt or upload at least one reference image":"Please enter your story or logline",color:"error"}),!1):o.length>0&&o.length<10&&!M&&!i?(x.add({title:"Error",description:"Story should be at least 10 characters",color:"error"}),!1):!0}async function mo(){_t(Oe());const o=encodeURIComponent(v.redirectOnGuest);await ie(`/login?redirect=${o}`)}function go(){D.value=!0}function Be(){D.value=!1}async function Ue(){await fo()}async function fo(){if(ho()){if(await $e(),!T.isAuth){await mo();return}if(T.credits<Me.value)return x.add({title:"Insufficient credits",description:`You need ${Me.value} credits, but you only have ${T.credits} credits.`,color:"error"});H.value=!0;try{const o=m.value.trim(),e=Mt[fe()],i={model:e,story:o,reference_images:_e(),version:"v1"},M=fe();e===Ce&&M==="promo-v2"&&(i.pipeline_mode="promo-v2"),me.value&&(i.seedance_model=Se,i.resolution=w.value,i.aspect_ratio=s.value,i.generate_audio=!0,i.voice_id=A.value),ge.value&&(i.auto_approve=$.value);const S=await L.generateVideo(i),r=S?.meta?.pipeline_job_id!=null?String(S.meta.pipeline_job_id):null;if(je(),D.value=!1,(c.value==="custom"||c.value==="promo-v2")&&r){b("created",r),await ie(`${be}/${r}/tech`);return}const B=S?.folder_id??S?.meta?.input?.folder_id??null;
3168B&&(b("created",B),await ie(be))}catch(o){x.add({title:"Error",description:o.message||"Generation failed",color:"error"})}finally{H.value=!1}}}return y({applyDraft:Ee,resetForm:Le,getDraftSnapshot:Oe}),(o,e)=>{const i=he,M=Je,S=Qe;return d(),p("div",{class:_(no.value)},[l(Xo,{modelValue:m.value,"onUpdate:modelValue":e[5]||(e[5]=r=>m.value=r),"generation-type":"video",placeholder:Ae.value,"root-class":ao.value,loading:H.value,onGenerate:Ue},{"header-actions":R(()=>[n("div",pa,[re.value?(d(),p("div",ha,[n("span",ma,E(to.value),1),l(i,{color:"neutral",variant:"ghost",size:"xs",icon:"i-heroicons-chevron-left-20-solid",class:"cursor-pointer rounded-md","aria-label":"Previous example",onClick:co}),l(i,{color:"neutral",variant:"ghost",size:"xs",icon:"i-heroicons-chevron-right-20-solid",class:"cursor-pointer rounded-md","aria-label":"Next example",onClick:uo})])):C("",!0),l(M,{text:"Expand editor"},{default:R(()=>[l(i,{color:"neutral",variant:"ghost",size:"xs",icon:"i-heroicons-arrows-pointing-out-20-solid",class:"cursor-pointer rounded-md surface-toolbar-chip","aria-label":"Open fullscreen editor",onClick:go})]),_:1})])]),top:R(()=>[D.value?C("",!0):(d(),ue(We,{key:0,images:g.value,uploading:j.value,"max-images":le,compact:"",onUpload:De,onRemove:Fe},null,8,["images","uploading"]))]),"extra-actions":R(()=>[l(Ge,{"pipeline-mode":c.value,"onUpdate:pipelineMode":e[0]||(e[0]=r=>c.value=r),resolution:w.value,"onUpdate:resolution":e[1]||(e[1]=r=>w.value=r),"aspect-ratio":s.value,"onUpdate:aspectRatio":e[2]||(e[2]=r=>s.value=r),"voice-id":A.value,"onUpdate:voiceId":e[3]||(e[3]=r=>A.value=r),"auto-approve":$.value,"onUpdate:autoApprove":e[4]||(e[4]=r=>$.value=r),"pipeline-mode-options":W(O),"resolution-options":f,"aspect-ratio-options":k,"show-video-render-options":me.value,"show-review-options":ge.value,compact:"",onOpenPicker:Re},null,8,["pipeline-mode","resolution","aspect-ratio","voice-id","auto-approve","pipeline-mode-options","show-video-render-options","show-review-options"])]),_:1},8,["modelValue","placeholder","root-class","loading"]),l(xt,{open:ne.value,"onUpdate:open":e[6]||(e[6]=r=>ne.value=r),"selected-id":c.value,"onUpdate:selectedId":e[7]||(e[7]=r=>c.value=r),options:W(O)},null,8,["open","selected-id","options"]),l(S,{open:D.value,"onUpdate:open":e[14]||(e[14]=r=>D.value=r),fullscreen:"",close:!1,ui:{body:"flex flex-col flex-1 min-h-0 gap-4 p-4 sm:p-6",footer:"flex flex-wrap items-center gap-3 border-t surface-border p-4 sm:px-6"}},{header:R(()=>[n("div",ga,[e[15]||(e[15]=n("div",{class:"flex min-w-0 items-center gap-3"},[n("img",{src:xo,alt:"TheFluxTrain",class:"h-8 w-auto shrink-0 rounded-lg"}),n("h2",{class:"truncate text-base font-semibold surface-heading"}," Story editor ")],-1)),l(i,{color:"neutral",variant:"ghost",icon:"i-heroicons-x-mark-20-solid",size:"sm",class:"cursor-pointer shrink-0 rounded-lg","aria-label":"Close editor",onClick:Be})])]),body:R(()=>[l(We,{images:g.value,uploading:j.value,"max-images":le,onUpload:De,onRemove:Fe},null,8,["images","uploading"]),Ye(n("textarea",{"onUpdate:modelValue":e[8]||(e[8]=r=>m.value=r),placeholder:Ae.value,class:"min-h-0 w-full flex-1 resize-none rounded-xl border border-slate-200 bg-slate-50 px-3 py-2 text-xs leading-snug text-slate-950 placeholder-slate-400 focus:ring-1 focus:ring-primary-500 lg:text-sm dark:border-gray-800 dark:bg-gray-950 dark:text-white dark:placeholder-gray-500",rows:"7"},null,8,fa),[[qe,m.value]])]),footer:R(()=>[n("div",ya,[l(Ge,{"pipeline-mode":c.value,"onUpdate:pipelineMode":e[9]||(e[9]=r=>c.value=r),resolution:w.value,"onUpdate:resolution":e[10]||(e[10]=r=>w.value=r),"aspect-ratio":s.value,"onUpdate:aspectRatio":e[11]||(e[11]=r=>s.value=r),"voice-id":A.value,"onUpdate:voiceId":e[12]||(e[12]=r=>A.value=r),"auto-approve":$.value,"onUpdate:autoApprove":e[13]||(e[13]=r=>$.value=r),"pipeline-mode-options":W(O),"resolution-options":f,"aspect-ratio-options":k,"show-video-render-options":me.value,"show-review-options":ge.value,compact:"",onOpenPicker:Re},null,8,["pipeline-mode","resolution","aspect-ratio","voice-id","auto-approve","pipeline-mode-options","show-video-render-options","show-review-options"])]),n("div",va,[l(i,{color:"neutral",variant:"ghost",class:"cursor-pointer",onClick:Be},{default:R(()=>[...e[16]||(e[16]=[ce(" Close ",-1)])]),_:1}),l(i,{color:"primary",icon:"i-heroicons-paper-airplane-20-solid",class:"cursor-pointer",loading:H.value,label:"Generate",onClick:Ue},null,8,["loading"])])]),_:1},8,["open"]),n("div",wa,[e[17]||(e[17]=n("p",{class:"mb-1.5 text-center text-[10px] font-semibold uppercase tracking-wide surface-muted"}," Try an example ",-1)),n("div",ba,[(d(!0),p(oe,null,de(W(oo),(r,B)=>(d(),p("div",{key:B,class:"flex flex-wrap justify-center gap-1.5"},[(d(!0),p(oe,null,de(r,u=>(d(),p("button",{key:u.id,type:"button",class:_(["cursor-pointer rounded-full border px-2.5 py-1 text-[11px] font-semibold leading-tight transition",N.value===u.id?"border-primary-500/60 bg-primary-500/10 text-primary-700 dark:text-primary-300":"border-slate-300 bg-slate-100/80 text-slate-600 hover:border-slate-400 hover:bg-slate-100 hover:text-slate-900 dark:border-gray-700/80 dark:bg-gray-900/50 dark:text-gray-400 dark:hover:border-gray-600 dark:hover:bg-gray-900 dark:hover:text-gray-200"]),onClick:V=>lo(u)},E(u.label),11,Sa))),128))]))),128))])]),t.variant==="page"&&K.value?(d(),p("div",ka,[n("div",xa,[e[20]||(e[20]=n("p",{class:"text-sm surface-muted"}," You started a short film before signing in. Pick up where you left off or start fresh. ",-1)),n("div",Pa,[l(i,{color:"neutral",variant:"ghost",size:"sm",class:"cursor-pointer",onClick:so},{default:R(()=>[...e[18]||(e[18]=[ce(" Discard ",-1)])]),_:1}),l(i,{color:"primary",size:"sm",class:"cursor-pointer",onClick:io},{default:R(()=>[...e[19]||(e[19]=[ce(" Continue ",-1)])]),_:1})])])])):C("",!0)],2)}}}),$a=Object.assign(Ca,{__name:"ShortfilmCreateForm"});export{$a as S};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.