Type a topic. Get a story.
Pick a character, give it a topic, and get back a narrated animated film, made end to end on fal.
Open Storycast · Watch the launch video
A character narrates a short film that explains a topic: a script, keyframes, animated shots, on-camera lines, narration, a score, a hand-lettered end card and word-by-word subtitles. 50 ready narrators, 26 illustrated looks, 74 languages, 1 to 10 minutes long. You can also invent a character, upload your own, or bring your own illustration style.
Everything runs in your browser with your own fal key.
![]() |
![]() |
| Pick a topic, a narrator, a look, a voice and a length | Watch, share or download the finished film |
- Script. A director writes the story in blocks, each either voice-over or the narrator talking on camera, and a script editor smooths every jump between scenes.
- Narrator and keyframes. The narrator gets a model sheet and a hero portrait, and every block gets a keyframe in the chosen look.
- Voice. Each block is narrated, and on-camera lines are fitted to the right length.
- Shots. Voice-over blocks become animated shots and on-camera blocks become lip-synced shots.
- Score and edit. A score is composed, the shots are cut to the narration, the sound is mixed, an end card is lettered and subtitles are added.
| Step | fal endpoint |
|---|---|
| Director, script editor | openrouter/router with Claude Opus 5.5 |
| Reading images, shot checks | openrouter/router/vision with Claude Opus 5.5 and Gemini 3.8 Flash |
| Model sheets, keyframes, end cards | openai/gpt-image-2.5/flare/text-to-image, openai/gpt-image-2.5/flare/edit |
| Shots | minimax/h3-max/reference-to-video |
| On-camera lines | minimax/h3-max/lip-sync/image-to-video |
| Narration | fal-ai/elevenlabs/tts/eleven-v3 |
| Score | elevenlabs/music/v2.5 |
| Edit | fal-ai/workflow-utilities/trim-video and fal-ai/ffmpeg-api (extract-frame, merge-videos, images-to-video, compose, loudnorm, merge-audio-video) |
| Subtitles | fal-ai/workflow-utilities/auto-subtitle |
Every page has a Copy agent prompt button. It copies a step-by-step brief of this pipeline, filled in with the page's topic, look, narrator and voice, so a coding agent with a fal key can make the film from your terminal.
cd web && npm install && npm run devConnect your fal key in the app to make stories.
web/ is a static Vite site. Deploy it to any static host (on Vercel: root web/).
share/ is a Cloudflare Worker with D1 and R2. Without it, sharing is hidden.
cd share && npm install && npx wrangler login
npx wrangler d1 create storycast
npx wrangler r2 bucket create storycast-media
npx wrangler d1 execute storycast --remote --file schema.sql
npx wrangler turnstile widget create storycast-share --domain <your site host> --mode managedPut the database id and your site's address (ALLOWED_ORIGINS) into share/wrangler.jsonc, then:
npx wrangler secret put IP_SALT
npx wrangler secret put TURNSTILE_SECRET
npx wrangler secret put FAL_KEY
npx wrangler deploySet VITE_SHARE_API and VITE_TURNSTILE_SITE_KEY for the site build (see web/.env.example) and redeploy.
To publish a story sent to Explore:
npx wrangler d1 execute storycast --remote --command "UPDATE films SET status = 'public' WHERE id = '<story id>'"









