Getting Started¶
Go from zero to your first video in minutes
This section guides you through setting up Fluvie and creating your first animated video.
Choose Your Path¶
| Path | Best For | Guide |
|---|---|---|
| MCP + AI | Fast prototyping with Claude/Cursor | with-mcp.md |
| Manual Flutter | Full control, understanding the framework | with-flutter.md |
| Headless/Server | CI/CD, APIs, batch processing | headless.md |
Table of Contents¶
- Installation - Add Fluvie to your project
- FFmpeg Setup - Configure video encoding
- First Video - Build a complete animated video
- With MCP - AI-assisted development (vibecoding)
- With Flutter - Manual Flutter setup
- Headless - Server-side rendering
Quick Start¶
1. Add the Package¶
2. Install FFmpeg¶
# macOS
brew install ffmpeg
# Linux
sudo apt install ffmpeg
# Windows
# Download from ffmpeg.org and add to PATH
3. Create Your First Video¶
import 'package:fluvie/declarative.dart';
Video(
fps: 30,
width: 1920,
height: 1080,
scenes: [
Scene(
durationInFrames: 90, // 3 seconds
background: Background.solid(Colors.indigo),
children: [
VCenter(
child: AnimatedText.slideUpFade(
'Hello, Fluvie!',
style: TextStyle(
fontSize: 72,
color: Colors.white,
fontWeight: FontWeight.bold,
),
),
),
],
),
],
)
What's Next?¶
After completing the getting started guides:
- Tutorials - Build complete video projects
- Widget Reference - Explore all available widgets
- Examples - See working code examples
Prerequisites¶
Before starting, you should have:
- Flutter SDK installed (3.16+)
- Dart SDK (3.2+)
- Basic Flutter knowledge (widgets, build methods)
- A code editor (VS Code, Android Studio, etc.)
Platform Support¶
| Platform | Status | Notes |
|---|---|---|
| Linux | Full Support | Best for CI/CD |
| macOS | Full Support | Development & CI |
| Windows | Full Support | FFmpeg in PATH required |
| Web | Full Support | Uses ffmpeg.wasm |
| iOS | Custom Provider | Requires FFmpegKit |
| Android | Custom Provider | Requires FFmpegKit |
See Platform Setup for detailed instructions.
Need Help?¶
- GitHub Issues - Report bugs
- Examples - Working code to reference
- Contributing - Get support