Introduction
Welcome to the Twick documentation! This documentation site provides comprehensive guides and API references for all Twick packages.
What is Twick?
Twick is a collection of TypeScript packages designed to help developers build modern web applications. Our packages are:
- Type-safe: Built with TypeScript for better developer experience
- Modular: Each package focuses on a specific functionality
- Well-documented: Comprehensive documentation and examples
- Maintained: Regular updates and bug fixes
Twick SDK for Video Editing
Twick includes a powerful React-based video editing SDK that makes it easy to add video editing capabilities to any frontend app.
The goal is to offer high-level editing functions that can be triggered with simple function calls — ideal for building powerful media experiences without reinventing the wheel.
Modules and Features
Media Utils
- Access audio, video, and image metadata
- Adjust image and video fit/layout
- Extract audio from video
- Generate audio visualizers
Media Parser
- Convert
.mov
and.webm
to.mp4
- Compress video files
Lambda
- Export videos and store them in cloud storage
Timelines
- Arrange and trim media, text, and visual elements on a timeline
- Split audio and video
Captions
- Generate captions from videos using AI
- Apply predefined caption styles
Video Edit Canvas
- Live edit of media and text elements
- Move, resize, and rotate elements directly
UI Visualizer
- Live preview synced with edit mode
- Panels for adding and editing content
- Internal state management
- Undo/redo support
Effects
- Media effects: pop, pulse, flicker, rise, fade, zoom
- Text animations: typewriter, elastic, staggered, stream-word
- Filters for both images and video
Available Packages
- @twick/media-utils: Utilities for handling media files (images, audio, video)
- @twick/canvas: React-based canvas library for video and image editing
- @twick/live-player: React component for video playback and control
- @twick/visualizer: Video visualization and animation toolkit
- @twick/examples: Example implementations and usage demonstrations
- More packages coming soon...
Getting Started
To get started with any package, check out its specific documentation in the sidebar. Each package's documentation includes:
- Installation instructions
- Basic usage examples
- API reference
- Advanced usage patterns
Contributing
We welcome contributions! Please check out our GitHub repository for more information on how to contribute.