FlashStory
Install安装

Chrome & Edge extension · v0.5 Chrome / Edge 扩展 · v0.5

Rehearse first.
Then generate.
先排一遍,
再交给 AI 生成。

Where each character stands, which way they face, when they move, where the camera starts and how long the push takes. You set all of it here and export a reference video. A model following a video is much steadier than one reading your paragraph, and rehearsing costs nothing however many times you redo it. 角色站在哪、朝哪边、什么时候动,镜头从哪个角度推、推多久,这些都能先在浏览器里排出来,导出成一段参考视频。模型照着视频生成,比读一段文字稳定得多。而排这一段不花钱,改多少次都不花钱。

Unzip it, load it in your browser, done in about two minutes. Install steps 下载解压,在浏览器里加载一下就能用,大概两分钟。安装步骤

The problem问题

Most re-rolls aren't about the picture 多数重抽,问题不在画面

A generation costs real money, and a twelve-shot piece can take dozens of tries to settle. But look back at why you re-rolled and it is usually someone standing in the wrong place, a camera that moved too fast, an action that didn't line up with the dialogue. The rendering was fine. 一次生成就是真金白银,一个十几镜头的片子抽上几十次很常见。但回过头看重抽的原因,多半是人站错了位置、镜头推得太快、动作和台词对不上。画面本身其实没问题。

Those are exactly the things words are bad at. Ten people can read a sentence like this one and picture ten different shots, and so can the model. Seedance, Kling and Veo all take a reference video and copy its staging closely, so give them one and there is nothing left to interpret. The mannequins are faceless on purpose: what matters here is where someone is, not what they look like. 而这些恰恰是文字最不擅长表达的。像这样一句话,十个人能想出十种拍法,模型也一样。Seedance、Kling、Veo 都能吃下一段参考视频,并较高保真地复刻里面的走位,给它一段,就没有需要它揣摩的地方了。角色做成无脸人偶是故意的:这里重要的是谁在哪,不是谁长什么样。

A prompt the model will guess at一段模型只能靠猜的提示词
“The camera pushes in from behind her left shoulder while she turns and walks to the window.” 「镜头从她左后肩推进,同时她转身走向窗边。」

Same sentence, a dozen possible shots, and you pay for a generation to find out which one you got. 同一句话十几种拍法,每种都得生成一次才知道抽中了哪种。

What's in it它能做什么

Not many features. They are all for getting the scene right. 功能不多,都是排戏用得上的

01

A cast you can tell apart一眼分得清谁是谁

15 body types (5 ages × 3 builds), height in centimetres, and six high-contrast colours to tell people apart. The colour carries through to the mapping table in the export, so the model knows the red mannequin is Lao Zhang. 15 种体型(5 个年龄段 × 3 种胖瘦),身高按厘米设,六种高对比主色用来区分角色。这个颜色会一直带到导出的颜色映射表里,模型才知道红色人偶是老张。

02

Poses & keyframes姿势与关键帧

20 built-in poses plus your own, keyframed on a timeline with linear / ease / hold / spring easing and an editable curve. 20 个内置姿势加自定义姿势,在时间轴上打关键帧,四档缓动(linear / ease / hold / spring)与可编辑曲线。

03

Multiple cameras多机位

Several named cameras per shot, a switch track to cut between them, picture-in-picture preview, and align-to-view when you've found the frame by hand. 单镜头内可建多台具名相机,用切换轨在它们之间剪,配画中画预览;手动找到构图后,一键「对齐当前视角」。

04

Rough set dressing粗略布景

Boxes, planes, cylinders, bendable image boards, panorama rings, and imported GLB models. Enough to establish a space. 长方体、平面、圆柱、可弯曲图片板、全景环,还有导入的 GLB 模型。够把空间交代清楚就行。

05

Dialogue on the clock台词轴

Timed lines per character. Duration is estimated from speaking rate, and every line lands in the export at an exact timecode. 按角色写定时台词,时长按语速自动估算,每句都以精确时间码落进导出文件。

06

Reference sheets & colour map设定图与颜色映射

Every character exports a multi-angle reference sheet, and the colour mapping table goes with it. That's how the model knows who the red mannequin is. 每个角色一张多视角设定图,加一张颜色映射表,跟视频一起放进导出包。模型靠它们认出那个红色人偶是谁。

07

Everything stays local都在本地

Projects live in your browser's IndexedDB and save as you go; import and export as zip. There is no backend to sign into and nothing to sync. Bilingual UI, light and dark, 16:9 / 9:16 / 1:1 at 24 fps. 项目存在浏览器的 IndexedDB 里,边改边存,可以 zip 导入导出。没有后端要登录,也没有东西要同步。中英双语界面、明暗主题,16:9 / 9:16 / 1:1,24 fps。

Workflow流程

It comes down to four steps 用起来大概是四步

  1. 01

    Stage摆位

    Drop in characters and rough set pieces. Height is set in centimetres, so scale is never a guess. 放入角色和粗略布景。身高按厘米设定,尺度不用猜。

  2. 02

    Keyframe打帧

    Move the playhead, move the actor. Transforms, poses and cameras all keyframe the same way. 拖动播放头,移动演员。位移、姿势、相机,打帧方式完全一致。

  3. 03

    Direct运镜

    Add cameras, cut between them on the switch track, and check the framing in picture-in-picture. 加机位,在切换轨上剪,用画中画确认构图。

  4. 04

    Export导出

    One click gives you the reference video plus the other files the model needs. 一键导出参考视频,以及模型需要的其他文件。

Or skip the four steps或者,跳过这四步

By hand: ten minutes.
By AI: ten seconds.
自己排,十分钟。
让 AI 排,十秒。

Just describe the scene. The AI drawer runs the same four steps for you: adds the cast, blocks the movement, keyframes the cameras, adjusts joints. It takes screenshots along the way to check the framing. 把这场戏说给它听就行。侧栏的 AI 编排会替你走完同样四步:加角色、排走位、给相机打关键帧、调关节,中途还会自己截图看看构图对不对。

Then you take over. Everything it did sits on the same timeline as your own edits, undoes the same way, and went through the same checks. Fix what you don't like and keep the rest. 然后你接着改。它做的每一步都落在同一条时间轴上,撤销方式一样,走的校验也一样。不满意的地方随手改,剩下的留着。

  • Your endpoint, your key你自己的端点与 Key
  • Every step undoable每一步都可撤销
  • Same validation as hand edits与手工编辑同一套校验
one sentence in, a blocked scene out 一句话进去,一整场戏排好出来
▸ Lao Zhang waits behind the bar. Li Si comes in from the door
  and walks over. Camera pushes from the door to Lao Zhang's
  face across the first four seconds.

  add_entity           c_zhang · c_lisi 
  set_transform_keys   walk path, 5 keys 
  set_pose_keys        idle → walk → turn 
  set_camera_keys      cam_1 · push in, 4s 
  screenshot           framing checked, one revision
                       done · 11s
▸ 老张在吧台后面等着,李四从门口进来走过去;
  镜头在前四秒里从门口推到老张脸上。

  add_entity           c_zhang · c_lisi 
  set_transform_keys   行走路径 5 帧 
  set_pose_keys        站立 → 行走 → 转身 
  set_camera_keys      cam_1 · 推进 4 秒 
  screenshot           构图已核对,修了一版
                       完成 · 11 秒

The export导出物

Everything the model needs, in one zip 模型需要的东西,都在这一个 zip 里

The video is encoded in the browser with WebCodecs, so there is no upload and no queue. Next to it, a few plain-text files say who is which colour, what happens at which second, and what each line of dialogue is. 视频用 WebCodecs 在浏览器里编码,不上传也不排队。旁边几个纯文本文件写明谁是什么颜色、第几秒发生什么、每句台词在什么时间点。

Hand the folder to Seedance, Kling, Veo, or whatever you're using this month. scene.json comes back into FlashStory unchanged, so reworking shot 3 leaves shots 1 and 2 alone. 整个文件夹丢给 Seedance、Kling、Veo 都行。scene.json 可以原样导回来接着改,重做第 3 个镜头不影响第 1、2 个。

FlashStory_export.zip
  • guide_video.mp4the reference video itself参考视频本体
  • color_mapping.mdwhich colour is which character哪个颜色是哪个角色
  • prompt_suggestion.mdshots & dialogue at timecodes带时间码的镜头与台词
  • shots.jsonmachine-readable shot list机器可读的镜头表
  • scene.jsonthe full project, re-importable完整工程,可回导继续改
  • refs/char_a.pngcharacter reference sheets角色设定图

Privacy隐私

It asks for no permissions,
and there is no server.
它不申请任何权限,
也没有服务器。

It can't read your tabs它读不到你的标签页

The manifest declares no permissions, no host permissions and no content scripts. FlashStory can only open and run its own editor page. manifest 里没有任何 permissions、host permissions 或 content script。FlashStory 只能打开并运行它自己的编辑器页面。

Your work stays on your disk工程留在你的机器上

Scenes live in your browser's IndexedDB. Exports download straight to your disk. We operate no server that could receive either. 场景存在浏览器的 IndexedDB 里,导出直接下载到你的磁盘。我们没有任何服务器能接收它们。

So do your keys密钥也一样

If you turn on AI directing or S3/R2 upload, the credentials sit in local storage and requests go straight from your browser to the endpoint you chose. 如果你启用 AI 编排或 S3/R2 直传,凭据只留在本地存储,请求由你的浏览器直连你自己选的端点。

Read the full privacy policy →阅读完整隐私政策 →

Install安装

Two minutes to install 两分钟装好

Download the zip, unzip it, and load the folder from your browser's extensions page. Chrome calls this an unpacked extension; it runs exactly like a store install. 下载 zip,解压,在浏览器的扩展页里加载那个文件夹就行。Chrome 把这种方式叫「已解压的扩展程序」,用起来和商店安装没有区别。

  • Works in Chrome and EdgeChrome 与 Edge 都可用
  • Still requests no permissions同样不申请任何权限
  • Nothing to sign up for不需要注册任何账号
  1. Unzip it解压 zip

    You'll get a folder named flashstory-0.5.0. Put it somewhere permanent. The browser reads the extension from this folder every time it starts, so don't delete it afterwards. 会得到一个 flashstory-0.5.0 文件夹,放到一个固定位置。浏览器每次启动都从这个文件夹读取扩展,装完别删。

  2. Open the extensions page打开扩展页

    Type chrome://extensions in the address bar, or edge://extensions in Edge. Links to these can't be clicked, so paste it in yourself. 地址栏输入 chrome://extensions,Edge 则是 edge://extensions。这类地址点链接打不开,得自己粘进去。

  3. Turn on Developer mode打开开发者模式

    The toggle is in the top-right corner in Chrome, and in the left sidebar in Edge. Chrome 在页面右上角,Edge 在左侧栏底部。

  4. Load unpacked加载已解压的扩展程序

    Click Load unpacked and pick the folder you unzipped. The folder itself, not the zip and not a file inside it. 「加载已解压的扩展程序」,选中刚才解压出来的那个文件夹。是文件夹本身,不是 zip,也不是里面的某个文件。

  5. Click the toolbar icon点工具栏图标

    The editor opens in a full page tab. If you don't see the icon, open the puzzle-piece menu and pin FlashStory. 编辑器会在新标签页整页打开。看不到图标的话,点拼图菜单把 FlashStory 固定到工具栏。

Chrome may show a "Disable developer mode extensions" prompt when it starts; dismiss it and FlashStory stays. An extension loaded this way doesn't update itself either, so when a new version shows up here, download it, unzip over the old folder, and hit refresh on the extensions page. Chrome 启动时可能弹「停用开发者模式扩展程序」,关掉就行,FlashStory 会留着。这样装的扩展也不会自动更新,出了新版本就重新下载、覆盖原来的文件夹,再到扩展页点一下刷新。

FAQ

Common questions常见问题

Does it render the final video?它会渲染最终视频吗?

No. What comes out is a schematic: faceless mannequins on a rough set. The finished imagery comes from your video model, which uses the reference sheets and colour map in the export to know who is who. 不会。它产出的是示意画面:粗略场景里的无脸人偶。最终画面由你的视频模型生成,参考的是导出包里的角色设定图和颜色映射表。

Which video models does this work with?能配合哪些视频模型?

Any model that takes a reference video plus reference images: Seedance, Kling, Veo and whatever replaces them. The export is a plain zip of MP4, Markdown, JSON and PNG, so nothing is tied to one vendor. 任何接受「参考视频 + 参考图」的模型:Seedance、Kling、Veo,以及之后取代它们的。导出就是一个普通 zip,里面是 MP4、Markdown、JSON 和 PNG,不绑定任何一家。

Do I need an API key?必须填 API Key 吗?

Only for the AI drawer. Staging, keyframing, cameras and export all work without ever opening the settings page. 只有 AI 编排需要。摆位、打帧、多机位、导出都不用碰设置页。

Is it free?是免费的吗?

Yes. No account, no subscription, no usage metering. 是。没有账号,没有订阅,也没有用量计费。

What do I need to run it?运行需要什么?

A recent Chrome or Edge. Video export uses WebCodecs and WebGL, both of which have been standard there for a while. 一个较新的 Chrome 或 Edge。视频导出用到 WebCodecs 和 WebGL,这两项在新版里都是标配。