A headless Flutter-powered CLI animation engine for generating 2D and 3D animations through code. Runs anywhere with a CLI and FFmpeg installed.
- Dart SDK >=3.6.1
- FFmpeg installed on your system
- No GUI or platform-specific dependencies required
dart pub global activate seedart
Create an animation script:
// examples/rotating_cube.dart
import 'package:flutter/material.dart';
class RotatingCube extends StatelessWidget {
final double animationValue;
const RotatingCube({required this.animationValue});
@override
Widget build(BuildContext context) {
// Animation logic here
}
}
Run the animation:
seedart -s examples/rotating_cube.dart -o output.mp4 -d 5 --fps 60
-s, --script
: Animation script path (required)-o, --output
: Output file path (default: output.mp4)-d, --duration
: Animation duration in seconds (default: 5)--fps
: Frames per second (default: 30)-w, --width
: Output width in pixels (default: 1920)--height
: Output height in pixels (default: 1080)-p, --params
: Custom animation parameters (format: key=value)
- Generate a 10-second rotating cube animation:
seedart -s examples/rotating_cube.dart -o cube.mp4 -d 10 --fps 60
- Pass custom parameters to your animation:
seedart -s examples/particle_system.dart -o particles.mp4 -p count=1000,speed=2.5
Animation scripts are Dart files that use Flutter widgets to define animations. They receive an animationValue
parameter that ranges from 0.0 to 1.0 over the duration of the animation.