codex, cursor
meteor
mastra, agent framework
openrouter, fal, wavespeed
no plan, don’t know what to do next
one more thing
nothing
live
codex, cursor
meteor
mastra, agent framework
openrouter, fal, wavespeed
no plan, don’t know what to do next
one more thing
nothing
live
Awesome
# Storyboard Studio
A full-stack Meteor app for building multi-step storyboards with AI-assisted assets.
Design shots, generate or upload media, and keep a clean, versioned history per asset type.
---
## Highlights
- **Shot-based storyboard editing** with reorderable columns (drag to reorder).
- **Five asset lanes per shot**: source video, source image, edited image, output video, audio.
- **Active asset tracking**: each shot tracks the currently active asset for each lane.
- **History view**: browse past generations/uploads and set any asset active.
- **AI generation (fal.ai)**:
- Text-to-image (source image)
- Image editing (edited image)
- Text-to-video (output video)
- Reference-to-video (output video using edited/source image)
- Text-to-speech (audio)
- **Upload pipeline** for images, videos, and audio (stored in `public/assets`).
- **Automatic thumbnails** for videos and waveform thumbnails for audio.
- **HeroUI + Tailwind** UI with icon-only and compact action controls.
---
## Architecture Overview
- **Collections**
- `storyboards`
- `shots`
- `assets`
- **Reactive data**
- Meteor pub/sub for storyboards, shots, assets
- Active asset fields live on the shot (`activeSourceVideoId`, etc.)
- **Server**
- Methods split by domain in `imports/server/methods/`
- Upload routes in `imports/server/routes/`
- **Client**
- Per-shot asset components with prompt and action controls
- History modal per asset type
---
## Getting Started
```bash
meteor run
The app expects FAL_KEY to be available on the server.
Use Meteor settings and set your asset path:
{
"FAL_KEY": "YOUR_KEY",
"ASSETS_FOLDER": "/absolute/path/to/public/assets"
}
Run with:
meteor run --settings settings.json
16:9, 9:16) at the top header.fal-ai/z-image/turbofal-ai/nano-banana-pro/editfal-ai/bytedance/seedance/v1/lite/text-to-videofal-ai/bytedance/seedance/v1/lite/reference-to-videofal-ai/minimax/speech-2.8-turboAll generations:
POST /api/assets/upload
ASSETS_FOLDER, create new asset, set activePOST /api/assets/thumbnail
POST /api/assets/waveform
public/assets (or ASSETS_FOLDER).Private / internal. Replace with your preferred license.
