// the find
HBAI-Ltd/Toonflow-app
Toonflow 是开源一站式 AI 短剧创作工具,将小说、剧本快速转化为动画短剧。集成 AI 编剧、智能分镜、角色与视频生成,跨平台桌面端轻量部署,助力创作者低成本批量产出视觉内容。Toonflow is an open-source AI tool that turns stories and scripts into animated short dramas. Features AI scriptwriting, storyboarding, character and video generation. A cross-platform desktop app for efficient content creation.
Toonflow is a desktop app (Electron + Node.js backend) that takes a novel or script and walks you through the full pipeline to animated short-form video: AI scriptwriting, storyboarding, character/scene image generation, and video assembly. It's aimed squarely at the Chinese short-drama market — the default models, demo content, and community are all Chinese — though the UI supports seven languages and the model integrations are provider-agnostic via Vercel AI SDK.
The three-layer agent architecture (decision / execution / supervision) is a genuine attempt to solve the coherence problem that plagues long-form AI generation, not just a marketing bullet. Externalising prompts as editable Markdown Skill files in `data/skills/` means you can tune behaviour without touching source code or restarting the service. The cross-session memory using a locally bundled ONNX model (all-MiniLM-L6-v2) is a smart call — no external vector DB dependency, works offline. The 'programmable vendor system' — writing TypeScript provider logic directly in the settings UI without a rebuild — is legitimately useful for people who need to wire up private or self-hosted model endpoints.
The default credentials (`admin` / `admin123`) are hardcoded and documented in the README with no strong prompt to change them; anyone who deploys this publicly without reading carefully is exposed. The license is Apache-2.0 in name but with a commercial addendum that requires paid authorization if you distribute to more than two third parties — which means it's not actually Apache-2.0 for most SaaS use cases; that will surprise people who grab it without reading the supplementary clause. SQLite as the sole persistence layer means you can't run multiple backend instances without switching databases; the PM2 cluster mode config in the README will corrupt the SQLite file under concurrent writes. The frontend lives in a separate repo (`Toonflow-web`) and is shipped as a pre-compiled blob in `data/web/` — so if you want to patch the UI you're building two repos and manually copying dist output, which is friction most contributors won't bother with.